我的文本数据包含超过10百万个文档(在熊猫数据框中的记录),每个文档不少于20个单词,最多不超过50个单词。我正在尝试使用此数据构建单词嵌入,为此,我需要收集单词的语料库,即,我需要通过遍历所有10+百万条记录来收集所有唯一的单词(并分配有唯一的编号)。
Ex数据:
结果:
9个单词中,有2个在不同文档中重复出现,因此最终语料库的大小为7。
在python中执行此操作的最佳方法是什么?
我知道的方式:
我想要一种更有效的方式来完成这项工作。对最佳方法有何想法?
通常来说,计数不是单词,而是标记。但是,由于发问者要求输入单词,因此以下是一种解决方案。
#invoke library
import nltk
#A sample data for this exercise
wordsList = ['Good Movie', 'Nice Climax', 'Good Acting and best climax']
#Collate all the words as one text
allWords = ' '.join(wordsList)
text = allWords.lower().split(' ')
#Perform frequency distribution
wordFreq = nltk.FreqDist(text)
输出看起来像这样:
FreqDist({'good': 2, 'climax': 2, 'and': 1, 'movie': 1, 'acting': 1, 'best': 1, 'nice': 1})
建议阅读材料为here。