【论文阅读】Topical Word Embeddings
《Topical Word Embeddings》
Liu Y, Liu Z, Chua T S, et al. 2015.
Abstract
大多数词嵌入模型通常使用单个向量来表示每个单词,因此这些模型无法区分同音异义和的一词多义的情况。为了增强判别性,我们采用潜在的主题模型为文本语料库中的每个词分配主题,并基于词和主题来学习主题词嵌入(TWE),这样我们可以灵活地获得情景词嵌入,来衡量情景中单词相似性。我们还可以构建文档的向量表示,这比一些广泛使用的文档模型(如潜在主题模型)更具有表现力。在实验中,我们评估TWE模型的两个任务:情景单词相似性和文本分类。实验结果表明,我们的模型比典型的词嵌入(包括基于上下文的词相似度的多种原型版本)表现更好,同时也优于文本分类的潜在主题模型和其他代表性文档模型。
本文的源代码可以从https://github.com/largelymfs/topical_word_embeddings 获取。
Introduction
词嵌入(word embedding),也被称为词表示( word representation),在基于语料库的上下文构建连续词向量中起着越来越重要的作用。词嵌入既能捕捉单词的语义信息,又能捕捉单词的相似性,因此广泛应用于各种IR和NLP任务中。
大多数词嵌入方法都是假定用每个词能够用单个向量代表,但是无法解决一词多义和同音异议的问题。多原型向量空间模型(Reisinger and Mooney 2010)是将一个单词的上下文分成不同的群(groups),然后为每个群生成不同的原型向量。遵循这个想法, (Huang et al. 2012) 提出了基于神经语言模型(Bengio et al. 2003)的多原型词嵌入。
尽管这些模型是有用的,但是多原型词嵌入面临以下几个挑战:(1)这些模型孤立地为每个词生成多原型向量,忽略了词之间复杂的相关性和它们的上下文。(2)在多原型设置中,一个单词的上下文被分成没有重叠的簇,而实际上,一个词的几个意义可能是相互关联的,它们之间没有明确的语义边界。
在本文中,我们提出了一个更加灵活更加强大的多原型单词嵌入框架——主题词嵌入(TWE),其中主题词是指以特定主题为背景的词。TWE的基本思想是,允许每个词在不同的主题下有不同的嵌入向量。例如,“苹果”这个词在食物主题下表示一个水果,而在IT主题下代表一个IT公司。
我们使用LDA(Blei, Ng, and Jordan 2003)来获取单词主题,执行collapsed Gibbs sampling (Griffiths and Steyvers 2004)来迭代地为每个单词令牌分配潜在的主题。这样,给定一个单词序列
TWE-1. 我们将每个主题视为一个伪词(pseudo word),分别学习主题向量和词向量。然后根据向量
TWE-2. 我们将每个单词词-主题对
TWE-3. 我们分别为每个词和每个主题保留不同的嵌入向量,通过连接相应的单词和主题向量来建立每个单词-主题对的向量。
对于这三个TWE模型,TWE-1没有考虑一个单词与其指定的学习主题之间的直接关联。TWE-2通过把单词-主题对视为一个伪词来考虑单词-主题对之间的内在联系,但是它存在稀疏性问题,因为出现的每个单词都被严格的区分为不同的主题。与之相比,TWE-3则在鉴别单词和稀疏性之间进行了平衡。但是在TWE-3的学习过程中,主题嵌入会影响对应的单词嵌入,这可能会导致同一主题中的单词不易辨别。
为了实现TWE模型,我们扩展了最先进的词嵌入模型Skip-Gram(Mikolov et al. 2013)。可以使用TWE模型来计算给定上下文的单词词嵌入,并且可以用词嵌入来表示一个从所有单词的单词-主题嵌入聚合得到的文档。
我们在两个任务上测试我们的模型——情景词相似度和文本分类。实验结果表明我们的模型在情景词的相似度上由于传统的和其他多元型词语嵌入模型,同时在文本分类上也超过了广泛使用的基于主题或基于嵌入向量的文本模型。
主要贡献:
- 将主题融入到基本的词嵌入表示中,并允许由此产生的主题词嵌入在不同语境下获得一个词的不同含义。
- 与分别为每个词建立多原型单词嵌入的模型相比,我们的模型通过利用主题模型来充分利用所有单词和它们的上下文,以此来学习主题词嵌入。
Our Models
Skip-Gram
Skip-Gram是一个众所周知的学习单词向量的框架(Mikolov et al. 2013),如图1(A)所示。Skip-Gram目标是预测滑动窗口中给定目标单词的上下文单词。在这个框架中,每个单词对应一个独特的向量。目标词的向量用来作为预测上下文单词的目标向量。
给定序列
这里的
这里
通过Skip-Gram学习到的词向量可以用于计算词的相似度。单词
正如在Introduction部分所说,我们希望通过引入潜在的主题模型来增强词嵌入的表示能力,在LDA的作用下,根据概率表示
TWE-1
TWE-1目标是分别同时学习到单词和主题的向量表示。对于每个目标词以及它的主题
相比于只利用目标词
情景词嵌入
TWE-1可以用来获得上下文的词嵌入。对于每个词
其中,
情景词嵌入用来计算上下文的单词相似度。给定一个单词对和它们的上下文,即
也可以写成:
其中
我们定义MaxSimC(Reisinger and Mooney 2010)作为AvgSimC的替代。MaxSimC选择最可能的主题
上下文的相似度定义为:
其中,
文档嵌入
在TWE-1中,我们通过聚合文档中每个词的所有主题词向量来表示文档的语义,比如,
TWE-2
主题模型根据语义将词汇分为不同的主题,即同一单词在不同的主题下可能会有不同的含义,因此这些单词在语义空间里应该有鉴别向量。
在TWE-2中,我们将每个单词-主题对
其中,
通过这种方式,TWE-2自然地将一个单词
在TWE-2中,我们通过TWE-1中的公式(4)获得一个单词的上下文词向量,可以用来计算上下文的单词相似度。对于文档嵌入,我们也用TWE-1中相同的思路,通过
TWE-3
由于TWE-2根据每个单词的出现情况将其划分为不同主题,,与Skip-Gram相比,学习向量嵌入可能会遇到更多的稀疏性问题。为了缓解这一问题,我们提出了TWE-3在鉴别多种语义和稀疏性之间做权衡。
与TWE-1相似,TWE-3既有单词向量,也有主题向量。对于每个一个单词-主题对
TWE-3的目标与TWE-2相同,如公式(8)所示。概率
在TWE-3中情景词嵌入和文档嵌入的构造方法与TWE-1相同。
优化及参数估计
在学习TWE模型的过程中我们使用与(Mikolov et al. 2013)中的Skip-Gram相同的优化方案,即随机梯度下降法(SGD)进行优化,使用反向传播算法计算梯度。
在TWE-1中,我们首先使用Skip-Gram学习但词嵌入。然后我们用分配给这个主题的所有单词的平均值来初始化每个主题向量,同时在保持单词嵌入不变的同时学习主题嵌入。
在TWE-2中,我们通过Skip-Gram获得单词向量,用该向量初始化每个主题-单词对的向量,然后学习模型。
在TWE-3中,我们利用Skip-Gram初始化单词向量,使用TWE-1中获得的主题向量,来学习模型。
复杂度分析
在表1中,我们展示了各种模型的复杂度,包括模型的参数数量和计算复杂度。
在Skip-Gram、TWE-1和TWE-2中,我们有
在计算复杂度上,
从复杂度分析可以看出,TWE模型和Skip-Gram相比,需要更多的参数来记录更多词嵌入信息,但是计算复杂度相对增加不多,特别是当前许多主题模型的快速算法都是可用的(Porteous et al. 2008; Smola and Narayanamurthy 2010; Ahmed et al. 2012)。
实验
在本节中,我们对两个任务的相关模型进行了评估,包括上下文的单词相似度和文本分类。然后我们给出了一些用于直观理解的主题嵌入的例子。
上下文单词相似度
评估词嵌入的传统任务是忽略上下文信息计算词相似性,使用标准数据集如WordSim353(Finkelstein et al. 2001)。但是大多数单词的语义高度依赖语境,因此我们使用上下文单词相似度来考察主题词嵌入的有效性。
数据集和实验设置 我们使用(Huang et al. 2012)发布的数据集SCWS用于评估。在SCWS中有2003个单词对和包含这些单词的句子;以及人工标注的单词相似性分数是基于上下文的单词含义得出的。我们通过比较斯皮尔曼相关系数( Spearman correlation)来比较结果。对于TWE模型,两个词之间的相似性使用公式(5)计算。
我们选择了最大的在线知识库——维基百科来学习主题嵌入,采用2010年4月转储版本(Huang et al. 2012)。当使用LDA学习主题设置时,设置
在实验中我们将我们的模型与以下几种模型进行了比较:
- C&W模型(Collobert and Weston 2008): 使用(Collobert and Weston 2008)提出的词嵌入,忽略上下文信息。
-
TFIDF,包括精简的TFIDF和TFIDF-M(*Reisinger
and Mooney 2010*):使用TFIDF加权的窗口为10的上下文单词来表示一个单词。精简的TFIDF通过减少分数低的上下文来提高性能。 - Huang的模型(Huang et al. 2012):通过移出词向量中除top 200单词之外的其他单词来精简方法。
- Tian的模型(Tian et al. 2014):提出了学习多原型词嵌入的概率模型,相比于Huang的模型,其性能相当但效率更高。
-
LDA:LDA-S忽略上下文,使用其主体分布
Pr(z|w)∝Pr(w|z)Pr(z) 来表示每个单词,其中Pr(w|z) 和Pr(z) 可以直接由LDA获得;LDA-C将上下文句子c 和单词w 视为文档,使用单词的上下文的主体分布Pr(z|w,c) 来代表这个单词,并计算单词相似度。 -
Skip-Gram:忽略上下文仅使用词向量来计算相似度,维度
K=400 。
在这些模型,C&W、TFIDF、精简的TFIDF、LDA-S、LDA-C和Skip-Gram是单原型模型,精简的TFIDF-M、Huang、Tian的模型是多原型模型。
结果评估 在表2,我们展示了SCWS数据集上各种模型的评估结果。对于所有的多原型模型和TWE模型,我们使用AvgSimC和MaxSimC来报告评估结果。结果如下表:
TWE模型的表现优于所有其他模型,其中TWE-1表示最好。这表明TWE模型可以有效地利用潜在话题名进行话题嵌入。
对于多原型模型,当使用MaxSimC进行计算时,TWE模型明显由于其他基准模型。TWE模型可以更精确地通过挑选最可能的主题词嵌入来表示上下文单词的语义。这表明TWE模型具有以下两个优点:(1)在大多数原型模型中,每个单词通常具有数量有限的原型,而TWE通过利用潜在的主题模型,在主题空间(通常是数百个维度)中区分单词语义。(2)大多数原型模型分别为每个单词建立多个原型,忽略了单词之间的相互作用和上下文。采用主题模型后,我们可以通过上下文来区分单词语义。
三个TWE模型的表现反应了其特点:
(1)使用AvgSimC时,TWE-2与TWE-1相当,但使用MaxSimC时TWE-2效果较差。我们猜想原因是使用MaxSimC时,TWE-2在学习每个单词-主题的不同嵌入时导致的稀疏性问题。
(2)TWE-2的性能在TWE-1和TWE-3之间。原因是在TWE-3的学习过程中,主题嵌入会影响词嵌入,使得主题-词嵌入在一个主题下的区分性较小。
文本分类
我们使用文本分类进行文本建模从而考察TWE模型的效果。
数据集和实验设置 多类文本分类在NLP和IR中是一个很好的研究问题。在本文中,我们在数据集20NewsGroup上进行实验。20NewsGroup包括20个不同的新闻组共约20000个文档。我们计算了宏观的平均precision、recall、F-measure进行比较。
对于TWE模型,我们在数据集上使用LDA学习主题模型,设置主题数量
我们考虑了以下几种基准:词袋(BOW)模型,LDA,Skip-Gram和段落向量(PV)模型(Le and Mikolov 2014)。其中,BOW模型将每个文档作为一个词袋,并使用TFIDF值作为权重,对于TFIDF,我们根据其值选择前50000的词作为特征;LDA将每个文档表示为其潜在的主题分布,这里我们使用TWE模型中的LDA;在Skip-Gram中,我们通过对文档内所有单词嵌入向量取平均来构建文档的嵌入向量,维度也设置为400;段落向量模型是最近提出的文档嵌入模型,包括分布是内存模型(PV-DM)和分布式词袋模型(PV-DBOW)。PV模型实现了情感分类的功能(Le and Mikolov 2014),但是还没有公布源码。doc2vec提供了在线接口,我们发现其性能比我们的要差,因此只展示结果以做对比。
结果评估 表3展示了在数据集20NewsGroup上进行文本分类的结果评估。我们可以发现TWE-1表现最好,尤其是在主题模型和嵌入模型上。这说明了我们的模型可以精确的捕捉文本的语义信息,而且与BOW模型相比,TWE模型在这种情况下能够把文档特征降低了99.2%。
在三种TWE模型中,最简单的TWE-1模型取得了最好的性能。TWE-1中采用独立性假设可能是表现更好的原因,另外,20NewsGroup数据集较小,我们猜测提供更多数据时TWE-2和TWE-3性能可能会有所提升。未来我们将进行更多实验。
主题-词嵌入的例子
为了表现TWE模型的特点,我们选择了一些单词以及使用TWE模型获得的在不同主题下最相似的词。
在表格4中,我们展示了和”bank” “left”和”apple”最相似的词。对于每个单词
由表4我们可以观察到,Skip-Gram得到的相似词把喊了给定词的不同语义,这说明Skip-Gram将单词的多个语义组合成唯一嵌入向量,而TWE可以通过主题词嵌入成功识别多个主题下单词的语义。
Related Work
IR和NLP任务的关键取决于文本表示(text representation),而文本表示的基础是字表示(word representation)。
词嵌入面临的最关键的挑战就是能否考虑单词之间的语义和句法关系。one-hot word representation方法将每个单词表示为一个非零向量,其被广泛用作词袋(BOW)文档模型的基础(Manning, Raghavan, and Sch¨utze 2008)。
- 词嵌入(Rumelhart, Hintont, and Williams 1986)
- 词嵌入用于语言模型(Bengio et al. 2006; Mnih and Hinton 2008)
- 词嵌入用于命名实体识别(Turian, Ratinov, and Bengio 2010)
- 词嵌入用于消除歧义(Collobert et al. 2011)
- 词嵌入用于解析(Socher et al. 2011; 2013)
词嵌入可以将单词的句法和语义信息编码成连续向量,相似的单词在向量空间中位置相近。但是由于计算复杂度高,以前的词嵌入都是耗时的。(Mikolovs. et al. 2013)提出了两种有效的模型,Skip-Gram和连续词袋模型(CBOW)来从大规模文本语料库中学习词嵌入。CBOW的训练目标是结合上下文的词嵌入来预测目标词,而Skip-Gram则是使用每个目标词的嵌入来预测其上下文词。
之前的词嵌入模型针对每个词只有唯一的向量表示,无法区分多种语义,因此研究人员提出了多原型模型(multi-prototype models):
- 多原型向量空间模型(Reisinger and Mooney 2010),将每个目标词的上下文分组,为每个分组构建上下文向量。
- (Huang et al. 2012)将上下文聚合,每个聚类产生一个唯一的原型嵌入。
- 概率模型(Tian et al. 2014)
- 双语模型(Guo et al. 2014)
- 非参数模型(Neelakantan et al. 2014)
Conclusion and Future Work
本文中我们提出了三种主题词嵌入模型,用来进行上下文的词嵌入和文档嵌入。我们在两种任务上评估了我们的模型:基于语境的词相似度和文本分类。实验结果表明我们的模型,尤其是TWE-1在词相似度任务中表现的最好,在文本分类中也具有不错的表现。
我们从以下几方面考虑未来的研究方向:
- 在LDA中,主题数量需要预定确定。交叉验证(Cross-validation)可以用来找到合适的主题数,但是不适用于大规模的数据。我们将探讨非参数主题模型(Teh et al. 2006)的主题嵌入。
- 还有很多知识库时可用的,如WordNet(Miller 1995),含有丰富的同音异义和多义词的语言知识。我们可能会探索将这些先验知识整合到主题词嵌入中的技巧。
- 文档中通常包含其他信息,如分类标签。超链接和时间戳。我们可以将这些信息用于学习更具代表性的主题模型(Mcauliffe and Blei 2008; Zhu, Ahmed, and Xing 2009; Lacoste-Julien, Sha, and Jordan 2009),增强主题词嵌入。