情绪分析,词性分析和词义消歧

情绪分析

情绪分析侧重于主观陈述——意见、情绪、情绪:很难用几个关键词来表达。
主观性分类 Subjectivity classification 通常是情感分析的第一步:主观与客观文本
opinion是一个五元组quintuple (oj , fjk , soijkl , hi , tl ),其中后面标黑的是需要完成的任务:
• oj:目标对象:命名实体识别
• fjk:oj 的一个特征:信息提取
• soijkl:是观点持有者观点的情感价值 情感确定
• hi:意见持有者:信息(或元数据)提取
• tl:时间:信息(或元数据)提取
在这里插入图片描述

Granularity level 粒度级别

• 文档级别:根据意见持有者表达的总体情绪将文档(例如电影评论)分类为,例如:正面或负面(和中性)。
假设:每个文档都关注一个对象并包含来自一个意见持有者的意见:(oj , fjk , soijkl , hi , tl ),其中 oj = fjk
• 句子级别:同上,但对于(主观)句子,所以这些需要首先要被识别。
• 特征级别:文档和句子可能包含混合意见,此级别的分析无法具体确定人们喜欢/不喜欢什么。
对一个对象的整体正面/负面意见并不意味着意见持有者喜欢/不喜欢它的一切。允许进行各种分析

情绪分析的方法

Lexicon-based 基于词典

分为二元和gradable,后者使用情绪范围而不是二元系统来处理诸如absolutely, utterly, completely, totally, nearly, virtually, essentially,
mainly, almost

• rule-based Binary

Rule-based sentiment classifier (sentence/document-level)
**Rule-based subjectivity classifier:**如果一个句子/文档至少有 n 个(比如 2 个)来自情感词词典的词,那么它是主观的;否则句子/文件是客观的。
Rule-based sentiment classifier:对于主观句子/文档,计算句子/文档中正面和负面的词/短语。如果比正面词/短语更负面,则负面;否则为正(如果相等,则为中性)。
Rule-based sentiment classifier (feature-level)
对于每个特征,计算词典中正面和负面情绪的词/短语。 如果比正面词/短语更负面,则负面;否则为正(如果相等,则为中性)。

• gradable
根据情感内容的水平对文本(文档、句子或特征级别)的一般 valence 进行分类
Valence: affective quality referring to the intrinsic attractiveness or averseness of an event, object, or situation
效价:情感质量,指的是事件、对象或情况的内在吸引力或厌恶性

否定规则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”
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 boring game”
Emotion(boring)=−3; emotional valence of “boring” increased by 1 → Emotion(boring) = −2

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

corpus-based 基于语料库

又名supervised learning,想法主要是监督学习:将带有情感注释的示例语料库与机器学习算法一起使用,为每个句子/文档学习分类器。可以手动构建语料库或者自动。
构建n-gram,进行类似信息检索的语料预处理:移除停用词, stemming/lemmatisation等。

两个步骤:
1 主观性分类器:首先运行二元分类器以识别然后消除目标片段
2 具有剩余片段的情感分类器:学习如何组合和加权不同的属性以进行预测。例如。朴素贝叶斯

典中典:朴素贝叶斯

在这里插入图片描述

先验后验似然估计啥的
搞个例子:

词袋特征
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评估方式就confusion matrix

词义消歧

任务:给定一个词,找出给定上下文中的意义

Synsets(“synonym sets”, effectively senses) are the basic unit of organization in WordNet.同义词集
对于许多应用程序,我们希望消除歧义
• 我们可能只对一种含义感兴趣
• 在网络上搜索chemical plant 化工厂,我们不想搜到香蕉中的化学物质
所以词义消歧任务是给定一个词,找到给定的含义上下文。并且对于一些热门话题,data driven 方法表现良好。
给定上下文中的一个词和潜在词义的固定清单,能够确定这是哪个词义
WSD 任务的两种变体
词汇样本任务 Lexical Sample task
• 预选的小目标词集(线条、植物)
• 以及每个词的意义清单
• 监督机器学习:为每个词训练分类器
全词任务 All-words task
• 一个词中的每个词整个文本
• 每个单词都有含义的词典
• 数据稀疏:无法训练特定单词的分类器

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

词义消歧的问题
• 不知道黄金标准应该有多少fine-grained
• 用fine-grained senses注释语料库是很难/昂贵的
• 分类器必须针对每个词单独训练 很难学习不常用或看不见的单词 需要为每个新词添加新注释

词义消歧的方法

基于字典的方法

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

IDF加权
• 不只是删除功能词
根据每个词在文档中的“混杂性”对每个词进行加权。 降低出现在每个“文档”中的词的权重(注释、示例等)。 这些通常是功能词,但是是更细粒度的度量
•通过逆文档频率IDF对每个重叠词进行加权

监督机器学习

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

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

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

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

用朴素贝叶斯进行词义消歧

P( c)是该意义的先验概率
在标记的训练集中计数 P(w |c) 给定特定意义的单词的条件概率
P(w |c) = count(w , c)/count( c)
我们从像 SemCor 这样的标记语料库中得到这两个 也可以泛化以查看单词以外的其他特征
P(f |c) 给定意义的特征的条件概率

评估词义消歧

最佳评估:
外部(端到端,“基于任务”)评估
• 将 WSD 算法嵌入任务中,看看您是否可以更好地完成任务!
为了方便起见,经常用的内在评估:
• 完全匹配语义准确度 与人工语义标记相同标记的单词的百分比
• 通常使用来自相同标记语料库基线的保留数据进行评估
• 最频繁的语义
• Lesk 算法

