2014-11-25 45 views
0

如何找到任意兩個給定句子之間的語義相似度?如何找到句子的相似性?

例如: ron howard指的是哪些電影?

ron howard執導的電影。

我知道它的一個難題。但是,想問問專家的意見。 我不知道如何使用詞性來達到這個目的。 http://nlp.stanford.edu:8080/parser/index.jsp

+1

類似於什麼級別? 「電影不是我的羅恩霍華德」在詞法上與你的第二句非常相似,但在語義上與它的直徑相反。投票結果太寬泛。 – tripleee 2014-11-25 06:40:26

+0

我沒有看到你的例子的目的。您是否正在從事質量保證體系?如果是的話,你應該說明,並明確說明你的輸入和預期的輸出。 – Pierre 2014-11-25 10:57:24

+0

[如何計算給定2個句子的餘弦相似度? - Python](http://stackoverflow.com/questions/15173225/how-to-calculate-cosine-similarity-given-2-sentence-strings-python) – alvas 2014-11-25 14:30:39

回答

0

它是一個廣泛的問題。我會親自去cosine similarity

你需要將你的句子轉換成一個向量。爲了將句子轉換成矢量,可以考慮幾個規則,如發生次數,次序,同義詞等。然後如上所述採用餘弦距離here

您還可以探索finding associated words的elasticsearch。您可以創建自定義分析器,詞幹分析器,標記器,過濾器(如同義詞)等,這對尋找類似的句子非常有幫助。 Elasticsearch還提供more like this query,它使用tf-idf分數找到相似的文檔。