我想在给定单词前一组单词的情况下找到该单词的条件概率。我计划使用 Google N-grams
来实现同样的目的。然而,由于它是一个如此巨大的资源,我认为在我的电脑上计算是不可能的。 (处理所有 N 元语法,训练语言模型)。
有什么方法可以使用 Google Ngrams 训练语言模型吗? (甚至python NLTK
库不再支持ngram
语言模型)
注意 - 我知道可以使用 ngram 来训练语言模型,但考虑到 Google Ngram 的庞大规模,如何专门使用 Google ngram 来训练语言模型?
最佳答案
您应该查看加州大学伯克利分校的这个巧妙的代码库:https://github.com/adampauls/berkeleylm
在 examples/
文件夹中,您会找到一个 bash 脚本 make-binary-from-google.sh
,它可以根据原始 Google N- 创建紧凑的语言模型克。由此产生的 LM 实现了愚蠢的退避,并利用了以下论文中描述的快速高效的数据结构:http://nlp.cs.berkeley.edu/pubs/Pauls-Klein_2011_LM_paper.pdf
如果您只是对最终训练后的 LM 感兴趣,您可以从 Berkley 托管的网站下载各种语言版本:http://tomato.banatao.berkeley.edu:8080/berkeleylm_binaries/
关于python - 使用 Google Ngrams 训练语言模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38264636/