A Joint Model for Word Embedding and Word Morphology #PaperWeekly#

大家端午节快乐!本文将分享一篇关于词向量模型最新研究的文章,文章于6月8号提交到arxiv上,题目是A Joint Model for Word Embedding and Word Morphology,作者是来自剑桥大学的博士生Kris Cao

本文最大的贡献在于第一次将词形联合词向量一同进行训练,从某种程度上解决了未登录词(OOV)的词向量表示问题,同时也得到了一个效果不错的词形分析器。

介绍本文模型之前先简单介绍下本文中采用的词向量训练方法,skip-gram with negative sampling(SGNS)。这个方法是word2vec中的一种方法,大概的思路是可参见下图:

通过用dog这个词来预测其上下文,比如cute、fluffy、barked、loudly,为了更快地收敛,增加负样本,即图中的bicycle和Episcopal这两个与dog无关的词。skip-gram的思路就是通过word来预测上下文context,而negative sampling则是根据当前词构造出一些与之无关的词,作为负样本加速收敛。

接下来介绍本文的模型Char2Vec,将字符作为最小的单元进行研究,因为对于字符这个层次来说,并不会出现OOV词的情况。具体看下图:

在每个单词的首和尾分别添加符号^和$作为标记,将词看作是一个字符序列。在这个序列上用一个正向LSTM和一个反向LSTM得到两组hidden state,每个位置上的字符都对应着两个hidden state,将其拼接起来,然后用一个单层前馈神经网络进行处理,得到该位置上的hidden state,记为h(i)。有了每个字符的表示,接下来用attention机制来构造出词的表示,即学习一个权重系数,来表明这个词的语义与哪个h(i)关系更大,一般来说词干所在的h(i)权重会大一些,词前缀或者后缀并不能表示语义,所以权重会小很多。见下图:

图中的单词malice、hatred、greed会与序列中的词干spit、spite,前缀^、后缀ful关系就会紧密一些,而与其他错误的字符串关系不大。

通过attention model我们得到了词向量f(w)。剩下的过程就是用skip-gram with negative sampling来训练词向量了。先前的工作都是用lstm处理字符序列来表示整个单词向量,本文并没有这样做,而是将直接使用attention model来获取每个h(i)中的信息,包括一个正向的lstm和反向的lstm,正向的lstm包含了词干和词前缀,反向的lstm包含了词后缀。当我们处理未知的词时,可以将这个词分解为已知的部分和未知的部分,这个模型就可以通过已知的部分来预测整个词的词向量,因此解决了OOV的问题。

实验中测试了该模型的词形分析的能力,尤其是在单词词形很丰富(包括词干、前缀、后缀)的情况下,效果优于一些成熟的分词器。看下图:

在词向量效果测试中,本文模型在semantic测试中表现很差,但在syntactic测试中表现非常好。看下图:

看得出来本文模型的优势非常明显,优势在于解决了大量处于长尾尾端的合成词的词向量表示问题,通过用未知词的已知部分(词干)来预测该词的词向量,从而解决了word2vec等一系列前人工作中未解决的问题,在英语语境中效果可能没那么好,如果换作是德语或者土耳其语这种词形非常丰富的语言会有更好的效果。在整个任务评测中,可以更好地解决syntactic相似问题,因为引入了词形这个feature可以很好地解决syntactic任务;而在semantic任务中却表现非常差,原因是char-level的词向量模型在捕捉语义上效果本身就不如word-level的模型。可以说,本文在传统词向量模型的基础上考虑加入feature来提升性能,是一种非常积极的尝试,虽然并没有在方方面面上都得到改善,但毕竟是一个探索性的、且非常有意义的工作,值得学习。

工具推荐

RSarXiv 一个好用的arxiv cs paper推荐系统 网站地址 ios App下载:App Store 搜索rsarxiv即可获得

PaperWeekly,每周会分享N篇nlp领域好玩的paper,旨在用最少的话说明白paper的贡献。