词性分析

synonyms 同义词

词性相似度

单词相似度:同义词或可以在上下文中粗略地替换另一个 • 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 之间图中最短路径中的边数
计算两个词的所有意义对之间的相似度并取最大值
这可能产生的问题:可能不是每种语言都有同义词库 ,即使我们有,许多单词和短语也会丢失。因此,也有无需昂贵资源即可计算相似度的方法

一些老生常谈的计算,tdidf,ppmi

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

term frequency (tf): count(t,d)
document frequency (df) 是文档 t 出现的数量
inverse document frequency (idf) = log (N/df) N 是集合中文档的总数

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

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

两种词嵌入方法

tf-idf
long and sparse
◦ 信息检索主力!
◦一个通用的基线模型
◦稀疏向量
◦单词由附近单词的计数(简单函数)表示
Word2vec
short and dense
◦密集向量
◦表示是通过训练分类器来预测一个单词是否可能出现在附近来创建的

skip-gram with negative sampling (SGNS)

方法:预测候选词c 是否是“邻居”

  1. 将目标词t 和相邻的上下文词c 视为正例。
  2. 随机抽样词典中的其他词得到反例
  3. 使用逻辑回归训练分类器来区分这两种情况
  4. 使用学习到的权重作为嵌入

如果两个向量具有高点积,则它们是相似的

从 V 个随机 d 维向量作为初始嵌入开始根据嵌入相似度训练分类器
取一个语料库,将同时出现的词对作为正例◦将不同时出现的词对作为负例
通过缓慢调整所有嵌入来训练分类器区分这些以提高分类器性能
丢弃分类器代码并保留嵌入

最大化从正数据中提取的目标词、上下文词对 (w , c pos ) 的相似度
最小化从负数据中提取的 (w , c neg ) 对的相似度

SGNS 学习两组嵌入
Target embeddings matrix W
Context embedding matrix C
通常只是将它们加在一起,将单词 i 表示为向量 w i + c i

词嵌入窗口大小

Small windows (C= +/- 2) 最近的词是同一分类法中句法相似的词
Large windows (C= +/- 5) 最近的词是同一语义场中的相关词

类比关系
在这里插入图片描述
但是也会reflect cultural bias

自然语言生成

定义为从非语言输入生成文本(或语音)的任务。
输入数据:数字、Resource Description Framework (RDF) 三元组等
输出:是文档、报告、解释、帮助消息和其他类型的文本
需要相关语言知识和领域知识

实现NLG系统的三个步骤
• 文档规划:决定文本的内容和结构
• 微观规划:决定如何用语言表达文本(使用哪些单词、句子等)
• 实现:语法细节

构建NLG系统的知识来源
• 模仿人类编写的文本语料库
最直接
手动检查
如果语料库足够大就使用监督学习
• 询问领域专家
专家不善于解释他们做什么
更擅长批评系统做什么
• 用户实验
原则上非常好,但是会有很多工作

NLG 的第一阶段 Document Planning

• 目标:
⋄ 决定内容:确定要传达的信息
⋄ 决定修辞结构:确定如何组织信息以形成连贯的文本

如何选择内容
理论方法:基于对用户、任务、上下文等的深入了解的深度推理
推断用户需要知道什么,并进行沟通。
基于深入的知识 ⋄ 用户(知识、任务等) ⋄ 上下文、领域、世界
使用 AI 推理引擎 ⋄ 例如将逻辑规则应用于知识库以推断出新信息
但是在实践中不可行 ⋄ 缺乏关于用户的知识 ⋄ 缺乏上下文知识 ⋄ 很难维护知识库,例如新用户、新法规等

实用方法:编写试图在语料库中模仿人类书写文本的模式
• 分析语料库文本(在将它们与数据对齐之后),并手动推断内容和结构规则。
• 通常基于模仿人类书写文本(即语料库)中的模式 ⋄ 根据用户反馈进行修订
• 指定结构和内容

统计方法:使用学习技术去学习来自语料库的内容规则
⋄ 解析语料库,与源数据对齐,使用机器学习算法学习内容选择规则/模式/案例
如果有大型语料库可用则值得考虑

二 Microplannng

应该是句子规划,一是文本规划
聚合
微观规划
• 决定如何用语言最好地表达信息⋄ 生成“漂亮”文本的必要条件
• 模仿语料库在一定程度上起作用,但并不完美 ⋄ 目前更多的是一门艺术而不是一门科学
• 关键是更好地理解语言选择如何影响读者⋄我们的 SumTime 天气预报生成器微计划比人类预报员更好

第三(最后)NLG 阶段 Realisation

从(通常)结构化输入创建线性文本;确保句法正确
注意语言细节
⋄ 句法细节 • 例如协议(狗跑 vs 狗跑)
⋄ 形态学细节 • 例如。复数(dog/dogs vs box/boxes)
⋄ 演示细节 • 例如适合 80 列宽

morphology

在语言学中,形态学是对单词、单词的形成方式以及它们与同一语言中其他单词的关系的研究。
例如,
词根形式的变体,Variations of a root form of a word ,例如前缀、后缀
屈折形态inflectional morphology - 相同的核心含义 same core meaning
⋄ 复数、过去时、最高级,例如 dog、dogs
⋄ 词性不变
• 派生形态 Derivational morphology - 改变含义 change meaning
⋄ 前缀re 表示再做一次:reheat,resit
⋄ 后缀 er 表示一个人:老师,面包师
⋄ 词性改变了

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值