人工智能:语言智能处理
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2 词向量构造方法

2.2.1 词向量(Word Embedding)构造方法概述

词向量(以下表述为Word Embedding)构造方法是从大规模语料中自动学习词的向量表示,属于一种语料驱动的数据表示方法。好的词向量表示方法具有存储方便、携带词的语义信息等优势,可通过数学计算度量词的语义关系。Word Embedding构造方法的理论依据是由Warren Weaver[4]提出的统计语义假说(Statistical Semantics Hypothesis):人类自然语言的统计信息可以表示人类语言的语义,以及著名的分布式假说[5,6](Distributional Hypothesis):相似的词具有相似的上下文。在此理论基础上,Word Embedding构造方法主要关注两个对象:词和上下文,主要研究的问题包括上下文的表示、词与上下文关系的表示、词的语义特征学习等。

本节结合目前Word Embedding训练方法和实际应用,概括Word Embedding构造和应用的过程。Word Embedding构造和应用的基本框架如图2-4所示。

img

图2-4 Word Embedding构造和应用的基本框架

Word Embedding构造和应用的基本框架主要包括以下部分。

(1)语料

Word Embedding构造方法是一种语料驱动的学习方法,通过挖掘语料中词的潜在特征获取词的向量化表示。语料是Word Embedding构造方法的原始输入信息,是构建高质量Word Embedding的重要影响因素之一。这种影响一方面体现在为提升学习质量,通常需要对语料进行标准化、还原大小写、词根化处理等预处理;另一方面,Siwei Lai等人[7]通过实验验证的方法发现语料的不同属性(例如语料规模和语料领域)对训练Word Embedding质量的影响规律:在语料规模方面,语料规模越大,训练结果越好;在语料领域方面,通常利用同一领域的语料训练所得到的Word Embedding质量更高。语料领域的影响比语料规模的影响更大。

(2)建模

语料建模是指依据语言学假说、预测任务的特点将文本处理为蕴含语义特征的数据形式。其中,语言学假说包括统计语义假说、分布式假说、扩展的分布式假说[8]、潜在联系假说[9]等;预测任务最常见的是语言模型中的下文预测任务,以及自然语言处理任务(POS、Chunking、NER、SRL)等。

原始语料无法被直接利用的主要原因是原始语料中的多种信息都可以表示词的语义特征,如上下文信息、主题、句子顺序、句内词序等。这些信息隐藏在自然语言中,具有稀疏、无结构、多形态等特点,很难被全部提取并用统一的数据形式表示。因此需要原始语料建模过程,建立映射关系,将原始语料的信息处理为可以直接利用的数据形式。常见的数据形式包括窗口、矩阵。其中,窗口是指将原始语料中与目标词紧邻的上下文看作一个窗口,通过窗口的滑动逐步向模型中输入信息;矩阵是刻画原始语料中词与其上下文共现的统计信息的数据形式,每行对应一个词,每一列对应词的上下文,矩阵元素是从原始语料中统计的二者之间的关联信息。

(3)特征学习

特征学习是指学习词语的潜在语义特征并获得Word Embedding的过程,是对原始语料信息的一种近似非线性转化。其模型结构决定了输入信息与输出信息之间非线性关系的描述能力。常见的特征学习模型包括受限玻耳兹曼机、神经网络、矩阵分解、聚类分类等。

在Word Embedding构造方法中,语料建模的数据形式直接决定了特征学习的模型,例如针对矩阵数据通常使用矩阵分解方法、针对窗口数据通常使用神经网络方法。语料建模与特征学习紧密相关,因此通过对现有Word Embedding构造方法进行总结,可归纳出三类方法:

①基于全局统计信息的构造方法:将语料数据建模为矩阵的形式,利用统计的方法计算矩阵元素,特征学习方法主要是矩阵分解。

②基于预测任务的构造方法:将语料数据建模为窗口的形式,根据预测任务设定目标函数,特征学习方法主要是神经网络。

③利用外部信息的构造方法:同时利用无标注的语料和语义词典、高质量结构化知识库等外部信息,在语料建模和特征学习过程中增强语义约束。

2.2.2 基于全局统计信息的Word Embedding构造方法

基于全局统计信息的Word Embedding构造方法利用统计的方法处理语料,将语料数据建模为蕴含语义特征的词-上下文的共现信息,借助数学方法(例如矩阵分解)学习Word Embedding,实现能够从语料中自动学习词的特征表示[10]

基于全局统计信息的Word Embedding构造方法基本框架如图2-5所示。图中,语料建模过程将语料处理为词-上下文共现矩阵,核心是上下文的选择、目标词与上下文之间关系的描述;特征学习的过程通常使用矩阵分解的方法。该方法的上下文通常选择文档、句子、模式等粒度的文本数据。整体上,上下文的全局统计信息类型分为三类:词-文档共现统计、词-词共现统计和模式对共现统计。

img

图2-5 基于全局统计信息的Word Embedding构造方法基本框架

2.2.2.1 基于词-文档共现统计的方法

词-文档共现统计是将词所在的文档作为上下文,统计词与文档之间的相关性信息。这种表示方法基于词袋假说[11](Bag of Words Hypothesis):文档中词出现的频率反映文档与词之间的相关程度。通常,语料建模为词-文档共现矩阵,矩阵中的每一行对应一个词,每一列表示一个文档,矩阵中的每个元素都是统计语料中词和文档的共现数据。

