在构建python gensim word2vecmodel时,有没有方法可以查看doc-to-word矩阵?在
使用sentences = [['first', 'sentence'], ['second', 'sentence']]
的输入,我会看到类似于*:
first second sentence
doc0 1 0 1
doc1 0 1 1
*我已经演示了“人类可读”,但我正在寻找一个scipy(或其他)矩阵,索引到model.wv.index2word
。在
而且,它能被转换成一个字到字的矩阵(以查看同时发生的情况)?比如:
^{pr2}$我已经用CountVectorizer实现了类似word-word co-occurrence matrix的东西。效果很好。然而,我已经在我的管道中使用gensim,对于我的用例来说,速度/代码的简单性很重要。在
事实证明,doc单词到单词的转换(至少对我来说)比我原先想象的要复杂。
np.dot()
是其解决方案的关键,但我需要先应用一个掩码。我创建了一个更复杂的例子来测试。。。在想象一个doc单词矩阵
所以,当我们完成后,我们应该像下面这样结束(或者它是相反的)。按列阅读时,单词矩阵变成:
^{pr2}$一个直的
np.dot()
产物产生:这意味着word1自身出现了29次。在
但是,如果我不把doc2word乘以它本身,而是先构建一个掩码,我就更接近了。然后我需要颠倒论点的顺序:
我想这个太久了。。。。在
给定一个单词列表的语料库,你要做的就是创建一个Gensim字典,把你的语料库改成单词包,然后创建你的矩阵:
您的
^{pr2}$term_doc_mat
是一个Numpy压缩稀疏矩阵。如果你想要一个术语矩阵,你可以用它的转置来乘以它,即:相关问题 更多 >
编程相关推荐