我有一个近1 TB的大数据集。
数据只是文本。
我应该在整个语料库中发现两个单词同时出现。
我需要查看整个语料库并找到发生的可能性。
换句话说,我需要找到两个单词同时出现的所有句子。
但是我需要重复多次。
您将如何解决此问题,从而减少时间?
我只知道一些基本的Python。
清楚地为每个文件和每个句子构造一个for循环并一一计数是永远的。
感谢您的帮助。
答案 0 :(得分:0)
总体思路是:
1, 1, It
1, 1, was
1, 1, a
1, 1, dark
1, 1, and
1, 1, stormy
完成后,您将拥有一个巨大文本文件,其中每个文档中的每个单词都包含一行。
然后,按单词,文档和句子编号对该文件进行排序。
现在,您可以浏览该文件并按单词创建索引。基本上,这将显示每个单词所在的句子。例如,“ dark”和“ stormy”的条目可能类似于:
dark: 1:1, 3:8, 22:99, ...
stormy: 1:1, 12:6, 22:99, ...
现在,如果有人要您告诉他们句子“暗”和“暴风雨”的出现位置,则可以获取两个单词的列表,进行交集并返回结果(1:1、22:99在这种情况下)。
对于少量(几兆字节)的数据,这并不是一件特别困难的事情。对于只有一点编程经验的人来说,这将是一个挑战性的练习。可行,但困难。
但是,当使用TB级数据时,您要么必须对数据结构非常有创造力,要么必须要解决很多硬件问题。我希望初学者可以解决的绝对不是问题。