潜在语义分析[12](Latent Semantic Analysis,LSA)方法是一种分析词与文档相关性的方法。LSA方法将语料构建为词-文档共现矩阵,利用矩阵分解的方法将词和文档映射到同一个低维语义空间,获得词的向量化表示。因此,LSA方法也是一种基于全局统计信息构建词-文档共现矩阵学习Word Embedding的方法,将高维度的词表示映射到低维空间,通过降低向量空间的维度降低高维空间中的噪声,挖掘词的潜在语义特征。原始高维度的共现信息是对文本数据的直接统计,是一种直接的、稀疏的词表示形式,反映从语料中统计的真实的词-文档共现信息。矩阵分解的方法可构造低维语义空间,获得一种间接的、稠密的词表示形式,反映词-文档的近似共现信息。因此,最终学习得到的Word Embedding不是简单的词条出现频率和分布关系,而是强化语义关系的向量化表示。

在语料建模过程中,LSA方法首先构建一个词-文档共现矩阵X。矩阵X的元素是从语料中统计的TF-IDF值[13]。其中,TF代表词频(Term Frequency),是词在文档中出现的频率;IDF代表逆文档频率(Inverse Document Frequency),是一个词语普遍重要性的度量。TF-IDF的主要思想:如果某个词在一个文档中出现的频率(TF)高,并且在其他文档中很少出现,则这个词具有很好的文档区分能力。

在矩阵分解过程中,LSA方法对矩阵X采用奇异值分解(Singular Value Decomposition,SVD)的方法进行分解,将矩阵X分解为三个矩阵,即

img

其中,UV是正交矩阵,即UUT=IVVT=I,矩阵U代表词的向量空间,矩阵V代表文档的向量空间;Σ是记录矩阵X奇异值的对角矩阵。SVD方法可对这三个矩阵进行降维,生成低维的近似矩阵,最小化近似矩阵与矩阵X的近似误差。其过程为:假设矩阵X的秩为r,给定正整数k<r,选取Σk个数据构造矩阵Σk,则构造矩阵imgVk应满足

img

其中,Uk可实现将词从高维空间映射到k维空间的潜在语义表示;Vk可实现将文档从高维空间映射到k维空间的潜在特征表示。当img与矩阵X的近似误差最小img时,可获得LSA方法的优化结果,矩阵Uk即代表学习获得的Word Embedding。

为了提升学习效果,研究人员引入多种矩阵分解方法到词-文档矩阵分解过程中。例如,主题模型[14](Topical Model)方法将矩阵X分解为词-主题矩阵与主题-文档矩阵;NNSE(Non-Negative Sparse Embedding)方法[15]使用非负矩阵分解[16](Non-negative Matrix Factorisation,NMF)方法,在矩阵所有元素均为非负数的约束条件下对矩阵进行分解。

2.2.2.2 基于词-词共现统计的方法

词-词共现统计是将目标词附近的几个词作为上下文,统计目标词与上下文中各个词的相关性。这种方法基于分布式假说(Distributional Hypothesis):相似的词具有相似的上下文。通常,语料被处理为词-词共现矩阵。其中,矩阵中的每一行对应一个目标词,矩阵中的每一列代表对应上下文中的词。

早期利用词-词共现矩阵学习Word Embedding的方法是Brown Clustering方法[17],利用层级聚类方法构建词与其上下文之间的关系,根据两个词的公共类别判断这两个词语义的相近程度。2014年,由Jeffrey Pennington等人提出GloVe方法[18]。该方法是目前具有代表性的基于词-词共现矩阵的Word Embedding构造方法。

词-词共现矩阵中的元素代表语料中两个词的关联信息:由一个词可以联想到另外一个词,说明这两个词是语义相关的;反之,为语义无关的。如何从语料中统计关联信息直接影响Word Embedding的质量。传统的方法是统计两个词在语料中的共现概率,对词与词之间共现关系的描述能力比较弱。GloVe方法尽可能保存词与词之间的共现信息。词-词共现矩阵中的元素是统计语料中两个词共现次数的对数(取log值,即矩阵中第i行、第j列的值为词wi与词wj在语料中的共现次数xij的对数),以更好地区分语义相关和语义无关。在矩阵分解步骤中,GloVe方法使用隐因子分解(Latent Factor Model)的方法,在计算重构误差时,只考虑共现次数非零的矩阵元素。

GloVe方法融合了全局矩阵和局部窗口,提出了Log BiLinear的回归模型,利用隐因子分解的方法对矩阵进行处理。GloVe方法的优势是在生成词-词共现矩阵的过程中,既考虑了语料全局信息,又考虑了局部上下文信息,并且矩阵元素的计算方法可以合理地区分词的语义相关程度。GloVe方法的训练结果在词相似度、词间关系推理、NER等任务中效果突出。

2.2.2.3 基于模式对共现统计的方法

在模式对(pair-pattern)共现统计信息中,词对(pair)代表具有联系的词,例如<钱钟书,围城>,模式(pattern)是指词对出现的上下文,如“钱钟书写了《围城》”“《围城》的作者是钱钟书”。利用模式对共现统计信息Word Embedding构造方法的理论基础是扩展的分布式假说[19](Extended Distributional Hypothesis)和潜在联系假说[20](Latent Relation Hypothesis)。扩展的分布式假说是指在相似的词对中所出现的模式具有相似的含义;潜在联系假说是指在相似的模式中所包含的词对具有相似的含义。

2001年,Lin等人提出潜在关联分析方法(Latent Relational Analysis,LRA)[19]。LRA方法从语料中自动提取模式信息,将语料建模生成模式对共现矩阵。利用SVD方法对矩阵进行分解,最终获得Word Embedding。LRA方法可直接统计具有关联的词对在语料中的共现信息,在关系发掘等方面效果明显。Danushka Bollegala等人[21]提出将语义关系(Semantic Relations)作为一种模式,通过从语料中抽取语义关系并使用共现矩阵对词与词之间的语义关系进行表达,利用分类器区分语义相关和语义无关。

Yang Liu等人[22]于2015年提出Topical Word Embedding(TWE)方法,利用LDA方法从语料中抽取<目标词,主题>共现信息,将含有目标词的固定窗口作为对应的模式,利用单层神经网络学习获得词向量。

