机器学习-自然语言处理

来源:互联网 发布:嵌入式转人工智能领域 编辑:程序博客网 时间:2024/05/21 08:39
自然语言处理
 
深度学习
 
深度学习
为什么需要深度学习
 
机器翻译                            拼写纠错                              智能问答
语言模型
语言模型实例:
 
机器翻译                                                   拼写纠错
语言模型
P(high price) > P(large price)
P(about fifteen minutes from) > P(about 
fifteenminuets from)
语言模型实例:
 
p(S)=p(w1,w2,w3,w4,w5,…,wn)
=p(w1)p(w2|w1)p(w3|w1,w2)...p(wn|w1,w2,...,wn-1)
我 今天 下午 打 篮球
语言模型
p(S)被称为语言模型,即用来计算一个句子概率的模型
语言模型实例:
 
p(wi|w1,w2,...,wi-1) = p(w1,w2,...,wi-1,wi) / p(w1,w2,...,wi-1)
语言模型
1.数据过于稀疏
2.参数空间太大
语言模型存在哪些问题呢?
 
语言模型
假设下一个词的出现依赖它前面的一个词:
p(S)=p(w1)p(w2|w1)p(w3|w1,w2)...p(wn|w1,w2,...,
wn-1)
=p(w1)p(w2|w1)p(w3|w2)...p(wn|wn-1)
假设下一个词的出现依赖它前面的两个词:
p(S)=p(w1)p(w2|w1)p(w3|w1,w2)...p(wn|w1,w2,...,wn-
1)
=p(w1)p(w2|w1)p(w3|w1,w2)...p(wn|wn-1,wn-2)
 
I want english food
p(I want chinese food)=P(want|I)
×   P(chinese|want) 
×   P(food|chinese) 
 
假设词典的大小是N则模型参数的量级是
语言模型
 
词向量
 
词向量
 
词向量
 
词向量
 
神经网络模型
 
神经网络模型
训练样本:
投影层:(n-1)*m 首尾拼接起来的大向量
包括前n-1个词分别的向量,假定每个词向量大小m
输出:
表示上下文为                时,下一个词恰好为词典中第i个词的概率
归一化:
 
神经网络模型
S1 = ‘’我 今天 去 网咖’’      出现了1000次
S2 = ‘’我 今天 去 网吧’’      出现了10次
对于N-gram模型:P(S1) >> P(S2)
而神经网络模型计算的P(S1) ≈ P(S2)
 
神经网络模型
只要语料库中出现其中一个
其他句子的概率也会相应的增大
 
Hierarchical Softmax
 
CBOW
CBOW 是 Continuous Bag-of-Words Model 的缩写,是
一种根据上下文的词语预测当前词语的出现概率的模型
 
哈夫曼树
 
哈夫曼树
 
Sigmoid函数
 
CBOW
输入层是上下文的词语的词向量,在训练CBOW模型,词
向量只是个副产品,确切来说,是CBOW模型的一个参数。
训练开始的时候,词向量是个随机值,随着训练的进行不
断被更新)。
投影层对其求和,所谓求和,就是简单的向量加法。
输出层输出最可能的w。由于语料库中词汇量是固定的|C|
个,所以上述过程其实可以看做一个多分类问题。给定特
征,从|C|个分类中挑一个。
 
CBOW
 
CBOW
正例概率:
负例概率:
 
CBOW
代入
 
CBOW
 
CBOW
 
Skip-gram
 
Negative Sampling
 
Negative Sampling
 
Negative Sampling
 
Negative Sampling
 
Negative Sampling
 
原创粉丝点击