词义消歧,句子、篇章语义理解基础,必须解决。语言都有大量多种含义词汇。词义消歧,可通过机器学习方法解决。词义消歧有监督机器学习分类算法,判断词义所属分类。词义消歧无监督机器学习聚类算法,把词义聚成多类,每一类一种含义。

有监督词义消歧方法。基于互信息词义消歧方法,两种语言对照,基于大量中英文对照语料库训练模型可词义消歧。来源信息论,一个随机变量中包含另一个随机变量信息量(英文信息中包含中文信息信息量),假设两个随机变量X、Y的概率分别是p(x), p(y),联合分布概率是p(x,y),互信息计算公式,I(X; Y) = ∑∑p(x,y)log(p(x,y)/(p(x)p(y)))。互信息,一个随机变量由已知另一个随机变量减少不确定性(理解中文时由于已知英文含义让中文理解更确定),不确定性,熵,I(X; Y) = H(X) - H(X|Y)。对语料不断迭代训练,I(X; Y)不断减小,算法终止条件I(X; Y)不再减小。基于互信息词义消歧方法对机器翻译系统效果最好。缺点,双语语料有限,多种语言能识别出歧义情况也有限的(如中英文同一个词都有歧义)。

基于贝叶斯分类器消歧方法。条件概率,上下文语境,任何多义词含义都跟上下文语境相关。假设语境(context)记c,语义(semantic)记s,多义词(word)记w,多义词w在语境c下有语义s概率,p(s|c),p(s|c) = p(c|s)p(s)/p(c)。p(s|c)中s取某一个语义最大概率,p(c)既定,只考虑分子最大值,s估计=max(p(c|s)p(s))。语境c在自然语言处理中必须通过词表达,由多个v(词)组成,max(p(s)∏p(v|s))。

p(s)表达多义词w某个语义s概率,统计大量语料最大似然估计,p(s) = N(s)/N(w)。p(v|s)多义词w某个语义s条件词v概率,p(v|s) = N(v, s)/N(s)。训练出p(s)和p(v|s),一个多义词w消歧计算(p(c|s)p(s))最大概率。

无监督词义消歧方法。完全无监督词义消歧不可能,没有标注无法定义词义,可通过无监督方法做词义辨识。无监督词义辨识,一种贝叶斯分类器,参数估计不是基于有标注训练语料,是先随机初始化参数p(v|s),根据EM算法重新估计概率值,对w每一个上下文c计算p(c|s),得到真实数据似然值,重新估计p(v|s),重新计算似然值,不断迭代不断更新模型参数,最终得到分类模型,可对词分类,有歧义词在不同语境会被分到不同类别。基于单语言上下文向量。向量相似性,两个向量间夹角余弦值比较相似性,cos(a,b) = ∑ab/sqrt(∑a^2∑b^2)。

浅层语义标注,行之有效语言分析方法,基于语义角色浅层分析方法可描述句子语义角色间关系。语义角色,谓词,施事者,受事者,事情发生时间,数量。语义角色标注分析角色信息,计算机提取重要结构化信息,来理解语言含义。

语义角色标注依赖句法分析结果,句法分析包括短语结构分析、浅层句法分析、依存关系分析,语义角色标注分基于短语结构树语义角色标注方法、基于浅层句法分析结果语义角色标注方法、基于依存句法分析结果语义角色标注方法。过程,句法分析->候选论元剪除->论元识别->论元标注->语义角色标注结果。论元剪除,在较多候选项中去掉肯定不是论元部分。论元识别,二值分类,是论元和不是论元。论元标注,多值分类。

基于短语结构树语义角色标注方法。短语结构树表达结构关系,语义角色标注过程依赖结构关系设计复杂策略,策略内容随语言结构复杂而复杂化。分析论元剪除的策略,语义角色以谓词中心,短语结构树以谓词节点中心,先平行分析,和受事者不同一层,如果当前节点兄弟节点和当前节点不是句法结构并列关系,作候选论元。论元识别,二值分类,基于标注语料库做机器学习,机器学习二值分类方法固定,谓词本身、短语结构树路径、短语类型、论元在谓词位置、谓词语态、论元中心词、从属类别、论元第一个词和最后一个词、组合特征。论元标注,机器学习多值分类器。

基于依存句法分析结果和基于语块语义角色标注方法。论元剪除过程,基于句法结构不同。基于依存句法分析结果语义角色标注方法基于依存句法直接提取出谓词-论元关系。剪除策略,以谓词作当前节点,当前节点所有子节点都是候选论元,将当前节点父节点作当前节点重复以上过程直至到根节点。基于依存句法分析结果语义角色标注方法论元识别算法特征设计,多了有关父子节点特征。

融合方式,加权求和、插值。

语义角色标注当前不是非常有效,依赖句法分析准确性、领域适应能力差。新方法,利用双语平行语料弥补准确性问题,成本提高许多。

