中文

from gensim.models import Word2Vecmodel = Word2Vec.load('word2.model')


苹果的两种解释:
1.美国的一家高科技公司,经典产品有iphone.
2.水果的一种,产自…

对于句子“用苹果,性能好,分辨率高”,的“苹果”进行词义消歧:

content=['用','苹果','性能','好','分辨率','高']
des1=['美国','一家','高科技','公司','经典','产品','有','iphone','手机']
des2=['水果','一种','产自']
def w2v_mean(essay,model):ls=np.zeros(400)for unit in essay:try:ls+=np.array(model.wv[unit])except:passreturn ls/len(essay)
import numpy as np
content=w2v_mean(content,model)des1=w2v_mean(des1,model)des2=w2v_mean(des2,model)
  • 余弦距离

    可以看出与第一种解释内容距离最近。因此句子中的“苹果”为第一种解释。

    对于苹果的解释性文本和描述较多时,可以利用tf-idf获取要进行消歧的例子的tf-idf值,根据在不同类别的描述下的tf-idf平均值来最终获得例子的语境和含义。也能取得不错的效果。
    参考: 中文词义消歧tf-idf实现

英文

1.WordNet的应用:
我们可以获取待消歧词的各种定义,利用word2vec模型获取定义文本的向量表示方法,然后计算与待消歧词的上下文向量的余弦值。最大余弦值的待消歧词定义即为待消歧词在该语境下的词义。代码如下:

#导入预训练模型及相关工具包
from gensim.models import Word2Vec
from nltk.corpus import wordnet as wn
from string import punctuation
model=Word2Vec.load(r'C:\BaiduNetdiskDownload\aes-system\model\word2vec.model')

获取“bank”对应的文本信息:

content='We walked north along the east bank of the water'
(我们沿着河岸东边向北走)
content2='I have to check my balance at the bank'
(我得去银行查一下我的存款余额)

“bank"有银行、浅滩、堆积等含义,WordNet中的英文解释大概有十几种:


定义文本向量表示方法,这里为均值向量:

def w2v_mean(essay,model):ls=np.zeros(100)for unit in essay:try:ls+=np.array(model.wv[unit])except:passreturn ls/len(essay)

获取每种定义的向量,并计算与content的余弦相似度:

from sklearn.metrics.pairwise import cosine_similarity
import numpy as np
content_vec=w2v_mean(token_content,model)
for unit in wn.synsets('bank'):txt=unit.definition()token_text=nltk.word_tokenize(txt)txt0=[k for k in token_text if k not in punctuation]vec=w2v_mean(txt0,model)print(txt,round(cosine_similarity([vec,content_vec])[1][0],4))

输出结果如下:
对于content1:

第一个定义得分最高,其含义为:坡地(尤指水体旁边的斜坡),完全符合语境。

对于content2:

最高分定义为:与银行交易或者开户,符合语境。

