Open ccluqh opened 6 years ago
首先减1是为了将相关词上次相关bit的频率值恢复,避免值的无限增加,主要由于bit被赋予新的topic,原来topic下的 频率值计数就不应该再包含该bit的计数。 如果没能理解还请多多交流! def resetTopic(self): self.word_z = -1 非空!定义如上! 以上是我个人对于算法的一点理解!如果还有什么问题,多多交流,相互学习!感谢关注!
非常感谢您的解答,还想请问您一下,得到模型后,可以算出一个词的主题分布吗(不是一个词对的主题分布,因为这个通过pzb可以求出)?
计算出来的就是单个词的主题分布,biterm 词对计算时时假设独立分布的,其联合分布即是词对word概率的乘积,算法是这样讲的。
非常感谢您的解答!学习到了!
请问,下面更新的时候为什么要先减去1哪? self.nb_z[k] -= 1 self.nwz[k][w1] -= 1 self.nwz[k][w2] -= 1 min_val = -(10**(-7)) 请问,下面这个函数体应该是个空的吧? bit.resetTopic() 谢谢!