2.2.2.4 方法小结

基于全局统计信息的Word Embedding构造方法是统计语料中全局的词-上下文共现信息,在特征学习过程中挖掘词的语义特征,从而获得Word Embedding。该类方法的语料建模方式是基于统计的方法,不同的构造方法在选择上下文、词与上下文相关性计算、学习方法等方面各有不同。表2-2为基于全局统计信息的Word Embedding构造方法比较。

表2-2 基于全局统计信息的Word Embedding构造方法比较

img

在基于全局统计信息的Word Embedding构造方法中,Word Embedding的质量与共现统计的方法密切相关。早期的LSA方法使用简单的TF-IDF统计词在文档中的共现信息,是一种弱的关联信息,信息不全面。除TF-IDF外,还有很多其他衡量词与上下文相关性的方法。Pavel Pecina等人[23]采用55种不同的衡量方法进行二元词汇识别实验,结果表明,PMI(Pointwise Mutual Information)算法[24]是最好的衡量词汇相关度的算法之一。后续研究人员对PMI算法进行改进,以更好地表达词-文档、词-词共现信息,并训练出了高质量的Word Embedding。例如,NNSE方法利用改进的PMI算法描述词-上下文之间的相关性。

GloVe方法为了更好地表示词与词之间的语义相关和语义无关,提出取log值的方法刻画词与上下文共现信息,由训练获得的Word Embedding可在词相似性、关系推理等任务中达到效果最优。

因此,基于全局统计信息的Word Embedding构造方法的关键是对词与上下文共现信息的描述,合理的相关性计算方法能够更好地体现词与词之间的关联,有助于学习结构提取词的潜在特征,提升Word Embedding语义特征的表达能力。

2.2.3 基于预测任务的Word Embedding构造方法

基于预测任务的Word Embedding构造方法通常将语料建模为窗口形式,依据实际预测任务设定学习目标,在优化过程中学习Word Embedding[25]。常见的预测任务包括语言模型中的下文预测、自然语言处理任务(POS、Chunking、NER、SRL)等。

基于预测任务的Word Embedding构造方法具有两个特点:一是语料建模生成窗口信息通常选择句子或目标词前后几个词作为上下文,是一种利用局部信息的语义特征学习方法;二是神经网络结构对模型的发展具有决定性的作用,Word Embedding通常是作为神经网络的副产品被训练获得的。

基于预测任务的Word Embedding构造方法基本框架如图2-6所示:语料建模过程可将语料处理为窗口形式,通过窗口的滑动向模型中逐步输入训练语料;特征学习根据预测任务设定目标函数,通常使用神经网络模型。

img

图2-6 基于预测任务的Word Embedding构造方法基本框架

2.2.3.1 神经网络语言模型方法

Bengio等人[26]于2003年提出神经网络语言模型(Neural Network Language Model,NNLM)。该模型是基于n-gram语言模型预测任务的Word Embedding构造方法。在语料建模过程中,NNLM将语料中固定长度为n的词序构建为一个窗口,使用前n-1个词预测第n个词,即任务目标是最大化文本的生成概率,特征学习的结构是多层神经网络。NNLM的基本框架如图2-7所示。

img

图2-7 NNLM的基本框架

NNLM的原理可以形式化描述为:在语料中存在词序w={w1w2,…,wn-1wn},在当前n-1个词出现的情况下,最大化第n个词出现的概率。目标函数f可以表示为

img

NNLM特征学习的过程是借助神经网络,包括输入层、投影层、隐藏层、输出层。

输入层信息:窗口w中前n-1个词。

投影层信息:通过查找词表获得窗口w中前n-1个词的Word Embedding表示。

隐藏层信息:H个隐藏结点。

输出层信息:在给定前n-1个词的情况下,预测第n个词出现的概率,此处,需要对词典中每个词的出现概率进行预测。

NNLM最后使用softmax函数对输出层进行归一化处理,是由于输出层为预测的词典中每个词出现的概率,根据概率原则,需要满足

img

NNLM的特征学习结构复杂,运算瓶颈是非线性的tanh函数变换过程。为提高NNLM的效率,Andriy Mnih和Geoffrey Hinton在文献[27]中提出HLBL(Hierarchical Log-Bilinear Language model)方法,使用树状层次结构加速,将词典中所有的词构建成一棵二叉树。词典中的词是二叉树的叶子结点,从二叉树的根结点到词的叶子结点的路径使用一个二值向量表示。假设V代表整个词典包含的词效,则HLBL可将计算一次预测概率的复杂度由V降至lnV。这种树状层次结构加速的方法广泛应用在其他的Word Embedding构造方法中,是一种比较流行的优化方法。

2.2.3.2 循环神经网络语言模型方法

Mikolov等人在提升方法效率和效果方面的研究过程中,提出了基于循环神经网络语言模型方法(Recurrent Neural Network Language Model,RNNLM)[28,29]。RNNLM与NNLM任务类似,都是基于语言模型预测任务的Word Embedding构造方法。二者的区别在于:RNNLM使用循环神经网络,其隐藏层是一个自我相连的网络,可同时接收来自t词的输入和t-1词的输出作为输入;相比NNLM只能采用上文n元短语作为近似,RNNLM方法通过循环迭代使每个隐藏层实际上包含了此前所有上文的信息。因此RNNLM包含了更丰富的上文信息,有效提升了Word Embedding的质量。

2.2.3.3 Word2Vec方法

