自然语言处理(NLP)—— 词义消歧与词语相似性(Word similarity)

1. 词义消歧

1.1 词义消歧的概念

        词义消歧(Word Sense Disambiguation, WSD)的概念及其在自然语言处理中的应用之一。词义消歧是确定一个词在特定语境下使用时所指的具体含义。

        在提到的例子中,“Do you believe in clubs for young people? Only when kindness fails. — W.C. Fields”,这里的“clubs”这个词有多重含义,可以指 俱乐部 或者 棍棒 ,W.C. Fields 通过使用双关语创造了幽默效果,突出了“棍棒”这一意义。

1.2 贝叶斯分类

        在1992年,Gale等人提出了一种基于贝叶斯分类的方法来解决词义消歧问题:

        首先,确定一个词w有多种含义s*,这个词在语料库中的上下文c*,以及围绕这个词的其他词v*。
        对于给定的上下文c,我们尝试最大化条件概率P(si | c),即在上下文c中词w是意义si的概率。

        贝叶斯方法通过如下的方式寻找最可能的含义s*:

       argmax P(s* | c) = argmax [log P(c | s*) + log P(s*)]

        在这里,argmax是寻找使概率最大化的意义s*的操作,log P(c | s*)是在意义s*下上下文c的对数概率,log P(s*)是意义s*的先验对数概率。

1.3 朴素贝叶斯假设

        朴素贝叶斯假设认为,一个上下文c给定词义sk的概率可以表示为c中所有单词vj给定词义sk的概率的乘积:

P(c | sk) = ∏vj∈c P(vj | sk)。

        最后,通过在学习语料库中估计最大期望来进行计算:

        ˆP(vj | sk) = #{vj ∈ context(sk)} / #{w},
        ˆP(sk) = #{sk} / #{w},

        这里,#{vj ∈ context(sk)}表示在意义sk的上下文中vj出现的次数,#{w}表示语料库中词w的总数,#{sk}表示语料库中意义sk的出现次数。

        简单来说,这是一种统计方法,通过计算不同词义下上下文的概率,来判断一个词在特定语境中最可能的意义。

1.4 Lesk算法

        词义消歧的另一种方法,即使用词典中不同的词义定义来确定在特定上下文中使用的词义。Lesk算法是这种方法的经典形式,提出于1986年。

1.4.1 Lesk算法的基本思想

        首先收集目标词在词典中所有可能的定义。
        然后取目标词每个定义中的词汇,并将这些词汇与目标词周围词汇的定义进行比较
        如果一个定义中的词汇和上下文中其他词汇的定义有较多重叠,那么这个定义就被认为是正确的词义。

        例如,如果我们要确定句子中的"car"的意思,我们会考虑"car"所有的定义,并看这些定义中的词汇与"car"在句子中周围词汇的定义有多少交集。Lesk算法假设越多的交集意味着更高的可能性,那个定义是句子中"car"的正确含义。

        Walker于1987年提出使用词典之外的另一个资源——同义词词典或词库,这能提供更多关于词义相似性的线索。

        Resnik在1995年提出利用WordNet,这是一个大型的词汇数据库,里面包含了大量的英语词汇的同义词集合以及它们之间的关系。WordNet通过链接词汇和它们的语义关系提供了一个有用的框架来支持词义消歧。

1.4.2 示例

        这个例子展示了单词 car 在英语中的多种含义,每个含义都对应不同的上下文和用法。在自然语言处理中,尤其是词义消歧的研究领域,识别单词在特定上下文中的正确含义是非常重要的。这些不同的含义被称为一个单词的同义词集(synsets),通常来自像WordNet这样的词义数据库。每个同义词集提供了一个单词在特定上下文中的具体含义和用法示例。

