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. 删除新闻中的虚词

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

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

  1. 《数学之美》第14章 余弦定理和新闻的分类

    1 新闻的特征向量 对于一篇新闻中的所有实词,计算出它们的TF-IDF值.把这些值按照对应的实词在词汇表的位置依次排序,就得到一个向量.每一篇新闻都可以对应这样一个特征向量,向量中每一个维度的大小代表 ...

  2. 读《数学之美》第四章 谈谈分词

    中文分词其实有点像古代的句读(dou),韩愈的<师说>中就有:"彼童子之师,授之书而习其句读者也".古人文章是没有标点符号的,行文一气呵成.如果不懂离经断句,就很难理解 ...

  3. 数学之美-读书笔记11-15章

    文章目录 数学之美 第十一章 如何确定网页和查询的相关性 1搜索关键词权重的科学度量-TF-IDF 第十二章 有限状态机和动态规划-地图与本地搜索的核心技术 1地址分析和有限状态机 2全球导航和动态规 ...

  4. 数学:确定性的丧失---第十四章 数学向何处去

    发信人: paradax (秀树*冬眠中...), 信区: Philosophy 标  题: 数学:确定性的丧失(15) 发信站: 北大未名站 (2002年10月23日22:40:41 星期三), 转 ...

  5. 【西电—英美国家概况(英美概况/英美文化)2023第一学期】第十四章参考课后答案

    [西电-英美国家概况(英美概况/英美文化)2023第一学期]第十四章参考课后答案

  6. 《Python游戏编程快速上手》第十四章----凯撒密码

    <Python游戏编程快速上手>的第十二章主要讲了笛卡尔坐标系的基本数学知识,我就不重现了:然后第十三章主要是一个笛卡尔坐标系的小应用,这个小应用也是非常简单的,所以我就不重现了. 今天主 ...

  7. 【JAVA SE】第十四章 集合框架、语法糖和泛型

    第十四章 集合框架.语法糖和泛型 文章目录 第十四章 集合框架.语法糖和泛型 一.集合框架 1.概念 2.接口 二.语法糖 1.概念 2.解语法糖 三.泛型 1.概念 2.泛型类 3.泛型接口 4.泛 ...

  8. 第三十四章 数论——高斯消元解线性方程组

    第三十四章 数论--高斯消元解线性方程组 一.高斯消元 1.线性方程组 2.高斯消元步骤 (1)数学知识铺垫 增广矩阵和阶梯矩阵 初等变换 (2)高斯消元步骤 二.代码模板 1.问题: 2.代码 一. ...

  9. R语言学习笔记——高级篇:第十四章-主成分分析和因子分析

    R语言 R语言学习笔记--高级篇:第十四章-主成分分析和因子分析 文章目录 R语言 前言 一.R中的主成分和因子分析 二.主成分分析 2.1.判断主成分的个数 2.2.提取主成分 2.3.主成分旋转 ...

最新文章

  1. 二叉树学习笔记之树的旋转
  2. 【转载】YOLOV详解
  3. jdbc,mybatis,hibernate各自优缺点及区别
  4. udp java 检测连接_简单的JAVA UDP连接测试
  5. python中字符串乘法_python leetcode 字符串相乘实例详解
  6. 重学java基础第二十五课:数据类型
  7. Linux学习笔记(四)之查看登录用户
  8. Codeforces123E. Maze【树形dp】【概率dp】【证明题】
  9. 在 Windows 7 中安装和使用Windows XP Mode
  10. Ionic3学习笔记(二)主题化
  11. activex 控件 过期_IE浏览器阻止过期ActiveX控件或将影响网银的使用-银行控件蓝屏...
  12. 中高级Android面试中你不得不会的知识点,3面直接拿到offer
  13. 方舟编译器开源,华为自家开源平台面世!(附编译过程)
  14. 【成长修炼】关于海贼王海军世界观
  15. PCB板材的基础知识
  16. 扔垃圾前得先“刷脸”?北京这个小区垃圾分类真的用上了“人脸识别”!
  17. Java基础3-循环
  18. 《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks》翻译
  19. 轩小陌的Python笔记-day25 MySQL入门
  20. 迅雷离线配合Internet Download Manager下载ED2K链接

热门文章

  1. 前端必会的图片懒加载,你造吗?
  2. oracle-04045,OracleORA-04045errorsduringrecompilation/revalidation
  3. ubuntu18安装教程
  4. 2020年中,已知本年中的第几天求解改天是2020年的几月几日星期几
  5. seq2seq模型案例分析
  6. Android Dex文件结构
  7. 时序图 Sequence Diagrams
  8. 7-2 凯撒密码 (20分)
  9. Markdown 公式指导手册
  10. SpringCloud(五)Zuul也就是网关(一个可用的demo)