目前,基于预测任务Word Embedding构造方法中最为流行的方法是于2013年由Mikolov提出的Word2Vec方法[30,31]。Word2Vec方法引起了业界的高度重视,是Word Embedding构造方法发展过程中的里程碑式研究成果,包含CBOW模型和Skip-gram模型。两个模型在语料建模过程中都选取固定长度为n的词序作为窗口,窗口中心词设定为目标词,其余词为目标词的上下文。预测任务也基于语言模型:CBOW模型的预测任务是使用上下文预测目标词;Skip-gram模型的预测任务是使用目标词预测上下文。Word2Vec方法在学习结构上做了多方面的改进,用于高效、高质量地训练大规模的Word Embedding。

Word2Vec方法的两种模型结构如图2-8所示。

img

图2-8 Word2Vec方法的两种模型结构

Word2Vec方法的原理与NNLM相似,都是利用固定长度的窗口信息,最大化文本生成概率。Word2Vec方法在窗口信息处理、神经网络结构、方法优化等方面进行了如下改进。

(1)移除窗口内词序信息

Word2Vec方法利用固定长度为n的窗口作为模型输入信息。与NNLM将前n-1个词拼接的方法不同,Word2Vec方法选取窗口的中心词作为目标词,对其余n-1个词求平均值。因此,Word2Vec方法不再保存词的顺序信息。

图2-8中,CBOW模型使用目标词上下文预测目标词,映射层的信息是输入层的向量平均值;Skip-gram模型利用目标词预测上下文,映射层的信息是目标词的向量。

(2)单层神经网络结构

为了进一步提升学习效率,Word2Vec方法移除了NNLM中计算最复杂的非线性层,仅使用单层神经网络。

(3)优化方法

Word2Vec方法为降低预测下一个词出现概率过程的计算复杂度,采用两种优化方法:基于哈夫曼树的层次方法(Hierarchical Softmax,HS)和负采样方法(Negative Sampling,NS)。HS虽然利用了HLBL方法中的层次加速方法,但与HLBL方法不同。HS将词典中所有的词构造成一棵哈夫曼树,树的每个叶子结点均代表一个词,每个词都对应一个哈夫曼编码,保证词频高的词对应短的哈夫曼编码,从而减少了预测高频词的参数,提升了模型的效率。为了进一步简化模型,NS不再使用复杂的哈夫曼树,而是使用随机负采样的方式进一步提高了训练速度,改善词向量的质量。例如,在CBOW模型中,假设目标词wt与其上下文context(wt)的组合是一个正样本,将wt换成词典中的其他词wi,则context(wt)与目标词wi的组合就是一个负样本,随机选取负样本即可组成负采样集合NEG(wt)。NS的目标是在提高正样本概率的同时,降低负样本的概率。

2.2.3.4 SENNA方法

SENNA方法[32]是由Ronan Collobert和Jason Weston提出的一种利用局部信息学习的Word Embedding构造方法。SENNA方法的预测任务是判断一个词序是否为正确的词序,即模型目标函数对句子打分,使正确句子的分数达到最大化。SENNA方法在语料建模过程中将语料中的词序作为正确词序,使用Pairwise Random方法生成噪声词序。SENNA方法的学习结构是卷积神经网络。预测任务是分别对这两类词序打分。任务目标是最大化正确词序的打分,即

img

其中,语料中以目标词wt为中心的长度为n的词序列{w1w2,…,wt,…,wn}是一个正确的词序列,w代表正确的目标词;c代表目标词的上下文;正确序列的打分记作Swc);随机使用词wi替换目标词wt,生成噪声序列{w1w2,…,wi,…,wn},打分记作Sw′c)。SENNA方法的目标是极大化正确序列的打分,极小化错误序列的打分。

SENNA方法的结构如图2-9所示。输入层是目标词wt和上下文,在投影层映射为Word Embedding,通过拼接组合成上下文的向量,经过一个含有隐藏层的卷积神经网络将词序列映射为一个打分S

img

图2-9 SENNA方法的结构

2.2.3.5 方法小结

基于预测任务的Word Embedding构造方法从预测任务的角度对语料建模,特征学习通常使用神经网络。不同的构造方法在处理语料、设计目标函数、选择神经网络方面各有差异。表2-3为基于预测任务的Word Embedding构造方法比较。

表2-3 基于预测任务的Word Embedding构造方法比较

img

续表

img

由表2-3可知,基于预测任务的Word Embedding构造方法具有两个显著的特点:①利用局部窗口信息学习词的语义特征;②Word Embedding是作为神经网络的副产品被训练获得的,神经网络结构对模型的发展具有决定性的作用。下面对这两个特点进行说明。

基于预测任务的Word Embedding构造方法将语料建模为固定或可变长度的窗口。在本质上,利用窗口信息的方法与词-词共现矩阵的方法是一致的:两种方法的理论基础都是分布式假说,选择目标词附近的n个词为上下文,统计目标词与上下文中词的共现信息来表示共现特征。例如,在Word2Vec方法中,Skip-gram模型的窗口与词-词共现矩阵是等价的。

词-词共现矩阵需要确定矩阵的元素,即如何描述词与上下文之间的相关性。Omer Levy和Yoav Goldberg证明利用PPMI(Positive Pointwise Mutual Information)信息的词-词共现矩阵方法与Skip-gram在类比任务(Word Analogy Task)中的效果相似[33]。其中,PPMI是改进的PMI方法。PMI方法中的互信息(Mutual Information)是信息论中的信息度量,利用概率论和统计的方法衡量变量之间的依赖程度,将词看作可统计互信息的点,词x、词y之间的点互信息的值为

img

其中,px)代表词x出现的频率;pxy)代表词x、词y同时出现的频率。在概率论中,如果xy相互独立,则pxy)=pxpy)。二者相关性越大,pxy)相比pxpy)就越大。

Omer Levy和Yoav Goldberg假设,如果Skip-gram模型中的向量维度允许无限大,则该模型可以看作一种改进的PPMI矩阵。因此,Skip-gram模型本质上是一种隐式的矩阵分解。在此基础上,Yitan Li等人证明了Skip-gram模型等价于矩阵分解[34],并且被分解的矩阵是词-词共现矩阵,其第i行、第j列的元素代表了第i个和第j个单词在窗口内的共现词数。

