2013-08-26 149 views
8

我目前正在開發一個程序,能夠比較一個小文本(比如250個字符)和一組相似文本(大約1000-2000個文本)。NLP /機器學習文本比較

目的是評估文本A是否與集合中的一個或多個文本相似,如果是這樣,集合中的文本必須可以通過ID檢索。每個文本都會有一個唯一的ID。

有兩種方式我想輸出是:

選項1: 文本的匹配用90%的相似性文本B,文本C,用70%的相似性,等等。

選項2:具有最高相似度 文字匹配的文字d

我已閱讀在學校的一些機器學習,但我不知道該算法適合這一問題的最佳或者,我應該考慮使用NLP (不熟悉這個主題)。

有沒有人有什麼算法使用或在哪裏可以找到nessecary文學來解決我的問題的建議?

感謝您的貢獻!

回答

4

我發現了一篇非常適合我的問題的語義相似度測量的文章。

WordNet based semantic similarity measurement

感謝所有的輸入!

+0

我在ML方面相當新,希望能夠使用雲ML服務Google,Azire,Watson。我還需要解決文本比較,你實現了什麼? – jasan

19

它似乎不是一個機器學習問題,你只是尋找一些文本相似性度量。一旦你選擇了一個,你只需根據實現的「分數」對數據進行排序。

根據您的文章,您可以使用下列指標之一(list from the wiki),或定義自己:

  • 漢明距離
  • Levenshtein距離和Damerau-Levenshtein距離
  • 尼德曼 - 翁施距離或賣家算法
  • 史密斯沃特曼距離
  • 後藤距離或史密斯沃特曼後藤距離
  • 蒙赫埃爾肯距離
  • 塊距離或距離L1或市街區距離
  • 哈羅-溫克勒距離
  • 的Soundex距離度量
  • 簡單匹配係數(SMC)
  • 骰子的係數
  • Jaccard相似或Jaccard係數或Tanimoto係數
  • Tversky指數
  • 重疊係數
  • 歐幾里德距離或L2距離
  • 餘弦相似度
  • 變距離
  • 海林格距離或Bhattacharyya距離
  • 信息半徑(詹森 - 香農散度)
  • 斜交發散
  • 混淆概率
  • Tau公制,Kullback-Leibler背離的近似值
  • 費勒吉和Sunters度量(SFS)
  • 最大匹配
  • 李距離

一些上述的(像即。餘弦相似性)需要將數據轉換爲矢量化格式。這個過程也可以通過許多方式實現,最簡單的可能是單詞/ tfidf技術。

列表本身並不完整,只是這樣的方法的草稿。特別是,有很多字符串內核,它們也適用於測量文本相似性。特別是Wordnet Kernel可以基於英語語言中最完整的語義數據庫來測量語義相似度。

+0

你能給我鏈接到維基?感謝輸入 – RobertH

+0

添加到文字鏈接 – lejlot

+0

想了解downvote的原因,請問我可否置評? – lejlot