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?
请联系我:
邮箱:lhy_in_blcu@126.com
csdn:https://blog.csdn.net/lhy2014
我的自然语言处理项目: https://liuhuanyong.github.io/