因此,基于预测任务的Word Embedding构造方法是利用局部窗口信息的学习方法,并且与利用统计共现信息的方法联系密切。

神经网络在Word Embedding构造方法中的作用明显。Word Embedding构造方法是学习词的特征表示的方法,属于机器学习领域中数据表示学习的方法。深度学习与神经网络的发展推动了机器学习效果的提升。同样,在Word Embedding构造方法中,神经网络可自动发现数据之间的关联,提取词的语义特征,提取的效果决定模型的效果。另外,通过简化神经网络的结构可以提升模型的效率,适用于大规模语料的处理,可更全面地表达词的特征。例如,Andriy Mnih和Geoffrey Hinton提出使用层次结构组织单词,降低了模型的复杂度[27];Mikolov提出移除隐藏层简化神经网络[30];Andriy Mnih[35]、Mikolov[31]使用负采样方法加速模型的训练速度。因此,神经网络的发展在一定程度上推动了基于预测任务的Word Embedding构造方法的改进。

2.2.4 利用外部信息的Word Embedding构造方法

由于仅利用无标注语料信息的Word Embedding构造方法存在数据稀疏、语义关系描述能力弱等限制,而利用外部信息的Word Embedding构造方法使用的是人类已经抽象好的语义关系约束语料建模和特征学习过程,因此提升了模型的表达能力,获得了更好的携带语义特征的Word Embedding。利用外部信息的Word Embedding构造方法基本框架如图2-10所示。图中,语料建模过程是增加外部信息为语义约束;特征学习过程是根据建模的数据类型选择合适的特征学习结构,学习低维、稠密的Word Embedding。

img

图2-10 利用外部信息的Word Embedding构造方法基本框架

在语言学中,词在语义层面上有多方面的特征,如相似性(Similarity)和相关性(Relatedness)[36]。语义相似度是两个词在不同的上下文中可以互相替换使用而不改变文本句法语义结构的程度。语义相关是表示两个词的关联程度,即由一个词可以联想到另一个词。简单来说,词的相似性是词具有相似的属性;词的相关性是指词与词之间具有关联;语义相似是语义相关的一种情况,例如“麦克”和“话筒”是相似的,“汽车”和“汽油”是相关的[37]。不同的任务关注词语义特征的不同方面,例如在文档检索中需要按照主题对文档进行分类,应关注词与词之间的相关性;在机器翻译中需要对应词的属性,应关注词与词之间的相似性。目前,由语料驱动的Word Embedding构造方法仅依赖语料中词序、词共现等信息发掘语料中潜在的词特征,相似的上下文并不能全面刻画词与词之间的相似性、相关性。

在相似性方面,虽然“汽油”和“汽车”两个词常出现在相同的上下文,但是两个词之间的相似属性很少。另外,在自然语言中存在一词多义现象,即一个词有不同的属性信息、对应不同的上下文,将不同的属性用相同的向量表示也是不合理的。

在相关性方面,同义词和反义词具有不同的语义相关。同义词是同一个语义的不同表达,由于在同一篇文章中可能只出现一种表达,因此同义词的上下文差距可能很大;反义词是相反语义的表达,可能出现在相同的上下文中,例如“我很喜欢苹果”“我很讨厌苹果”,“喜欢”和“讨厌”虽然是反义关系,但是在相同的上下文中,其向量表示非常相近,从向量计算的角度无法体现两个词之间的关联信息。

近年来,为了构建携带更全面语义表示的Word Embedding,利用外部信息构建的构造方法成为研究热点。研究人员提出,利用现有的外部信息作为一种语义约束,辅助Word Embedding构造方法挖掘词与词之间的语义关联。目前主要利用两个类外部信息:①来自人类总结的语义资源,如WordNet和FrameNet等,这些语义知识库按照词的意义组成词网络,含有精准的语义关联信息;②多语言语料中的语义对应关系,例如在机器翻译中,同一个语义的翻译对具有更近的向量距离。

2.2.4.1 利用语义资源的Word Embedding构造方法

为提升Word Embedding刻画词的语义关系的能力,研究人员提出在Word Embedding构造方法中引入由人类抽象总结出来的高质量的语义知识,如语义词典WordNet、PPDB、FreeBase等。

在增强同义关系的表达方面,Manaal Faruqui等人[38]提出将词典关系作为监督信息引入Word Embedding构造方法,以词典中有关联的词向量距离更近为条件约束训练过程。这种引入外部词典的方法可以在学习、抽象过程中,增强词与词之间语义关系的表示。

反义关系也是组合语义的重要方面,通常具有反义关系的词具有相似的上下文,因此在基于分布式假说的Word Embedding构造方法中,词与词之间反义关系的刻画能力较差。针对这个问题,Quan Liu等人[39]提出在Word Embedding构造方法中利用已知的关系,使同义词之间的向量相似度大于反义词之间的向量相似度,提升用训练结果判别反义词对的能力。Zhigang Chen等人[40]提出一种不利用语料中的统计信息,仅使用WordNet和The Saurus资源的Word Embedding构造方法。其特征学习结构借鉴Word2Vec方法的结构,目标函数设计的原则是,利用由Cohen[41]提出的Pairwise Ranking方法构造不同的词对,并使反义词对的距离比无关系词对的距离大,近义词对的距离比无关系词对的距离小,在由Mohammad提出的GRE数据集[42]上进行实验,并与效果最好的贝叶斯概率张量分解的方法[43]进行对比,发现了增强反义词信息的Word Embedding构造方法,在寻找反义词任务中的准确度可达92%,提升了10%,效果显著。

