姜松浩作者中国科学院计算技术研究所硕士生学校机器学习、数据挖掘研究方向

AAAI 2019 | 基于不同颗粒度语言联合训练的表示学习

语言的表示是自然语言处理中的基础问题也是重要问题,常见的分布式词向量 Word2Vector、Glove 等方法令很多 NLP 研究者和从业人员都受用无穷。然而现有的方法同样存在这诸多问题,本文通过不同颗粒度的有监督语言联合训练方式,实现端到端的语言表示来完成自然语言处理中的常见任务,这种方式具有更强的鲁棒性。

本文是剑桥大学和哥本哈根大学发表于 AAAI 2019 的工作,该方法采用分层次、分阶段获取重要特征的结构来实现不同颗粒度的语言表示学习的方法,并通过规定一些合理有效的目标函数来实现有监督联合训练的目的。

模型介绍

论文作者将其发表于 NAACL 2018 的论文模型 Zero-shot sequence labeling: Transferring knowledge from sentences to tokens [1] 进行改进的最新研究成果。

模型结构

该模型如下所示,其将作者发表于 NAACL 2018 的模型 [1]由单层结构改为多层结构,从模型结构来看与文本分类模型HAN [2] 有一定的相似度,但在细节上却有不同的变化。

从整体看可以将模型为两个部分。首先,将词汇转化为字符级利用双向 LSTM 模型得到相应的词向量特征 m,然后将特征 m 与预训练(pre-train)词向量 w 进行矩阵的拼接处理得到更具鲁棒性和适应性的词向量 x;然后再将上一阶段得到的词向量 x 同样再次利用双向 LSTM 获得向量 h;最后再利用 self-attention 的方式获得词汇权重

其方法上与 HAN [2] 如出一辙,该方法目的在于为针对不同任务具有不同重要性的单位词汇分配不同权重,再通过不同权重的词向量组合得到相应的句向量表示结果 s。 

该文章的亮点在于提出了几种有特点的目标函数损失函数)来实现有监督联合训练方式。其中一个就是如下所示的函数,被作者定义为语句级别的目的函数。

该目的函数采用平方损失函数,其中上标 y 表示句向量 s 的带 Sigmoid 激活函数的全连接计算预测结果,而 y 表示为有标注的实际结果。作者选用 Sigmoid 激活函数的目的是进行语句二分类,当然对于不同的多分类任务,也可以将激活函数拓展为其他。

有监督的注意力机制

与以往的端到端联合训练的注意力机制不同,作者为得到更好的词汇注意力权重,提出了有监督的注意力方式,该方式利用词汇标注,其函数表示如下所示。

该函数同样采用平方损失,其中上标 a 表示为模型预测的注意力权重,而 a 表示为标注的注意力权重即 1 或者 0。作者将其定义为词汇级别的损失函数

语言模型目标函数

作者为实现模型对自然语言处理的其他任务的特征表示的鲁棒性,加入了语言模型的目的函数,其函数如下所示。

目标函数中,定义了 LSTM 中第 i 个词汇的前向向量 q 对于第 i+1 词的条件概率的 log 损失,以及第 i 个词汇的前向向量 q 对于第 i-1 词的条件概率的 log 损失。对于词汇的条件概率计算过程如下公式所示。

字符级语言模型目标函数

字符级的语言模型目标函数如下所示,该函数与上述语言模型目标函数的总体目的是一致的,但在词汇预测的条件概率计算方式上略有不同。

字符级语言模型,利用第 i-1 词中的字符基于 LSTM 得到的前向与后向向量,以及第 i+1 词中的字符前向后向向量构成的预测向量 g 来预测第 i 个词汇。其计算过程如下所示。

控制注意力权重表示范围的目标函数

目标函数目的在于实现注意力权重的合理分配,该方法的提出基于两种假设: 

1. 一句话中只有部分词汇(token)具有积极作用;

2. 对于有积极作用的词汇而言,是在整句的全局作用中具有全局作用。

因此基于上述两种假设,作者提出了控制注意力权重表示范围的目标函数,函数如下所示。

该函数的目的是将无效词汇的注意力权重逐渐趋近于 0,而重要词汇的权重则趋近于 1。

模型联合训练的目标函数定义

为实现不同颗粒度语言特征的端到端表示的联合训练,将目标函数定义如下。

该函数定义了参数,其作用是对于自然语言处理中的不同任务分配不同的目标权重来更好地完成任务。例如将语句的损失函数参数定义为 1 其他为 0 时可用于语句分类。

模型实验效果

作者通过对文本分类和情感分析等经典数据集的实验结果测试得出结论,该文中提出的联合方法效果最佳。实验结果如下所示,其中 BiLSTM-LAST [3-4] 是常见的双向 LSTM 的方法,BiLSTM-ATTN 即为 HAN [2]。

此外由于词汇标注的人工成本极高,为达到良好效果,文章中实验发现仅需 20% 的词汇标注就能远超没有标注过的样本训练结果。同时发现当超过 20% 样本的词汇标注时,其变化与 20% 左右的样本词汇标注效果差距并不明显。

论文评价

这篇论文的模型结构无大创新,但其在定义目标函数上有极强的创造性。本文作者对模型中的每个细节理解到位,并且为了模型发挥到极致,将其与有监督的目标函数相结合,这种做法值得学习。

然而文中提到的部分目标函数与人工标注相关联,尽管作者通过实验认为 20% 的标注就能达到很好的效果,但这同样增加了人工成本。

参考文献

[1] Rei, M., and Søgaard, A. 2018. Zero-shot sequence labeling: Transferring knowledge from sentences to tokens. NAACL-HLT. 

[2] Yang, Z.; Yang, D.; Dyer, C.; He, X.; Smola, A.; and Hovy, E. 2016. Hierarchical Attention Networks for Document Classification. AACL:HLT. 

[3] Tang, D.; Qin, B.; and Liu, T. 2015. Document modeling with gated recurrent neural network for sentiment classification. EMNLP. 

[4] Neelakantan, A.; Le, Q. V.; and Sutskever, I. 2016. Neural programmer: Inducing latent programs with gradient descent. ICLR.


工程目标函数自然语言处理目标检测
1
相关数据
激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

推荐文章
暂无评论
暂无评论~