在例子中:

        car, auto, automobile, machine, motorcar – 这些词都指的是“四轮汽车,通常由内燃机驱动;他需要一辆车去上班。”这是最常见的用法,指的是普通的道路汽车。

        car, railcar, railway car, railroad car – 这些词指的是“铁路轨道上的有轮车辆;三辆车脱轨了。”在这个上下文中,“car”特指铁路上运行的车厢。

        car, gondola – 在这里,“car”指的是“悬挂在飞艇下方,用来载人和货物的吊舱。”这个含义在日常用语中较为少见。

        car, elevator car – 这里的“car”是指“电梯里乘客上下移动的部分;车厢在最顶层。”这是指电梯的乘客舱。

        cable car, car – 在这个同义词集中,“car”指的是“缆车铁路上运载乘客或货物的车辆;他们乘坐缆车到山顶。”“cable car”是特定类型的交通工具,不同于普通道路汽车。

        通过比较待消歧的单词“car”在句子中的上下文和这些同义词集中的定义和例子,词义消歧系统可以确定最合适的含义。例如,如果句子是“After the meeting, they took an elevator car to the lobby”,系统会根据“elevator”这个上下文线索确定“car”的正确含义是“电梯里乘客上下移动的部分”。

2. 词语相似性(Word similarity)

        词语相似性(Word similarity)指的是两个词在意义上的接近程度。在自然语言处理领域,衡量词语相似性对于多种应用都是非常重要的,比如语义搜索、文本理解和机器翻译。

2.1 本体论

        语义相似性度量(Semantic similarity measures)通常是基于本体论关系来计算的,这些关系包括:

        同义关系(Synonymy):两个词具有相同或几乎相同的含义。
        上下位关系(Hyponymy):一个词是另一个词的下位词,具有更具体的含义。例如,“苹果”是“水果”的下位词。
        整体-部分关系(Meronymy):一个词表示另一个词的一部分。例如,“车轮”是“汽车”的部分。

        一个常用的方法是使用WordNet这样的语义网络来寻找两个词之间的最短路径。WordNet中的节点代表不同的词义,边表示词义之间的关系。计算两个节点之间最短路径的逆可以得到一个相似性分数,路径越短,相似性越高。

        语义关联度量(Semantic relatedness measures)则用来检测和量化更广泛种类的语义关系。不同于语义相似性,它可以包括任何有意义的联系,不限于本体论关系。例如:

        car(汽车) 和 vehicle(车辆) 在语义上是非常相似的,因为汽车是车辆的一种。
        car(汽车) 和 gasoline(汽油)在语义上是关联的,尽管它们不是同义词或上下位关系,但汽油是汽车运行所需的燃料。

        语义关联度量可以基于共现频率、上下文相似性或者任何其他可以表示两个概念之间关系的统计信息。这种度量对于理解词语如何在实际语境中相互关联非常有帮助。

2.2 ESA

        ESA(显式语义分析)是Gabrilovich等人提出的一种基于维基百科语料库的语义关联度量方法。ESA的核心思想是将文本理解成一个由概念组成的向量空间,而这些概念是通过维基百科中的文章来定义的。

        ESA的工作过程可以总结为以下几个步骤:

        a.清理和过滤维基百科页面:选择那些有足够多文本内容以及一定数量的内外链的页面。

        b.预处理文本:删除停用词(stop words,如“和”、“是”等在文本分析中通常被忽略的词),进行词干提取(stemming,即将词汇还原为词根形式),以及计算单词的TF-IDF值。TF-IDF是一种统计方法,用以评估一个词对于一个语料库中的文档的重要程度。它的计算公式如下所示:
   
\text{tfidf}(t_k, d_j) = \#\{t_k \in d_j\} \cdot \log \frac{\#\{d^*\}}{\#\{d^* | t_k \in d^*\}}

        其中,t_k是某个词,d_j是一个文档,\#\{t_k \in d_j\}是词t_k在文档d_j中的出现次数,\#\{d^*\}是文档总数,\#\{d^* | t_k \in d^*\}是包含词t_k的文档数目。

        c.表示维基百科页面为向量:每个维基百科页面可以用一个向量来表示,在这个向量空间中,每个坐标轴代表一个非空、经过词干提取的、不同的单词,向量的坐标值是对应单词的TF-IDF值。

        d.测量向量相似性:最终,使用余弦相似度(cosine similarity)来测量两个向量之间的相似性。余弦相似度是通过计算两个向量的点积和它们大小(或长度)的乘积的余弦值来确定的,它的值介于-1和1之间,值越接近1表示相似性越高。

        总的来说,ESA是一种基于文本的语义相似性度量方法,它利用了维基百科的丰富语义信息,通过将文本转换为基于TF-IDF的向量表示,来计算文本之间的语义相似性。

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

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

