上海复旦大学吴立德教授深度学习课程六

神经概率语言模型

语言模型

词典

D={ω(1),ω(2),,ω(n)}
ω=ω1ω2ωn
其中ω 是字符串,ωiω(i) 指代同一个词。

概率模型

假设字符串中词出现的概率具有平稳性,即词的概率与此出现在字符串的位置无关。
字符串出现的概率为
p(s)=p(ω1ω2ωn)
根据全概率公式可以得出
p(s)=p(ω1)p(ω2|ω1)p(ωn|ω1ωn1)
通过以上公式可以通过求解
p(ωi|ω1ωi1)
得出全概率。
求解方法若采用技术的方法直接做除法
p(ωi|ω1ωi1)=count(ω1ωi1ωi)count(ω1ωi1)
问题:词语之间组合爆炸,数据稀疏严重

基于马尔科夫假设

假设当前词只依赖于它前面一或者多个词,即所谓的n-gram。
bigram
p(s)=p(ω1)p(ω2|ω1)p(ωn|ωn1)
trigram
p(s)=p(ω1)p(ω2|ω1)p(ωn|ωn2ωn1)
求解
p(ωi|ωi1)=count(ωi,ωi1)count(ωi1)

词向量

自然语言理解的问题要转化为机器学习的问题,第一步肯定是要找一种方法把这些符号数学化。
  NLP 中最直观,也是到目前为止最常用的词表示方法是 One-hot Representation,这种方法把每个词表示为一个很长的向量。这个向量的维度是词表大小,其中绝大多数元素为 0,只有一个维度的值为 1,这个维度就代表了当前的词。
  举个栗子,
  “话筒”表示为 [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。

词向量详细说明


神经网络模型

神经网络模型尝试去预测一个概率分布

数据

字符串 ω=ω1ω2ωn
可以使用滑窗进行操作。

模型

A Neural Probabilistic Language Model

准则

求解方法

BP算法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章