我有 96 个文件,每个文件包含约 10K 行英文文本(标记化,小写)。如果我遍历文件(本质上是使用 k=#files 进行 k 折交叉验证)并为 95 构建一个 LM(使用 bin/lmplz)并对保留的文件运行 bin/query,我会看到一个 PPL (包括OOV)每次为1.0。但是,如果我针对使用所有 96 个文件构建的 LM 运行一个文件(因此测试文档包含在构建 LM 中),我得到的 PPL 为 27.8。
我在 SRILM 方面的经验比 KenLM 多,但我从未见过 1 的困惑分数。对此感觉有些不对劲。即使我接受了这一点并将其归因于测试文档中出现在其他训练数据中的句子,它也无法解释为什么当我确保测试数据包含在训练数据中时我会得到更高的分数。这是怎么回事?
==============================
这似乎也很奇怪:
Perplexity including OOVs: 1
Perplexity excluding OOVs: 0.795685
OOVs: 0