在自然语言中存在一词多义的现象,不同的词义对应不同的上下文。基于分布式假说的Word Embedding构造方法的训练结果,使用同一个向量表示词的不同词义。为解决这个问题,研究人员通过向模型中引入WordNet、维基百科知识库等语义资源,辅助实现向量空间中的词义消歧。典型的研究工作是由Sascha Roth提出的AutoExtend方法[44],即在现有的Word Embedding构造方法中增加词典资源的约束,将词、词义、同义词在同一个向量空间进行表示,设计了三个约束条件:每个词是由多个词义组成的,词的向量是不同词义的向量和;同义词集合也是由多个词义组成的;同义词组中相关联的词向量距离小。除增加约束外,还利用了稀疏特性加速求解。AutoExtend方法在词的相似度测量和词义消歧任务中具有良好的效果。

AutoExtend方法将词、词义在同一个向量空间进行表示,词的向量是词义向量的和,仍使用一个向量表示同一个词的不同词义。由Ignacio Iacobacci等人提出的SensEmbed方法[45],在词义层次上进行向量化表示,不需要手动匹配词义和向量。SensEmbed方法使用BabelNet[46]建立语义词典,利用由Andrea Moro提出的Babelfy语义消歧方法[47]对语料进行消歧,将语料标注为多语义的语料。对语料词义消歧后,SensEmbed方法可利用CBOW模型训练得到词义层次的向量。每个词的不同词义对应同一个向量。

2.2.4.2 基于多语言语料的Word Embedding构造方法

机器翻译的语料是以双语翻译对的形式出现的。在双语语料中,模型的输入信息是完全相同语义的不同表达;在单语语料中,模型的输入信息是语义相关的数据。因此,双语语料的文本数据语义相关性强、噪声小,是一种高质量的输入信息。另外,在翻译对中,词汇语法的作用更为明显有效,方便模型挖掘词在语义上的关联。因此,基于多语言语料的Word Embedding构造方法可以减少与学习语义特征无关的因素,提高Word Embedding的效果。

在多语言语料中,不同语言中相同语义的两个词可在相同句义的语境中出现。据此,Faruqui等人[48]提出将两种语言的词向量转换到一个向量空间中,使其能够在各自的空间保持词与词之间的联系。这种方法要求两种语言在词层次上的数据具有一致性。在词相似性的任务评测中,Faruqui方法比基于单语语料词向量的效果更好。Hermann等人[49]提出使用多语言的分布式词向量表示语义信息,通过实验证明,继续增加不同语言的语料,可以进一步提升词语义表示的效果。Felix Hill等人[50]通过实验说明,利用多语言语料获得的语义特征,除能够很好地表征语义句法信息外,在刻画概念的相似度(Conceptual Similarity)方面效果更为明显。

基于多语言语料的Word Embedding构造方法利用任务本身的数据和资源提升Word Embedding的质量,可以训练更贴近任务的Word Embedding,更好地支持机器翻译等任务。

2.2.4.3 方法小结

利用外部信息方法训练Word Embedding,效果有明显的提升。一方面,借助由人类抽象总结的语义资源作为约束,学习获得更全面语义的Word Embedding,在词相似性、词关系推理等任务中效果显著。另一方面,利用多语言语料,更加关注词与词之间语义的对应关系,利用自然语言处理任务中的约束特征学习结构,提升Word Embedding的质量。整体来说,利用外部资源的Word Embedding构造方法与仅依赖单语语料的方法相比,能更全面地挖掘词与词之间的语义关系,训练效果提升明显。

与前两类方法相比,利用外部信息的Word Embedding构造方法在效果上具有优势。目前流行的Word2Vec方法具有模型简洁、训练速度快等特点,在学术界和工业界应用广泛。相比而言,利用外部信息的Word Embedding构造方法在模型结构上没有实质性的改进,简化外部知识利用是Word Embedding构造方法亟待解决的问题。

2.2.5 方法评价

为了比较不同Word Embedding构造方法的性能,学术界提出多种评价方法以便对由训练得到的Word Embedding质量进行比较[51,52]。目前,评价方法主要分为两类:①语言学评价;②任务评价。

(1)语言学评价

语言学评价主要是对由训练得到的Word Embedding在语言学词汇语义层面上的表达能力进行评价,如测试词相似度、词义消歧和同义/反义词、复数形式判定、不同语种形式判定等。

一种非常流行的方法是由Mikolov提出的由词与词之间的类比关系来评测词向量之间的联系[30,31],如图2-11所示。图中,v(king)-v(queen)v(man)-v(woman),与向量v(king)-v(man)+v(woman)距离最近的向量是v(queen)。目前,这种基于类比关系的方法在评价Word Embedding构造方法中被广泛应用。Mikolov使用的类比关系还包括名词单-复数(apple-apples:banana-bananas)、动词第三人称单数(run-runs:watch-watches)、形容词比较级-最高级(good-better:rough-rougher)和语义关系(clothing-shirt:dish-bowl)。

(2)任务评价

在自然语言处理任务中使用不同Word Embedding的表现,能够间接地评价Word Embedding的质量。常见的任务有词性标注、语义角色标注、短语识别、命名实体识别等。

img

图2-11 由Mikolov提出的词与词之间的类比关系测试示意图

笔者对六种Word Embedding构造方法进行实验,从时间、相似度、准确性等方面对比效果,实验选用的语料是Word2Vec方法中提供的语料,即英文维基百科语料。不同Word Embedding构造方法的模型训练时间对比见表2-4。表2-4中,从上到下,网络结构越来越复杂,训练时间越来越长。Word2Vec方法使用了单层神经网络,结构简单,训练效率高。由于CBOW模型使用上下文预测目标词,Skip-gram模型使用目标词预测上下文,每个目标词都需要进行(n-1)次预测,因此CBOW模型比Skip-gram模型的训练速度更快。NNLM模型使用三层神经网络。SENNA模型采用卷积神经网络,网络结构复杂,训练速度慢。

