Introduction
这篇文章提出了一个叫做AutoExtand的方法,来运用其他的信息来增强word embedding的性能。用于学习用来表示synsets和lexemes。用于一些公开的知识库上,比如WordNet, Wikipedia和Freebase。
synset是指一个词语集合,这里面的词可以在一定的条件下相互替换。lexeme会将一个特定的拼写和发音和一个特定的意思匹配在一起。也就是一个词会和一个synset匹配起来。
为了学习synset的embedding,可以使用带完全标注的语料库去学习,但是这个对于动辄几十亿个词的语料库,这个是很不现实的。因此有一种朴素的方法,将一个synset里的所有词的词向量的平均值作为这个synset的向量表示。
这篇文章的目的是将词向量扩张到wordnet的两种数据类型synset和lexeme。
Model
基本的假设是
- words are sums of their lexemes
- synsets are sums of their lexemes
symbols
word vector$w^{(i)} \in \mathbb{R}^n$synset vector$s^{(i)} \in \mathbb{R}^n$lexeme vector$l^{(i,j)} \in \mathbb{R}^n$
$l^{(i,j)}$是$w^{(i)}$的一个lexeme,同时这个lexeme存在于$s^{(j)}$中。
Two Equations
他们认为词语集合W和synset集合S之间存在这一种线性映射关系
$S = \mathbf{E} \otimes W$
$\bar{W} = \mathbf{D} \otimes S$
于是这个就可以很自然看成一个encode和decode的过程了,损失函数自然是让decode后的结果和encode前的一致。
lexeme作为中间的变量 出现在从$W$到$S$的过程和$\bar{W}$到$S$的过程中,因此有两个lexeme,将两个lexeme对齐也是一个损失函数。
第三个约束则是让相关的synset的表示尽可能相同。