深度学习推进下的自然语言处理综述 | 翻译征文 | 雷锋字幕组
本文为雷锋字幕组“触摸世界前沿科技 | 翻译征文 ”活动收录稿件
引言
自然语言处理这个概念其实是将人与人之间互动所理解的信息传输给计算机。
人类互动交流的过程包含大量信息,如五花八门的话题,各式各样的语音语调,词汇,情绪。这些信息在不同地区及不同文化下的含义往往相差甚远,因此也导致了极大规模数据量的产生。
传统机器学习模型的问题
非结构化的或未知标签的数据集对于计算机来说是非常难处理的,所以这需要花费我们额外的精力并且还得用不同的模型。同时这也要求计算机更加强大的计算力,更多的训练时间,还有通过仔细分析之后人工构建的特征。
例如朴素贝叶斯,决策树,词袋模型以及 N 元模型这样的传统机器学习模型往往会遇到上述的问题但是其模型结果却比较一般。
为什么需要深度学习模型?
目前最先进的深度学习模型正试图克服上述困难。它能获取语言中更深层的信息,在文本中识别出具有价值的信息从而为进一步处理做准备,同时它还会构建不同阶段的特征。
本综述将讨论深度学习模型是怎样在自然语言处理中实现多个基础任务,对用于实现这些目标的数据集, 评价模型的指标进行基准测试并且为不同模型提供比较研究的。
自然语言处理中核心概念的简要解释
1. 特征表示
由于输入的数据可以是字符,单词或者是句子,所以我们需要将这些文本形式的输入转化为计算机可理解的形式。从文本输入中我们可以提取不同的特征,例如句子的长度,词频,停词数量,标点符号,词符,向量等等。
a.热独编码(One-Hot 编码)
将文本中每一个元素(也就是单词)都以二进制向量的形式表示出来。该向量的维度取决于文本中单词的个数。(如下图)
b.连续词袋模型
连续词袋模型(CBOW)是基于语境下邻近单词来预测缺失单词或者词序的。如下图,eating 是缺失单词也是我们的目标单词,模型将通过附近的 context word 来预测结果。
c.单词嵌入
收集到的单词将转换为表征空间中的实数向量。含义更接近的单词会有更高的相关性。该相关性以向量夹角的余弦值表示(cos θ ),如下:
d.字符嵌入
和单词嵌入类似,嵌入向量是基于字符产生的。一个单词里的每一个字符都将以热独编码形式传入一维卷积神经网络从而实现字符级别的嵌入。
2. Seq2Seq 框架
对于 seq2seq 模型,输入和输出是有顺序的。在这个模型中,编码层首先获得输入文本的序列,然后创造出中间层(或者叫隐藏层)输出给解码层,从而最终产生输出序列。例如:语音转文本,文本转文本。
Seq2Seq 框架样例 — 参考来源
自然语言处理任务的前沿深度学习模型
上图是在本文中介绍的自然语言处理任务 — 图片来源
-
自然语言处理的基本任务
a. 词性标注
词性标注就是将分词后的单个单词根据词性种类进行标注 — 比如单词是名词,动词,形容词或者介词等。
进行词性标注的模型有很多,比如长短期记忆网络,双向长短期记忆,带有条件随机场的长短期记忆模型。
除了词性标注,断句(初步解析句子以获得若干词串),命名实体识别(识别出指代人,地点,日期,机构等的单词)像这类处理也可以用上述模型考虑。
元双向长短期记忆模型在词性标注方面正确率高达 97.96%,应该是目前最先进的模型了。
b.句法分析
句法分析是将一串词序列结构化。
有两种句法分析种类:
I) 成分句法分析:对句子的语法结构进行分析。这也被叫做深度解析。因为这种方法在已经标注好的句子基础上添加了一层树结构,其节点是词性标签,而叶是单词。
浅层解析 — 参考来源
浅层解析其实只是对词串进行分组,就像下图。
深度解析 — 参考来源
深度解析具有像树状的结构,如下。
II)依存句法分析:显示句子内单词的结构关系
模型介绍:
循环神经网络语法(RNNG), 可顺序遍历的长短期记忆句法树,模型融合和排序,这些都用于成分句法分析。
自注意解码器是目前句法分析表现最好的模型了,精度能达到 95.1%。
c.语义角色标注
语义角色标注(SRL)是识别并将句子成分分类,从而构建:“谁(主语)”在 ”何时“”何地“以“何种方式”对“谁(宾语)”做了“什么”。简单来说,就是将单词之间的语义联系提取出来。如下图:
模型介绍:
自注意力的循环神经网络,语境化词汇表征模型(又称 ELMo 模型)是在语义角色标注领域用到的一些模型。
增强表征的双向长短期记忆模型是目前在语义角色标注方面表现最好的模型,正确率达到 85.3%。
2.文本分类
文本分类就是将输入的文字进行分类,输入内容可以是单词,句子或者文档。比如判断一篇文章是否为政治相关的文章,或者一则新闻是否是真实的。
模型介绍:
一个简单的卷积神经网络就可以用于句子分类。同时,动态卷积神经网络也可以用于获取文章中句子的语义,其核心就是利用动态抽取全局前 K 个特征值进行最大池化方法的卷积神经网络。循环神经网络或长短期记忆-循环神经网络架构也在这一任务上表现的不错。
通用语言模型微调,其(英文)缩写为 ULMFIT,是目前在文本分类任务表现最好的模型,正确率可达 94.99%。
3.信息提取
随着网络上各种来源的信息爆炸,我们也有机会接触到大量非结构化的数据。提取必要的信息,将结构化的提取结果作为特征输入模型就叫做信息提取。
a.命名实体识别
命名实体识别就是将文本中的指代元素在预先设定好的种类中进行归类,例如人,地点,组织机构,日期,时间等。
模型介绍:
卷积神经网络,循环神经网络,混合双向长短期记忆模型都可以用于命名实体识别。在这方面,另外一个重要的工具就是使用神经网络的命名实体识别。半监督序列建模和谷歌 BERT 模型在命名实体识别方面都比较流行。
语境化字符串嵌入模型(上下文的序列标记)是目前该领域最前沿的模型,正确率在 93.09%。
b.实体关系抽取
实体关系抽取其实就是将配对实体之间的语义关系提取出来。如下图:
模型介绍:
循环神经网络,卷积神经网络都是可以用于语义关系分类任务的模型。
c. 共指解析
共指的意思是当相同的实体在句子中以不同单词形式被提及。例如,实体”车“,“凯美瑞”和“它”都指的是同一个事物。
识别共指的过程就叫做共指解析(也叫指代消解或共指消解)。如下:
模型介绍:
针对这类任务,我们可以利用强化学习。目前最好的模型包含一套注意力机制。
d.事件提取
从文章中提取的一类特定信息我们叫做事件。识别不同事件的过程也使得我们可以识别出触发词并且对这些词进行标记。
模型介绍:
卷积神经网络可以用于事件的提取和识别。图卷积神经网络在事件识别方面表现最好,该模型可以应用于句法从属词,对于连续的词同样适用。
4.情感分析
情感分析的任务是分析文字信息中蕴含的语气态度。因此也可以把它叫做观点挖掘。情感分析的过程涉及到从数据中挖掘上下文信息并从中提取出主观态度。
情感分析主要的是为了分析人们对于某样事物或者问题方面的观点,感情和情绪。
a.文本级情感分析
这一类是基于一整个文档进行判断积极或者消极态度。
模型介绍:
门控循环神经网络可以解析文章的语义结构关系。
b.句子级情感分析
这一类分析是判断一个句子所表达的情感是积极,消极还是中性的。
但是整个分析过程是基于以下假设而成立的:
一个句子只能包含一种来源的一种观点
模型介绍:
递归自动编码器和长短期记忆循环模型目前分别在句子级情感标签预测和推特情感预测方面有所运用。
情绪树库和递归神经张量网络是目前在细粒度情感标记方面是表现最好的模型。
c.个体级情感分析(也可以叫方面级情感分析)
不同于文本级和句子级的情感分析,个体级直接分析对于目标个体的情感。例如:对于一件产品的情感。这项任务要比其他两项要更具有挑战性。
个体级别的情感分析包含两部分:第一部分是分析识别出对于目标个体的情感(中性,积极或者消极)。第二部分是个体提取,也就是识别出情感态度针对的主体。
打个比方,“这辆车太旧了。我们必须要修理一下然后卖了!”在这句话中,“车”就是目标主体,而针对它的情感是消极负面的。
模型介绍:
基于注意力机制的长短期记忆模型可以将情感和作用目标联系起来。
BERT 是目前在实现该任务非常推荐的模型。
5.机器翻译
通过计算机模型将一种语言的文本或语音转换为另一种语言就叫做机器翻译。
a.神经机器翻译
传统的机器翻译在 1954 年被首次引进,但受制于词汇量有限。
双语评估替补 (BLEU) 得分是最新用于机器翻译的评价指标。在此之前,评估工作都是由人工完成。神经机器翻译和传统机器翻译不同之处在于前一种并没有对大量预处理和单词对齐做出很高要求。其重点在于网络结构。
图为机器翻译中单词对应例子 — 图片来源
端到端循环神经网络在机器翻译领域工作如下:
句子分词之后的词序将输入进模型中。一旦轮到句子末尾,模型就会产生输出序列。输出序列是循环形式。序列长度并没有要求。EOS 句子末端标志着一个句子的结束。模型将会自动学习到输入序列越长,输出序列也会一样长。
通过长短期记忆模型学习的序列转换 (Seq2Seq) — 图片来源
模型介绍:
卷积 Seq2Seq 模型,仅采用注意力机制的模型,加权转换器,自注意力,深度学习翻译器都可以在英-德数据集上做机器翻译。
回译模型是机器翻译最先进的模型了,正确率为 35%。
6.问答
信息检索的具体形式就是问答系统。问答系统从数据集中检索产生的结果可以是文档,一段文本或图像等。其它像阅读理解,对话系统功能和问答系统类似。
a.基于规则的问答系统
IBM 公司的问答系统包含以下 4 项任务:
问题/回答分类,拓展查询/信息检索,名称实体生成,选择回答。早期的问答系统不得不去寻找已预读入的问题,通过字典进行分词,然后进行词性标注,内容分析相关性,最终找到回答问题最相关的答案。
动态记忆网络(DMN) —DMN 也能用于问答系统。该模型包含 4 个组成成分:输入模块,问题模块,情节记忆模块和回答模块。
四种模块之间的交互 — 图片来源
输入模块将情景文本转换为向量。问题模块将提出的问题解码转换为向量。情节记忆模块利用注意力机制获取输入模块的特定部分。在迭代循环过程中,情节记忆模块创造出包含问题和之前记忆的记忆向量。回答模块获取最终记忆向量用以回答。动态协同注意力网络(DCN)也可以用于问答系统。下图为动态记忆系统问答示例 — 图片来源
7.文本概括
文本概括就是将若干段文本浓缩为几句话。
a.提取式概括
这类概括就是模型只将文本中重要的句子提取出来。
缺点:输出的句子和原文本一模一样而且通常会比较长。
优点:揭示作者想要表达的内容。
提取式概括图例 — 图片来源
b.摘要式概括
模型会自主生成概括句子。这类概括会将句子中不必要的信息剔除。
缺点:模型难以训练
优点:概括内容较短
模型介绍:
等级评定技术可以用于提取式概括中最重要句子的提取。通过文本编码器将句子编码,在分类之后进行排名对该模型有提升作用。
注意力机制的 seq2seq 模型可以用于给定文章简短概括下的标题生成(也就是摘要式概括)。因为这是一项更艰难的任务,因此我们需要像基于图的注意力模型等更高级的模型和转换器。
8.对话系统
对话系统最知名的应用就是智能客服了。智能客服也被叫做聊天机器人。
a. 任务型系统
任务型系统包含语言理解,对话管理器和语言生成。
语言理解部分首先从对话用户的语境中获得句法和语义特征。对话管理在获得语言理解输出的信息之后,会做出和真实语境最接近的反应。该反应会传给语言生成部分,从而做出实际的语言反应。
b.无任务型系统
无任务型系统会和人类自然交流。
有两种形式:检索型交流和生成型交流
检索型拥有信息源来做出正确的反应,但是这些反应只限于某一些领域。
生成型即使只有一个信息源也能做出更加确切的反应。但在这种情况下,语法和其它类型的错误是可能存在的。
对话系统图例 — 图片来源
模型介绍:
对于检索型对话系统,可以应用单轮回复匹配或者多轮回复匹配的信息检索技术。单轮回复匹配只选择一个合适的反应,而多轮回复匹配将当前输入和之前的输出纳入考虑,做出正确的回应。带有注意力机制的长短期记忆模型和序列匹配模型也是可以用的。
而在生成型对话系统中, 通过大量数据训练后的 seq2seq 模型可以应用于此。
数据集
上述的深度学习模型和用于自然语言处理任务的基准测试数据集在下图给出:
参考资料:
原文链接 感谢雷锋字幕组提供选题
本文为雷锋字幕组“触摸世界前沿科技 | 翻译征文 ”活动收录稿件