从Python的数百万个文档中构建单词的语料库[关闭]

问题描述 投票:-1回答:1

我的文本数据包含超过10百万个文档(在熊猫数据框中的记录),每个文档不少于20个单词,最多不超过50个单词。我正在尝试使用此数据构建单词嵌入,为此,我需要收集单词的语料库,即,我需要通过遍历所有10+百万条记录来收集所有唯一的单词(并分配有唯一的编号)。

Ex数据:

  • 好电影
  • 尼斯高潮
  • 表演好,高潮

结果:

  • {{Good:1,Movie:2,Nice:3,Climax:4,Acting:5,And:6,Best:7}

9个单词中,有2个在不同文档中重复出现,因此最终语料库的大小为7。

在python中执行此操作的最佳方法是什么?

我知道的方式:

  1. 我在BigQuery数据库中有数据,然后将数据读取并存储为CSV文件,并以小块批量读取CSV文件
  2. [如果可能,将所有数据加载到数据帧,并通过逐行迭代行,通过应用功能读取数据帧列。我最不感兴趣,因为这非常耗时。

我想要一种更有效的方式来完成这项工作。对最佳方法有何想法?

python pandas deep-learning nlp word-embedding
1个回答
0
投票

通常来说,计数不是单词,而是标记。但是,由于发问者要求输入单词,因此以下是一种解决方案。

#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

© www.soinside.com 2019 - 2024. All rights reserved.