使用gensim的Python单词频率:如何在语料库中获取单词而不是id单词
我使用gensim计算给定音符中单词的频率 应用以下代码后:使用gensim的Python单词频率:如何在语料库中获取单词而不是id单词,python,text-mining,gensim,Python,Text Mining,Gensim,我使用gensim计算给定音符中单词的频率 应用以下代码后: from gensim import corpora dictionary = corpora.Dictionary(sentences) corpus = [dictionary.doc2bow(text) for text in sentences] 获取语料库,例如: [(0,1)、(1,5)、(3,1)…] 我想要的语料库包括: [(单词1,1),(单词2,5),(单词3,1)…] 所以我想在语料库中得到这个词,而不是id
from gensim import corpora
dictionary = corpora.Dictionary(sentences)
corpus = [dictionary.doc2bow(text) for text in sentences]
获取语料库,例如:
[(0,1)、(1,5)、(3,1)…]
我想要的语料库包括:
[(单词1,1),(单词2,5),(单词3,1)…]
所以我想在语料库中得到这个词,而不是id词
有人能帮我如何得到这个,然后将这样一个语料库保存为excel文件吗?根据词典,可以在dictionary.token2id
中找到单词映射。为了快速查找,让我们反转dictionary.token2id的键值映射并应用列表理解:
mapping = {v: k for k, v in dictionary.token2id.items()}
[(mapping[i[0]], i[1]) for i in corpus]
但当您在示例数据中使用列表理解时,语料库
可能会包含列表列表。在这种情况下,您可以使用:
[[(mapping[i[0]], i[1]) for i in item] for item in corpus]