基於線上百科知識庫的多義詞詞義消歧專案
WordMultiSenseDisambiguation
WordMultiSenseDisambiguation, chinese multi-wordsense disambiguation based on online bake knowledge base and semantic embedding similarity compute,基於百科知識庫的中文詞語多義項獲取與特定句子詞語語義消歧.
專案地址:https://github.com/liuhuanyong/WordMultiSenseDisambiguation
專案介紹
一詞多義是中文資訊處理中一個特別常見的現象,經典的"蘋果是水果還是公司"問題一直是困擾大家的一個實際問題,本專案將對這一問題進行嘗試,提出相應的技術路線,並結合線上百度百科獲取義項,經過義項聚類,義項語義表示,語義相似度計算等方式,對特定語句中的詞語語義判定進行嘗試.
專案思路
以下是本專案的技術路線圖,本專案需要載入預訓練詞向量,檔案太大,沒有給出,各位可自行新增.
專案效果
python wordsense_detect.py,執行中文詞語語義消歧指令碼.
1, 指定需要進行詞義消歧的詞語word
2, 指定需要極刑詞義消歧詞語所在的句子
例子:
enter an sent to search:蘋果釋出新產品了 enter an word to identify:蘋果 sent_embedding_res: [('公司', 0.4309597564421702), ('物品', 0.39608141793731144), ('歌曲', 0.37937766923800026)] wds_embedding_res: [('歌曲', 0.37504538578806157), ('果樹', 0.3572757418314274), ('物品', 0.3479904634206044)] **************************************************************************************** enter an sent to search:最近連降大雨,種蘋果的果農損失慘重 enter an word to identify:蘋果 sent_embedding_res: [('角色', 0.23535153116801097), ('果樹', 0.22943442305363207), ('歌曲', 0.21173595044037458)] wds_embedding_res: [('物品', 0.24051958779817326), ('人物', 0.20978448328069915), ('果樹', 0.20251385230085645)] **************************************************************************************** enter an sent to search:小米上市了 enter an word to identify:小米 sent_embedding_res: [('公司', 0.3901701093980004), ('主角', 0.365504574048325), ('母親', 0.29381689724140836)] wds_embedding_res: [('公司', 0.4342258273055104), ('動物', 0.3777650235830843), ('精靈', 0.35332623481158437)] **************************************************************************************** enter an sent to search:小米和玉米放在一起煮粥會很好吃 enter an word to identify:小米 sent_embedding_res: [('特色小吃', 0.5558542842056945), ('草本', 0.4466804204905287), ('犬', 0.291238012852016)] wds_embedding_res: [('特色小吃', 0.3718067960513453), ('草本', 0.26636323574527104), ('犬', 0.20866931168592512)] **************************************************************************************** enter an sent to search:小辣椒開花了,很好看 enter an word to identify:小辣椒 sent_embedding_res: [('茄科', 0.4904365572878336), ('植物', 0.2402877631447203), ('品牌', 0.10335075207027959)] wds_embedding_res: [('茄科', 0.5541452367707211), ('植物', 0.2990925606278592), ('角色', 0.19372604287529646)] **************************************************************************************** enter an sent to search:小辣椒,三星,蘋果都是特別暢銷的手機品牌 enter an word to identify:小辣椒 sent_embedding_res: [('品牌', 0.7590410310876141), ('歌曲', 0.5101141696340716), ('女友', 0.4695221792163845)] wds_embedding_res: [('品牌', 0.5786736513059438), ('植物', 0.407433638956153), ('角色', 0.34862850174224996)] ****************************************************************************************
總結
1,本專案提出並實現了一個依靠線上百科知識庫的特定句子下詞語語義消歧的方法.
2,本專案由於需要線上訪問百度百科,執行效率不如訪問本地知識庫快.
3,本路線中有三個核心點,一個是對義項的聚類,二是對義項的語義表示,三是詞語上下文與義項語義表示相似度的計算.
4,義項的聚類使用的是預訓練詞向量相似度閾值的方法,進行連續聚類.這個方法可以有更好的方法代替.
5,義項的語義表示由其所對應詞條中的keywords與description中的描述資訊經過關鍵詞提取而來,這個可以嘗試從對應的infobox結構化資訊進行加強.
6,語義相似度的計算用了兩種方法,一種是sent_embedding,即詞向量做avg後直接cosine相似度,另一種是wds_embedding,做的是jaccard的一類變體相似度做的.這兩這兩種方法都有改善的空間.
7,將百科,HOWNET等語義知識庫加入,對第二個核心點進行加強,可能會帶來效能的提升.
any question?
請聯絡我:
郵箱:[email protected]
csdn:https://blog.csdn.net/lhy2014
我的自然語言處理專案: https://liuhuanyong.github.io/