文档介绍:深度学****之word2vec
学****分享与交流
报告人:黄宇鹏
目录
基本概念
模型与方法
实战与应用
词向量
自然语言中的词语在机器学****中表示符号
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.
存在两个问题
维度比较大,尤其是用于 Deep Learning 的一些算法时
词汇鸿沟:任意两个词之间都是孤立的,不能体现词和词之间的关系
词向量
Distributional Representation
词表示为:
[, −, −, , , ...],常见维度50或者100
解决“词汇鸿沟”问题
可以通过计算向量之间的距离(欧式距离、余弦距离等)来体现词与词的相似性
如何训练这样的词向量
没有直接的模型可训练得到
可通过训练语言模型的同时,得到词向量
语言模型
判断一句话是不是正常人说出来的,用数学符号描述为
给定一个字符串"w1,w2,...,wt",计算它是自然语言的概率,一个很简单的推论是
例如,有个句子"大家,喜欢,吃,苹果"
P(大家,喜欢,吃,苹果)=p(大家)p(喜欢|大家)p(吃|大家,喜欢)p(苹果|大家,喜欢,吃)
简单表示为
计算问题
CBOW模型+Hierarchical Softmax方法
CBOW模型
INPUT:输入层
PROJECTION:投影层
OUTPUT:输出层
w(t):当前词语(向量)
w(t-2),w(t-1),w(t+1),w(t+2):当前词语的上下文
SUM:上下文的累加和
CBOW模型+Hierarchical Softmax方法(续)
CBOW模型+Hierarchical Softmax方法(续)
为什么建哈夫曼树?
非叶子结点
为LR分类器
叶子结点对应
词典中的一个词
目标: