N-gram 模型的训练阶段是什么?

数据挖掘 nlp ngram
2022-02-17 03:16:09

以下是我对文本预测案例中使用的 N gram 模型的理解:

给定一个句子,说“我爱我的”(比如 N = 1 /bigram),使用 N gram 并说 4 个可能的候选者(国家、家庭、妻子、学校),我可以估计每个候选者的条件概率并取一个概率最高的词作为下一个词。

问题 :

  1. 我理解模型的概率部分,但为了得到概率,我们需要可能的候选人(接下来的词,在这种情况下是家庭、妻子、学校、国家)。模型如何选择候选人

  2. 大多数在线文章都讨论了概率部分,但没有提到任何关于训练阶段的内容。这个模型的训练阶段到底发生了什么?

1个回答

我将从一个建议开始——只要谷歌“n gram 语言模型”,你就会发现很多很好的详细解释。

话虽如此,我将简要解释 n-gram 语言模型的“训练阶段”(对问题 2 的回答)。构建 N-gram 语言模型的最简单方法是找到一个大语料库——一组许多句子。模型的单词将是在语料库中至少出现一次的单词。给定单词 x1,x2,...,xn-1 的过去上下文的单词 xn 的概率将是语料库中序列 x1,x2,...xn-1,xn 的出现次数/语料库中序列 x1,x2,...,xn-1 的出现次数。

这是最简单的方法,但它有问题,特别是如果序列 x1,x2,...,xn 没有出现在语料库中会发生什么?它总是得到概率为零。因此,有一些平滑技术来处理这个问题(阅读它)。

现在对于问题 1 - 在最简单的情况下,没有平滑,候选是出现在语料库中的单词。在平滑模型中,候选词可能是所有词,因为每个词都可能获得正概率。