Nlp Ngram模型:良好的图灵平滑

Nlp Ngram模型:良好的图灵平滑,nlp,n-gram,Nlp,N Gram,我目前正在参加大学入学竞赛。我们正在使用一个简单的3克模型。问题是,为了节省内存,我们别无选择,只能忽略在训练集中出现1、2、3次的单格图和出现过一次的双格图。所以我们忘记了频率为1,2,3的单词;包含这些单词的双字组和频率为1的双字组;以及包含任何先前删除的ngrams的3克 现在我们已经到了找到丢失的单词应该去哪里,以及它是哪个单词的时候了。这里的问题是,我们如何计算/估计每个ngram的概率,以便当我们发现一个看不见的单词或短语时,概率不是0?嗯,在发现我们无法处理整个训练集之前,我们考虑

我目前正在参加大学入学竞赛。我们正在使用一个简单的3克模型。问题是,为了节省内存,我们别无选择,只能忽略在训练集中出现1、2、3次的单格图和出现过一次的双格图。所以我们忘记了频率为1,2,3的单词;包含这些单词的双字组和频率为1的双字组;以及包含任何先前删除的ngrams的3克

现在我们已经到了找到丢失的单词应该去哪里,以及它是哪个单词的时候了。这里的问题是,我们如何计算/估计每个ngram的概率,以便当我们发现一个看不见的单词或短语时,概率不是0?嗯,在发现我们无法处理整个训练集之前,我们考虑使用良好的图灵平滑,这看起来非常好,并且易于实现

对于良好的图灵平滑,我们需要每个频率的频率,现在我们没有任何频率为1的二元图(w1,w2),那么我们应该怎么做?我想为每个w1存储这个数字,这样我们可以在计算(*)中使用它。我真的不知道这是否会让事情变得更好

另一方面,不管我们在模型中做了什么样的切割,如果我们有以下情况会怎样:

频率c--->频率Nc的频率

1--->456

2--->123

3--->50

5--->23

为了估计新的c,c*,对于频率c=3的单词,我们需要N4和N2,但是N4是0

(*)因此,虽然我们不会存储任何c=1的单词w2,但我们会存储N1,这是计算不可见单词概率的最重要因素


有没有简单的方法来解决这个问题(特别是最后一部分)

我不是专家,但我遇到了类似的问题。这是一个很好的图灵平滑问题,Jurafsky的教科书中特别提到了这一点

我只是使用了最接近的计数,上面或下面。这似乎产生了不错的结果