机器学习算法学习---处理聚类问题常用算法(五)

统计文本建模

目的:观察语料库的词序列如何生成

1、Unigram Model(一元分词)

假设词典中共有V个词,产生文本的规则:

(1)一个色子有V个面,每个面对应一个词,概率不一。

(2)每掷一次色子,产生一个词。若一个文档中含有n个词,相当于独立掷了n次色子产生n个词。

2、贝叶斯Unigram Model假设

(1)上帝有一个装有无穷多骰子的坛子,里面有各式各样的骰子,每个骰子有V个面;

(2)上帝从坛子里面抽了一个骰子出来,然后用这个骰子不断地抛,然后产生了语料库中的所有的词

3、PLSA Topic Model

(1)上帝有两种类型的骰子,一类是doc-topic骰子,每个doc-topic骰子有K个面,每一个面是一个topic的编号;一类是topic-word骰子,每个topic-word骰子有V个面,每个面对应一个词;

(2)上帝一共有K个topic-word骰子,每个骰子有一个编号,编号从1到K

(3)生成每篇文档之前,上帝都先为这篇文章制造一个特定的doc-topic骰子,然后重复如下过程生成文档中的词

a.投掷这个doc-topic骰子,得到一个topic编号z

b.选择K个topic-word骰子中编号为z的那个,投掷这个骰子,于是得到一个词。

4、LDA Topic Model

(1)上帝有两大坛骰子,都一个坛子装的是doc-topic骰子,第二个坛子装的是topic-word骰子;

(2)上帝随机的从第二坛骰子中独立的抽取了K个topic-word骰子,编号为1到K;

(3)每次生成一篇新的文档前,上帝先从第一个坛子里随机抽取一个doc-topic骰子。然后重复以下过程生成文档中的词

a.投掷这个topic-word骰子,得到一个topic编号z

b.选择K个topic-word骰子中编号为z的那个,投掷这个骰子,于是得到一个词。

详情可见:https://www.jianshu.com/p/24b1bca1629f

LDA求解:

(1)基于Gibbs采样算法

https://www.cnblogs.com/pinard/p/6867828.html

(2)基于变分推断EM算法

https://www.cnblogs.com/pinard/p/6873703.html 

 

posted @ 2019-05-13 16:15  2048的渣渣  阅读(222)  评论(0编辑  收藏  举报