NLP——WordNet;Word Similarity; Word Sense Disambiguition

news2025/6/22 0:47:01

WordNet

在这里插入图片描述

  • WordNet是一个广泛使用的英语词汇数据库和语义网络。它由普林斯顿大学认知科学实验室开发,旨在帮助人们理解单词之间的关系和意义。WordNet的主要目标是将英语词汇组织成一种层次结构,其中每个词都与其他相关词联系起来。
  • WordNet中的单词按照它们的语义关系进行分类和组织。每个单词都与一组称为"同义词集"(synset)的词组相关联。同义词集是一组具有相似含义的单词的集合,可以互相替代。WordNet中的每个同义词集都与其他同义词集通过各种关系进行连接,例如上位词(hypernyms)、下位词(hyponyms)、部分-整体关系(part-whole)、反义词等。
  • WordNet在自然语言处理、信息检索、机器翻译等领域得到了广泛的应用。它提供了一个强大的资源,可以帮助计算机理解和解释单词的语义,从而改善自然语言处理应用的质量。
    在这里插入图片描述

Synsets

在这里插入图片描述

  • “synsets” 是 WordNet 中的一个重要概念,它是同义词集(synonym set)的缩写。一个同义词集是一组具有相似含义的单词的集合。在 WordNet 中,每个单词都与一个或多个同义词集相关联。
  • 同义词集通过它们的语义关系将词语连接在一起。每个同义词集都包含一个核心词(称为"lemmas"),它代表了该集合的基本概念。同义词集之间的关系由 WordNet 中定义的各种关系(如上位词、下位词、部分-整体关系等)来描述。
  • 通过同义词集,WordNet 提供了丰富的词汇资源,使得用户可以查找并探索单词之间的关系。例如,对于一个特定的单词,可以通过查找与之相关联的同义词集来找到其近义词、反义词、上位词等信息。同义词集的概念使得 WordNet 在词汇语义理解和自然语言处理任务中具有重要的应用价值。

Hypernymy Chain 上位词链

在这里插入图片描述

  • Hypernymy Chain(上位词链)是在语义网络中表示词语层次结构关系的概念。在一个词汇网络中,如果一个词语可以被另一个词语的上位词(hypernym)所代表,那么它们之间存在上位关系。Hypernymy Chain 是指由一个词语经过多个层次的上位关系所形成的链条。
    例如,考虑以下词语链条的示例:
    动物 -> 哺乳动物 -> 食肉目 -> 猫科动物 -> 豹子
  • 在这个示例中,每个词语都是前一个词语的上位词。动物是"哺乳动物"的上位词,"哺乳动物"是"食肉目"的上位词,依此类推。这些词语之间的层次关系可以通过Hypernymy Chain来表示。
  • Hypernymy Chain 对于理解词语之间的层次关系和概念之间的继承关系非常有用。它在自然语言处理、语义理解和词义消歧等任务中被广泛应用。通过分析和利用Hypernymy Chain,可以帮助计算机系统更好地理解和组织词语的语义信息。

Hypernymy Chain 评估 Word Similarity

使用 Hypernymy Chain 衡量词语相似度的一种常见方法是通过计算词语在上位词链上的共同层级数或最短路径长度。它的发展经过了以下几个阶段:

use Path length

在这里插入图片描述

  • synsets 中的两个含义sense c 1 , c 2 c_1, c_2 c1,c2
  • 他们之间的路径计算公式为 p a t h l e n ( c 1 , c 2 ) = 1 + e d g e   l e n g t h pathlen(c_1, c_2) = 1+edge ~length pathlen(c1,c2)=1+edge length,这里的 edge length 指的是他们之间的最短路径
  • 因此他们之间的 similarity 就是距离的倒数: s i m p a t h ( c 1 , c 2 ) = 1 p a t h l e n ( c 1 , c 2 ) simpath(c_1, c_2)=\frac{1}{pathlen(c_1, c_2)} simpath(c1,c2)=pathlen(c1,c2)1
  • 两个 word 之间的相似度,就是找到他们之间最相近的含义的那个值充当。

在这里插入图片描述

  • 这个例子中, nicklecoin 之间的路径是 1,所以 simpath = 1/2 = 0.5
  • 其他的例子也都以此类推

在这里插入图片描述

  • 但这样存在的问题也很明显,例如 (nickle, money) 之间的 simi = 0.17 ,但是 (nickle, Richter scale) 之间的 simi=0.13
  • 但其实 money Richter scale 基本一点关系也没有,这就说明依靠 path 的方式存在很大的问题
  • 原因是:
    • 不同的领域,其概念的层次深度可能不一样。例如,生物学的分类体系可能会比数学或物理学的更为复杂深入。这样,如果单纯以路径长度为衡量标准,可能会对不同领域的相似度评估产生偏见。
    • 路径长度并不能准确反映概念之间的相似度。例如,“狗”和“哺乳动物”之间的路径长度可能就比“狗”和“猫”之间的路径长度短,然而在实际语义相似度上,我们通常会认为“狗”与“猫”的相似度更高。
    • Hypernymy Chain 的路径长度可能会受到词汇粒度的影响。在细粒度的词汇中,可能存在更多的层级,这导致即使是非常相似的词汇,其路径长度也可能变得非常长。
    • 某些语义关系可能不会被 Hypernymy Chain 完全捕获。例如,部分横跨多个领域的概念可能会在某一领域的路径中被遗漏,这就可能导致其相似度被低估。