信息检索无论是谷歌还是百度都离不开TF-IDF算法,简单有效但缺乏语义特征。

TF-IDF。TF(term frequency),一个词在一个文档中出现频率。IDF(inverse document frequency),一个词出现在多少个文档中。同一个词在短文档出现次数和在长文档中出现次数一样多,对于短文档价值更大。一个出现概率很低的词一旦出现在文档中,价值大于其他普遍出现词。在信息检索领域向量模型做相似度计算非常有效,曾是google发家必杀技。聊天机器人软肋,只考虑独立词,没有任何语义信息。

隐含语义索引模型。TF-IDF模型,所有词构成一个高维语义空间,每个文档这个空间被映射为一个点,维数一般比较高且每个词作一维割裂词与词之间关系。把词和文档同等对待,构造一个维数不高语义空间,每个词和每个文档被映射到这个空间一个点。数学,考察文档概率,词概率,联合概率。设计一个假想隐含类包括在文档和词之间,选择一个文档概率p(d),找到一个隐含类概率p(z|d),生成一个词w概率p(w|z)。根据观测数据估计p(d, w)联合概率,z是一个隐含变量,表达一种语义特征。利用p(d, w)估计p(d)、p(z|d)和p(w|z),根据p(d)、p(z|d)和p(w|z)求更精确p(w, d),词与文档之间相关度。设计优化目标函数对数似然函数,L=∑∑n(d, w) log P(d, w)。p(d, w) = p(d) × p(w|d),p(w|d) = ∑p(w|z)p(z|d),p(z|d) = p(z)p(d|z)/∑p(z)p(d|z),p(d, w) =p(d)×∑p(w|z) p(z)p(d|z)/∑p(z)p(d|z)=∑p(z)×p(w|z)×p(d|z)。

EM算法,按照最大似然原理,先随便拍一个分布参数,根据分布归类到某一部分,根据归类重新统计数目,按照最大似然估计分布参数,再重新归类、调参、估计,最终得出最优解。每一个训练数据做归类,p(z|d,w),先拍一个p(z)、p(d|z)、p(w|z),p(z|d,w)=p(z)p(d|z)p(w|z)/∑p(z)p(d|z)p(w|z),分子是一个z,分母是所有z和。p(z|d,w)最大似然估计的概率估计(E过程),对每一个训练样本做归类,根据归类好数据统计出n(d,w),根据公式p(z) = 1/R ∑n(d,w)p(z|d,w)更新参数。p(d|z)=∑n(d,w)p(z|d,w) / ∑n(d,w)p(z|d,w),分子是一个d和,分母是所有d和,计算p(d|z)最大似然估计。p(w|z)=∑n(d,w)p(z|d,w) / ∑n(d,w)p(z|d,w),分子一个w和,分母是所有w和,计算p(w|z)的最大似然估计。重新计算p(z|d,w),p(z|d,w)=p(z)p(d|z)p(w|z)/∑p(z)p(d|z)p(w|z)。不断重复上面EM过程使对数似然函数最大,L=∑∑n(d, w) log P(d, w)。
通过以上迭代得出最终p(w, d),词与文档之间相关度,利用相关度做检索。

词词之间相关度,p(w, d)乘以转置,p(w,w) = p(w,d)×trans(p(w,d))。用户查询query关键词构成词向量Wq, 文档d表示成词向量Wd,query和文档d相关度,R(query, d) = Wq×p(w,w)×Wd。把所有文档算出来相关度从大到小排序就是搜索排序结果。

隐含语义索引模型,相比TF-IDF,加进语义信息、考虑词词关系,根据语义做信息检索,更适合研发聊天机器人做语料训练和分析,TF-IDF更适合完全基于独立词信息检索,更适合纯文本搜索引擎。

参考资料:

《Python 自然语言处理》

http://www.shareditor.com/blogshow?blogId=88

http://www.shareditor.com/blogshow?blogId=89

http://www.shareditor.com/blogshow?blogId=90

欢迎推荐上海机器学习工作机会,我的微信:qingxingfengzi

