VCWE

Abstract

汉语是一种象形文字,汉字的形状蕴含着丰富的句法和语义信息。在本文中,我们提出了一个通过三个层次的组合来学习汉语单词嵌入的模型:(1)利用卷积神经网络从字符视觉形状中提取字符内部成分;(2)基于自注意的递归神经网络将字符表示转化为词嵌入;(3)直接从语境信息中捕捉非位置性的Skip-Gram框架。评估表明,我们的模型在四个任务上表现出色:单词相似性、情感分析、命名实体识别和词性标注。

源码:https://github.com/HSLCY/VCWE

1. 简介

单词的分布式表示,即单词嵌入,将语义和句法信息编码成一个密集的向量。目前,词嵌入在许多自然语言处理任务中起着举足轻重的作用。

大多数自然语言处理任务也受益于预先训练的单词嵌入,如word2vec (Mikolov等人,2013a)和GloV e(Penington等人,2014),它们基于分布假设(Harris,1954):出现在相同上下文中的单词往往具有相似的含义。

早期的词嵌入往往以一个词为基本单位,忽略了词素和字符n-gram等子词信息的组成,不能很好地处理稀有词。

为了提高单词嵌入的性能,使用了子单词信息(Luong等人,2013;邱等,2014;曹与Rei,2016;孙等,2016aWieting等人,2016年;Bojanowski等人,2016年)。

组成性对汉语来说更为重要,因为汉语是一种符号书写系统。在汉语中,每个单词通常由更少的字符组成,每个字符也包含更丰富的语义信息。比如汉字”休“(rest)由以下字符组成”人“(Person)和”木”(Tree),意图是某人靠在树上,即休息。

基于汉语的语言特征,最近的方法已经使用字符信息来改进中文单词嵌入。这些方法可以分为两种:

  • 一种方法是学习单词嵌入及其构成特征(陈等,2015),部首(施等,2015;尹等,2016;Y u等人,2017年)或笔画(strokes)(曹等人,2018年)。然而,这些方法通常使用简单的操作,如平均和n-gram,来模拟单词内固有的组成性,这不足以处理复杂的语言组成性。
  • 另一种方法是用字符的视觉信息学习单词嵌入。刘等(2017)在文本分类任务中基于视觉特征学习字符嵌入。苏和李(2017)还介绍了一种基于像素的模型,从字体图像中学习字符特征。然而,他们的模型并没有显示出比word2vec模型更好,因为它几乎没有灵活性和固定的字符特性。

此外,这些方法大多不注重非组合性。例如,汉语“沙发”的语义,不能由其字符“沙”和“发”组成。

本文充分考虑了中文词语的组合性和非组合性,提出了一种视觉特征增强的词语嵌入模型来学习中文词语嵌入。VCWE通过三级组合学习中文单词嵌入:

  • 第一个层次是学习字符内部组成,通过卷积神经网络从每个字符的视觉外观获得其表示;
  • 第二个层次是学习字间组合,其中一个双向长短期神经网络(Bi-LSTM)(Hochreiter和Schmidhuber,1997)自我注意地将字符表征组合到单词嵌入中;
  • 第三个层次是学习非组合性,我们可以学习上下文信息,因为我们的模型的总体框架是基于Skip-gram的。

实验结果表明,该模型在词语相似度、情感分析、命名实体识别和词性标注四个任务上具有较好的性能。

2. 相关工作

在过去的十年中,关于嵌入词有很多研究。 Bengio等人(2003)使用前馈神经网络语言模型来预测其历史记录的下一个单词。后来的方法(Mikolov等人,2010年)用递归神经网络代替前馈神经网络进行进一步探索。最流行的单词嵌入系统是word2vec,它使用连续词袋模型和Skip-gram模型,并结合负抽样进行有效的条件概率估计(Mikolov等人,2013a)。

另一种学习单词嵌入的方法是通过对单词共现矩阵进行因子分解,例如GloVe嵌入(Pennington等人,2014年),这已被证明与Skip-gram和负抽样(Levy和Goldberg,2014)有内在联系。

上述模型是流行和有用的,但它们将单个词视为原子表征,忽略了词的潜在有用的内部结构信息。为了提高词嵌入的性能,采用了子词信息(Luong等人,2013年;邱等人,2014;Cao和Rei,2016;Sun等人,2016a;Wieting等人,2016;Bojanowski等人,2016)。这些方法侧重于字母书写系统,但它们并不直接适用于标识书写系统。

