我正在研究20 GB以上的大型语料库的python训练中的马尔可夫链文本生成器。它采用纯文本并将其分成几对,选择当前的两个单词以及其后的单词。这是列表的一部分:
[(('as', 'a'), 'subject'), (('a', 'subject'), 'for'), (('subject', 'for'), 'the'), (('for', 'the'), 'remarks'), (('the', 'remarks'), 'of'), (('remarks', 'of'), 'the'), (('of', 'the'), 'evening'), (('the', 'evening'), 'the'), (('evening', 'the'), 'perpetuation'), (('the', 'perpetuation'), 'of'), (('perpetuation', 'of'), 'our'), (('of', 'our'), 'political')]
然后将其放入字典中,因此,如果我有一个键(两个单词)多次出现,则可以将该值作为具有多个值的数组放置>
{('as', 'a'): ['subject', 'nation'], ('a', 'subject'): ['for'], ('subject', 'for'): ['the'], ('for', 'the'): ['remarks', 'executive', 'government', 'laws', 'redress', 'sake', 'constitution'], ('the', 'remarks'): ['of']}
我对添加到该词典中的数千个文件再次执行此操作,过了一会儿,它对于ram来说太大了。有没有办法在磁盘上存储这样的字典? 数据结构:
我最好的主意是数据库或csv文件,但我认为它们不切实际。