一、单词含义与单词关系

  • 回顾:词目(lemma)与单词形式(wordform)

    • 词目:表示相同的词根、词性以及大致的语义
    • 单词形式:表示在文档中出现的具体单词形式
  • 一个词目可能会含有很多含义(sense)。含义(sense)表示单词意思的一个方面的表现。比如说bank就有两个含义。
    • …a bank can hold the investments in a custodial account…
    • “…as agriculture burgeons on the east bank the river will shrink even more”
  • 同音异义词(homonymy):有同一个形式但是有独立不同的含义的单词,形如bank,bat
    • bank1: financial institution, bank2: sloping land
    • bat1: club for hitting a ball, bat2: nocturnal flying mammal
    • 同音异义词分为两种: 同形异义(Homographs )(bank/bank, bat/bat);同音异义(Homophones):Write/right或者Piece/peace
    • 同音异义词可能会引起NLP应用的很多问题:信息检索(“bat care”),机器翻译(bat: murciélago (animal) or bate (for baseball)),文档发音(bass (stringed instrument) vs. bass (fish))
  • 一词多义(polysemy):多义词会有相关联的含义。一词多义可以分为两种:转喻(metonymy)以及系统性的(systematic)。大部分的一词多义都是系统性的,比如school,hospital等等都可以既指组织又指建筑。
  • 我们怎么知道单词有一种以上的含义?zeugma测试。
    • 利用连词把两个句子连起来,然后看一下句子是否奇怪,如果奇怪的话就说明有两种含义。

      • 句子1:Which flights serve breakfast?
      • 句子2:Does Lufthansa serve Philadelphia?
      • 连起来:?Does Lufthansa serve breakfast and San Jose?
  • 同义(synonyms):在某些语境下单词有相同的含义
    • couch / sofa big / large automobile / car Water / H20
    • 如果他们能在所有语境中互相替代,我们就认为他们有相同的命题含义(propositional meaning)
    • 但是基本有没有完全同义的两个单词,即使在某些情况写是完全一致的,但是在正式用语,俗语等等各种方面还是会有所不同的。因此,同义是一种针对含义(sense)的关系,而不是针对单词的关系。比如下面的big和large的例子,前者是同义,后者则不是。
  • 反义(Antonyms):在某一种含义上有相反的含义。可以是对立的两个方面,或者是反向关系。比如:
  • 下义(hyponymy)与上义(hypernymy):如果一种含义是另一种的子集的话,我们认为前者是后者的下义,后者是前者的上义。比如car是vehicle的下义,vehicle是car的上义。下义一般是具有传递性的,如果A是B的下义,B是C的下义,那么A也是C的下义。我们也可以称下义为IS-A等级(IS-A hierarchy)

二、Wordnet与其他在线分类词典(thesauri)

  • 分类词典在很多的领域都有广泛的应用:信息抽取,信息检索,问答系统,生物和药物信息学,机器翻译等等

1、WordNet

  • 其中一个典型的在线分类词典就是Wordnet,它是一个按照层次组织的词汇数据库,是一个在线的分类词典,同时也包含一些除了英语以外的其他语言。

    • 一个具体单词的展示:下面的一个S就代表一个含义(sense)
    • 对于同义关系的表达,我们会用对同一个同义注释集的单词的含义进行标注。比如chump1, fool2, gull1, mark9, patsy1, fall guy1, sucker1, soft touch1, mug2,这个九个单词的对应序号的含义是同义的,就都对这些含义打上标注(gloss)“a person who is gullible and easy to take advantage of”。
    • 上义关系的展示
    • WordNet的名词关系
    • WordNet3.0 :http://wordnetweb.princeton.edu/perl/webwn
      • Libraries

        • Python: WordNet from NLTK http://www.nltk.org/Home
        • Java:JWNL, extJWNL on sourceforge

2、MeSH: Medical Subject Headings thesaurus from the National Library of Medicine

  • 这个是专门针对医学领域的分类词典,包含177000款目词(entry term)以及26142主题词(heading)
    - MeSH的层次展现
  • MeSH的用途:提供同义词(即款目词);提供上义关系(层次);MEDLINE/PubMED数据库的索引

三、单词相似度:分类词典法

