自然语言处理(三)主题模型
为了解决“一词多义”和“多词一意”的问题,引入“主题”
LDA本质是一个三层贝叶斯网络
1、共轭分布
1、Beta分布是二项分布的共轭先验分布
2、Dirichlet分布是多项分布的共轭先验分布
Dirichlet分布的参数\([\alpha_{1},\alpha_{2},....,\alpha_{n}]\),一般\(\alpha\)都取一样的值。
\(\alpha=1\quad\) 均匀分布
\(\alpha>1\quad\) 主题分布相等的概率增大
\(\alpha<1\quad\) 某一主题突出的概率增大
2、LDA模型
LDA模型框图如下图所示
流程如下:
1、取\(\alpha\),用\(Dir(\alpha)\)采样得到主题分布\(v_{m}\)
2、对\(v_{m}\)采样得到某一主题
3、取\(\beta\),用\(Dir(\beta)\)对每个主题分别采样得到词分布\(\varphi_{k}\)
4、取得到的主题的对应的词分布,
5、在词分布中采一个词
3、LDA问题
LDA问题的已知是:已知词语\(w\)(可观测),已知先验超参数\(\alpha\)和\(\beta\)
LDA问题的所求是:主题z,主题分布\(\theta\),词分布\(\varphi\)
4、Gibbs采样
Gibbs采样是一个为词语标记主题的算法。其流程如下:
1、随机为文本中每个词分配主题
2、统计:a.每个主题z下出现词t的数量. b.每个文档m下出现主题z的数量
3、计算\(P(z_{i}|z_{i-1,},w)\),返回步骤2,迭代。