Unigram 在语言识别方面比 Ngram 提供更好的结果

Unigram Gives Better Results than Ngram for Language Identification

我有一个学校项目,该项目包括从推文数据集中识别推文的每种语言。该数据集包含西班牙语、葡萄牙语、英语、巴斯克语、加利西亚语和加泰罗尼亚语的推文。任务是使用unigrams、bigrams和trigrams实现语言识别模型,并分析每个模型的效率。

我理解 ngram 的概念并且我知道这些语言有些相似(因此这不是一项微不足道的任务),但我不明白的是我得到的 unigram 的结果比 bigram 的结果更好而且我得到的二元组比三元组更好。

我无法理解这怎么可能,因为我期望二元组和三元组的效率更高。

你能帮我解释一下为什么会这样吗?

感谢您的宝贵时间。

简答:高阶 n-gram 存在数据稀疏性问题。 (我们倾向于通过平滑来解决这个问题。)这会使它们的信息量减少,因为有很多是看不见的,如果没有更多数据,就更难了解真实的数据分布。

您注意到较小的平滑量比较大的平滑量提供更好的性能。这是因为较低的可以让你听到你的数据更多。平滑就像 'prior belief',但您获得的计数代表实际数据。如果你平滑太多,现在你(几乎)完全忽略了你的数据!任何 unigram 的概率变得均等。