所有文章 > 正文

复旦大学黄萱菁教授:自然语言处理中的表示学习

作者: AI TIME 论道

时间: 2020-07-30 10:27

由浅入深,从基础理论知识到复杂的研究模型,系统地为大家讲解自然语言处理中的表示学习。

比尔·盖茨曾说:“语言理解是人工智能皇冠上的明珠。”在语音交互的AI时代,自然语言处理(NLP)发挥着不可替代的作用。深度学习的出现与发展,使NLP技术取得了重大的突破。语言表示学习作为深度学习的重点之一,在自然语言处理中都有哪些研究进展和体会?

6月21日,在北京智源大会“AI科技女性”专题论坛上,复旦大学计算机学院教授,AI 2000上榜学者黄萱菁做了一场题为《自然语言处理中的表示学习》的主题演讲,让我们一起来从报告中寻找问题的答案!

一、相关概念简介

一)语言表示

语言表示可从多个角度加以定义。从认知科学角度,语言表示是语言在人脑中的表现形式,关系到人类如何理解和产生语言。从人工智能角度,语言表示是语言的形式化或数学描述,以便在计算机中表示语言,并能让计算机程序进行自动处理。一个好的文本表示,首先要具备很强的表示能力,比如模型具有一定的深度。其次要使后续的学习任务变得简单,能够带来下游任务性能的提升。最后应具有一般性,是任务或领域独立的。

早期的语言表示方法主要采用符号化的离散表示。词表示为One-Hot向量(一维为1 、其余维为0的向量) ,句子或篇章通过词袋模型、TF-IDF 模型、N元模型等方法进行转换。 

离散表示的缺点在于词与词之间没有距离的概念,比如“电脑”和“计算机”被看成是两个不同的词,显然这是不合理的。当前主流的语言表示采用更加精确的数学表示,通常通过基于深度学习的表示模型获得。

二)深度学习

图1 传统的机器学习VS深度学习

深度学习是机器学习中的一个子领域,表示学习和深度学习的兴起密切相关。传统的机器学习方法通常需要人工设计表示以及特征提取方法,而深度学习方法则有所不同,它不需要特征提取,甚至可以直接进行表示学习。

三)自然语言处理中的深度学习

图2 自然语言处理中的深度学习

深度学习使得自然语言处理众多任务取得了重大进展。各种神经网络如卷积神经网络、循环神经网络、对抗生成神经网络等,一方面可成功运用于分词、词性标注、实体识别 、成分分析、句法分析、语义表示、语义匹配、情感倾向分析等基本任务,另一方面可极大提升问题问答、对话系统、机器翻译、阅读理解等应用系统的性能。

二、基于神经网络的语言表示学习

图3 神经语言表示学习

基于神经网络的语言表示学习,指将不同粒度文本中语言的潜在语法或者语义特征分布式地存储在一组神经元当中,用稠密、低维、连续的向量来表示。

不同粒度包括词语、短语、句子和句对等,短语在语义层面类似于词语,结构上类似于句子。不同粒度的语言表示有不同的用途,比如词语和短语表示主要用于预训练,服务于下游任务,而句子和句对表示可直接应用于文本分类、匹配、阅读理解、语篇分析等具体任务。

一)词语的表示学习

图4 词嵌入

词语的表示学习即词嵌入,把词语从符号空间映射到向量空间。2013年之前只有少量词嵌入研究工作,比较著名的有Bengio和Hinton提出的两个模型,2013年后开始涌现出大量新工作,比如众所周知的glove和word2vec,这些工作主要得到上下文无关的向量。2016年后研究出现短暂停滞,到2018年才重新盛行,不同于之前学习相对比较独立的词向量,大量新工作把工作重心转移到了带有上下文的语境化词向量上,最经典的工作是Elmo和Bert。

基于预测的词表示学习-word2vec

图5 word2vec模型

上下文无关的word2vec,是一种高效的无监督词表示模型。主要涉及两个模型,通过上下文信息的平均预测目标词的CBOW模型(连续词袋模型,图5左)和用目标词预测上下文的Skip-gram模型(跳词模型,图5右),二者都可以学习高质量的词表示。一般而言无监督得到的词向量,会给下游任务的学习一个非常好的初始值,加快模型的收敛。

基于计数的词表示学习- GloVe

图6 GloVe模型

GloVe模型,直接建模词对的共现频率和对应词向量内积之间的关系,使得它们尽可能接近,目标是损失函数最小化。word2vec和GloVe这类词向量的合理性可通过类比实验认证,比如男人和女人之间的差距,相当于国王和女王之间的差距。

