自然语言处理的工作包括

自然语言处理的工作包括,第1张

自然语言处理的工作包括:

1、句法语义分析:对于给定的句子,进行分词、词性标记、命名实体识别和链接、句法分析、语义角色识别和多义词消歧。

2、信息抽取:从给定文本中抽取重要的信息,比如,时间、地点、人物、事件、原因、结果、数字、日期、货币、专有名词等等。通俗说来,就是要了解谁在什么时候、什么原因、对谁、做了什么事、有什么结果。涉及到实体识别、时间抽取、因果关系抽取等关键技术。

3、文本挖掘(或者文本数据挖掘):包括文本聚类、分类、信息抽取、摘要、情感分析以及对挖掘的信息和知识的可视化、交互式的表达界面。目前主流的技术都是基于统计机器学习的。

4、机器翻译:把输入的源语言文本通过自动翻译获得另外一种语言的文本。根据输入媒介不同,可以细分为文本翻译、语音翻译、手语翻译、图形翻译等。机器翻译从最早的基于规则的方法到二十年前的基于统计的方法,再到今天的基于神经网络(编码-解码)的方法,逐渐形成了一套比较严谨的方法体系。

5、信息检索:对大规模的文档进行索引。可简单对文档中的词汇,赋之以不同的权重来建立索引,也可利用1,2,3的技术来建立更加深层的索引。在查询的时候,对输入的查询表达式比如一个检索词或者一个句子进行分析,然后在索引里面查找匹配的候选文档,再根据一个排序机制把候选文档排序,最后输出排序得分最高的文档。

6、问答系统:对一个自然语言表达的问题,由问答系统给出一个精准的答案。需要对自然语言查询语句进行某种程度的语义分析,包括实体链接、关系识别,形成逻辑表达式,然后到知识库中查找可能的候选答案并通过一个排序机制找出最佳的答案。

7、对话系统:系统通过一系列的对话,跟用户进行聊天、回答、完成某一项任务。涉及到用户意图理解、通用聊天引擎、问答引擎、对话管理等技术。此外,为了体现上下文相关,要具备多轮对话能力。同时,为了体现个性化,要开发用户画像以及基于用户画像的个性化回复。

现在不同的舆情分析系统都会有自己特定的判断方式,也就是不同程序员在设计系统程序上对词语的情感判断是不同的,举个例子:

上图是清博舆情系统根据监测词“南宁”监测到的负面信息,点开信息内容来看,实际并没有负面的新闻

但从题目来看,可以看到“传销”、“警惕”这样的词在该舆情系统里是被定性为负面的

现在大多数舆情系统对于信息的情感判断不会准确到以人的情感标准为准,因为中国词语语义之大之广,程序员在设计系统时也不是能全部涵盖到,但如果像类似这样的信息个人认为还是算准确的

本文主要复述论文["Exploring Pre-trained Language Models for Event Extraction and Generation"] 的内容,以便自我回顾,也希望可以给大噶带来帮助~

这篇文章研究事件抽取的角度是从有标签的训练数据描述的,以往的EE任务依赖于人工标注数据,而不充分的训练数据会影响模型的效果。文章采用了一个预训练语言模型来提取事件触发词,通过角色预测分离方法来处理角色抽取任务中的角色重叠问题,并利用Bert模型的Masked LM来自动生成标签数据。该模型在ACE05数据集上的表现,事件抽取任务上达到了811%的F1值,角色抽取任务上达到了589%的F1值。

ACE05数据集上10%的事件有角色重叠问题,例句 The explosion killed the bomber and three shoppers 中 killed 触发事件 ,元素 the bomber 既可以触发角色 ,又有角色 。之前的工作中会将该元素第一次被预测到的角色类型判定为分类好的角色标签,而没有考虑该角色在多个角色类型中的概率。

监督学习下的事件抽取依赖于大量人工标注的数据集,而ACE数据集当中给出的事件标签数量有限。为了解决这一问题,之前也有工作通过远程监督的方法来生成事件类型标签扩充训练集,但这一方法也是依赖于源数据集的数量与质量。

论文提出了预训练语言模型,利用从语料库中获得的知识来进行事件生成。预训练语言模型包括事件抽取模型与角色抽取模型,角色重叠问题通过计算角色类型与事件类型之间的关系,来重置角色分类的概率值。事件类型标签也是通过这个预训练语言模型实践,将原训练集作为样本,通过参数替换和辅助token重置这两步生成新的事件类型。

事件抽取部分是直接用Bert模型得到词向量表示,最后加个分类器完成触发词的提取。值得说明的是,这里每个token的输入由三部分组成: word embedding + segment + position ,整个模型基于句子级别,这里的 segments 设为0。其他设定则与Bert保持一致。

对于第一阶段提取到的触发词,这里会提取与其相关的成分的所有可能角色。作者总结的元素提取有三个难点:1元素对触发词的依赖性;2元素大多由长名词短语构成;3角色重叠。模型框架设定与前一阶段相似,也是需要注意的一点:特征表示输入的 segment 将触发词所在的span设为1。

分类器则是设为所有角色标签的集合,即为对每个元素判断所有角色类型的概率,并在其分类器上设置一个二元组,用来判定该角色下的token的span,该跨度由 (start, end) 组成。通过对每种可能的角色标签进行计算,改善角色重叠问题。

判定角色的span,也就是如何更准确得到每个token的 (start, end) 域值。首先,对于每一个token ,经softmax分别计算在角色 下的起始点的概率 与结束点的概率 :

论文中处理一个元素有多种角色时应该被分类的角色标签,依据了同一事件中每种角色出现的可能性会大不相同这一事实。因此文中给出了当前角色在一个事件中的重要性判定条件:RF-IEF(这一定义与词频的TF-IDF类似),。由这一指标可以得到角色 在事件类型 中的重要程度 :

生成新的标签是将原有数据集作为样本,通过模型学习到新的之前没有标签的词并加入到训练集中,以起到扩充语料的作用。这里是采用了Bert的Mask预训练方法,通过两个步骤:1句中的元素替换为有相同角色标签的其他元素;2利用Bert的fine-tune替换触发词的辅助token。这里需要注意的几点:

1辅助token是原有样本数据集里未被识别成触发词或角色的token,除了词、数字,还可以包括标点。

2元素替换是将具有相同角色标签的元素进行代换。因此需要预先统计所有的实体以及对应标签构成 {arg : role} 字典集,并且这个字典集不包括有角色重叠的元素。

3这里的数据集扩充并非给没有标签的数据加上标签,而是保持触发词与角色的个数不变,通过辅助元素的替换将触发词与角色所在句子的成分做更改,获得同样有标签的句子,以达到数据集的扩充。

这篇论文比较有趣的一点是他统计了所有角色与事件类型之间的关系RF-IEF,虽然相较于以前的工作,这里会需要把多种不同标签都给计算一遍,但通过人为处理也是一个不错的选择。我认为理解这篇文章的难度在于需要掌握Bert的原理,由于我之前也没好好研究过这个,所以看起来也特别费劲,事实证明Bert是真的很优秀,这里的触发词识别与分类模块就将F1值提高了10个百分点。句子生成这块我觉得也是和Bert的Masked预训练原理结合的很巧妙,大多与Bert有关的我就没有描述了,这里贴一个 Bert模型讲解 ,可以迅速上手~

还是新手,水平有限,若有错误还望不吝赐教~

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/qinggan/824441.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-10
下一篇2023-07-10

发表评论

登录后才能评论

评论列表(0条)

    保存