(2020李宏毅)机器学习-无监督学习-词嵌入_多语言

文章目录


1-of-N Encoding


(2020李宏毅)机器学习-无监督学习-词嵌入_sed_02

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就代表了跟动作有关的东西(纵轴)


词嵌入


基于计数的词嵌入


(2020李宏毅)机器学习-无监督学习-词嵌入_sed_03

word Embedding -count based。

count based: 如果现在有两个词; (2020李宏毅)机器学习-无监督学习-词嵌入_多语言_04, 他们的 word vector(用 (2020李宏毅)机器学习-无监督学习-词嵌入_深度学习_05 来表示), 如果 (2020李宏毅)机器学习-无监督学习-词嵌入_多语言_04 它们常常在同一个文章出现,那他们的 (2020李宏毅)机器学习-无监督学习-词嵌入_sed_07

方法的原则:假设知道(2020李宏毅)机器学习-无监督学习-词嵌入_自然语言处理_08的word vector是(2020李宏毅)机器学习-无监督学习-词嵌入_自然语言处理_09,(2020李宏毅)机器学习-无监督学习-词嵌入_深度学习_10的word vector是(2020李宏毅)机器学习-无监督学习-词嵌入_多语言_11,可以计算(2020李宏毅)机器学习-无监督学习-词嵌入_深度学习_12(2020李宏毅)机器学习-无监督学习-词嵌入_多语言_11它的inner product,假设(2020李宏毅)机器学习-无监督学习-词嵌入_深度学习_14(2020李宏毅)机器学习-无监督学习-词嵌入_多语言_15们在同一个document的次数,那就希望这两件事情(内积和同时出现的次数)越接近越好。


基于预测的词嵌入


(2020李宏毅)机器学习-无监督学习-词嵌入_深度学习_16

prediction based想法:来learn一个neural network,这个neural network做的就是given(2020李宏毅)机器学习-无监督学习-词嵌入_自动驾驶_17(w就代表一个word),prediction下一个可能出现的word是什么。每一个word可以用1-of-N encoding表示成一个feature vector。learning一个neural network,它的input就是(2020李宏毅)机器学习-无监督学习-词嵌入_自动驾驶_17的1-of-N encoding feature vector,它的output就是下一个word(2020李宏毅)机器学习-无监督学习-词嵌入_自然语言处理_08是某一个word的几率。也就是说,这个model它的output dimension就是word(假设世界上有10w个word,这个model 的output就是10w维),每一维代表了某一个word是下一个word((2020李宏毅)机器学习-无监督学习-词嵌入_sed_20的几率。


共享参数


(2020李宏毅)机器学习-无监督学习-词嵌入_自动驾驶_21

(2020李宏毅)机器学习-无监督学习-词嵌入_多语言_22 的第一个 dimension跟第一个hidden neural它们中间连的weight和 (2020李宏毅)机器学习-无监督学习-词嵌入_深度学习_23


多语言嵌入


(2020李宏毅)机器学习-无监督学习-词嵌入_自动驾驶_24

可以把不同语言的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都应该落在差不多的位置,就可以翻译这样的事情


(2020李宏毅)机器学习-无监督学习-词嵌入_多语言_25

在这个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的周围。


文档嵌入


(2020李宏毅)机器学习-无监督学习-词嵌入_sed_26

把document变成一个vector

把一个document变成一个bag-of-word,然后用auto encoding就可以learn出document semantic embedding。