n-gram 在什么时候会适得其反?

机器算法验证 文本挖掘 自然语言
2022-03-17 06:11:58

在进行自然语言处理时,可以获取一个语料库并评估下一个单词在 n 序列中出现的概率。n 通常选择为 2 或 3(二元组和三元组)。

考虑到在该级别对特定语料库进行一次分类所需的时间量,是否存在一个已知点,在该点跟踪第 n 条链的数据会适得其反?或者考虑到从(数据结构)字典中查找概率所需的时间?

2个回答

您对“适得其反”的衡量可能是任意的-例如。拥有大量快速内存,可以更快(更合理地)处理它。

话虽如此,指数增长也随之而来,根据我自己的观察,它似乎在 3-4 左右。(我还没有看到任何具体的研究)。

三元组确实比二元组有优势,但它很小。我从来没有实现过 4 克,但改进会少得多。可能是类似数量级的下降。例如。如果三元组比二元组提高 10%,那么 4 克的合理估计可能比三元组提高 1%。

然而,真正的杀手是记忆和数字计数的稀释。拥有唯一词的语料库,那么一个二元模型需要值;一个三元模型需要一个 4-gram 将需要现在,好吧,这些将是稀疏数组,但你明白了。值的数量呈指数增长,并且由于频率计数的稀释,概率变得更小。0 或 1 观察之间的差异变得更加重要,但单个 4-gram 的频率观察将会下降。10,000100002100003100004

你将需要一个巨大的语料库来补偿稀释效应,但Zipf 定律说,一个巨大的语料库也会有更多独特的词......

我推测这就是为什么我们会看到很多二元和三元模型、实现和演示的原因;但没有完全有效的 4-gram 示例。

考虑到在该级别对特定语料库进行一次分类所需的时间量,是否存在一个已知点,在该点跟踪第 n 条链的数据会适得其反?

您应该寻找perplexity vs. n-gram size tables 或 plots

例子:

http://www.itl.nist.gov/iad/mig/publications/proceedings/darpa97/html/seymore1/image2.gif

在此处输入图像描述

http://images.myshared.ru/17/1041315/slide_16.jpg

在此处输入图像描述

http://images.slideplayer.com/13/4173894/slides/slide_45.jpg

在此处输入图像描述

困惑取决于您的语言模型、n-gram 大小和数据集。像往常一样,语言模型的质量与运行所需的时间之间存在权衡。现在最好的语言模型是基于神经网络的,所以 n-gram 大小的选择不是问题(但是如果你使用 CNN 和其他超参数,你需要选择过滤器大小......)。