表2-4 不同Word Embedding构造方法的模型训练时间对比

img

对上述方法训练的Word Embedding结果进行语言学上的对比评价,使用词相似度指标对训练结果进行评价,用WS表示词相似度(Word Similarity)。选取WordSim353数据集中词对之间的人工打分X衡量词的语义相似性,词对之间向量中的余弦距离作为Word Embedding构造方法中的打分Y,通过计算两个打分之间的Spearman相关系数来判断人工打分与模型打分之间的相关性,即

img

表2-5为词相似度测量任务结果。由表2-5可以看出,在WS指标中,Word2Vec方法的CBOW模型效果最好,由于该模型的预测任务基于语言模型,并利用学习词与词之间的关联训练Word Embedding,因此词与词之间的语义关系刻画得更加紧密,在词的相似度测量任务中准确率较高;效果较差的SENNA方法是以句子为单位的,通过对句子打分预测任务,正确的句子来自语料,错误的句子来自随机替换句子中的目标词,由于语料建模方式对词与词之间紧密性的描述能力较弱,因此在词的相似度测量任务中效果不佳。

表2-5 词相似度测量任务结果

img

2.2.6 Word Embedding的应用

Word Embedding在自然语言处理任务中被广泛应用,效果明显。例如,在情感分析任务中,针对情感词的识别问题,传统的方法是借助外部语义资源获取词与词之间的语义关系,由于外部语义资源没有相应的新词,因此很难获取新词的词义信息;若使用Word Embedding构造方法,通过向量表示词与词之间的语义相似性,则可摆脱对外部语义资源的依赖,解决发现情感新词的问题,提升任务效果;在命名实体识别任务中,引入Word Embedding构造方法,利用词与词之间的语义关联,可以解决缺乏标注数据领域的命名实体识别问题。

为介绍Word Embedding在自然语言处理任务中的应用,本节将选取问答系统、机器翻译和信息检索三个典型任务,详细介绍Word Embedding在实际任务中的应用,以期为读者使用Word Embedding提供借鉴。

2.2.6.1 问答系统

问答系统的问题检索任务存在词汇空缺的挑战,相似的问题有不同的表述方式。Guangyou Zhou等人[53,54]提出了一种结合Word Embedding和词袋模型的方法Bag-of-Embedded-Words(BoEW)对问句进行向量化表示,将句子相似度的计算问题转化为向量线性运算。由于句子长度不同,因此BoEW通过Fisher Kernel方法将不同长度的向量转化为固定长度的向量,通过计算问句间的向量距离完成问题的检索任务。此外,BoEW还利用问答系统中的元数据(Metadata)作为约束条件,以相同类别问题中的词间向量距离小为原则,设计训练Word Embedding模型M-Net。实验证明,在问题检索过程中,增加元数据约束的M-Net模型效果比普通的Word Embedding构造方法好。M-Net模型利用问答系统领域的数据作为语料,利用任务中的规则约束学习过程,学习高质量的Word Embedding,提高任务的完成效果,是目前应用Word Embedding的一种流行模式。

Min-Chul Yang等人[55]提出利用问答系统中词和问题类别数据训练的Word Embedding建立检索模型,提升问答系统检索问题的完成效果。Kai Zhang等人[56]将问答系统中的词和问题类别映射到同一个向量空间,使用向量线性点乘变换计算问题的相似度。这些方法都在检索模型中使用Word Embedding辅助计算问句的相似度,以解决问答系统的词汇空缺现象。

当问答系统出现新的问题时,问答系统需要推荐回答新的问题的最佳用户。Hualei Dong等人[57]基于问答系统本身的数据训练Word Embedding,在训练模型中同时支持主题词、用户信息等数据的向量化表示。该方法根据用户回答问题的历史记录数据生成用户预置文件,建立包含用户预置文件和问题信息的文档向量,当问答系统中出现新的问题时,计算用户的活跃度和权威度,合理推荐解答给用户。

2.2.6.2 机器翻译

在实际应用中,机器翻译一直是关注的热点。2013年,Mikolov等人[58]将Word Embedding用于机器翻译任务中,开发了一种词典和术语表的自动生成机器翻译方法,利用两种语言Word Embedding之间的线性向量计算实现机器翻译。

Mikolov利用Word Embedding实现的机器翻译示意图如图2-12所示:首先构建两种语言向量空间,在单一语言语料上分别训练Word Embedding;然后利用小规模的双语言字典学习不同语言的线性映射关系,关联不同语言中相同语义的词,实现一个向量空间向另一个向量空间的映射和转换。这种方法是利用单语言语料和小规模双语对照词典实现机器翻译模型的。这种模型可以实现高质量的词、短语翻译,使英语和西班牙语之间的翻译准确率高达90%。

img

图2-12 Mikolov利用Word Embedding实现的机器翻译示意图

传统的统计机器翻译模型基于翻译的一些概率原则,首先解析要翻译的句子,然后生成翻译结果句子。若利用Word Embedding的机器翻译模型,则将机器翻译中的短语用向量表示,利用向量进行机器翻译。Jiajun Zhang[59]等人提出一种BRAE(Bilingually-constrained Recursive Auto-encoders)的方法自动对短语的语义进行向量表示,实现在向量空间区分不同语义的短语。BRAE的方法是利用神经网络语言模型预处理词向量的,可将正确翻译的短语对之间的距离最小化,使错误翻译的短语对之间的距离最大化,并通过训练得到两种语言的短语向量和基于向量进行翻译的规则。

2.2.6.3 信息检索