1、单词相似度

  • 同义(synonymy):是一个二分类问题,两个单词要么同义要么不同义
  • 相似度(similarity):是一个更宽松的度量,如果两个单词在意思更接近,就更相似
  • 相似度是一个和含义(sense)相关的关系,而不是和单词相关的关系,因此我们在衡量的时候是以某个单词的某个含义来进行衡量的,比如Bank¹相似于fund³。但是我们会同时在单词和含义的基础上计算相似度。
  • 计算相似度的应用领域:信息检索,问答系统,机器翻译,自然语言生成,语言模型,自动论文打分,抄袭检测,文档聚类
  • 单词相似度(similarity) 和单词相关度(relatedness)是不一样的:相似的单词是度量单词的同义程度;单词可以以各种可能进行关联,比如car和bicycle关联,car和gasoline关联。
  • 计算单词相似度有两种方法:
    • 基于分类词典的方法:判断单词在上义等级中是否接近?单词是否有相似的标注(gloss)
    • 分布算法:判断单词是否有相似的上下文分布

2、基于分类词典的相似度计算方法

  • 基于路径的相似度

    • 如果两个含义(sense)在分类词典的层次中越接近,就认为他们越相似。这种接近程度以路径长度为度量
    • 路径长度:pathlen(c1,c2)=1+ c1和c2之间在上义关系图中最短路径的边数
    • 相似路径:simpath(c1,c2)=1/pathlen(c1,c2)
    • 单词相似度:wordsim,对两个单词的含义组合配对计算相似度,然后取最大的那个
    • 计算例子
    • 基于这种方法存在的问题
      • 这种方法假设每个层次关系都有一样的距离,但是我们在上面的例子中可以看到nickel和money以定会比nickel和standard的更接近,因为在层次中比较高的节点含义会更抽象,但是基于路径的相似度结果计算出来却是一样的。
      • 所以我们想要中的度量需要满足下面两个条件:1,独立代表每个边的代价;2、只通过抽象节点连接的单词相似程度更低
  • 信息内容(content)相似度量
    • 定义P(c)表示在语料库中随便取的一个单词是概念c的一个实例(instance)的概率。所以,这是一个在层次中所有概念都有的随机变量。对于一个给定的概念,每个观测到的名词要么是概念中的成员,概率是P(c),要么不是成员,概率是1-P(c)
    • 所有的单词都是根节点(entity)的成员,所以P(root)=1
    • 在层次中一个节点越低,它的概率就越低
    • 我们可以通过在语料库中计数来进行训练:每个hill的实例都计入natural elevation, geological formation, entity等的频率。计算公式如下,其中words©表示c及其所有的子节点
    • 信息内容:IC©=-log§
    • 最富信息类(subsumer)/最低公共类(subsumer),即LCS(c1,c2)也就是c1和c2的最低公共子节点
    • Resnik相似度计算方法:两个单词之间的相似度和他们的公共信息有关系;两个单词的公共信息越多,他们就越相似。所以计算的相似度就是最低公共类的信息内容,公式如下:
    • dekang lin方法:这种方法认为相似度计算不仅和公共信息成正比,而且和两者之间的不同成反比。对应的计算公式和计算例子为:
  • 拓展的Lesk算法:这种算法把分类词典中的注释(gloss)放入了相似度计算。如果两个概念的注释有相似的单词那么我们认为这两个概念相似。对于在注释中公共存在的n个单词组成的词组,我们计分为n²。把所有的公共词组,包括上义词和下义词的公共词组的得分都相加,就可以得到一个分数。下面是一个简单的例子:
  • 四种方法的公式总结

3、相似度评估

  • 内在评估:算法和人工相似度得分进行比较
  • 外在(基于任务的,头尾连接)评估:利用一些需要单词相似度的任务来进行评估,比如拼写错误纠察,WSD,论文评分,以及TOEFL多选词汇题。

四、单词相似度:基于分布的模型

1、基于分类词典的相似模型的问题

  • 不是每一种语言我们都有一个分类词典(thesaurus)
  • 即使我们有该语言的分类词典,但是应用分类词典的算法会有recall的问题
    • 很多单词都没有收录
    • 大部分的词组也没有收录
    • 有一些含义(sense)之间的关联也没有收录
    • 分类词典在动词和形容词上做得不好,因为形容词和动词的结构化的上义关系很少

2、意思的分布模型(distributional models of meaning)

  • 我们也可以称之为意思的向量空间模型(space-vector model of meaning)
  • 这种模型会比前一种模型的recall更高,但是precision会有所下降
  • 这种模型的基本想法是:如果两个单词的上下文相似的话,这两个单词很有可能就是相似的。举例而言,看下面的四句话,我们很容易就看出加粗部分的单词是一种酒。