二)短语和句子的表示学习

短语和句子的表示学习方法是类似的,与结构预测密切相关。几种常见的语义组合函数都可将词语序列表示转换为短语和句子表示,包括递归神经网络、卷积神经网络、循环神经网络、Transformer、图神经网络等,也可组合使用。

卷积神经网络对句子建模

图7 CNN模型(左)及其改进DCNN模型(右)

CNN模型是卷积神经网络对句子进行建模的代表性工作。左图采用双通道的CNN得到句子表示,进行文本分类。右图可以通过动态池化机制解决句子变长的问题。

循环神经网络对句子建模

图8 门循环单元(GRU)模型

循环神经网络用于对句子进行序列建模,早期工作如平凡循环神经网(Vanilla RNN),后期为解决循环神经网络技术实践上存在的梯度消失或梯度弥散问题先后提出了长短时记忆单元(Long Short-term Memory,LSTM)和门循环单元(Gated Recurrent Unit,GRU)等。

基于注意力的序列-序列模型:文摘和机器翻译

图9 基于注意力的序列-序列模型

循环神经网络可以方便地扩充到编码器-解码器架构,在解码过程中有重点地选取编码的信息。编码器用于理解,没有输出,解码器用于生成,不再接受新的输入。如果在解码时引入注意力机制,可以进一步提升模型的性能。

接着,黄教授介绍了自己及其团队在这方面的工作成果:基于门机制的递归神经网络、递归卷积神经网络和自适应的Tree-RNN。

建模复杂的稠密特征组合---基于门机制的递归神经网络

图10 基于门机制的递归神经网络

句子建模方面,针对自然语言处理中特征建模方法比较单一问题,提出了基于门机制的递归神经网络。利用树结构神经网络获得句子的树结构,对树结构递归神经网络进行改进,加入门机制,目的是希望对上下文窗口中相邻字词之间的组合关系进行更为精细的建模。从字间关系构建词间关系,从而构建句子的树结构。图10是如何模拟上下文汉字复杂组合的具体方法。

以句子“下雨天地面积水”为例,当前的目标字是“地”,需要判断“地”是“天地”的词尾还是“地面”的词首。实际上这个句子非常复杂,因为每两个连续的汉字都可以组合成一个词语。为在给定上下文中预测目标词“地”的标签类型,从网络的底层到顶层,递归地进行特征组合。其中黑色的节点表示活跃的神经元,空心的节点表示抑制的神经元,边表示消息传递,实线边表示接受消息上传,而虚线边表示拒绝。通过该组合过程,可获得句子的树结构(图10最右侧)。除此之外,还可以把所有的组合特征合并到网络中间,估计树结构的得分。通过基于门机制的递归神经网络模型可以同时得到句子的表示和中间结果,可用于分词、依存句法分析、句子建模等各种任务。

递归卷积神经网络

图11 递归卷积神经网络

另一改进是对二叉树的改进。句子的表示可认为是句子中所有词表示的组合,递归神经网络利用成分句法树,把词按照成分结构不断地进行递归,最后得到整个句子的表示。但递归神经网络只能处理二叉树的拓扑结构,不能有效地拓展到依存句法树。黄教授等结合递归神经网络和卷积神经网络,提出了一种可以处理多叉树的递归卷积神经网络模型。通过引入卷积层和池化层,把递归神经网络拓展到依存句法树上,如图11(右)所示,模型可以同时捕捉不定冠词和名词、形容词和名词的依存关系,有效地改善了中英文依存句法分析的性能。

自适应的Tree-RNN

图12 自适应的Tree-RNN

自然语言句子中并非所有的短语都是合成性的,部分短语的语义无法由组成成分合成,比如“go bananas”的意思是发疯,“马马虎虎”、“九牛二虎”和马、老虎、牛都无关。为了提升语义组合的性能,采用了树结构LSTM。基于句法树递归地对句子进行建模,引入参数化的控制器,能够自适应地决定非叶节点的合成方式是组合性还是非组合性。

自适应的Tree-RNN模型包括三个部分:合成性非叶节点、非合成性的非叶节点和控制器。可以同时建模合成型和非合成型短语,通过树结构生成短语,根节点代表句子语义。对于合成性非叶节点相应短语的表示,像“His performance”是由子成分合成得到的。对于非合成性非叶节点相应短语的表示,则是作为基本的语言单位学习得到,如“at fever pitch”,通过语义开关控制器控制合成的方式,最后得到句子的表示。三)句对的表示学习许多NLP任务都可以建模为句对编码,比如句子重述、蕴含分析、语篇分析等。句对编码的目标是给定两个句子,建模其语义关系并学习其表征。黄萱菁教授及其团队在句对表示学习方面的工作主要围绕语篇关系表示与检测及其改进。