对于拼音文字系统,汉语嵌入研究逐渐兴起。这些方法着重于充分利用子词信息的发现。陈等(2015)设计了一个联合学习汉字和词嵌入的模型。在模型的基础上,尹等人(2016)提出了一个多粒度嵌入(multi-granularity embedding,MGE)模型,另外使用了与在目标词中检测到的部首相关联的嵌入。徐等人(2016)提出了一种基于相似性的特征增强的词嵌入(SCWE)模型,利用一个词与其组成词之间的相似性以及从其他语言获得的语义知识。石等(2015)利用部首信息改进中文词嵌入。Yu等人(2017)引入联合学习单词嵌入(JWE)模型和曹等人(2018)将中文单词表示为笔画序列,并使用笔画n元语法信息学习单词嵌入。

从另一个角度看,刘等人(2017)提供了一种自动提取字符级别特征的新方法,为字符创建图像并通过卷积神经网络运行以产生视觉字符嵌入。Su和Lee(2017)还引入了一种基于像素的模型,从图像中学习字符特征。

中文单词嵌入最近开始了探索,到目前为止已经显示出很大的前景。本文提出了一种视觉字符增强单词嵌入(VCWE)模型,该模型可以从语料库和字符图像中学习中文单词嵌入。该模型结合了上下文的语义信息和字符的图像特征,在多个基准测试中表现出较好的性能。

3. 提出的模型

在本节中,我们介绍了汉字表示的视觉特征性词嵌入(VCWE)模型。

给定由$n$个字符$c_1,\cdots,c_n$ 组成的词语$w$,它的语义可能来自其包含的字符或其上下文。因此,我们使用两级层次合成法来合成单词Embedding,并根据其上下文进一步学习。我们方法的总体架构如图1所示。

image-20210616141821851

我们首先利用卷积神经网络(CNN)对字符的视觉形状信息进行建模。我们使用CNN的输出作为字符的嵌入。然后将字符嵌入作为双向LSTM网络的输入,对字符间的组合性进行建模。经过自注意力层,我们可以得到单词的表征。最后,在Skip-Gram框架的基础上,通过视觉字符增强的上下文嵌入来学习单词嵌入。

3.1 字符内的组成

由于汉字的形状提供丰富的语法和语义信息,因此字符的表示可以由其内部视觉组件组成。在卷积神经网络(CNN)的成功之后(Lecun等,1995)在计算机视觉中,我们使用CNN直接从其图像中建模字符的自然构成。

我们首先将每个字符转换为大小40×40的图像,深度CNN用于完全融合其视觉信息。CNN的具体结构如图1(A)所示,它由两个卷积层和一个线性层组成。每个卷积层之后是最大池化层和批归一化层。低层的目的是捕捉笔画级别的信息,高层的目的是捕捉部首级和组件级的信息。

CNN的输出可以看作是字符形象的再现。汉字的视觉信息表征可以充分捕捉其内在的句法和语义信息,具有字内组合性。

CNN的参数是通过端到端的反向传播学习的。

3.2 字符间的构成

在获得字符的表示后,我们将它们组合到单词嵌入中。单词嵌入需要充分捕获字符级的组合性。在这里,我们使用具有自注意的双向LSTM (Bi-LSTM) (Hochreiter和Schmidhuber, 1997)来融合单词的字符间信息。

我们的具有自注意的Bi-LSTM结构如图1(b)所示。

给定由$n$个字符$c_1,\cdots,c_n$组成的词$w$,我们使用$e_1,\cdots,e_n$代表字符表示,它们是CNN的输出,而不是随机初始化的。

单词$w$首先使用BiLSTM编码:
$$
\begin{aligned}
\mathbf { h } _ { i } ^ { F } & = \operatorname { LSTM } \left( \mathbf { h } _ { i - 1 } ^ { F } , \mathbf { e } _ { i } \right) &(1) \
\mathbf { h } _ { i } ^ { B } & = \operatorname { LSTM } \left( \mathbf { h } _ { i + 1 } ^ { B } , \mathbf { e } _ { i } \right) &(2)\
\mathbf { h } _ { i } & = \left[ \mathbf { h } _ { i } ^ { F } ; \mathbf { h } _ { i } ^ { B } \right] &(3)\
H & = \left[ \mathbf { h } _ { 1 } , \mathbf { h } _ { 2 } , \ldots , \mathbf { h } _ { n } \right] &(4)
\end{aligned}
$$
这里,$h_i$是$w$中的第$i$个字符的隐藏状态。

