Brains


Algorithm、Machine Learning、Search、cloud computing
on NLP, LDA主题模型的实现及思考

LDA 的实现

参考LDA数学八卦和GibbsLDA++实现的LDA模型,以及自己对这个模型的理解 LDA的Gibbs抽样 在上一篇文章中提到了Gibbs抽样的推导最终结果,根据这个推导公式可以在计算机上模拟文档集的生成过程。Gibbs抽样的推导结果如下: 实现思路: 1:先随机为每个单词赋予一个主题 2:根据抽样公式计算当前单词生成每个主题的概率 3:利用掷骰子算法生成下一个主题 4:一直迭代下去,最后计算文档——主题、主题——单词的概率分布 代码放在了Github - LDA上了 数据结构的设计 根据抽样公式公式可知,需要保存的东西有 1:每个主题对应单词的个数 2:每个单词对应某个主题的单词个数 3:每篇文章单词的个数 4:每篇文章的每个主题对应的单词总数 用Python定义的数据结构如下: # 单词到ID的映射表 self.word_map = {} # ID到单词的映射 self.id2word = [] # 保存每篇文章的词数 self.doc_word_num = [] # 保存每篇文章 self.doc
Read More