语篇关系表示与检测

图13 语篇关系表示与检测

语篇关系表示与检测的研究动机有两点:一是单词向量表示之差可以表示单词间的关系,二是句子之间的关系如何表示?以两个句子为例,一个发生在“Early in the morning”,另外一个发生在“Midmorning”,二者是承接关系。用词向量差值可以表现句间关系,把两个句子的所有词两两做词向量的差值可以得到位移矩阵,通过位移矩阵可以预测句间关系。然后引入Fisher Vector方法解决矩阵大小随句子长度变化问题,把矩阵转变为定长向量,进行语篇关系的分类。

利用GRN进行语篇关系检测

图14 利用GRN进行语篇关系检测

利用GRN进行语篇关系检测有两个重要改进点:一是使用句子的隐状态, 而非直接使用词向量,二是使用GRN(gated relevance network) 建模隐状态之间的交互关系。为了度量隐状态之间的相关性,使用门相关性网络,它可以组合许多匹配函数。

近期研究趋势

句对表示学习的近期研究趋势,模型层面包括Transformer和图神经网络,学习层面有迁移学习、元学习以及多任务学习等,报告主要介绍了Transformer和迁移学习。

Transformer

图15 Transformer

以Transformer为代表的自注意力机制取代了神经网络中的经典合成函数,比如卷积神经网络、循环神经网络,在各项任务上取得了目前最好的结果。Transformer的成功可归因于其非局部结构偏置,句中任何一对词之间的依存关系都可以被建模。它通过摒弃复杂的语义组合方式,提供了更有效的计算,为Bert等模型打下了基础。同时在大数据集上具备良好的可扩展性,很多预训练语言模型都是在Transformer基础上构建的。

迁移学习

迁移学习具体指把为任务A开发的模型作为初始点,重新使用在为任务B开发模型的过程中。它包括两个阶段,第一阶段是学习可迁移的知识,第二阶段是把知识迁移到新的任务。迁移的知识从何而来?主要有监督学习和非监督学习两种方式,先通过有监督/无监督方式学习可迁移知识的表示,再把知识迁移给新的任务。

图16 有监督迁移学习

图16是有监督方式迁移学习的处理机制,m和n表示不同的任务,中间的LSTM可以学到任务无关的表示,两个灰色LSTM是任务独有的表示。学习的目的是学习模型的参数,可在新的任务上(不是m也不是n),对任务参数进行微调。

图17 无监督迁移学习

图17是无监督方式迁移学习的处理机制,与语言表示相关性更加密切。用ELMo进行无监督训练,当面向有监督的NLP任务时,可把ELMo的向量直接当作特征拼接到具体任务模型的词向量的输入或最高层表示上。更强的模型比如GPT或BERT,在具体NLP任务进行有监督微调时,就不再需要对任务构建新的模型结构,只需要简单地在Transformer的最后接上一个SoftMax分类器作为任务输出即可,再对整个模型进行微调。

四)预训练语言模型

图18 预训练语言模型

ELMo的目是找到一种语境化词向量表示方法,不同语境下,每个词都能获得更准确的表示向量。模型构建时,ELMo采用两层双向LSTM,采用非监督的数据集训练出来两个单向的语言模型。GPT运用的模型是Transformer,通过Transformer decoder训练得到单向的语言模型,mask掉了当前词后面的词。与GPT单向语言模型不同,BERT使用了双向的语言模型。为了让预测时待预测词看不到自己,需要把待预测词mask掉。据此BERT提出了掩码语言模型(Masked Language Model),随机mask掉输入中少量词语,再用双向语言模型预测这些词。BERT还为预训练语言模型引入了新的目标——预测下一个句子,以学习句子和句子之间的关系。

各种预训练模型改进

图19 不同预训练语言模型的对比

预训练模型的发展以ELMo为正式开始,以BERT为发展高潮,此后越来越受到高校和企业的关注,各种模型不停涌现,模型训练数据的规模、模型的性能表现也都不断创造新高。

图20 预训练模型分类

图20是黄教授等在一篇期刊文章中给出的预训练模型分类体系,预训练语言模型按照是否语境化可以分为静态和动态,按照模型架构可以分为LSTM、Transformer Decoder、Transformer Encoder以及完整的Transformer,按照任务类型可以分为有监督和无监督/自监督的。

三、语言表示的偏见

图21 词嵌入中的女性形象

