使用 Google Ngrams 训练语言模型

train a language model using Google Ngrams

我想在给定其前一组词的情况下找到该词的条件概率。我打算同样使用 Google N-grams。然而,由于它是一个如此庞大的资源,我认为在我的 PC 上计算是不可能的。 (处理所有 N-gram,训练语言模型)。

那么有什么方法可以使用 Google Ngrams 训练语言模型吗? (甚至 python NLTK 库不再支持 ngram 语言模型) 注意 - 我知道可以使用 ngrams 训练语言模型,但是考虑到 Google N grams 的巨大规模,如何专门使用 Google ngrams 来训练语言模型?

你应该看看加州大学伯克利分校的这个精巧的代码库: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 感兴趣,您可以从伯克利托管的网站下载各种语言的它:http://tomato.banatao.berkeley.edu:8080/berkeleylm_binaries/