一种可能的解决方法就是引入深度信息

depth information

在这里插入图片描述

  • 其中 LCS c 1 , c 2 c_1, c_2 c1,c2 的最低公共祖先
  • Wu & Palmer 算法的相似度计算公式为:

s i m ( c 1 , c 2 ) = 2 × d e p t h ( L C S ( c 1 , c 2 ) ) ( d e p t h ( c 1 ) + d e p t h ( c 2 ) ) sim(c1, c2) = \frac{2 \times depth(LCS(c_1, c_2))}{(depth(c_1) + depth(c_2))} sim(c1,c2)=(depth(c1)+depth(c2))2×depth(LCS(c1,c2))

其中, d e p t h ( c ) depth(c) depth(c) 表示词 c 在层次结构中的深度, d e p t h ( L C S ( c 1 , c 2 ) ) depth(LCS(c_1, c_2)) depth(LCS(c1,c2)) 表示 c1c2 的最低公共祖先在层次结构中的深度。

在这里插入图片描述

  • nickle, money 的深度分别是 63,他们的共同最低祖先 medium of exchange 的深度为 2,因此结果是 0.44

  • 但是节点的深度依然不能很好地度量语义, 接近根节点的语义应该更加抽象,而接近叶子节点的语义应该更加具象,我们需要一种方法来反映这些信息
    在这里插入图片描述

  • 一种很直观的想法,就是:给定一个节点,计算他所有 child 节点的 probability,这个概率和作为当前节点的概率,这样的话,一个节点的 child 越多,那么这个节点的概率值就越大。
    在这里插入图片描述
    在这里插入图片描述

  • 从此图中就能看出来,这种方式非常好地区分了 parentstudent 节点的概率值

  • 根据这个特点,我们引入了 information content 来计算相似度

Information Content 信息量

在这里插入图片描述

  • 公式中 I C ( L C S ( c 1 , c 2 ) ) IC(LCS(c_1, c_2)) IC(LCS(c1,c2)) 代表了最低的公共节点的信息量
  • 信息量的计算公式 I C = − l o g ( P ) IC = -log(P) IC=log(P) 就是概率的负对数

这个算法的优点在于它同时考虑了词汇在层次结构中的深度和两个词汇之间的距离。

  • 确定两个目标词语(Word A 和 Word B)以及它们在 WordNet 中的同义词集(synsets)。
  • 对于每个词语的同义词集,获取其对应的 Hypernymy Chain(上位词链)。
  • 比较两个词语的 Hypernymy Chain,并找到它们的最低公共上位词(Lowest Common Hypernym)或最短路径。

Word Sense Disambiguition词义消歧

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/631691.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[6]PCB设计实验|认识常用元器件|电阻器|18:30~19:00

目录 一、电阻器主要用途 1. 稳定和调节电路中的电流和电压 2. 作为分流、分压和负载使用 二、常见电阻器 1. 贴片电阻 2. 热敏电阻 3. 限流电阻 4. 可调电阻 5. 排阻(网络电阻) 三、几种常用电阻器的结构特点 四、电阻的参数 1. 额定功率 电阻器功率的表示 ​2…

自学黑客/网络安全工具软件大全100套

