gpt4 book ai didi

python - 来自gensim的单词共现矩阵

转载 作者:太空宇宙 更新时间:2023-11-04 04:46:34 34 4
gpt4 key购买 nike

构建 python gensim word2vec 时 model , 有没有办法查看文档到单词的矩阵?

输入 sentences = [['first', 'sentence'], ['second', 'sentence']] 我会看到类似*的内容:

      first  second  sentence
doc0 1 0 1
doc1 0 1 1

*我已经说明了“人类可读”,但我正在寻找一个 scipy(或其他)矩阵,索引到 model.wv.index2word

而且,是否可以将其转换为词到词矩阵(以查看共现)?像这样的东西:

          first  second  sentence
first 1 0 1
second 0 1 1
sentence 1 1 2

我已经实现了类似 word-word co-occurrence matrix 的东西使用 CountVectorizer。它运作良好。但是,我已经在我的管道中使用 gensim,并且速度/代码简单性对我的用例很重要。

最佳答案

给定一个由单词列表组成的语料库,你要做的是创建一个 Gensim 词典,将你的语料库更改为词袋,然后创建你的矩阵:

from gensim.matutils import corpus2csc
from gensim.corpora import Dictionary

# somehow create your corpus

dct = Dictionary(corpus)
bow_corpus = [dct.doc2bow(line) for line in corpus]
term_doc_mat = corpus2csc(bow_corpus)

您的 term_doc_mat 是一个 Numpy 压缩稀疏矩阵。如果你想要一个术语-术语矩阵,你总是可以将它乘以它的转置,即:

import numpy as np
term_term_mat = np.dot(term_doc_mat, term_doc_mat.T)

关于python - 来自gensim的单词共现矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49431270/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com