當前位置:成語大全網 - 英語詞典 - 如何計算相似度,用什麽方式?

如何計算相似度,用什麽方式?

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

這是兩個比較平淡的方法,屬於基線中的基線。看兩個例子就知道A:“怎麽蓋樓?”b:“高爾夫怎麽打?”丙:“房子怎麽建?”如果按VSM計算,很明顯BC比AC更相似,因為B和C同壹個字“怎麽樣”;編輯距離是壹樣的;

解決這個問題並不難。只要把所有的句子通過同義詞詞典展開,“怎麽樣”、“怎麽樣”、“樓”和“房子”都是同義詞或近義詞,展開後用vsm或編輯距離就能解決問題。這種方法在壹定程度上解決了召回率低的問題,但擴展後不可避免地會引入噪聲。尤其是如果原句含有多義詞,比如“醬油”、“毛衣”,漢字中的壹些單個詞就表達了相當多的意思。這類漢字在董振東先生的《知網》中有很好的語義關系解釋,可以通過知網中從詞到義素的樹形結構來衡量詞粒度的相似度。

這個問題在這裏似乎得到了很好的回答,但在實踐中還遠遠不夠。VSM的方法把句子中的詞作為獨立的特征,忽略了句序關系和位置關系對句子語義的影響;編輯距離考慮的是句子中詞的順序關系,但這種關系是機械的替換、移動、刪除和添加。事實上,每個單詞表達的信息量是不同的,同壹單詞在不同的單詞組合中所表達的信息或語義信息是不同的。這種方法比前兩種方法更可靠,因為句法樹很好地描述了單詞在句子中的位置。實際效果需要通過實驗來證實。

對了,還有壹種方法,翻譯模型,這是IBM在機器翻譯領域的壹個創舉。要獲得理想的翻譯結果,需要大量的語料庫進行訓練。當然包括中間詞對齊結果。如果我們能夠利用網絡資源建立壹個高質量的語料庫,通過EM叠代來對齊成對的相似句子,那麽句子相似度將從單詞對齊中產生。這是個好方法!