【2015】CWE:字符嵌入和词嵌入的联合学习(Joint Learning of Character and Word Embeddings)

文章目录

  • 摘要
  • 引言
  • 模型
    • CBOW
    • 字符增强的词嵌入
    • 多原型字符嵌入
      • 基于位置的字符嵌入
      • 基于集群的字符嵌入
      • 基于非参数集群的字符嵌入
    • 2.5 初始化和优化
    • 单词选择
  • 3 实验和分析
  • 结论

论文链接: Joint Learning of Character and Word Embeddings
来源:IJCAI-15
代码:

摘要

大多数的词嵌入方法都是以词为基本单位,根据词的外部语境来学习词的嵌入,忽略了词的内部结构。然而,在一些语言中,如汉语,一个词通常是由几个汉字组成的,包含了丰富的内部信息。一个词的语义也与它的组成字的意义有关。因此,我们以中文为例,提出了一种字符增强的词嵌入模型。为了解决汉字歧义和非组成词的问题,我们提出了多原型字符嵌入和一种有效的选词方法。我们评估了CWE在词语相关度计算和类比推理方面的有效性。结果表明,CWE优于其他忽略内部字符信息的基准方法。

引言

作为文本表示的基础,词表示的目的是将词表示为一个向量,既可以用来计算词之间的语义关系,也可以作为词的特征提供给机器学习系统。
许多自然语言处理任务通常采用一个one-hot向量表示,即每个词都被表示为一个词汇量向量,只有一个非零条目。由于其简单性,one-hot表示在NLP和IR中被广泛采用,作为BOW (bag-of-word)文档模型的基础[Manning等人,2008]。单一热点表征法最关键的缺陷是,它没有考虑到词语之间的任何语义关联。
分布式词表示(Distributed word representation),也称为词嵌入(word embedding),最早是在[Rumelhart et al., 1986]提出的。词嵌入将一个词的语义编码成一个实值的低维向量。近年来,词嵌入技术取得了重大进展,被广泛应用在自然语言处理任务,
现有的词嵌入模型训练过程计算复杂度较高,不能有效地用于大规模文本语料库。
本文认为汉语是一种典型的语言。在此基础上,提出了一种新的字符和词嵌入的联合学习模型——字符增强词嵌入模型(CWE)。在CWE中,我们学习并保持单词和字符的嵌入在一起。CWE可以很容易地集成到词嵌入模型中,基于CBOW的CWE框架之一如图1(B)所示,将词嵌入(图中的蓝框)和字符嵌入(绿框)组合在一起得到新的嵌入(黄框)。
【2015】CWE:字符嵌入和词嵌入的联合学习(Joint Learning of Character and Word Embeddings)_第1张图片
CWE的框架似乎是对其他词嵌入模型的简单扩展。然而,将中文字符引入到嵌入词的学习中却面临着一些困难。(1)与词语相比,汉字的歧义性要大得多。一个字符可能在不同的词语中有不同的重要性和语义。仅用一个向量表示一个字符是不够的。(2)并非所有的汉语单词都是语义构成的,如音译词。对字的考虑会影响字和字的嵌入质量。
在本文中,我们将采取以下方法来应对这些挑战。(1)提出了多原型字符嵌入。我们获得一个字符的多个向量,对应于该字符的各种含义。我们提出了几种可能的多原型字符嵌入方法:基于位置的方法、基于聚类的方法和非参数方法。(2)预先识别非构成词并建立单词表。然后我们把这些词作为一个整体来看待,而不再考虑它们的字符。
在实验中,我们使用词语相关度和类比推理任务来评估CWE的性能以及包括CBOW、Skip-Gram和GloVe在内的基线[Pennington等人,2014]。结果表明,通过成功地利用字符嵌入增强单词嵌入,CWE的性能明显优于所有基线。
注意,我们的方法在以下两方面有很大的扩展性(1)如本文所示,它可以很容易地集成到各种词嵌入方法中,包括神经网络模型框架(CBOW和Skip-Gram)和矩阵分解模型框架(GloVe),并取得了较大的改进。(2)我们的方法也适用于各种语言中含有丰富的内部信息,需要处理歧义问题的语言。

模型

我们将以CBOW为例,演示基于CBOW的CWE框架。

CBOW

字符增强的词嵌入

多原型字符嵌入

基于位置的字符嵌入

基于集群的字符嵌入

根据多原型字符嵌入方法,我们也可以简单地根据字符的上下文对字符的所有共现进行聚合,并形成字符的多个原型

基于非参数集群的字符嵌入

上述硬聚类分配类似于k-means聚类算法,它为每个字符学习固定数量的聚类。这里我们提出了一种基于聚类的字符嵌入的非参数版本,它为每个字符学习不同数量的聚类。遵循在线非参数聚类算法的思想[Neelakantan et al., 2014],一个字符的聚类数量是未知的,并在训练过程中学习。
为了防止非构词词的干扰,我们提出在学习非构词词的时候不考虑字符,而同时学习其他词的词和字的嵌入。我们只需手动构建一个关于音译词的单词列表,并执行中文词性标记以识别所有实体名称。单词素词几乎不影响建模,因为它们的字符通常只出现在这些词中,没有特别处理。

2.5 初始化和优化

我们采用与[Mikolov et ., 2013]中使用的CBOW相似的优化方案,使用随机梯度下降(SGD)对CWE模型进行优化。梯度的计算使用反向传播算法。

单词选择

汉语中有许多词并没有表现出由汉字构成的语义成分。包括:(1)单词素的多字符词:例如“琵琶”、“徘徊”,很难在其他词中使用(2)音译词,例如“沙发”、“巧克力”,主要表现为语音成分。(3)许多实体名称,如人员名称、位置名称和组织名称。

3 实验和分析

结论

本文将内部字符信息引入到词嵌入方法中,以减轻对外部信息的过度依赖。我们提出的字符增强的词嵌入框架(CWE),它可以很容易地集成到现有的词嵌入模型包括CBOW Skip-Gram和GloVe。在词语相似度计算和类比推理的实验,我们已经表明,用人的字符嵌入可以持续和显著提高词的质量嵌入。这表明,在像汉语这样的语言中,考虑单词表示的内部信息是必要的。
我们未来的工作方向如下:(1)提出了一种基于词与字之间语义组合的加法运算。基于矩阵或张量的语义组合模型,我们可以探索更复杂的组合模型,从字符嵌入中建立词嵌入。这将使CWE具有更强大的内部字符信息编码能力。(2) CWE可以学习为一个单词中的字符分配不同的权重。(3)本文设计了一种简单的非构成词选择策略。在未来,我们将探索关于单词的丰富信息来建立一个用于选择的词分类器。

你可能感兴趣的:(短文本分类,自然语言处理)