【问题标题】:train a language model using Google Ngrams使用 Google Ngrams 训练语言模型
【发布时间】:2016-07-08 10:39:45
【问题描述】:

我想在给定之前一组单词的情况下找到一个单词的条件概率。我打算用Google N-grams 做同样的事情。但是,作为如此庞大的资源,我认为在我的 PC 上进行计算是不可能的。 (处理所有 N-gram,训练语言模型)。

那么有什么方法可以使用 Google Ngrams 训练语言模型吗? (即使python NLTK 库不再支持ngram 语言模型) 注意 - 我知道可以使用 ngrams 训练语言模型,但鉴于 Google Ngrams 的庞大规模,如何专门使用 Google ngrams 训练语言模型?

【问题讨论】:

标签: python nlp nltk n-gram


【解决方案1】:

你应该看看加州大学伯克利分校的这个精巧的代码库: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/

【讨论】:

  • 嗨,我尝试运行java -ea -mx10000m -server -cp ../src edu.berkeley.nlp.lm.io.ComputeLogProbabilityOfTextStream -g vocab_cs.gz eng.blm.gz <file to be scored>,我从提供的链接下载了eng.blm.gzvocab_cs.gz。但是,我将所有 logProbs 都设为Nans。你能指出这可能是什么问题吗?
猜你喜欢
  • 1970-01-01
  • 2019-08-03
  • 2020-08-12
  • 2021-06-22
  • 2017-08-19
  • 2020-05-03
  • 2021-09-28
  • 2016-11-16
  • 2020-06-22
相关资源
最近更新 更多