《自然语言处理实战:利用Python理解、分析和生成文本》读书笔记:第3章 词中的数学

目录

第3章 词中的数学

3.1 词袋

3.2 向量化

3.3 齐普夫定律

3.4 主题建模

3.4.1 回到齐普夫定律

3.4.2 相关度排序

3.4.3 工具

3.4.4 其他工具

3.4.5 Okapi BM25

3.4.6 未来展望

3.5 小结


第3章 词中的数学

我们想要知道哪些词对于某篇具体文档和整个语料库更重要,于是我们可以利用这个“重要度”值,基于文档内的关键词重要度在语料库中寻找相关文档。

TF-IDF表示词项频率(term frequency)乘以逆文档频率(inverse document frequency)。词项频率是指每个词在某篇文档中的出现次数,而逆文档频率指的是文档集合中的文档总数除以某个词出现的文档总数。

3.1 词袋

具体来说,某个词在给定文档中出现的次数称为词项频率,通常简写为TF。在某些例子中,可以将某个词的出现频率除以文档中的词项总数从而得到归一化的词项频率结果。

我们不使用原始的词频来描述语料库中的文档,而使用归一化词项频率。类似地,我们可以计算每个词对文档的相对重要程度。

3.2 向量化

每个向量内部的值都必须要相对于某个在所有向量上的一致性结果进行计算,如果要对这些向量进行计算,那么需要相对于一些一致的东西,在公共空间中表示一个位置。向量之间需要有相同的远点,在每个维度上都有相同的表示尺度或者“单位”。这个过程的第一步是计算归一化词项频率。

此外,我们还希望每个文档向量同一维上的元素值代表同一个词。我们会在每篇文档中找到独立的词,然后将这些词集合求并集后从中找到每个独立的词。词汇表中的这些词集合通常称为词库。

向量空间

向量是线性代数或向量代数的主要组成部分。它是一个有序的数值列表,或者说这些数值是向量空间中的坐标。它描述了空间中的一个位置,或者它也可以用来确定空间中一个特定的方向和大小或距离。空间是所有可能出现在这个空间中的向量的集合。因此,两个值组成的向量在二维向量空间中,而3个值组成的向量在三维向量空间中。

对于自然语言文档向量空间,向量空间的维数是整个语料库中出现的不同词的数量。余弦相似度等于短向量在长向量上的投影长度占长向量长度的比例,它给出的是两个向量指向同一方向的程度。余弦相似度为1表示两个归一化向量完全相同,它们在所有维度上都指向完全相同的方向。

对于余弦相似度接近于1的NLP文档向量,我们知道这些文档应该使用了比例相近的相似词。因此,那些表示向量彼此接近的文档很可能涉及的是同一主题。

余弦相似度为0表示两个向量之间没有共享任何分量,它们是正交的,在所有维度上都互相垂直。对于NLP中的词频向量,只有当两篇文档没有公共词时才会出现这种情况。因为这些文档使用完全不同的词,所以它们一定在讨论完全不同的东西。当然,这并不意味着它们一定就有不同的含义或主题,而只表明它们使用完全不同的词。

余弦相似度为-1表示两个向量是反相似的,即完全相反,也就是两个向量指向完全相反的方向。对于简单的词频向量,甚至是归一化的词频向量,都不可能会发生这种情况。因为词的数目永远不会是负数,所以词频向量总是处于向量空间的同一象限中。没有词项频率向量可以偷偷进入其他向量尾部后面的象限。词项频率向量的分量不可能与另一个词项频率向量分量的符号相反,这是因为频率不可能是负数。

3.3 齐普夫定律

齐普夫定律指出,在给定的自然语言语料库中,任何一个词的频率与它在频率表中的排名成反比。

简而言之,如果把语料库的词按照出现次数按降序排列,我们会发现:对一个足够大的样本,出现次数排名第一的词在语料库中的出现次数是排名第二的词的两倍,是排名第四的词的4倍。因此, 给定一个大型语料库,可以用上述数字来粗略统计给定词出现在该语料库的任何给定文档中的可能性。

3.4 主题建模

词计数是有用的,但是纯词计数,即使按照文档的长度进行归一化处理,也不能告诉我们太多该词在当前文档相对于语料库中其他文档的重要度信息。

逆文档频率(IDF),在齐普夫定律下为主题分析打开了一扇新的窗户。考虑逆文档频率的一个好方法是,这个词条发在此文档中有多么稀缺?如果一个词项在某篇文档中出现很多次,但是却很少出现在语料库的其他文档中,那么就可以假设它对当前文档非常重要。

3.4.1 回到齐普夫定律

齐普夫定律建议使用对数来对词频进行尺度的缩放处理,这样就能够确保出现次数类似的词在最后的词频计算结果上也不会出现指数级的差异。

此外,这种词频的分布将确保TF-IDF分数更加符合均匀分布。因此,我们应该将IDF重新定义为词出现在某篇文档中原始概率的对数。对于词项频率,我们也会进行对数处理。

对数函数的底并不重要,因为我们只想使频率分布均匀,而不是将值限定在特定的数值范围内进行缩放。

TF-IDF这个独立的数字,是简单搜索引擎的简陋的基础。随着我们已经坚实地从文本领域进入数字领域,是时候进行一些数学处理了。在计算TF-IDF时,我们可能永远不需要实现前面的公式。线性代数对于全面理解自然语言处理中使用的工具并不是必需的,但是大体上熟悉公式的原理可以使它们的使用更加直观。

3.4.2 相关度排序

在每个文档向量中,我们用词的TF-IDF替换TF,向量将更全面地反映文档的含义或主题。

3.4.3 工具

3.4.4 其他工具

3.4.5 Okapi BM25

3.4.6 未来展望

3.5 小结

1.任何具有毫秒级响应时间的Web级搜索引擎,其背后都具有TF-IDF词项文档矩阵的强大力量。

2.词项频率必须根据其逆文档频率加权,以确保最重要、最有意义的词得到应有的权重。

3.齐普夫定律可以帮助我们预测各种事物的频率,包括词、字符和人物。

4.TF-IDF词项--文档矩阵的行可以用作表示单个词含义的向量,从而创建词语义的向量空间模型。

5.在大多数NLP应用中,高维向量对之间的欧几里得距离和相似度不能充分代表它们之间的相似度。

6.余弦距离,即向量之间的重合度,可以将归一化向量的元素相乘后再将成绩相加,从而实现高效的计算。

7.余弦距离是大多数自然语言向量表示的相似度计算方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值