我希望找到给定其前一组单词的单词的条件概率。我计划使用Google N-grams
。然而,由于它是如此庞大的资源,我不认为在我的电脑上进行计算是可行的。 (处理所有N-gram,训练语言模型)。
那么有什么方法可以使用Google Ngrams训练语言模型吗? (即使python NLTK
库不再支持ngram
语言模型)
注意 - 我知道语言模型可以使用ngrams进行训练,但考虑到Google N克的大小,如何使用特定的Google ngrams训练语言模型?
答案 0 :(得分:2)
你应该看看UC Berkley的这个光滑的代码库:https://github.com/adampauls/berkeleylm
在examples/
文件夹中,您会找到一个bash脚本make-binary-from-google.sh
,它可以从原始Google N-Grams创建一个紧凑的语言模型。生成的LM实现了愚蠢的退避,并利用了以下文章中描述的快速有效的数据结构:http://nlp.cs.berkeley.edu/pubs/Pauls-Klein_2011_LM_paper.pdf
如果您只对最终训练过的LM感兴趣,可以从Berkley托管的网站下载各种语言:http://tomato.banatao.berkeley.edu:8080/berkeleylm_binaries/