词义消歧(基于词向量)相关推荐

  1. 自然语言处理之使用gensim.Word2Vec训练词向量进行词义消歧

    自然语言处理之使用gensim.Word2Vec训练词向量进行词义消歧 NLP中进行词义消歧的一个非常方便且简单的方法就是训练词向量,通过词向量计算余弦值,来推断某个词在句子中的含义.python中的 ...

  2. 基于在线百科知识库的多义词词义消歧项目

    WordMultiSenseDisambiguation WordMultiSenseDisambiguation, chinese multi-wordsense disambiguation ba ...

  3. 生成句法分析树以及从一个小例子来看词义消歧及语义角色标注

    一.生成句法分析树 把一句话按照句法逻辑组织成一棵树,由人来做这件事是可行的,但是由机器来实现是不可思议的,然而算法世界就是这么神奇,把一个十分复杂的过程抽象成仅仅几步操作,甚至不足10行代码,就能让 ...

  4. 情绪分析,词性分析和词义消歧

    情绪分析 情绪分析侧重于主观陈述--意见.情绪.情绪:很难用几个关键词来表达. 主观性分类 Subjectivity classification 通常是情感分析的第一步:主观与客观文本 opinio ...

  5. 大规模数据的词义消歧的混合词义分类方法——阅读整理总结

    介绍: 尽管最近的研究证明了神经语言模型的优越性,但是WSD研究的范围仍然是几个单词的意义只能在几个领域中确定.因此,有必要朝着开发一个高度可扩展的过程的方向发展,这个过程可以处理在不同领域中出现的词 ...

  6. nlp2-数学基础(信息论,概率论、词义消歧)

    文章目录 概率论 信息论 计算熵 计算信息熵.条件熵.联合熵 波利尼亚语 熵率 噪声信道模型 建立一个翻译 词义消歧(WSD 贝叶斯 最大熵的消歧方法 概率论 在自然语言处理中,以句子为处理单位时一般 ...

  7. 【NLP入门教程】七、词义消歧

    词义消歧(Word Sense Disambiguation, WSD)其目标是确定文本中词汇的正确含义.由于许多单词具有多种含义,词义消歧对于理解和分析文本具有关键作用. 1. 词义消歧的挑战 词义 ...

  8. 汉语语义消歧之 -- 词义消歧简介

    总算是到正题上了... 词义消歧,亦称语义消歧,是计算语言学领域的基础性关键研究课题. 对于许多词语(特别是汉语词语和一部分专有名词),一个词有许多种意思. 例如专有名词"卡特", ...

  9. NLP 迷思之四:词义消歧(WSD)是NLP应用的瓶颈

    本文转载自http://blog.sciencenet.cn/blog-362400-526304.html 引用老友: 受教了.谢谢立委. 我同意"成语从来不是问题".成问题的应 ...

最新文章

  1. python 引用(import)文件夹下的py文件的方法
  2. 如何实现label长度固定,文字分散分布的效果
  3. android studio 设置 ndk 路径
  4. L0,L1,L2范数
  5. C语言从文件中读入矩阵,并且将矩阵转置
  6. python post请求_python发送http的post请求
  7. fhq_treap || BZOJ 3223: Tyvj 1729 文艺平衡树 || Luogu P3391 【模板】文艺平衡树(Splay)...
  8. python zip()函数的理解与应用
  9. Deep Learning 【Nature review】
  10. protostuff java_protostuff 及其注意事项
  11. 比赛 | 第一届古汉语分词与词性标注国际评测来啦
  12. shp地图如何导入奥维地图手机_如何将平面控制点导入Google Earth、奥维互动地图及手机奥维互动地图APP里面?...
  13. Web前端开发技术实验与实践(第3版)储久良 实训12
  14. 数据库系统的三级模式结构
  15. 计算机组成原理平均cpi怎么算_计算机组成原理-计算机的性能指标及计算题
  16. Kafka-Steam Branch功能 对数据进行切分Steam,发送到指定的Topic
  17. STM32F103---标准库函数驱动DS18B20
  18. 计算机主板的海关编码,请问线路板上已经含有电子元件的海关编码是多少?急啊!!...
  19. 永磁同步电机的直接转矩控制(一)一一一DTC仿真模型的搭建
  20. Linux模拟实现僵尸进程

热门文章

  1. 双系统(windows10+ubuntu20)ubuntu连不上wifi
  2. Git安装使用以及管理多个账号
  3. 用腾讯会议视频,打不开摄像头的原因
  4. 智算新时代,浪潮云海云图生态3.0打开千亿智慧生态市场
  5. 微信公众号服务器配置token验证失败问题及菜单创建失败问题小结
  6. GIM,输变电工程三维设计技术标准
  7. minecraft服务器地皮信息,minecraft服务器里肿么共享地皮
  8. LoadRunner打开IE8后报错
  9. 判断扫码的时候是支付宝还是微信?怎么做
  10. 软件检测服务是软件企业不可或缺的一环