图21来自NIPS 2016的一篇文章,发现从谷歌新闻等比较正式的文体中训练出的词向量带有非常强烈、令人不安的性别刻板印象。从几何角度,性别偏见可被词向量所在向量空间的方向所表示。在语料中学习发现。男性和女性的差异,相当于程序员和家政工人之间差异。一方面有一些词如漂亮、舞蹈、裙子等与女性相关,聪明、天赋等词则和男性相关,而这些词语本身并不应该带有性别含义,应是性别中立的。另一方面还有一些词是定义中带有性别的,比如爷爷奶奶、男朋友、女朋友等,我们希望能把性别中立的词和与性别相关的词进行有效区分。

词嵌入中的性别偏差可能会带来很糟糕的社会后果,以求职网站为例,用计算机寻找程序员。假设一个程序员叫John,另一个叫Mary,作为程序员他们的专业水平是一样的,但John的名字更加男性,算法会认为他更接近要求,导致在与Mary的竞争中带有优势。

图22 NLP中的性别刻板印象

性别刻板现象表明在现有的人工智能算法当中,并不拥有性别平等。究其原因,首先人工智能相关的从业人员男性远大于女性,这就意味着人工智能系统在研究设计和开发过程中,女性和男性并不是同等发声。除了社会学角度,如果算法设计者的先验信息中存在刻板印象,把某些特性功能或期待值和性别联系在一起,把性别作为判断依据,做出有性别倾向性的判断,也是性别不平等的体现。

我们希望人工智能是性别平等的,不利用性别信息作为特征,不主动利用性别信息进行用户画像,不预先为担任某种职责的人工智能设定性别,不被动地使用输入信息中隐藏的性别暗示。幸运的是近年来人工智能多元化在逐渐增加,比如涉及性别歧视的著名会议NIPS改为了NeurIPS,种族和地域变得多样化等。

图23 消除词嵌入中的偏见

上述NIPS 2016的文章,除介绍性别偏见现象,还开发了一个消除词嵌入中性别偏见的算法,具体思路见图23。算法第一步确定性别方向,找出表示男人/女人的词语进行相减求平均值得到性别的方向,与其正交的则为性别无关方向。第二步中立化,像babysitter、doctor本应性别中立的词,实际编码在性别上依然存在偏差,为了消除偏差,将它们投影到性别中立化的轴上,使得在水平方向的投影距离为零。第三步均衡化,类似grandmother和grandfather的性别对应是由于定义而不是刻板印象。性别中立和性别相关的词应该有相同的距离,但即使经过修正,babysitter还是更接近grandmother而不是grandfather,均衡化过程就是通过线性代数操作把向量移到对称的两个点上以解决此问题。

图24 迁移学习减轻性别偏差

图24来源于ACL 2020年的一篇文章,该文章中作者提出使用迁移学习来解决机器翻译中的性别偏差问题。“医生告诉护士她很难”,但由于因为预训练语言中doctor大多指男性,最后把“她”指代成了护士,造成翻译错误。文章的出发点是用少量的数据去除偏差,因为人工标注大量无偏差数据是很困难的,所以采用了迁移学习方法。将有偏差原始数据集当成是一个领域,通过模板的方法构造了一个无偏、小规模的数据集。开始在标准数据集上进行训练,得到一个带有性别偏差的神经语言模型,然后通过迁移学习进行微调和领域自适应,最终得到没有偏差的神经语言模型。

四、结语

在NLP中,表示学习至关重要。黄萱菁教授演讲由浅入深,从基础理论知识到复杂的研究模型,系统地为大家讲解自然语言处理中的表示学习。理论内容充实、丰富,最后呼应主题,阐述性别在语言表示中的偏见及解决办法。模型需要消除偏见,现实更需要消除偏见。希望终有一天科研可以不分性别,研究可以不论地域,只遵循知识本身!AI Time欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,顶级的平台需要顶级的你,请将简历等信息发至yun.he@aminer.cn!

微信联系:AITIME_HY

往期回顾:

14篇Nature系列合集:DNA元件百科全书最新成果出炉,近6000项实验、120万个功能性元件,挖掘基因开关的奥秘

学历低、压力大、抑郁、肥胖……395 项研究指出老年痴呆 10 大危险因素,你占了几个?

中国团队发布“癌王”筛查新成果:双组学联合模型可高效鉴别早期胰腺癌

[关于转载]:本文为“AMiner”官网文章。转载本文请联系原作者获取授权,转载仅限全文转载并保留文章标题及内容,不得删改、添加内容绕开原创保护,且文章开头必须注明:转自“AMiner”官网。谢谢您的合作。

二维码 扫码微信阅读
推荐阅读 更多