使用 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/
我想在给定其前一组词的情况下找到该词的条件概率。我打算同样使用 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/