无监督学习-词嵌入|深度学习(李宏毅)(七)

一、概述

词嵌入(Word Embedding)是将自然语言表示的单词转换为计算机能够理解的向量或矩阵形式的技术。在Word Embedding之前,常用的方法有one-hot、n-gram、co-occurrence matrix,但是他们都有各自的缺点。Word Embedding是一种无监督的方法。

Word Embedding

Word Embedding的主要任务是输入收集到的词汇,然后获得它的向量表示,其大概过程如下:

Word Embedding

Word Embedding不能使用AutoEncoder来做是因为无法为AutoEncoder的输入找到一个包含可以学习的信息的表示。比如使用独热编码作为AutoEncoder的输入,由于独热编码的每一维度之间是相互独立的,且独热编码包含的信息量极少,因此AutoEncoder学不到一些有用的信息。

Word Embedding主要通过训练数据的上下文来学习文本的信息。Word Embedding假设不同的词如果处在同样的上下文位置的话,这两个词就会具有一定的相似性。

词的上下文

二、词嵌入的方法

  1. Count based

Count based的方法的主要思想是认为如果两个词w_{i}w_{j}频繁地同时出现,则其词向量V(w_{i})V(w_{j})会比较接近。

这种方法的典型模型是GloVe模型,这里不做重点介绍。

  1. Prediction based
  • 使用的网络结构

在多层神经网络中输入当前词w_{i-1}的独热编码向量并输出每个维度表示w_{i}为每个词的概率的向量,然后取第一个隐藏层的输入作为词的编码向量,其过程如下图所示:

网络结构

将获得的词的编码向量进行可视化以后可以看到类似的词会出现在比较接近的地方:

可视化
  • 为什么第一个隐藏层的输入可以作为词的编码

在下面的训练文本中输入两个人名网络会预测到相同的输出“宣誓就职”,为了使得神经网络输出去同样的结果,神经网络就需要将两个人名经过权重的处理映射到接近的词向量,然后将这个词向量作为神经网络的输入。

训练文本
  • 共享参数——使用多个词预测下一个词

在实际应用中使用一个词来预测下一次个往往是比较困难的,一个词后面可能出现的词的可能结果有千千万万种,因此通常将多个词同时作为网络的输入,通常需要输入至少10个词才会训练出效果比较好的模型。

以输入两个词为例,假设输入的两个词向量为x_{i-2}x_{i-1},其长度均为|V|,第一个隐藏层的输入为z=W_{1}x_{i-2}+W_{2}x_{i-1}z的长度为|Z|,则两个权重矩阵的形状为|Z|\times|V|

在实际过程中需要使得W_{1}W_{2}相等,即W_{1}=W_{2}=W,则z=W(x_{i-2}+x_{i-1}),这就是共享参数。对于为什么需要共享参数有以下两点解释:
①参数共享可以保证同样的词出现在不同位置时不会使得编码的结果不同;
②表示词的独热编码往往维数很高,共享参数可以降低参数的数量。

输入多个词的网络结构如下图所示,其中相同颜色的权重表示共享的参数:

网络结构

在训练时为了保证参数共享,将采用下种方式进行参数更新:

参数更新

以下为一个举例,预测下一个词时使用的是前两个词,然后将输出与预测的词的独热编码的交叉熵作为损失函数,通过最小化损失来训练模型:

举例
  • 其他变种

Continuous bag of word (CBOW) model

CBOW

Skip-gram

Skip-gram
  • 可视化

从训练得到的模型中获得词的编码向量以后进行可视化可以看到一些规律,比如国家和首都之间有一定的联系:

国家与首都

动词的三种时态之间有一定的规律:

动词时态

一类动物的词向量与某一特定品种的该类动物的词向量的差,以及一类职业的词向量与某一特定的该类职业的词向量的差会落在各自的位置:

类与实例

根据上述特性可以来回答类比的问题。比如我们知道V(Rome)−V(Italy)≈V(Berlin)−V(Germany),就可以回答以下问题:

解决类比问题

使V(w)=V(Berlin)-V(Rome) +V(Italy),然后寻找与V(w)最接近的词向量对应的词,大概率会找到答案“Germany”。

三、一些其他应用

  1. 多语种的Embedding

如果分别训练英文的材料和中文的材料,那么分别得到的结果就不会有任何联系,比如“apple”和“苹果”的词向量之间就不会有联系。这是因为词嵌入的方法只根据词的上下文来建立词的编码,如果不将中文和英文的资料放到一起训练就不会使相同意义的中英文词汇的词向量产生任何联系。但是如果我们在中英文分别训练出的词向量的基础上继续训练一个模型,使得中英文相同意义的词映射到同一个位置,就可以得到以下结果,这样的模型可以用来进行类似翻译这样的工作:

多语种嵌入
  1. 对图像的Embedding

首先可以对各种类别的词进行词嵌入获得词的编码向量,然后可以训练一个模型使得该模型的输入是图片,输出一个和该图片类别的词向量同样维度的向量并且使得输出散落在类别的词向量周围。通过这样一种方式就可能实现当这个模型输入一张没有训练过的类别的图片时可以将该图片的编码向量映射到正确的类别的词向量周围,从而解决传统的分类方法只能够识别训练过的类别的图片的局限性。下图是上述过程的一个举例,在这里训练了车辆、马和狗的图片,当猫的图片输入到模型中时可以将其映射到“cat”的词向量周围:

对图像的Embedding
  1. 对词序列的Embedding

词序列可以指文档或一段话,可以将不定长的词向量映射到定长的编码向量,这个编码向量就代表了这个序列的语义,这种Embedding的方法可以解决Bag-of-word+AutuEncoder方法的局限性。Bag-of-word+AutuEncoder方法的过程如下图所示:

Bag-of-word+AutuEncoder

Bag-of-word+AutuEncoder的局限性在于Bag-of-word忽略了词序列中词的顺序所包含的信息。举例来说下面两句话虽然包含同样的词却是完全不同的意思,一句是positive的,另一句是negative的:

Bag-of-word+AutuEncoder的局限性

参考资料

ref:自然语言处理(NLP)之Word Embedding
ref:GloVe模型

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355