深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt ·...

26
深深深深深 word2vec 深深 深深深深深 深深 2015/12/17

Transcript of 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt ·...

Page 1: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

深度学习之 word2vec

学习、分享与交流陈凯 2015/12/17

Page 2: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

目录• 基本概念• 模型与方法• 实战与应用

Page 3: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

词向量• 自然语言中的词语在机器学习中表示符号

– One-hot Representation例如:

• “ 话筒”表示为 [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ...]• “ 麦克”表示为 [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ...]• 实现时就可以用 0,1,2,3,... 来表示词语进行计算,这样“话筒”就为 3 ,“麦克”为 8.

– 存在两个问题• 当文本丰富度较大时,维度过大• 词汇鸿沟:任意两个词之间都是孤立的,不能体现词和词之间的关系

Page 4: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

词向量• Distributional Representation

– 词表示为:• [0.792, −0.177, −0.107, 0.109, 0.542, ...]• 常见维度 50 或者 100

– 解决“词汇鸿沟”问题• 可以通过计算向量之间的距离(欧式距离、余弦距离等)来体现词与词的相似性

• 如何训练这样的词向量– 没有直接的模型可训练得到– 可通过训练语言模型的同时,得到词向量

Page 5: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

语言模型• 判断一句话是不是正常人说出来的,用数学符号描述为

– 给定一个字符串 "w1,w2,...,wt", 计算它是自然语言的概率 ,一个很简单的推论是– 例如,有个句子 " 大家 , 喜欢 , 吃 , 苹果 "

• P( 大家,喜欢,吃,苹果 )=p( 大家 )p( 喜欢 | 大家 )p( 吃 |大家 , 喜欢 )p( 苹果 | 大家 , 喜欢 , 吃 )

