我的术语-文档矩阵是以numpy矩阵格式存储的,并且我有一个字典来表示术语-文档矩阵的结构。
有没有什么方法可以轻松地将这两个元素传递给Gensim的LDA模型呢?
tdMatrix = np.load('tdmatrix.npy')dictionary = cPickle.load(open('dictionary.p', 'r')) # 存储每列代表的术语
我能否以某种方式将这些传递给gensim.models.ldamodel.LDA?
回答:
我认为Gensim使用几乎相同的结构来表示词袋模型语料库,但我认为默认的字典或numpy数组可能不兼容。Gensim的API列出了一些“corpusreaders”,可以适应各种格式,但这些似乎是为从其他工具包导入数据而构建的。所以在你的情况下,最简单的解决方案可能是使用你的矩阵和字典重建文档,作为分隔字符串的列表。然后将你的列表转换为Gensim的词袋模型语料库,最后转换为LDA,如教程中所示。
这种方法的额外好处是你可以应用Gensim的预处理功能,并过滤掉低/高频词汇。