什么是同義詞,呵呵,園里有個笑話:老婆的40個同義詞
1、配偶 2、妻子 3、老婆 4、夫人 5、太太 6、愛人 7、內人 8、媳婦 9、那口子 10、拙荊
11、賢內助 12、老伴 13、孩子他媽 14、孩子他娘 15、內子 16、婆娘 17、糟糠 18、寶貝 19、小甜甜 20、蜜糖 21賤內 22、達令
23、女人 24、馬子 25、主婦 26、女主人 27、財政部長 28、渾人 29、娘子 30、大姐 31、家屬 32、屋里的 33、另一半 34、女當家的
35、發妻 36、渾家 37、堂客 38、山妻 39、婆姨 40、中饋
假設電腦里都有這些詞,那么程序如何才能判斷兩個詞是同義詞或者近義詞。
單單從字面上 配偶與妻子 沒有一個字是相同,顯然僅僅這些信息程序是無法准確判斷的。
文獻[2]給出了很多詞語相似性的度量,這里簡要說兩種。
1.1.利用詞典進行計算
詞典是人類智慧的一個記錄,把人腦的知識用某種數據結構表示,比如樹。把所有詞匯按照類似面向對象的繼承關系排列。
這樣以來詞的相似度就可以通過它們在樹內的距離計算出來。同義詞的話可以放在同一個樹結點里,也可以選一個詞當代表做它們的唯一父親結點。
本文的重點還是同義詞,如果僅僅考慮同義詞,在具體實踐中為了提高檢索效率,我們可以事先對漢字進行編碼或做hash。
這樣可以加快比較速度。在文獻[1]中給出了一種組織方式,例如同義詞 妻子,女人,女主人。那么利用冗余記錄如下
關鍵詞:同義詞
妻子:女人,女主人
女人:妻子,女主人
女主人:妻子,女人
按照關鍵詞的首個漢字分類存放在不同的文件中,每個文件中按照關鍵詞的長度由大到小排序。
查找同義詞時,先利用編碼或hash找到文件,然后從上到下,選擇第一個匹配的結果。讀出同義詞。
速度和准確率都挺客觀的,但是冗余多,不過跟下面的相比是小屋見大屋。
總之,這種方法與其說是計算相似度。不如說是查詢相似度。下面的方法就顯得更加智能
1.2.使用大規模的語料統計
要計算兩個詞的相似度,首先選出一批特征詞來。這些特征詞就像是一個個觀眾,來決定他們是否有基情。
觀眾必須選好,要經常在他們附近徘徊。然后我們計算每個關鍵詞在他們附近出現的頻率。然后依托這些
頻率就可以計算出相似度。這種方法看起來更多一些智能的味道。但是感覺精度沒有前者高。而且存在較大
的不確定性,特征詞的選取,場景的選取都很重要。這里就不扯了。
參考:
[1]:http://www.docin.com/p-173845533.html
[2]:http://www.docin.com/p-82696783.html