然后,我们利用自注意力机制来获得字符间的组合性。根据(Lin et al., 2017)提出的自注意力,我们计算注意力向量$α$:
$$
\alpha = \operatorname { softmax } \left( \mathbf { v } \tanh \left( U \mathbf { h } _ { i } ^ { \mathrm { T } } \right) \right) \tag{5}
$$
其中,$\mathbf{v},U$是可学习的权重参数。

最终,词$w$的表示如下所示:
$$
\mathbf { m } = \sum _ { i = 1 } ^ { n } \alpha _ { i } \mathbf { h } _ { i } \tag{6}
$$
由于Bi-LSTM中每个字符的隐含状态因上下文的不同而不同,我们认为隐含状态可以同时捕获单词内字符的构成关系和非构成关系

在获得单词表示后,使用Skip-Gram (Mikolov et al., 2013a)学习带有上下文信息的单词嵌入。跳过gram是一种有用的词汇向量学习框架,它的目的是预测给定一个目标词在句子中的上下文单词。

给一对单词$(w,c)$,我们使用$p(c|w)$表示单词$c$在目标词$w$上下文中被观察到的概率。

在负抽样方法下,Skip-gram将概率$p(c|w)$表示为:
$$
p ( D = 1 \mid w , c ) = \sigma \left( \mathbf { w } ^ { \mathrm { T } } \mathbf { c } \right) \tag{7}
$$
其中$\mathbf{w},\mathbf{c}$分别为$w$和$c$的嵌入向量,σ为sigmoid函数。

在$w$上下文中没有看到单词$c$的概率是:
$$
p ( D = 0 \mid w , c ) = 1 - \sigma \left( \mathbf { w } ^ { \mathrm { T } } \mathbf { c } \right) \tag{8}
$$

4. 训练

4.1 目标函数

给定目标词$w$,其上下文词$c$和$k$个负样本词$\tilde { c } _ { 1 } , \ldots , \tilde { c } _ { k }$。 词$w$是从语料库中的某个句子中选取的单词,上下文$c$是窗口大小为$l$的邻近词。负样本属于$\tilde{c}$指在词汇表中以一定频率随机采样的词汇。

VCWE模型的损失函数如下:
$$
\begin{array} { c }
L = L _ { 1 } + L _ { 2 } &(9) \
L _ { 1 } = \log \sigma \left( \mathbf { w } ^ { \mathrm { T } } \mathbf { c } \right) + \sum _ { i = 1 } ^ { k } \log \sigma \left( - \mathbf { w } ^ { \mathrm { T } } \tilde { \mathbf { c } } _ { i } \right) &(10) \
L _ { 2 } = \log \sigma \left( \mathbf { w } ^ { \mathrm { T } } \mathbf { m } _ { c } \right) + \sum _ { i = 1 } ^ { k } \log \sigma \left( - \mathbf { w } ^ { \mathrm { T } } \tilde { \mathbf { m } } _ { i } \right) &(11)
\end{array}
$$
其中$\mathbf{w}$是目标词的lookup embedding;$\mathbf{c},\tilde{\mathbf{c}}_i$分别是背景词和负样本词的lookup embedding;$\mathbf{m}_c,\tilde{\mathbf{m}}_i$分别是语境的视觉增强词嵌入和负样本词嵌入。

本文采用视觉增强词嵌入代替目标词作为上下文词的表示。最终目标词的嵌入受到视觉信息的间接影响。因此,最终的词嵌入具有充分利用CNN的字符内组合性、LSTM的字符间组合性和Skip-gram的上下文信息的优点。

4.2 词抽样

我们使用类似于word2vec中实现的单词采样方案(Mikolov et al., 2013a,b)来平衡频繁单词和罕见单词的重要性。常用的词,“的”,“是”,“这”在意义上不如一些低频词比如“猫”,“喜欢”,“水果”。