相关文章

java跨平台原理,jdk/jre/jvm之间的关系

1 java基本认识 1.1 java语言 语言:人与人交流沟通的方式。比如,你好、hello等。 计算机语言:人与计算机之间进行信息交流的一种特殊方式。比如,Java语言、C语言、C等。 1.2 java的来源 Java 是由 Sun Microsystems 公司于 1…

Docker安装的Redis并忘记了密码,怎么找回

如果你通过Docker安装的Redis并忘记了密码,通常情况下,密码会在启动Redis容器时通过配置文件或环境变量设置。查看或恢复忘记的密码通常有以下几种方法: 方法1:检查Docker容器的启动命令或环境变量 如果你在启动Redis容器时指定…

状态机高阶讲解-03

402 00:17:30,860 --> 00:17:34,610 那首先要说在前面的,就是说 403 00:17:36,590 --> 00:17:39,770 这个状态机实际上已经是一种 404 00:17:42,060 --> 00:17:45,320 描述行为上的差别了 405 00:17:45,820 --> 00:17:47,860 就是说,实际…

SpringBoot中MD5使用

SpringBoot中MD5使用 新建md5类 public final class MD5 {public static String encrypt(String strSrc) {try {char[] hexChars {0, 1, 2, 3, 4, 5, 6, 7, 8,9, a, b, c, d, e, f};byte[] bytes strSrc.getBytes();MessageDigest md MessageDigest.getInstance("MD5…

组态软件基础知识

一、组态软件基础知识 1、概述 (1)、组态软件概念与产生背景 “组态”的概念是伴随着集散型控制系统(Distributed Control System简称DCS)的出现才开始被广大的生产过程自动化技术人员所熟知的。在工业控制技术的不断发展和应用…

vue上传图片,直接回显本地的图片

<input name"file" type"file" change"update" /> <img :src"imgSrc" alt""> update(e) {const file e.target.files[0] || e.dataTransfer.files[0]let URL window.URL || window.webkitURL; // 当前地址th…

HR人才测评,如何测评候选人的心理素质?

心理素质&#xff0c;指的是处于压力之下&#xff0c;其解决问题的能力、团队协作能力&#xff0c;事务处理的效率等是否保持稳定和高效。心理素质决定了员工在岗位上的适应能力&#xff0c;也是发展潜力的基础。 对于企业来说&#xff0c;心理素质好的员工&#xff0c;不仅是…

哪些泛域名ssl证书一年送一月

泛域名SSL数字证书&#xff0c;也称之为通配符SSL证书&#xff0c;是数字证书中比较特殊的产品。与传统的单域名SSL证书不同&#xff0c;泛域名SSL证书能够同时保护多个域名站点&#xff0c;只对域名站点的类型有限制——只能保护主域名以及主域名下的所有子域名站点。今天就随…

C++设计模式-单例模式

目录 概述 懒汉模式 饿汉模式 懒汉式单例模式与多线程

数据安全与销毁:数据销毁实践指南

数据销毁处理 为了满足合规要求及组织机构本身的业务发展需求&#xff0c;组织机构需要对数据进行销毁处理。因为数据销毁处理要求针对数据的内容进行清除和净化&#xff0c;以确保攻击者无法通过存储介质中的数据内容进行恶意恢复&#xff0c;从而造成严重的敏感信息泄露问题。…

【C++从0到王者】第五十二站:跳表

文章目录 一、什么是跳表二、skiplist的效率三、skiplist的实现 一、什么是跳表 skiplist本质上也是一种查找结构&#xff0c;用于解决算法中的查找问题&#xff0c;跟平衡搜索树和哈希表的价值是一样的&#xff0c;可以作为key或者key/value的查找模型。 skiplist&#xff0c;…

三维的旋转平移矩阵形式

在三维空间中&#xff0c;一个物体或坐标系的旋转和平移可以通过一个4x4的变换矩阵来表示。这个矩阵通常被称为仿射变换矩阵或齐次变换矩阵。它结合了旋转矩阵和平移向量的功能&#xff0c;能够同时表示旋转和平移操作。 一个4x4的旋转平移矩阵通常具有以下形式&#xff1a; 复…

基于ElasticSearch存储海量AIS数据-架构设计篇

文章目录 引言I 背景II 数据集群架构选型2.1 关键点2.2 架构设计2.3 数据迁移工具:Canal关键词:时空索引;船舶自动识别系统;轨迹压缩;数据集群 引言 船舶自动识别系统(AIS)数据具有海量性、时空性和小记录频繁更新等特性。面向海量AIS数据,提出了一种基于分布式集群的AIS…

V1.2基站设置IP及设置基站连接服务器

基站状态指示灯 基站正常连接上服务器&#xff0c;基站指示灯如下&#xff0c;第一个灯是电源指示灯常亮&#xff1b;第二个灯为运行指示灯&#xff0c;程序正常运行第二个灯一直闪烁&#xff1b;第三个灯为为网络指示灯&#xff0c;网络连接正常会常亮&#xff0c;网络不通或…

专注于 DeFi 的 EVM 兼容 L1项目Berachain加入Hack.Summit()2024区块链开发者大会的联合主办之一

在激动人心的区块链领域&#xff0c;我们很荣幸的宣布Berachain已成Hack.Summit()2024区块链开发者大会的联合主办方之一。这一盛会将汇聚全球顶尖的开发者、投资者和创新者&#xff0c;共同探讨区块链技术的未来发展。 作为比特币生态的领军项目&#xff0c;Berachain始终积极…

Ansible--详解

目录 一、Ansible核心组件 二、Ansible配置 1.配置案例 &#xff08;1&#xff09;管理安装ansible &#xff08;2&#xff09;管理机分发公匙 &#xff08;3&#xff09;配置管理 &#xff08;4&#xff09;测试连接 2.命令说明 三、playbook剧本编写 1.playbook模板…

AI入门笔记(四)

深度学习是人工智能的一种实现方法。本文我将学习到的关于深度学习的代表卷积神经网络的数学结构分享给大家。 深度学习是重叠了很多层的隐藏层&#xff08;中间层&#xff09;的神经网络。我们以一个例题为例。 建立一个卷积神经网络&#xff0c;用来识别通过 66 像素的图像读…

排序 Comparable接口、Comparator接口

String类的Comparable接口 1、String类实现了Comparable<String>接口&#xff0c;并提供了compareTo方法的实现&#xff0c;因此&#xff0c;字符串对象&#xff08;即String类型的实例&#xff09;可以直接调用compareTo()方法来比较它们。2、String类的compareTo()方法…

LINE社群:为您的跨境出海业务带来更多流量

LINE 社群就是一个大型的公开聊天室&#xff0c;通过LINE社群不需要将对方添加为好友就可以聊天。它主要是以「兴趣」作为区分&#xff0c;所以商家可以在社群中找到不少潜在客户。尤其是面向台湾、日本、泰国这些地区的商家&#xff0c;LINE在这些地区的普及度很高&#xff0c…

云流化技术方案的优势

数字化的时代&#xff0c;许多新兴的技术都逐渐走进人们的视野&#xff0c;云流化作为一种新兴的技术在各个领域发挥着越来越重要的作用&#xff0c;也为我们带来了方便快捷的使用体验&#xff0c;尤其是在虚拟仿真和数字孪生领域&#xff0c;但是有的人可能听到这个词会比较陌…