文章目录
- 基于计数的词嵌入
- 基于预测的词嵌入
- 共享参数
- 多语言嵌入
- 文档嵌入
1-of-N Encoding
word embedding是dimension reduction的一个广为人知的应用。
1-of-N Encoding:用一个vector来表示word
word Embedding:把每一个word都project到high dimension sapce上面(但是远比1-of-N Encoding的dimension要低,比如说有10w个word,那1-of-N Encoding就是10w维。但是project到high dimension,通常是100维左右)希望可以从这个word Embedding图上可以看到的结果是:类似同一个语义的词汇,在这个图上是比较接近的。而且在这个high dimension space里面,每一个dimension可能都有它特别的含义。假设做完word Embedding以后,每一个word Embedding的feature vector长这个样子,就知道说这个dimension代表了生物和其它东西之间的差别(横轴),那个dimension就代表了跟动作有关的东西(纵轴)
词嵌入
基于计数的词嵌入
word Embedding -count based。
count based: 如果现在有两个词; , 他们的 word vector(用 来表示), 如果 它们常常在同一个文章出现,那他们的
方法的原则:假设知道的word vector是,的word vector是,可以计算它的inner product,假设是们在同一个document的次数,那就希望这两件事情(内积和同时出现的次数)越接近越好。
基于预测的词嵌入
prediction based想法:来learn一个neural network,这个neural network做的就是given(w就代表一个word),prediction下一个可能出现的word是什么。每一个word可以用1-of-N encoding表示成一个feature vector。learning一个neural network,它的input就是的1-of-N encoding feature vector,它的output就是下一个word是某一个word的几率。也就是说,这个model它的output dimension就是word(假设世界上有10w个word,这个model 的output就是10w维),每一维代表了某一个word是下一个word(的几率。
共享参数
的第一个 dimension跟第一个hidden neural它们中间连的weight和
多语言嵌入
可以把不同语言的word vector拉在一起(假设有中文的咖啡,有一个英文的coffee,各自去train一组vector,会发现,中文和英文word vector是没有任何关系的。因为在做word vector的时候是凭借上下文的关系,如果今天中文和英文混杂在一起,那machine就没有办法来判断中文和英文之间的词汇关系)。但是假如事先知道某几个中文词汇,某几个英文词汇是对应在一起的,先得到一组中文的word vector,再得到一组英文的word vector。接下来再learn 一个model,它把中文和英文对应的词汇(加大对应enlarge,下跌对应到fall)通过这个projection以后,把他们project到sapce同一个点。
图上上面是绿色,然后下面是绿色英文,代表是已经知道对应关系中文和英文的词汇。然后做这个transform以后,接下来有新的中文词汇跟新的英文词汇,都通过projection把他们project到同一个space上面。就可以知道中文的降低跟英文的reduce都应该落在差不多的位置,就可以翻译这样的事情
在这个word embedding 不局限于文字,你可以对影像做embedding。举例:我们现在已经找好一组word vector,dog vector,horse vector,auto vector,cat vector在空间中是这个样子。接下来,你learn一个model,input一张image,output是跟word vector一样dimension的vector。你会希望说,狗的vector分布在狗的周围,马的vector散布的马的周围,车辆的vector散布在auto的周围。
文档嵌入
把document变成一个vector
把一个document变成一个bag-of-word,然后用auto encoding就可以learn出document semantic embedding。