热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

词义分析和词义消歧

原标题:词义分析和词义消歧Synsets(“synonymsets”,effectivelysenses)arethebasicunitoforganizatio

原标题:词义分析和词义消歧

Synsets(“synonym sets”, effectively senses) are the basic unit of organization in WordNet.同义词集
对于许多应用程序,我们希望消除歧义
• 我们可能只对一种含义感兴趣
• 在网络上搜索chemical plant 化工厂,我们不想搜到香蕉中的化学物质
所以词义消歧任务是给定一个词,找到给定的含义上下文。并且对于一些热门话题,data driven 方法表现良好。
给定上下文中的一个词和潜在词义的固定清单,能够确定这是哪个词义

WSD 任务的两种变体
词汇样本任务 Lexical Sample task
• 预选的小目标词集(线条、植物)
• 以及每个词的意义清单
• 监督机器学习:为每个词训练分类器
全词任务 All-words task
• 一个词中的每个词整个文本
•文章来源地址19064.html 每个单词都有含义的词典
• 数据稀疏:无法训练特定单词的分类器

评估方法:
外部:作为信息检索、问答或机器翻译系统的一部分进行测试
内在:根据黄金标准感官,评估分类准确性或精确度/召回率
Baseline:选择出现次数最频繁的sense


语义分析的方法



Lexicon-based 基于词典

分为二元和gradable,后者使用情绪范围而不是二元系统来处理诸如absolutely, utterly, completely, totally, nearly, virtually, essentially,
mainly, almost
否定规则Negation rule:
• E.g: “I am not good today”.
Emotion(good)= +3; “not” is detected in neighbourhood (of 5 words around); so emotional valence of “good” is decreased by 1 and sign is
inverted → Emotion(good) = −2

强化规则Intensifier rule:
• 需要一系列强化词:“绝对”、“非常”、“极度”等。
• 每个强化词都有一个权重,例如权重(非常)=1; Weight(extremely)=2
• 权重被加到积极的术语上
• 权重被从消极的术语中减去
• E.g.: “I am feeling very good”.
Emotion(good)= +3; emotional valence of “good” increased by 1 → Emotion(good) = +4
• E.g. “This was an extremely boring game”文章来源地址19064.html
Emotion(boring)=−3; emotional valence of “boring” decreased by −2 → Emotion(boring) = −5

减量规则Diminisher rule:
• 需要一个列表:“有点”、“勉强”、“很少”等。
• 每个强化词都有一个权重
• 从正面词中减去权重
• 将权重加到否定词上
• E.g.: “I am somewhat good”.
Emotion(good)= +3; emotional valence of “good” decreased by 1 → Emotion(good) = +2
• E.g. “This was a slightly boriwww.yii666.comng game”
Emotion(boring)=−3; emotional valence of “boring” increased by 1 → Emotion(boring) = −2

优点:
• 有效处理不同的文本:论坛、博客等。
• 独立于语言——只要有最新的情感词词典可用
• 不需要训练数据
• 可以使用额外的词典进行扩展,例如对于流行的新情感词/符号,尤其是。在社交媒体上
缺点:
• 需要情感词的词典,应该相当全面,涵盖生词、缩写词(LOL、m8 等)、拼写错误的词等。


corpus-based 基于语料库

构建n-gram,类似信息检索的语料预处理
两个步骤:
1 主观性分类器:首先运行二元分类器以识别然后消除目标片段
2 具有剩余片段的情感分类器:学习如何组合和加权不同的属性以进行预测。例如。朴素贝叶斯


词义消歧的方法



基于字典的方法

Lesk’s Algorithm (1986),使用字典条目执行消歧
1.提取上下文词(仅内容词)
2.与不同含义的字典定义/示例进行比较
3 .选择最匹配的含义


监督机器学习

一个训练语料库,在语境中标记了它们的意义,用于训练可以在新文本中标记单词的分类器
所以需要:
• 标记集(意义清单)
• 训练语料库
• 从训练语料库中提取的一组特征
• 分类www.yii666.com

两种特征向量:
Collocational features
• 关于目标词附近特定位置的词的搭配特征
• 通常仅限于单词身份和词性
bag-of-words features
• 关于出现在窗口中任何地方的词的词袋特征(无论位置如何)
• 通常仅限于频率计数

输入:
• 文本窗口 d 中的单词 w(我们称之为文档)
• 一组固定的类 C = {c1, c2, …, cJ }
• 再次训练一组 m 个手工标记的文本窗口称为文档 (d1, c1), …, (dm, cm)

输出:
• 学习分类器 : d → c


词性相似度

单词相似度:同义词或可以在上下文中粗略地替换另一个 • car 类似于自行车
单词相关性:单词之间的一组更大的关系 • car 与 gasoline 相关

两种求词性相似度的算法
基于词库:使用本体,例如 WordNet
分布方法:通过查看词在大型语料库中的分布情况


计算词性相似度的方法:

Thesaurus-based: using an ontology such as WordNet
Thesaurus-based method: Path length
Distributional methods: by looking at how words are distributed in a large corpus


基于词库的方法

WordNet 具有图形结构。该图中两个同义词集之间的路径长度可以用作它们之间相似性的度量。通常路径来自上位关系或 A is-a B 关系
pathlen(c1,c2) = 节点 c1 和 c2 之间图中最短路径中的边数
计算两个词的所有意义对之间的相似度并取最大值
这可能产生的问题:可能不是每种语言都有同义词库 ,即使我们有,许多单词和短语也会丢失。因此,也有无需昂贵资源即可计算相似度的方法


一些老生常谈的计算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
term frequency (tf): count(t,d)
document frequency (df文章来源站点https://www.yii666.com/) 是文档 t 出现的数量
inverse document frequency (idf) = log (N/df) N 是集合中文档的总数
在这里插入图片描述
在这里插入图片描述

PMI 的范围从 −∞ 到 +∞ ,但负值是有问题的, 因此我们只需将负 PMI 值替换为 0 。也就是ppmi

来源于:词义分析和词义消歧


推荐阅读
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
author-avatar
php辉子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有