《数学之美》第十四章——余弦定理和新闻的分类

1 新闻的特征向量

    我们在新闻页面中浏览新闻的时候,通常会有很多模块,在这些模块里面的新闻都是具有一定相关性的。如果单纯依靠人工对大量的新闻进行分类显然是不可能的,因此需要让计算机能够“算”新闻,从而将新闻进行分类。
    我们知道,同一类新闻用的词是比较相似的,不同类的新闻用词会存在较大的不同。并且一篇文章中,不同的词重要性程度也不相同
    因此我们可以利用之前学习的TF-IDF算法,计算它们的TF-IDF值

    现在假设词汇表中有64000个词,如下图所示。
在这里插入图片描述
    然后我们选择一篇新闻,计算这64000个词的TF-IDF值,如下图所示。
在这里插入图片描述
    因此我们可以将这些TF-IDF值看成是一个具有64000维的向量。然后我们就可以使用一个特征向量去代表一篇新闻
在这里插入图片描述

2 向量距离的度量

    对于不同的新闻,如果这两个新闻相似度比较高,那么出现相同词汇的频率就越高。因此对于相似的新闻,那么它们的特征向量会在某几个维度的值都比较大,而在其他维度的值都比较小。反之如果两个新闻不相似,那么在值较大的维度就不会有什么交集。

    因此这里就引入余弦定理。通过余弦定理可以来衡量两个向量的相近程度。
在这里插入图片描述
    通过基本的数学知识,我们应该知道余弦的公式如下:
在这里插入图片描述
在这里插入图片描述
    假设新闻X和新闻Y对应的向量分别是:
在这里插入图片描述
那么它们夹角的余弦等于
在这里插入图片描述
    由于向量中的每个变量都是正数,所以余弦值必定在0和1之间,也就是夹角都是在0到90之间。当计算结果等于1时,那么说明两个向量夹角为0,即两篇新闻完全相同。当计算结果等于0时,那么说明两个新闻完全无关

    现在已经有了计算两个新闻相似性的公式了,下面就具体讨论新闻分类的算法。第一种情况是已经有了某一类新闻的特征向量,这样就直接计算就可以进行分类了。第二种情况是如果没有已经分好类的特征向量怎么办。

    对于第二种情况,国外大学的教授提出了一个自底向上不断合并的办法,具体思想如下:

  1. 计算新闻两两之间的余弦相似性,把相似性大于一个阈值的新闻合并成一个小类,这样N篇新闻就被合并成N1个小类,且N1<N。
  2. 把每个小类中所有的新闻作为一个整体,计算小类的特征向量,再计算小类间两两的余弦相似性,然后合并成大一点的小类,假如有N2个,当然N2<N1。

这样不断迭代下去,类别越来越少。到一定的类别数就可以停止了,不然同一类中的相似性就会不断降低。最后得到如下结果。
在这里插入图片描述

3 延伸阅读:计算向量余弦的技巧

    对于利用上述方法进行计算,会发现时间复杂度还是比较高的,因此这里考虑了几个方法进行优化

  1. 每个向量的模计算后可以保留下来,避免重复计算
  2. 计算向量内积的时候,只考虑向量的非零元素,这样可以大大节省时间
  3. 删除新闻中的虚词

    此外,我们在实际应用中,还需要考虑到不同位置出现的词重要性是不同的。例如标题会比正文重要,开头会比结尾重要等等,可以通过加权实现重要性程度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值