选自arXiv
作者:Vineet John
机器之心编译
参与:吴攀、李亚洲、蒋思源
文本特征提取是自然语言处理的核心问题之一,近日,加拿大滑铁卢大学的 Vineet John 在 arXiv 发布了一篇关于用于文本特征提取的神经网络技术的综述论文。机器之心对该论文进行了编译介绍,论文原文可点击文末「阅读原文」查阅。
https://arxiv.org/abs/1704.08531
本论文的目标是促进有关使用神经网络架构的文本特征提取技术的讨论。本论文中所讨论的研究问题关注的是当前最佳的神经网络技术,它们已经在语言处理、语言生成、文本分类和其它计算语言学任务中被证明是有用的工具。
1 动机
目前基于文本的特征提取所使用的大部分方法都依赖于相对简单的统计技术。比如说,n-gram 这样的词共现模型或 TF-IDF 这样的词袋模型。
本研究项目的动机是识别和调查使用神经网络的技术,并将它们与传统文本特征提取模型放在一起来进行研究,以展示它们方法上的不同。
文本特征提取可以用于多种不同的应用,包括但不限于:无监督语义相似度检测、文章分类和情感分析。
本项目的目标是记录使用神经网络从文本数据中进行特征提取这一领域的不同之处、优点和缺点。另外还描述了这些技术随时间的演化。
本报告可被工程师用作快速查询表,可用来寻找构建文本分类的方法或回归流程,正如在第 15 节讨论的那样,可用于将用例对应到特定的特征提取实现上。
2 研究问题
3 方法
在第 2 节中列出的研究问题将通过调查一些这个主题的重要概述论文来解决 (Goldberg, 2016)(Bengio et al., 2003)(Morin and Bengio, 2005)。也会研究这个领域一些有突破性的研究论文,其中包括词嵌入 (Mikolov et al., 2013a)(Mikolov et al., 2013b)(Mikolov et al., 2013c).
除此之外,还将调查一些更不明显的特征提取方法,包括类似词性标注、词块、命名实体识别和语义角色标注等任务 (Socher et al., 2011)(Luong et al., 2013)(Maas et al., 2015)(Li et al., 2015)(Collobert et al., 2011)(Pennington et al., 2014).
4 背景
本节在计算语言学领域提供了关于这一任务的高层面的背景解读。
4.1 词性标注(Part-of-Speech Tagging)
词性标注的目标是用一个单独的标签标记每一个词,该标签表示了其句法作用,比如名词、动词、形容词等。
最好的 POS 标注器基于在文本窗(windows of text)上训练的分类器,然后在推理阶段再被送入一个双向解码算法。
总体来说,模型类似于一个双向依存性网络(bi-directional dependency network),而且可以使用多种方法进行训练,其中包括支持向量机和双向 Viterbi 解码器。
4.2 词块(Chunking)
词块的目标是通过名词或动词短语等句法成分来标记句子的分段。其也被称为浅层句法分析(shallow parsing),可以被看作是词性标注在短语层面(而非词层面)的泛化。
词块的实现通常需要一个底层的 POS 实现,然后这些词再被组合起来或通过连接(concatenation)进行分块。
4.3 命名实体识别(Named Entity Recognition)
NER 将一个句子中的基本元素标注到类别上,比如 PERSON 或 LOCATION。
训练 NER 分类器的特征包括 POS 标签、CHUNK 标签、前缀和后缀以及被标记实体的大型词典。
4.4 语义角色标注(Semantic Role Labeling)
SRL 的目标是为句子的句法成分分配语义角色。
当前最佳的 SRL 系统由多个阶段组成:产生一个解析树,识别哪个解析树节点表示了给定动词的参数,最后分类这些节点来计算对应的 SRL 标签。
SRL 系统通常会详细给出多个特征,比如词性和词的句法标签及在树中的节点、该动词在解析树中的句法路径、该解析树中的节点是否是名词或动词短语等的一部分。
5 文档向量化
文档向量化可被用来将文本内容转换成一个数值向量表征,该表征可被用作特征,然后其可被用来训练机器学习模型。本节探讨了几种用来计算这种特征向量的统计学方法 (John and Vechtomova, 2017)。
5.1 n-gram 模型
n-gram 是来自给定文本或语音序列的 n 项连续序列。给定一个完整的文档语料库,每个元组 n 个 gram,字符和词都被表示为一个比特向量(bit vector)中一个特定的比特;在与一个文本体(body of text)聚合时,其会形成一个稀疏的对该文本的向量化表征,采用了 n-gram 共现的形式。
5.2 TF-IDF 模型
即项频率-逆文档频率(term frequency - inverse document frequency),这是一种数值统计方法,目的是反映一个词对集合或语料库中的一个文档的重要程度 (Sparck Jones, 1972)。TF-IDF 的值会随一个词在该文档中所出现的次数的增长而线性增长,但也会被该词在该语料库中的出现频率而抵消,这有助于调节那些在一般情况下都常会出现的词。这是一个词袋模型,而且并不保存词的顺序。
5.3 段落向量模型(Paragraph Vector Model)
段落向量模型是由一个无监督学习算法构成的,其可以为可变长度的文本(比如句子或文档)学习到固定大小的向量表征(Le and Mikolov, 2014)。该向量表征可被学习用来预测从段落中采样的上下文中的周围的词。两种不同的实现都已经在社区中取得了突出表现:
6 用于自然语言处理的神经网络模型入门(A Primer of Neural Net Models for NLP(Goldberg, 2016))
7 一种神经概率语言模型(A Neural Probabilistic Language Model)
目标:如果了解一个句子的基本结构,那么其就能通过可互换短语替代原句的一部分而创造一个新句子(Bengio et al., 2003)。
挑战:主要的瓶颈是计算输出层的激活函数,因为该输出层是一个由 softmax 激活函数组成的全连接层。
描述:
8 层级概率神经网络语言模型(Hierarchical Probabilistic Neural Network Language Model)
目标:在训练和识别期间,实现条件概率的层次结构分解能得到约为 200 的加速。层次结构分解是从 WordNet 语义层次结构提取且有先验知识约束的二元层级层级聚类(Morin and Bengio, 2005)。https://wordnet.princeton.edu/
描述:
9 一种用于段落和文档的层次神经自编码器(A Hierarchical Neural Autoencoder for Paragraphs and Documents)
目标:试图根据基本的词嵌入和句子嵌入来构建段落嵌入,然后基于编码该段落嵌入以试图重构原段落(Li et al., 2015)。
描述:
10 在连续空间词表征中的语言规律(Linguistic Regularities in Continuous Space Word Representations)
目标:在本论文中,作者调查了被输入层权重明确学习到的向量空间词表征。这些表征非常擅长得到语言中的句法和语义规律,而且每一个关系都可以使用一个关系特定的向量偏移(vector offset)来特征化。这允许基于词之间的偏移(Mikolov et al., 2013c)来实现向量导向的推理。这是导致了 Word2Vec 的诞生的创新论文之一,这是一种当前最佳的词嵌入工具(Mikolov et al., 2013a)。
描述:
隐藏层和输出层的值通过如下方式计算:
图 1:RNN 语言模型
拥有实值特征表征的最大特点之一是能够计算类比问题 a : b; c : d 的答案,其中 d 是未知的。使用连续空间词表征,这可以变得像计算 y = xb − xa + xc 一样简单,其中 y 是该模型所能计算出 d 的最佳估计。如果在被训练的词之中没有向量,则 y == xw,那么最近邻的向量表征可以使用余弦相似度估计出来:
11 使用用于形态学的递归神经网络的更好的词表征(Better Word Representations with Recursive Neural Networks for Morphology)
目标:本论文旨在解决复杂词和罕见词的向量表示中的不准确问题,这个问题被认为是由形态上相关的词之间的关系的缺乏而导致的(Luong et al., 2013)。
描述:
图 2:morphoRNN
12 向量空间中词表征的有效估计(Efficient Estimation of Word Representations in Vector Space)
目标:本论文的主要目标是介绍可用于从数十亿词的巨型数据集(并且使用了数以百万计的词汇)中学习高质量词向量的技术(Mikolov et al., 2013a)。
挑战:在该神经网络的全连接输出层出现的复杂度占用了大部分计算。几种被认为可以改善这种情况的方法是使用 softmax 输出激活单元的层次化版本,或者避免在最后一层避免执行归一化。
描述:
图 3:CBOW 和 Skip-gram 模型
其实验结果表明该 CBOW 和 Skip-gram 模型始终优于当时的最佳模型。其还观察到,当达到了一定程度后,再继续增加数据的维度和规模会开始带来反效果。
13 词与短语及它们的组合的分布式表征(Distributed Representations of Words and Phrases and their Compositionality)
目标:这篇论文基于 Word2Vec skip-gram 模型的思想,并提出了关于词嵌入的质量以及训练过程的加速的优化。它也提出了一种可替代层次 softmax 最后层的方法,被称为负采样(negative sampling)(Mikolov et al., 2013b)。
描述:
其建议的一种优化方法是下采样训练集的词,以实现模型训练的速度提升。
给定一个训练词序列 [w1, w2, w3, ..., wT ],该 skip-gram 模型的目标是最大化其平均对数概率,如式子 3 所示:
其中 c 是窗口,即围绕被训练的当前词周围的上下文。
14 GloVe:用于词表征的全局向量(GloVe: Global Vectors for Word Representation)
目标:本论文提出了一种全局对数双线性回归模型(global log-bilinear regression model),其结合了该文献中两种主要模型族的优势,它们是:全局矩阵分解和局部上下文窗口方法(Pennington et al., 2014)。
描述:
这使得该特征矩阵可与其转置互换。
15 讨论
在进行了文献调查之后,本节再次回到原来的研究问题上,并根据这些原论文的实验结果和结论推导出了一些简明扼要的结论。
问题 1:用于从文本中提取特征的相对简单的统计技术是什么?
像 n-gram 这样的词频计数模型和像 TF-IDF 这样的简单词袋模型仍然是获取文本的数值向量表征的最简单的工具。
问题 2:使用神经网络而非这些简单方法是否有什么固有的好处?
使用神经网络的好处主要是它们有能力识别模糊的模式,并且可以在主题分类和句法解析树生成等许多应用领域保持灵活性。
问题 3:相对于使用简单的方法,使用神经网络有怎样的权衡?
其权衡主要考虑的是计算成本和内存使用,尽管模型复杂度也是一个因素,但基于此,神经网络可被训练学习任意复杂的生成模型。
问题 4:在性能和准确度上,这些不同的技术之间有怎样的差异?
因为各种应用各有千秋,所以这个问题的回答会有些主观性。通常而言,可以使用 TF-IDF 这样的简单的统计学方法来解决文档相似性问题。CNN 本质上是以迭代式地降维的方式来对输入数据建模,使得它非常适合主题分类和文档摘要等任务。RNN 非常擅长建模文本序列,这使得它们非常适合语言句法建模。在各种框架中,GloVe 的预训练词嵌入的表现优于 vanilla Word2Vec,其被认为是当前最佳的。
问题 5:在哪些用例中,这些权衡比神经网络的好处更重要?
正如上一个问题解释的那样,对于一些简单的信息检索用例(比如文档排序),TF-IDF 和 词 PMI(点互信息)就已经足够了。用不着在这样的应用中使用神经网络。
16 总结
本论文总结了最近几年涌现的最先进的神经网络技术的重要方面。当涉及到开发从简单的聊天机器人到通用人工智能实体概念化等一系列应用时,机器翻译、自然语言理解和自然语言生成的领域是重要的研究领域。
在第 15 节的讨论部分总结了被调查论文的结果,并为新手进入该领域提供了一个直接可用的参考。
对于未来的工作,我们打算实验性地比较不同的词嵌入方法,以作为迭代地构建高质量的用于未来机器学习模型使用的引导。
致谢和参考文献(略)
原文链接:https://arxiv.org/abs/1704.08531
本文为机器之心编译,转载请联系本公众号获得授权。