uni-gram何时比bi-gram(或更高的N-gram)更合适?

Ada*_*dam 3 nlp machine-learning data-mining n-gram

我阅读有关的n-gram和我想知道是否存在,当实践的情况下,单克会优于使用双克(或更高的n-gram).据我所知,N越大,计算概率和建立向量空间的复杂性就越大.但除此之外,还有其他原因(例如与数据类型有关)吗?

err*_*ist 8

这归结为数据稀疏性:当你的n -gram长度增加时,你将看到任何给定n -gram的次数将减少:在最极端的例子中,如果你有一个语料库,其中最大文档长度是n个标记和你正在寻找m = n + 1 的m -gram ,当然,你根本就没有数据点,因为你的数据集中根本不可能有这个长度的序列.您的数据集越稀疏,您就可以对其进行建模.出于这个原因,尽管理论上高阶n阶模型包含有关单词上下文的更多信息,但由于事件的数量(即n- gram),它不能轻易推广到其他数据集(称为过度拟合).随着n增加,它在训练期间变得越来越少.另一方面,低阶模型缺乏上下文信息,因此可能不适合您的数据.

出于这个原因,如果你有一个非常相对大量的令牌类型(即你的文本的词汇非常丰富)但是这些类型中的每一个都具有非常低的频率,你可以用低阶n -gram 获得更好的结果模型.同样,如果您的训练数据集非常小,那么使用低阶n阶图模型可能会做得更好.但是,假设您有足够的数据来避免过度拟合,那么您可以使用更高阶的模型更好地分离数据.

  • 只是一个小小的补充说明:如果标记是“独立的”,那么 1-gram 的效果与 n-gram 一样好。例如,朴素贝叶斯就是一个您经常可以忽略上下文/相关性的例子。但正如您所回答的,主要问题可能是您需要(指数级?)更多的训练数据,您的 n-gram 越长。 (3认同)