为了提高单词嵌入的性能,当在生成batch时,我们使用二次抽样(Mikolov等人,2013b)来丢弃概率为$P ( w ) = 1 - \sqrt { \frac { t } { f ( w ) } }$的单词,其中$f(w)$是单词$w$的频率,$t$是选择的阈值,通常为$10^{-5}$。

为了生成负样本词,我们根据分布$P ( w ) \propto U ( w ) ^ { \frac { 3 } { 4 } }$对每个词w进行采样,其中$U(w)$是单字分布,即单字在语料库中出现的频率。这种方法在降低高频词的出现频率方面也起到了一定的作用。

5. 实验

5.1 为训练数据的准备工作

我们于2018年5月20日下载了中文维基百科转储,其中包含27.8k篇中文维基百科文章。我们使用WikiExtractor工具包将数据从XML转换为文本格式。我们发现语料库由简体字和繁体字组成。因此,我们使用opencc工具包将所有字符规范化为简体中文。我们通过保留Unicode落在0x4E00和0x9FA5之间的字符来删除非中文字符,如标点符号。我们使用THULAC(Sun等人,2016b)进行分词。

我们丢弃了出现次数不到100次的单词,获得了66,856个词汇表。我们统计每个词的出现频率,为下一步的抽样工作做准备。在总共66,856个词中,我们提取了5030个独特的字符。我们使用汉字图像生成软件来生成这些汉字的图像。我们从每个输入图像中减去平均图像以将其驻留在将其送入CNN之前。预处理的汉字图像如图2所示。

image-20210616153345428

5.2 超参数

除非另有说明,否则用于评估的模型,$D=100$,上下文窗口$l=5$。我们使用阈值$t=10^{−5}$进行次采样,这是对大数据集的word2vec Skip-gram(Mikolov等人,2013a)的推荐值。每个字的负样本数为5。

我们使用小批量异步梯度下降与Adam(Kingma和Ba,2014)。最初的学习率为0.001。

5.3 基线

我们将我们的模型与以下开源最先进的模型进行比较:

  • Word2vec(Mikolov等人,2013a)可以说是最流行的单词嵌入,它使用连续词袋(CBOW)和跳过语法模型。我们用Skip-gram和CBOW模型训练word2vec。我们没有训练Glove(Pennington等人,2014年),因为它在之前的许多中文单词嵌入论文中表现不佳。
  • CWE(Chen等人,2015)是一种字符增强型单词嵌入,它将内部字符信息引入到单词嵌入方法中,以减轻对外部信息的过度依赖。
  • Gwe(Su and Lee,2017)是一个基于像素的中文单词嵌入模型,它通过卷积自动编码器利用字体图像中的字符特征。
  • JWE(Yu等人,2017)是一个联合学习汉字、汉字和子汉字部件嵌入的模型。

为了公平比较不同算法,我们使用相同的语料库和前面小节中提到的相同的超参数。

5.4 词相似度任务

我们在Chen等人提供的中文单词相似度数据集wordsim-240和wordsim-296上对我们的嵌入进行了评估。此外,我们还翻译了两个英文单词相似度数据集MC-30和RG-65翻译成中文。每个数据集包含一个单词对列表,具有如何相关或相似的人为分数。

我们计算标签和嵌入的分数之间的Spearman相关(Spearman,1904)。Spearman相关是一种基于秩的相关度量,评估分数的描述如何描述真正的标签。我们的模型和基线方法在字相似度数据集的评估结果如表1所示。

image-20210616154405326

从结果可以看出,VCWE的性能优于其他基准模型。CBOW比Skip-gram的效果要好得多。GWe和CWE的影响相对较近。JWE模型比其他基准模型工作得更好。在VCWE模型中,当我们去掉CNN和图像信息时,结果下降了2.91。当我们用平均化操作代替Bi-LSTM网络和自我注意时,结果下降了1.42。

在最后一节中,我们将对不同模型的词相似度结果进行定性分析。

5.5 情感分析任务

