使用gensim的Python单词频率:如何在语料库中获取单词而不是id单词

使用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

我使用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词

有人能帮我如何得到这个,然后将这样一个语料库保存为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]