良好的图灵平滑直觉

数据挖掘 nlp
2021-09-27 15:42:35

我正在学习 Jurafsky & Manning 的 Coursera NLP 课程,而关于 Good-Turing 平滑的讲座让我感到奇怪。

给出的例子是:

您正在钓鱼(来自 Josh Goodman 的场景),钓到了:
10 条鲤鱼、3 条鲈鱼、2 条白鲑、1 条鳟鱼、1 条鲑鱼、1 条鳗鱼 = 18 条鱼
……
下一个物种是新物种的可能性有多大(即鲶鱼或低音)
让我们使用我们对事物的估计——我们见过——一次来估计新事物。
3/18(因为 N_1=3)

我的直觉是使用唯一可见项目的数量来估计不可见项目类型的数量(N = 3),但接下来的步骤似乎违反直觉。

为什么分母保持不变,而不是根据看不见的项目类型的估计值增加?即,我希望概率变为:

鲤鱼:10 / 21
鲈鱼:3 / 21
白鱼:2 / 21
鳟鱼:1 / 21
三文鱼:1 / 21
鳗鱼:1 / 21
新鲜事物:3 / 21

似乎 Good-Turing 计数对所见物品的惩罚过多(鳟鱼、鲑鱼和鳗鱼各减至 1/27);再加上需要调整计数差距的公式(例如,否则 Perch & Carp 将被归零),感觉就像一个糟糕的 hack。

1个回答

根据定义,给定数据中没有看不见的项目类型。3 是出现过一次的项目数,并且它们已经包含在分母 18 中。如果下一个项目之前没有出现过,那么它会在出现时变为见过一次由于 18 个示例中的 3 个被看到过一次项目,因此这是对下一个项目在第一次出现时也会被看到一次的概率的估计。

这当然是一种启发式。没有办法知道那里是否有 0 或 1000 种其他类型。