【发布时间】:2017-07-07 16:48:32
【问题描述】:
我有一个大约 6 亿字的语料库。我想把它变成一个字符串列表,然后使用它,但我担心使用 6 亿个元素的列表会很慢。我想知道 Python 中的列表(单词)是否有高性能等效项。
更新:
我想在为它们计算一些分数后将每个单词映射到两个标签之一。分数基本上是一个分数,其中分子是它们在某些环境中出现的频率(例如,在某些特定单词之前),分母是它们的整体语料库频率。这几乎就是我心目中的任务。
【问题讨论】:
-
“合作”究竟意味着什么?如前所述,这个问题有点笼统。
-
Python 可能不是处理这么大的数据集的语言。
-
这取决于,如果你想计算字母或聚类单词,或自动翻译..,也许你给更多的解释
-
如果您要计算它们,迭代地处理它们(因此您不会一次将所有它们作为单独的字符串存储在内存中)可以正常工作。如果您需要更专业的数据结构方面的帮助,您需要向我们提供您想要做什么的信息。
-
因此您的数据结构将只包含唯一的单词,您不需要一次读取所有数据。您几乎可以通过 dict 和分块(逐行,最简单)阅读来天真地实现它,它会工作得很好。根本不可能有 6 亿字的列表,您的驻留大小将只有兆字节。
标签: python arrays performance list nlp