信息检索领域需要表示长度不固定的文本数据,如词组、句子、文档等。Quoc V.Le和Tomas Mikolov提出的Paragrahp Vector(PV)方法[60],可以使用长度固定的向量来表示不固定长度的句子、文档等文本,通过向量之间的线性计算衡量文本之间语义的相似度。PV方法是改进Word2Vec方法的模型,在单层神经网络的输入层中增加句子、文档等文本的信息,在预测任务中优化向量表示,将句子、文档等不固定长度的文本信息表示为携带语义的向量,在文档检索等任务中通过向量的线性计算衡量文档的相关程度。

信息检索过程通常需要计算两个文档之间的距离。Matt J.Kusner等人[61]提出的Word Mover's Distance(WMD)方法利用Word Embedding和Earth Mover's Distance方法,计算词向量空间两个文档的距离。在WMD方法中,两个文档之间的距离通过将一个文档中的词移动到另一个文档所需要的最小距离来表示。其中,词移动的距离是两个词的向量距离。WMD方法利用Word Embedding解决文档中的语义空缺问题,在文档检索、网页搜索等任务中效果明显。

在查询扩展方面,利用Word Embedding从语义层面将查询词扩展,提取与查询词语义相似、语义相关的词,可实现对查询词的语义扩展,改善信息检索的准确率。Alessandro Sordoni等人[62]提出将词和文档在同一向量空间表示,并学习获得潜在概念的向量表示(Latent Concept Embedding),结合Quantum Entropy Minimization方法对查询词进行扩展。Xiaohua Liu等人[63]提出Compact Aspect Embedding方法,在语义空间表示查询词的不同方面属性,并设计贪婪选择策略获得查询词的扩展,使扩展后的词更符合查询需求。

2.2.7 研究展望

Word Embedding构造方法能解决自然语言处理领域词的表示、存储等需求,近年来,相关研究及其应用都取得了很大进展,但还面临一些挑战。

(1)大规模并行训练Word Embedding

Word Embedding的每一维均代表词的直接或潜在的特征。这种特征不具有解释性,尤其是利用神经网络进行特征学习的方法所获得的向量,难以类比人类所熟知的词法或语法。与之相比,利用全局共现矩阵和NMF分解的Word Embedding模型的训练结果更具有解释性,但在训练过程中需要构建矩阵,在训练效率上表现差,难以处理大规模语料。针对这一问题,大规模并行训练方法学习可解释的Word Embedding是未来的研究热点。目前,Hongyin Luo和Zhiyuan Liu等人[64]提出在线可解释的Word Embedding构造方法(Online Interpretable Word Embedding,OIWE),利用神经网络学习可解释的Word Embedding。如何大规模在线并行训练和提升结果的可解释性兼具学术价值和工业价值,是当今Word Embedding相关研究的热点和难点。

(2)引入注意力模型(Attention-based Model)

基于分布式假说的Word Embedding构造方法使用上下文信息来描述目标词的特征,对上下文中的词不进行区分,仅仅通过拼接、求和、求均值等方法表示上下文信息。由于上下文中不同词的信息并不是等价的,这种统一压缩的方式会丢失上下文中的信息。因此在Word Embedding构造方法中引入注意力模型,在训练过程中加入关注区域的移动、缩放机制,可以更好地保存上下文信息。如何引入注意力模型并更好地表示上下文信息,是提升Word Embedding质量的研究方向之一。

(3)多模、跨语言的Word Embedding构造方法

Word Embedding构造方法是一种语料驱动的学习方法,训练效果依赖原始语料的丰富性和多样性。在一些领域中,由于资源有限、信息不对等、信息表达方式多样等因素的限制,很难获取高质量的原始语料,缺失原始语料时很难获得高质量的Word Embedding。为解决文本数据资源不足的情况,研究人员通常利用领域内的高质量知识库、本体等资源[65,66],这些资源具有多来源、跨语言、多形态等特点。在未来的研究过程中,若设计多模、跨语言的Word Embedding构造方法将不同形式的输入数据映射到统一的语义空间,则可以缓解语料缺失的问题,实现利用多源信息学习Word Embedding。

(4)不同语种的Word Embedding构造方法

按照语系划分,不同语言之间存在不同的性质,在形态学、句法学、语义学和语用学等方面存在巨大的差异,例如英文句子结构多为从句、中文多为分句。近年来,对结合语种特点的Word Embedding构造方法的研究不断深入,以中文Word Embedding构造方法研究为例,Liner Yang等人[67]利用组成词的每个字的语义知识,Yaming Sun等人[68]考虑中文文字的部首信息。结合语种的特点改进模型有利于提升Word Embedding的语义表达能力。

(5)利用语料中的多种信息

目前,Word Embedding构造方法主要依赖上下文信息学习词的特征表示。词的形态学信息、词性变化关系、组合信息、词序信息、句子成分信息等都蕴含丰富的词的特征。这些信息均来自语料,可代表不同角度的词的特征。未来的研究一方面需要探讨如何对语料建模才能利用这些信息,另一方面需要研究针对语料建模方式的特征学习方法,提升Word Embedding的质量。

(6)应用扩展

Word Embedding构造方法在本质上是一种数据表示方法,成功证明了使用分布式向量表示语义的可行性。在自然语言处理中,不同层次的数据均需要向量表示,例如常见的关系、句子、文档、知识等。对于文档检索、问句匹配等自然语言处理领域的实际任务,仅使用词的语义表示不足以有效地完成这些任务,还需要学习文档、句子级别的语义表示。由于文档的多样性,因此当直接使用分布式假说构建文档的语义向量表示时,会遇到严重的数据稀疏问题。主流的神经网络语义组合方法包括递归神经网络方法、循环神经网络方法和卷积神经网络方法。这些方法分别采用了不同的组合方式,包括词级别的语义组合方式、句子和文档级别的组合方式。Word Embedding构造方法向不同粒度文本数据的扩展是未来研究的方向之一。