学习笔记CB008:词义消歧、有监督、无监督、语义角色标注、信息检索、TF-IDF、隐含语义索引模型的更多相关文章

  1. nlp 总结 分词,词义消歧,词性标注,命名体识别,依存句法分析,语义角色标注

    分词 中文分词 (Word Segmentation, WS) 指的是将汉字序列切分成词序列. 因为在汉语中,词是承载语义的最基本的单元.分词是信息检索.文本分类.情感分析等多项中文自然语言处理任务的 ...

  2. PaddlePaddle︱开发文档中学习情感分类(CNN、LSTM、双向LSTM)、语义角色标注

    PaddlePaddle出教程啦,教程一部分写的很详细,值得学习. 一期涉及新手入门.识别数字.图像分类.词向量.情感分析.语义角色标注.机器翻译.个性化推荐. 二期会有更多的图像内容. 随便,帮国产 ...

  3. NLP(十三) 词义消歧

    一个词可能有多个词义 例句 解释 She is my date date: 约会,日期 You have taken too many leaves to skip cleaning leaves i ...

  4. 【Arduino学习笔记04】消抖动的按键切换

    "开关抖动": 由于按键是基于弹簧-阻尼系统的机械部件,所以当按下一个按键时,读到的信号并不是从低到高,而是在高低电平之间跳动几毫秒之后才最终稳定. 代码解读: 1 const i ...

  5. MySQL数据库学习笔记(六)----MySQL多表查询之外键、表连接、子查询、索引

    本章主要内容: 一.外键 二.表连接 三.子查询 四.索引 一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复 ...

  6. Arcgis api for javascript学习笔记(4.6版本) - 二维MapView中的FeatureLayer显示标注

    4.6版本api的FeatureLayer中有提供 labelsVisible 和 labelingInfo 两个属性,设置这两个属性可以实现显示将属性中某个字段作为标注.但是这两个属性只针对三维Sc ...

  7. Dubbo入门到精通学习笔记(十一):Dubbo服务启动依赖检查、Dubbo负载均衡策略、Dubbo线程模型(结合Linux线程数限制配置的实战分享)

    文章目录 Dubbo服务启动依赖检查 Dubbo负载均衡策略 Dubbo线程模型(结合Linux线程数限制配置的实战分享) 实战经验分享( ** 属用性能调优**): Dubbo服务启动依赖检查 Du ...

  8. cips2016+学习笔记︱NLP中的消岐方法总结(词典、有监督、半监督)

    歧义问题方面,笔者一直比较关注利用词向量解决歧义问题: 也许你寄希望于一个词向量能捕获所有的语义信息(例如run即是动车也是名词),但是什么样的词向量都不能很好地进行凸显. 这篇论文有一些利用词向量的 ...

  9. 学习笔记CB006:依存句法、LTP、n元语法模型、N-最短路径分词法、由字构词分词法、图论、概率论

    依存句法分析,法国语言学家L.Tesniere1959年提出.句法,句子规则,句子成分组织规则.依存句法,成分间依赖关系.依赖,没有A,B存在错误.语义,句子含义. 依存句法强调介词.助词划分作用,语 ...

随机推荐

  1. tpot ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''

    机器学习训练的时候报出这个问题 是因为dataframe中的数据类型有一个是‘object’,把它转成int,或float 就行,如下 df['A'] = df['A‘].astype(int) 参考 ...

  2. maven生命周期和插件详解

    生命周期 什么是生命周期? maven的生命周期就是对所有的构建过程进行抽象和统一.maven从大量项目和构建工具中总结了一套高度完善的.易扩展的生命周期.这个生命周期包含项目的清理.初始化.编译.测 ...

  3. HTML DOM 的nodeType属性

    在HTML DOM中每一部分都是节点: HTML元素是元素节点 HTML中属性是属性节点 文本是文本节点 注释是注释节点 这时我们要给它区分开我们就可以使用HTML DOM的nodeType属性 no ...

  4. 高通 MSM8K bootloader之一: SBL1

    MSM8K Boot Flow  转自:http://www.cnblogs.com/liang123/p/6325257.html            http://blog.csdn.net/F ...

  5. Adversarial Examples for Semantic Segmentation and Object Detection 阅读笔记

    Adversarial Examples for Semantic Segmentation and Object Detection (语义分割和目标检测中的对抗样本) 作者:Cihang Xie, ...

  6. css之positon与z-index

    在网页设计中,position属性的使用是非常重要的.有时如果不能认识清楚这个属性,将会给我们带来很多意想不到的困难. position属性共有四种不同的定位方法,分别是static.fixed.re ...

  7. 安装SSD

    前面两篇文章讲了用SSD检测框架训练自己的数据集,这篇补充一下SSD的安装.github链接:https://github.com/weiliu89/caffe/tree/ssdSSD是16年ECCV ...

  8. 设置eclipse联想功能

    当我们在用eclipse的时候,怎么能够让自己的编码速度加快?我想利用eclipse的提示功能是其中的方法之一.下面就利出配置eclipse联想功能(代码的提示功能)的步骤: 1. 打开Eclipse ...

  9. holer实现外网访问本地网站

    外网访问本地网站 本地搭建了网站,只能在局域网内访问,怎样从公网也能访问内网网站? 本文将介绍使用holer实现的具体步骤. 1. 准备工作 1.1 安装并启动网站服务端 默认搭建的网站服务端端口是8 ...

  10. CSS效果:跑马灯按钮

    HTML代码 <html lang="en"> <head> <meta charset="UTF-8"> <meta ...