词表征 2:word2vec、CBoW、Skip-Gram、Negative Sampling、Hierarchical Softmax

2)基于迭代的方法直接学

相较于基于SVD的方法直接捕获所有共现值的做法,基于迭代的方法一次只捕获一个窗口内的词间共现值。
好的语言模型中,有意义的句子高概率,无意义的句子即使语法正确也低概率。
在得到输入词向量和输出词向量后如何得到最终词向量?常取输入词向量(word2vec)、拼接、相加(GloVe)等。
主要有以下3种模型算法:

  • word2vec
  • GloVe
  • fastText

(三)word2vec

基本设计:1层隐藏层的神经网络结构,隐藏层使用线性激活函数。why?
一是因为快;二是因为训练词向量可以被认为是提取特征,后续可能会使用deep结构,现阶段没有必要deep。


图2.4 一些定义

1、Continuous Bag of Words(CBoW)

根据上下文词预测中心词。

1)前向过程

图2.5 CBoW前向过程

希望\hat{y}yx_c尽可能相同。

2)反向过程

图2.6 CBoW反向过程

2、Skip-Gram

根据中心词预测上下文词。
引入strong/naive条件独立假设:给定中心词,所有输出词间完全独立。

1)前向过程

图2.7 Skip-Gram前向过程1

图2.8 Skip-Gram前向过程2

2)反向过程

图2.9 Skip-Gram反向过程

CBoW和Skip-Gram都存在着的问题:代价函数中的softmax需要对|V|进行求和,时间复杂度为O(|V|),当|V|很大时,代价很高。
解决方式:Negative Sampling和Hierarchical Softmax。

3、Negative Sampling

负采样的基本思想是用采样一些负例的方式近似代替遍历整个词汇。以P_n(w)的概率分布进行采样,P_n(w)与词汇词频相匹配。目前看,最佳P_n(w)=\frac{count(w)^{\frac{3}{4}}}{\sum_{w\in V}count(w)^{\frac{3}{4}}},实现了低频词被采样概率的上升比例高于高频词。采样前,将长度为1的线段分成M等份,其中,M>>|V|。这样子可以保证每个词对应的线段都会被划分成不同的小块,M份的每一份都会落在某一个词对应的线段上。每个词对应的线段长度为len(w)=P_n(w)。采样时,从M个未知
中采样出Neg个位置即可,对应线段所属词即为负例词。word2vec中M默认为10^8,与Skip-Gram合作时,采样到中心词就跳过。

1)目标函数

图2.10 Negative Sampling目标函数1

图2.11 Negative Sampling目标函数2

2)反向过程

(1)CBoW


图2.12 Negative Sampling下CBoW反向过程

(2)Skip-Gram


图2.13 Negative Sampling下Skip-Gram反向过程

4、Hierarchical Softmax

Hierarchical Softmax中无词的输出表示,词为输出词的概率等于从根节点走到词叶子节点的概率,代价由O(|V|)变为O(log_2|V|)。Hierarchical Softmax中不更新每个词的输出词向量,更新的是二叉树上节点对应的向量。这个方法的速度由二叉树的构建方式以及词到叶子节点的分配方式决定。其中,Huffman树尤其适合,因为其分配给高频词短路径,使其花费更短时间被找到。

1)目标函数

图2.14 Hierarchical Softmax目标函数1

图2.15 Hierarchical Softmax目标函数2

2)反向过程

(1)CBoW


图2.16 Hierarchical Softmax下CBoW反向过程

(2)Skip-Gram


图2.17 Hierarchical Softmax下Skip-Gram反向过程

5、word2vec小结

1)CBoW vs Skip-Gram

  • CBoW更快一些。CBoW对于高频词效果较好,低频词常受到较少注意。窗口大小常5左右。
  • Skip-Gram更慢一些。Skip-Gram对于低频词效果更好,小数据下表现依旧好。窗口大小常10左右。

对于"Yesterday was really a ____ day.":
CBoW认为最可能是beautiful/nice,delightful受到较少注意;Skip-Gram则不会将delightful与beautiful/nice比较,而是作为一组新观测值。

2)Hierarchical Softmax vs Negative Sampling

  • Hierarchical Softmax
    优点是对低频词的效果更好。因为表示低频词的叶子节点会不可避免地继承祖先节点的向量表示,这个祖先节点可能会受到其他高频词的影响。
    缺点是如果所需要的输出词很生僻,得一直往下走很久。
  • Negative Sampling
    对高频词效果更好。向量维度较低时效果更好,维度高时近似误差会比较大。

word2vec对句子进行处理时还采用了高频词亚采样的trick,其能够带来2~10倍的性能提升,并且能够提升低频词的表示精度。具体来说,w_i被丢弃的概率P(w_i)=1-\sqrt{\frac{sample}{freq(w_i)}}sample常取值10^{-5}~10^{-3}sample越小,达到相同的丢弃率所需的frequency则越小,即更多词会被丢弃。高频词亚采样的目的是以一定的概率拒绝高频词,使得低频词有更多的出境率。低频词被丢弃的概率低,高频词被丢弃的概率高。

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

推荐阅读更多精彩内容