《数学之美》第十四章——余弦定理和新闻的分类
1 新闻的特征向量
我们在新闻页面中浏览新闻的时候,通常会有很多模块,在这些模块里面的新闻都是具有一定相关性的。如果单纯依靠人工对大量的新闻进行分类显然是不可能的,因此需要让计算机能够“算”新闻,从而将新闻进行分类。
我们知道,同一类新闻用的词是比较相似的,不同类的新闻用词会存在较大的不同。并且一篇文章中,不同的词重要性程度也不相同。
因此我们可以利用之前学习的TF-IDF算法,计算它们的TF-IDF值。
现在假设词汇表中有64000个词,如下图所示。
然后我们选择一篇新闻,计算这64000个词的TF-IDF值,如下图所示。
因此我们可以将这些TF-IDF值看成是一个具有64000维的向量。然后我们就可以使用一个特征向量去代表一篇新闻。
2 向量距离的度量
对于不同的新闻,如果这两个新闻相似度比较高,那么出现相同词汇的频率就越高。因此对于相似的新闻,那么它们的特征向量会在某几个维度的值都比较大,而在其他维度的值都比较小。反之如果两个新闻不相似,那么在值较大的维度就不会有什么交集。
因此这里就引入余弦定理。通过余弦定理可以来衡量两个向量的相近程度。
通过基本的数学知识,我们应该知道余弦的公式如下:
假设新闻X和新闻Y对应的向量分别是:
那么它们夹角的余弦等于
由于向量中的每个变量都是正数,所以余弦值必定在0和1之间,也就是夹角都是在0到90之间。当计算结果等于1时,那么说明两个向量夹角为0,即两篇新闻完全相同。当计算结果等于0时,那么说明两个新闻完全无关。
现在已经有了计算两个新闻相似性的公式了,下面就具体讨论新闻分类的算法。第一种情况是已经有了某一类新闻的特征向量,这样就直接计算就可以进行分类了。第二种情况是如果没有已经分好类的特征向量怎么办。
对于第二种情况,国外大学的教授提出了一个自底向上不断合并的办法,具体思想如下:
- 计算新闻两两之间的余弦相似性,把相似性大于一个阈值的新闻合并成一个小类,这样N篇新闻就被合并成N1个小类,且N1<N。
- 把每个小类中所有的新闻作为一个整体,计算小类的特征向量,再计算小类间两两的余弦相似性,然后合并成大一点的小类,假如有N2个,当然N2<N1。
这样不断迭代下去,类别越来越少。到一定的类别数就可以停止了,不然同一类中的相似性就会不断降低。最后得到如下结果。
3 延伸阅读:计算向量余弦的技巧
对于利用上述方法进行计算,会发现时间复杂度还是比较高的,因此这里考虑了几个方法进行优化。
- 每个向量的模计算后可以保留下来,避免重复计算
- 计算向量内积的时候,只考虑向量的非零元素,这样可以大大节省时间
- 删除新闻中的虚词
此外,我们在实际应用中,还需要考虑到不同位置出现的词重要性是不同的。例如标题会比正文重要,开头会比结尾重要等等,可以通过加权实现重要性程度。
《数学之美》第十四章——余弦定理和新闻的分类相关推荐
- 《数学之美》第14章 余弦定理和新闻的分类
1 新闻的特征向量 对于一篇新闻中的所有实词,计算出它们的TF-IDF值.把这些值按照对应的实词在词汇表的位置依次排序,就得到一个向量.每一篇新闻都可以对应这样一个特征向量,向量中每一个维度的大小代表 ...
- 读《数学之美》第四章 谈谈分词
中文分词其实有点像古代的句读(dou),韩愈的<师说>中就有:"彼童子之师,授之书而习其句读者也".古人文章是没有标点符号的,行文一气呵成.如果不懂离经断句,就很难理解 ...
- 数学之美-读书笔记11-15章
文章目录 数学之美 第十一章 如何确定网页和查询的相关性 1搜索关键词权重的科学度量-TF-IDF 第十二章 有限状态机和动态规划-地图与本地搜索的核心技术 1地址分析和有限状态机 2全球导航和动态规 ...
- 数学:确定性的丧失---第十四章 数学向何处去
发信人: paradax (秀树*冬眠中...), 信区: Philosophy 标 题: 数学:确定性的丧失(15) 发信站: 北大未名站 (2002年10月23日22:40:41 星期三), 转 ...
- 【西电—英美国家概况(英美概况/英美文化)2023第一学期】第十四章参考课后答案
[西电-英美国家概况(英美概况/英美文化)2023第一学期]第十四章参考课后答案
- 《Python游戏编程快速上手》第十四章----凯撒密码
<Python游戏编程快速上手>的第十二章主要讲了笛卡尔坐标系的基本数学知识,我就不重现了:然后第十三章主要是一个笛卡尔坐标系的小应用,这个小应用也是非常简单的,所以我就不重现了. 今天主 ...
- 【JAVA SE】第十四章 集合框架、语法糖和泛型
第十四章 集合框架.语法糖和泛型 文章目录 第十四章 集合框架.语法糖和泛型 一.集合框架 1.概念 2.接口 二.语法糖 1.概念 2.解语法糖 三.泛型 1.概念 2.泛型类 3.泛型接口 4.泛 ...
- 第三十四章 数论——高斯消元解线性方程组
第三十四章 数论--高斯消元解线性方程组 一.高斯消元 1.线性方程组 2.高斯消元步骤 (1)数学知识铺垫 增广矩阵和阶梯矩阵 初等变换 (2)高斯消元步骤 二.代码模板 1.问题: 2.代码 一. ...
- R语言学习笔记——高级篇:第十四章-主成分分析和因子分析
R语言 R语言学习笔记--高级篇:第十四章-主成分分析和因子分析 文章目录 R语言 前言 一.R中的主成分和因子分析 二.主成分分析 2.1.判断主成分的个数 2.2.提取主成分 2.3.主成分旋转 ...
最新文章
- 二叉树学习笔记之树的旋转
- 【转载】YOLOV详解
- jdbc,mybatis,hibernate各自优缺点及区别
- udp java 检测连接_简单的JAVA UDP连接测试
- python中字符串乘法_python leetcode 字符串相乘实例详解
- 重学java基础第二十五课:数据类型
- Linux学习笔记(四)之查看登录用户
- Codeforces123E. Maze【树形dp】【概率dp】【证明题】
- 在 Windows 7 中安装和使用Windows XP Mode
- Ionic3学习笔记(二)主题化
- activex 控件 过期_IE浏览器阻止过期ActiveX控件或将影响网银的使用-银行控件蓝屏...
- 中高级Android面试中你不得不会的知识点,3面直接拿到offer
- 方舟编译器开源,华为自家开源平台面世!(附编译过程)
- 【成长修炼】关于海贼王海军世界观
- PCB板材的基础知识
- 扔垃圾前得先“刷脸”?北京这个小区垃圾分类真的用上了“人脸识别”!
- Java基础3-循环
- 《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks》翻译
- 轩小陌的Python笔记-day25 MySQL入门
- 迅雷离线配合Internet Download Manager下载ED2K链接