3、项上下文矩阵(term-context matrix)

  • 这种模型的第一步是构建项上下文矩阵。这个矩阵基本构建思想是和项文档矩阵一致的。项文档矩阵的每一行表示的是每一个单词,每一列表示的是文档,每一格表示的是该行单词在对应文档中的计数。而项上下文矩阵每一列表示的是下文中出现的单词,每一格表示的是该行单词的上下文中出现该列单词的数量。
  • 所谓的上下文,我们一般指段落,或者是10个单词的窗口。
  • 如果两个单词在他们对应的行向量上是相似的话,就意味着他们的含义相似。

4、PPMI(Positive Pointwise Mutual Information)

  • 在项上下文矩阵中,我们不是直接使用纯计数,而是使用PPMI(Positive Pointwise Mutual Information)来替代。PMI的计算公式如下,PPMI的区别就是当PMI为负的时候就直接哟个0替代。

    • 一个计算的例子:W表示行,C表示列
    • 除了这个以外,我们还可以在加入拉普拉斯平滑

5、基于句法的上下文

  • 在构建项上下文矩阵的时候,上下文矩阵和每一列是单词和对应的单词依存关系,比如主语、介词等等

6、基于PPMI的相似度计算

  • 我们利用cosine来进行相似度估计,公式如下:其中v和w分别表示两个相似单词的对应在项上下文矩阵中的行向量

    • 一个计算的例子
  • 其他相似度的计算

7、相似度评估

  • 与上一节基于分类词典的相似度评估一致。

斯坦福大学-自然语言处理入门 笔记 第十九课 单词含义与相似性相关推荐

  1. 斯坦福大学-自然语言处理入门 笔记 第十四课 CGSs和PCFGs

    一.概率上下文无关文法((Probabilistic) Context-Free Grammars) 1.上下文无关文法(Context-Free Grammars) 我们也可以称之为词组结构语法(P ...

  2. 斯坦福大学-自然语言处理入门 笔记 第十五课 词汇化(Lexicalization)的PCFGs

    一.介绍 一个短语的中心词(head word)可以很好地代表这个短语的结构和含义,在构建PCFG模型的时候,可以考虑将这部分信息纳入其中.如下图所示加入单词信息可以帮助我们更好地选择出合适的模型. ...

  3. 深度学习入门笔记(十九):卷积神经网络(二)

    欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...

  4. TA入门笔记(十九)

    参考 may佬<技术美术百人计划> 移动端GPU的TB(D)R架构 移动端GPU概况 下图为2020年手机安卓端SoC的Top10排行 目前的top300中,从手机SoC厂商来看,高通占比 ...

  5. 深度学习入门笔记(十五):深度学习框架(TensorFlow和Pytorch之争)

    欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...

  6. 深度学习入门笔记(十六):计算机视觉之边缘检测

    欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...

  7. 深度学习入门笔记(十八):卷积神经网络(一)

    欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...

  8. 深度学习入门笔记(十四):Softmax

    欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...

  9. 深度学习入门笔记(十二):深度学习数据读取

    欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...

最新文章

  1. 《Ember.js实战》——2.3 计算属性
  2. 多尺度的CityNeRF: Building NeRF at City Scale
  3. 使用ARouter实现组件化
  4. 如何培养自己奇特的创意设计思维?
  5. Qt 移植到Android
  6. springfox源码_Spring boot整合Springfox在线生成restful的api doc
  7. VC++用异或(XOR)方式实现拖放画动态直线
  8. python内置函数可以返回列表元组_十九、python内置函数汇总
  9. 计算机字处理软件word文档,2012计算机字处理软件 Word(answer)
  10. 关于idea注释等颜色设置
  11. WIN10合并磁盘扩展区是灰色的
  12. cmd安装pip以及第三方库的最简单的安装方法
  13. EVE模拟器的使用-带图超详细(学网络用)
  14. CGO 之 Dll调用
  15. xubuntu22.04初体验
  16. 转一位计算机牛人的心得,谈到计算机和数学,很实用~
  17. HDU CCPC网络选拔赛 6441 Find Integer(数学)
  18. 机器人 控制理论 学习笔记
  19. 什么样的人适合参加IT编程培训?
  20. 一步一步教你制作销售业绩分析报告

热门文章

  1. 亚马逊 Alexa skill开发
  2. 简单通过微信公众号获取OPEN ID
  3. 深入理解计算机系统----第五章优化程序性能
  4. SVG是什么?SVG有什么用途?
  5. 香蕉派BPI-M64-〇〇五之:烧录Ubuntu16.04到emmc中(基于win10系统下操作)
  6. 开发U3V时遇到bus hound报babble detect错误
  7. mah和mwh的关系?
  8. C - Make Good(构造,思维)
  9. 首屈一指的全球招聘与薪资支付平台Deel收购Zeitgold,以增强薪资和人工智能服务
  10. canvas模拟实现高德地图的部分功能