– 简单表示为• 计算 问题

),...,,( 21 twwwp

),...,,|(...),|()|()(),...,,( 12121312121 ttt wwwwpwwwpwwpwpwwwp

T

iiiT Contextwpwwwpsp

121 )|(),...,,()(

)|( ii Contextwp

Page 6: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

语言模型• 现有模型

– N-gram 模型– N-pos 模型– ...– Bengio 的 NNLM– C&W 的 SENNA– M&H 的 HLBL– Mikolov 的 RNNLM– Huang 的语义强化– ...

相似的词语拥有相似的语境

Page 7: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

word2vec 原理• 两种模型,两种方法

模型 CBOW Skip-Gram

方法 Hierarchical Softmax

Negative Sampling

Hierarchical Softmax

Negative Sampling

Page 8: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

简单神经网络

Page 9: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

扫雷机的神经网络

• 权重向量: 0.3, -0.8 , -0.2 , 0.6 , 0.1 , -0.l , 0.4 , 0.5• w1x1 + w2x2 + w3x3 +...+ wnxn >= t• 输入: 扫雷机视角向量,扫雷机与最近地雷的方向向量• 输出: 左轮力、 右轮力。

Page 10: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念
Page 11: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

CBOW 模型 +Hierarchical Softmax 方法• CBOW 模型

– INPUT: 输入层– PROJECTION: 投影层– OUTPUT: 输出层– w(t): 当前词语(向量)– w(t-2),w(t-1),w(t+1),w(t+2):当前词语的上下文– SUM: 上下文的累加和

Page 12: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

CBOW 模型 +Hierarchical Softmax 方法(续)

Page 13: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念
Page 14: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

哈夫曼树(霍夫曼树)又称为最优树 .

假设有 n 个权值,则构造出的哈夫曼树有 n 个叶子结点。 n 个权值分别设为 w1、 w2 、…、 wn ,则哈夫曼树的构造规则为:(1) 将 w1 、 w2 、…, wn 看成是有 n 棵树的森林 ( 每棵树仅有一个结点 ) ;(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和;(3) 从森林中删除选取的两棵树,并将新树加入森林;(4) 重复 (2) 、 (3) 步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树。

Page 15: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

CBOW 模型 +Hierarchical Softmax 方法(续)

为什么建哈夫曼树?非叶子结点为 LR 分类器

叶子结点对应词典中的一个词

目标: )|( ii Contextwp

Page 16: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

目标: )|( ii Contextwp

Word2Vec 设置了一个非常简单的能量函数 E(A,C)=-(A∙C) ( 内积 )

假如 C 可以分成 G, H 两类,又明确 A 属于 Gp(A│C)=p(A|G)p(G|C)

这样即把每次的 p(A│C) 计算复杂度从 O( N )降到 O( LogN )

Page 17: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

CBOW 模型 +Hierarchical Softmax 方法(续)• 句子:我 , 喜欢 ,观看 ,巴西 ,足球 ,世界杯• w=足球

)0或1编码(:wjd

非叶子节点向量:wj

二分类正类):0负类,:1正负类(:w

jd

类别向量:wj

Page 18: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

CBOW 模型 +Hierarchical Softmax 方法(续)• 正类概率 :• 负类概率 :• "足球 " 叶子节点经过 4 次二分类

• 由 Context("足球 ")预测 "足球 " 出现的概率

Page 19: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

对于叶节点的每一个词,有一个全局唯一的编码,形如 "1001" 。在训练阶段,当给定上下文,要预测的词是 w_t 的时候,我们事先可以知道它的编码是 1001 。我们就从二叉树的根节点开始遍历,我们希望在根节点,隐层词向量 Xw 和与根节点相连经过 logistic 计算得到 bit=1 的概率尽量接近 0 ,在第二层,希望其 bit=1 的概率尽量接近 1 ,这么一直下去,我们把一路上计算得到的概率相乘,即得到目标词 w_t 在当前网络下的概率 P(w_t) ,那么对于当前这个 sample 的残差就是 1-P(w_t)

损失函数就是要最小化 这个残差

Page 20: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

word2vec 实战(一)• 训练数据集:经过分词后的新闻数据,大小 184

MB– 查看 " 中国 " , "钓鱼岛 " , "旅游 " , " 苹果 "几个词语的相似词语如下所示

Page 21: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

word2vec 实战(一)• 向量加减法

– " 中国 +北京 -日本 " , " 中国 +北京 - 法国 " , " 家庭+孩子 - 学校 "

Page 22: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

word2vec 应用(一)• 机器翻译

– 语言词语的关系集合被表征为向量集合– 向量空间内,不同语言享有许多共性– 实现一个向量空间到另一个向量空间的映射和转换

– 图为英语和西班语的五个词在向量空间中的位置(已经过降维)– 对英语和西班语之间的翻译准确率高达 90%

Page 23: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

word2vec 应用(三)• 给广告主推荐用户

– T媒体网站用户浏览网页的记录– pageH 是匹克体育用品公司在 T 上的官网– page2,page3,page5 和 pageH 是比较相似的页面– 可给匹克体育用品公司推荐经常浏览 page2,3,5 这个几个页面的用户进行广告投放

page2 page3 page5

pageH

User1 User2 UserN

匹克体育用品公司

...

...

pageH

广告投放

用户浏览

相似页面

User1page1 page2 pageI …

User2page1 page3 pageJ …

UserNpage2 page5 pageK …

...

Page 24: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

word2vec 应用(三)• 相似的页面计算过程

User1page1 page2 pageI …

User2page1 page3 pageJ …

UserNpage2 page5 pageK …

...

p1,p2,pi,...

p1,p3,pj,...

p2,p5,pk,......

P1 (0.1,0.4,0.2)

...

P2 (-0.3,0.7,0.8)

pH (0.3,-0.5,0.1)...word2vec

余弦距离欧式距离

...

pageHPage2Page3page5

Page 25: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

word2vec 应用(三)续• 对预估模型的帮助

– 新广告上线存在冷启动问题– 通过比较相似的广告的点击率来预估这个广告的点击率–由上个例子可得到每个页面的向量,然后通过

Kmeans 进行聚类,得到比较相似页面的簇?• 向页面向量添加其它的特征,例如广告主所属的行业和地域等• 假设页面 p1 的向量是 (0.3,-0.5,0.1 ),加入行业和地域信息后为 (0.3,-0.5,0.1,1,0) , 1 和 0 分别表示行业和地域的特征值• 这样得到的聚类效果相对更好

Page 26: 深度学习之word2vec - base.sjtu.edu.cnbase.sjtu.edu.cn/home/data/media/seminar/word2vec.ppt · PPT file · Web view学习、分享与交流 陈凯2015/12/17 目录 基本概念

thank you !Q&A