为什么 Heaps 定律方程在 NLP 课程中看起来如此不同?

数据挖掘 深度学习 nlp 语言模型
2022-02-15 22:40:34

我实际上不确定这个社区是否允许这个问题,因为它更像是一个语言学问题而不是一个数据科学问题。我在网上进行了广泛搜索,但未能找到答案,而且 Linguistics Beta Stack Exchange 社区似乎也无法提供帮助。如果这里不允许,请关闭它。

堆定律基本上是一个经验函数,它表示您在文档中找到的不同单词的数量随着文档长度的增加而增长维基百科链接中给出的等式是

R(n)=ķnβ

在哪里R是大小文档中不同单词的数量n, 和ķβ是根据经验选择的自由参数(通常0ķ1000.4β0.6)。

我目前正在 Youtube 上学习牛津大学和 DeepMind的一门名为Deep Learning for NLP的课程。讲座中有一张幻灯片以一种完全不同的方式展示了 Heaps 定律:

在此处输入图像描述

用对数给出的方程显然也是 Heaps 定律。增长最快的曲线是 Twitter 数据的语料库,而最慢的是华尔街日报。与 WSJ 相比,推文通常具有更少的结构和更多的拼写错误等,这可以解释快速增长的曲线。

我遇到的主要问题是,Heaps 定律是如何呈现出作者给出的形式的?这有点触及,但作者没有具体说明这些参数是什么(即C,α,r(w),b) 我想知道是否有人可能熟悉堆定律给我一些关于如何解决我的问题的建议。

1个回答

该图显示了 Heaps 定律,但公式有所不同,它是Zipf 定律

F(w)是单词的相对频率(或概率)w. 也就是说,给定一个随机词,它将是w有概率f(w). 因此,如果一个文件有n的话,它平均有n×f(w)单词的出现w.

公式可以改写如下:

f(w)=C(r(w)b)α
这是显示Zipf 定律的幂律分布,但是通过引入截止参数化略有不同b.

  1. r(w)表示词的等级w. 例如,如果我们根据频率对新闻语料库中的所有单词进行排序,r('the')将是 1,r('be')将是 2,依此类推,

  2. 隔断b忽略高频词r(w)b,有效地提高了剩余单词的排名,

  3. C是归一化常数,即C=r=b+1(rb)α, 这使w,r(w)>bf(w)=1, 和

  4. 指数α表示等级增加时概率的下降率。更高α,下降速度更快。

指数α是通过将公式拟合到某个语料库来确定的,如表所示。一般来说,较低α(以 twitter 为例),因此下降速度较慢,意味着语料库具有更多的单词多样性。