黑客工具软件大全100套 1 Nessus:最好的UNIX漏洞扫描工具 Nessus 是最好的免费网络漏洞扫描器,它可以运行于几乎所有的UNIX平台之上。它不止永久升级,还免费提供多达11000种插件(但需要注册并接受EULA-acceptance–终端用户授权…

【六一儿童节】回忆一下“童年的记忆”

文章目录 [TOC](文章目录) 前言一、EasyX带我们步入了童话的世界1.1绘画哆啦A梦2.2绘画出来喜羊羊 二、我的六一故事总结 前言 我们都有过童年,并且从现在看来,童年是我们最希望可以回去的那段时光,那时候的我们傻傻的,并且很天真…

电子元器件解析02之电容(一)——定义与性能参数

下篇文章:电子元器件解析02之电容(二)——电容分类与应用场景:https://blog.csdn.net/weixin_42837669/article/details/131142767 摘要 电容是最基本的电子元器件之一,本文介绍了电容的定义,并总结了电容的各个性能参数&#xff…

leetcode143. 重排链表(java)

重排链表 leetcode143. 重排链表题目要描述 解题思路代码链表专题 leetcode143. 重排链表 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/reorder-list 题目要描述 给定一个单链表 L 的头节点 head ,单链表 …

根据字节、华为、阿里、腾讯等大厂整理的2023最新面试热点问题,还不行我也救不了你了~

大厂面试热点问题 1、测试人员需要何时参加需求分析? 如果条件循序 原则上来说 是越早介入需求分析越好 因为测试人员对需求理解越深刻 对测试工作的开展越有利 可以尽早的确定测试思路 减少与开发人员的交互 减少对需求理解上的偏差 2、软件测试与调试的关系 测…

MM32F3273G8P火龙果开发板MindSDK开发教程11 -获取msa311加速器的xyz轴数据

MM32F3273G8P火龙果开发板MindSDK开发教程11 -获取msa311加速器的xyz轴数据 1、msa311简介 使用i2c总线 可以读取xyz轴的加速度 可以监测单击双击事件 可以监测运动与静止状态 可以监测自由落体事件,可用来监测摔倒或跌落。 可以监测旋转事件,类似手机…

工作中自我或者团队管理的几个有用工具

个人或者团队管理过程中,采用一些有效的管理工具或者方法,可以提升工作效率和结果。它们包括SMART原则、PDCA循环、SWOT分析、5W2H分析、鱼骨图分析、七个凡是。这几个工具或者方法之间有互通性,比如,PDCA循环中,在P这…

数学建模预备知识(1)全网最全的数学建模竞赛汇总,别再被坑了!

🌅*🔹** φ(゜▽゜*)♪ **🔹*🌅 欢迎来到馒头侠的博客,该类目主要讲数学建模的知识,大家一起学习,Qq及各类联系方式在图片上! 喜欢的朋友可以关注下,下次更新不迷路&…

【MySQL】为什么MySQL选择B+Tree来做索引?

B树和B树的区别? B树 B树 B*树 B树和B树的区别 (1)存储量大:B树叶子及非叶子节点存索引数据,B树叶子非叶子节点存索引,叶子节点存数据; (2)查找速度: 查单个值&…

细说websocket - php篇

下面我画了一个图演示 client 和 server 之间建立 websocket 连接时握手部分,这个部分在 node 中可以十分轻松的完成,因为 node 提供的 net 模块已经对 socket 套接字做了封装处理,开发者使用的时候只需要考虑数据的交互而不用处理连接的建立…

运营-22.内容分发

内容分发 内容分发本质要解决的问题包含两点: 1. 高效的连接人与信息; 2. 过滤出有价值的信息,让合适的人看到合适的信息 。 常见的内容分发方式: 1. 编辑分发; 2. 订阅分发; 3. 社交分发; 4. 算…

Oracle中使用【Interval】对【日期】进行【相加减】,报错 ORA-01839:指定月份的日期无效(Interval的坑)

文章目录 1. 前言2. 先说结论3. 案例演示 1. 前言 最近在对某些表进行旧数据的删除,必然是通过【时间】删除之前较为久远的数据,比如1年前,6个月前,7天前的数据等等情况,这个时候的SQL,必然会出现条件&…

pandas---数据结构(Series、DataFrame 和 MultiIndex)创建方式、属性

1. 数据结构 Pandas中一共有三种数据结构,分别为:Series、DataFrame 和MultiIndex。 其中Series是一维数据结构,DataFrame是二维表格型数据结构,MultiIndex是三维数据结构。 1.1 Series Series是一个类似于一维数组的数据结构…

【LeetCode】每日一题 -- 1170. 比较字符串最小字母出现频次 -- Java Version

题目链接:https://leetcode.cn/problems/compare-strings-by-frequency-of-the-smallest-character/ 1. 题解(1170. 比较字符串最小字母出现频次) 昨天的每日一题 2699. 修改图中的边权 有点难,研究了一会儿,学习了一…

文件讲解—【C语言】

目录 1.为什么使用文件 2. 什么是文件 2.1 程序文件 2.2 数据文件 2.3 文件名 3. 文件的打开和关闭 3.1 文件指针 3.2 文件的打开和关闭 4. 文件的顺序读写 4.1 顺序读写函数介绍 4.2 对比一组函数 例子 例子 5.3 rewind 例子 6. 文本文件和二进制文件 测试代…

机器学习 day15(神经网络的工作原理,激活值a的公式)

1. 隐藏层的内部实现 如图通常来说,该模型一共有两层,不包括输入层(layer 0),第一层是隐藏层(layer 1),第二层是输出层(layer 2),我们可以用方括…

【力扣刷题 | 第三天】242.有效字母异位词 349 两个数组的交集

目录 1.242. 有效的字母异位词 2.349. 两个数组的交集 - 力扣(LeetCode)​​​​​​ 使用算法笔记: 总结: 1.242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意…

学习记录 -- Accurate and fast cell marker gene identification with COSG

文章目录 brief代码演示安装实操 个人感受 brief 单细胞数据分析当中,细胞聚类分群完成之后,我们希望得知每一个细胞类群是什么细胞,也就是细胞类型注释。 通常情况下,我们可以找到细胞类群间表达量存在差异的基因,我…

爆款视频生成器-视频批量剪辑系统源码开发分享

创建视频 该接口用于创建抖音视频(支持话题, 小程序等功能)。该接口适用于抖音。 使用限制 抖音的 OAuth API 以https://open.douyin.com/ 开头。挂载小程序请先完成注册开发者平台账号。创建抖音视频后, 会有一个审核过程, 期间只有自己可见。如果发…