當前位置:編程學習大全網 - 編程語言 - 如何度量兩個詞之間的語義相似度

如何度量兩個詞之間的語義相似度

如何度量兩個詞之間的語義相似度

如何度量句子的語義相似度,很容易想到的是向量空間模型(VSM)和編輯距離的方法,比如A:“我爸是李剛”,B:“我兒子是李剛”,利用VSM方法A(我,爸,是,李剛)B(我,兒子,是,李剛),計算兩個向量的夾角余弦值,不贅述;編輯距離就更好說了將“爸”,“兒子”分別替換掉,D(A,B)= replace_cost;

這是兩種相當呆的方法,屬於baseline中的baseline,換兩個例子看壹下就知道A:“樓房如何建造?”,B:“高爾夫球怎麽打?”,C:“房子怎麽蓋?”,如果用VSM算很明顯由於B,C中有***同的詞“怎麽”,所以BC相似度高於AC;編輯距離同理;

解決這種問題方法也不難,只要通過同義詞詞典對所有句子進行擴展,“如何”、“怎麽”,“樓房”、“房子”都是同義詞或者近義詞,擴展後再算vsm或者edit distance對這壹問題即可正解。這種方法壹定程度上解決了召回率低的問題,但是擴展後引入噪聲在所難免,尤其若原句中含有多義詞時。例如:“打醬油”、“打毛衣”。在漢字中有些單字詞表達了相當多的意義,在董振東先生的知網(hownet)中對這種類型漢字有很好的語義關系解釋,通過hownet中詞語到義元的樹狀結構可以對對詞語粒度的形似度進行度量。

問題到這裏似乎得到了不錯的解答,但實際中遠遠不夠。VSM的方法把句子中的詞語看做相互獨立的特征,忽略了句子序列關系、位置關系對句子語義的影響;Edit Distance考慮了句子中詞語順序關系,但是這種關系是機械的置換、移動、刪除、添加,實際中每個詞語表達了不同的信息量,同樣的詞語在不同詞語組合中包含的信息量或者說表達的語義信息大不相同。What about 句法分析,計算句法樹的相似度?這個比前兩種方法更靠譜些,因為句法樹很好的描述了詞語在句子中的地位。實際效果要待實驗證實。

對了,還有壹種方法translation model,IBM在機器翻譯領域的壹大創舉,需要有大量的語料庫進行訓練才能得到理想的翻譯結果。當然包括中間詞語對齊結果,如果能夠利用web資源建立壹個高質量的語料庫對兩兩相似句對通過EM叠代詞語對齊,由詞語對齊生成句子相似度,這個。。想想還是不錯的方法!

  • 上一篇:SQL提取
  • 下一篇:了解工程材料中的新材料、新技術和新工藝
  • copyright 2024編程學習大全網