为了评估我们的向量在语义方面的质量,我们使用了彭等人(Peng等人,2018年)收集的数据集,其中包含四个领域的中文评论:笔记本、汽车、相机和手机。他们手动将每个方面目标的情绪极性标记为积极或消极。这是一个二分类任务。类似于我们处理训练数据的方式,我们去除了非中文字符,并使用THULAC进行中文分词。我们用具有自我注意的双向LSTM(Hochreiter和Schmidhuber,1997)网络构建分类器(Lin等人,2017年)。我们使用标准的训练/开发/测试拆分,并使用表2中不同方法生成的不同嵌入来报告准确性。

image-20210616154915154

如表2所示,Skip-gram在四个组的组合上表现良好,但在特定组的工作中表现不佳。JWE超过其他基线方法约1.1个百分点。VCWE模型在汽车、相机和手机类别中取得了突出的成绩,准确率比其他模型至少高3个百分点,表明这种具有视觉字符级特征的单词嵌入训练方法可以在下游任务上取得更好的效果。

5.6 命名实体识别任务

pass

5.7 词性标注任务

pass

5.8 定性分析

为了更好地理解每个模型的学习单词嵌入的质量,我们通过在表4中做一些案例研究来进行定性分析,以说明在不同方法下特定目标单词的最相似单词。

明确地说,我们给出了与我们的目标词最相似的前10个词。基于使用所学习的嵌入计算的余弦相似度来检索相似单词

我们考虑的第一个示例单词是“唐 诗”。它指的是在中国唐朝时期或前后写的诗,或以中国唐朝特有的风格写的诗。

由GWE确定的所有排名靠前的单词都包含字符“唐“和”诗”,但除了唐朝,”唐“也有姓等其他含义。GWE产生了几个词,如“唐 璜”,”唐寅”,”唐僧“和”唐 括”,这些词在语义上似乎与目标词不接近。

在Skip-gram和JWE中,某些单词,如“佚”和“古今”,在语义上似乎与目标单词没有非常密切的关系。

在我们的VCWE模型中,所有排名靠前的词在语义上都与目标词相关,包括诗歌体裁、唐代诗人等。


我们选择“沙发”作为第二个目标词。和前两个词一样,GWE只关注“沙”这个字。Skip-gram和JWE有一些不相关的词,比如“电话亭”和“广告牌”。

VCWE更加关注非组合性,且结果优于其他模型。

限于表格的宽度,我们没有展示CWE模型的结果。GWE模型的结果与CWE模型相差不大,说明GWE预训练获得的图像特征可能不起决定性作用。

但是,我们的模型不预先训练图像信息,而是联合训练和动态更新图像特征信息,效果更好。JWE模型与Skip-gram模型的相似之处在于它们更多地关注上下文信息,但有时模型会得到一些不相关的单词。

image-20210616155846435

6. 讨论

与音标不同,徽标有独特的单词和词组含义。汉字图像蕴含着丰富的语义信息。由于标志语言与图像的联系比字母语言更紧密,因此挖掘这些图像的特征是有意义的。刘等人(2017)提供了一种自动提取字符级特征的新方法,为字符创建图像并通过卷积神经网络运行以产生视觉字符嵌入。但是,该方法没有充分利用上下文词丰富的语义信息。该模型既提取了图像特征,又提取了上下文语义信息。

Su和Lee(2017)引入了一种基于像素的模型,该模型从字体图像中学习字符特征。然而,他们使用卷积自动编码器(卷积自动编码器)预先提取图像特征,然后将这些特征添加到CWE(Chen等人,2015)模型中。最后,该模型的效果与CWE相差不大。我们的模型是端到端模型。在训练过程中,我们对图像的特征参数进行了实时更新,取得了比GWE模型更好的效果。

我们的研究重点是简体中文单词嵌入,这一思想也可以应用于其他具有相似书写系统的语言,如繁体中文、日语等。

7. 总结与下一步工作

在本文中,我们提出了一种基于像素的模型来学习中文单词的嵌入,其中的字符嵌入在汉字的部件中。我们利用汉字的视觉特征来增强单词的嵌入性。实验结果表明,该模型在词语相似度、情感分析、命名实体识别和词性标注等方面均优于基线模型。

综上所述,我们对基于像素的单词嵌入方法进行了优化,使模型端到端,充分利用了上下文信息。在未来,我们希望将我们的模型应用到其他下游任务和其他徽标书写系统中。

作者

bd160jbgm

发布于

2021-06-16

更新于

2021-06-16

许可协议