hankcs / LDA4j

A Java implemention of LDA(Latent Dirichlet Allocation)

Home Page:http://www.hankcs.com/nlp/lda-java-introduction-and-implementation.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Inference新文档中有生单词问题

woohaoshu opened this issue · comments

首先感谢hankcs博主的分享,在使用LDA4j的过程中,我重写了Corpus类里的load和loadDocument方法,从数据库中读写数据测试成功。
但是测试的过程中遇到了一个问题,就是先用训练集训练出来phi,然后拿来一个新文档使用这个phi推断其概率分布发现报数组越界的错误,我初步调试发现一旦新文档中包含训练集中没有的生单词,你写的Inference便无法使用,这个问题希望博主能进行一下异常处理。

我好久没看这段代码了,凭记忆回答一下。

这是因为主题模型中的Vocabulary在训练后就是个固定的结构,如果你拿A语料上训练的phi矩阵去B语料上用,那么你得用A的Vocabulary去B语料取id。