专栏首页数说工作室文本相似度 | 余弦相似度思想

文本相似度 | 余弦相似度思想

我一直觉得,在数据分析领域,只有文本分析是最“接地气儿”的,“接地气儿”不是指最简单,而是我们普通大众的使用它最多。

我们每天使用互联网,但不一定每个人都炒股,不一定都做行业研究,也不一定都搞科研,因此那些高大上的模型对大部分人来说都是飘忽在天上的,只有文本分析,他的产出结果是直接惠及到几乎全部人。

比如,你总得打字,会使用到输入法的模糊匹配;你总得网购,刷新页面的时候就会看到某宝给你推荐的产品;你总得看新闻,APP会根据你以往的输入给你推荐文章......

文本分析最基本的可以看正则表达式,我曾经写过SAS和Python的相关文章:

这个小系列,介绍的是计算文本之间的相似度。

1. 计算文本相似度有什么用?

  • 反垃圾文本的捞取

“诚聘淘宝兼职”、“诚聘打字员”...这样的小广告满天飞,作为网站或者APP的运营者,不可能手动将所有的广告文本放入屏蔽名单里,挑几个典型广告文本,与它满足一定相似度就进行屏蔽。

  • 推荐系统

在微博和各大BBS上,每一篇文章/帖子的下面都有一个推荐阅读,那就是根据一定算法计算出来的相似文章。

  • 冗余过滤

我们每天接触过量的信息,信息之间存在大量的重复,相似度可以帮我们删除这些重复内容,比如,大量相似新闻的过滤筛选。

这里有一个在线计算程序,你们可以感受一下

忘了说了,复制下面地址到浏览器:http://51tools.info/textsimilarity.aspx

2. 余弦相似度的思想

余弦相似度,就是用空间中两个向量的夹角,来判断这两个向量的相似程度:

  • 当两个向量夹角越大,距离越远,最大距离就是两个向量夹角180°;
  • 夹角越小,距离越近,最小距离就是两个向量夹角0°,完全重合。

借鉴这一思想,我们可以计算出两个文本的相似程度。但,我们真的要用夹角的大小去衡量吗?

文本1与文本2之间的夹角估计有37°; 文本A与文本C之间的夹角大概72.8°

相似度,个么侬就好好弄一个相似程度好伐?比如99%相似、10%相似,更关键的是,夹角这个东西——

我不会算!

谁来跟我说说两个空间向量的角度怎么计算?哪本书有?

一个更好的方法是计算夹角的余弦,对,就是那个初二学的——cos(θ)!这个不仅有公式可以算,而且结果也很有意义,是一个0-1的取值。

所以,用余弦夹角来计算两个文本的距离的步骤就是:

  • 首先,将两个文本数字化,变成两个向量;
  • 其次,计算两个向量的夹角余弦cos(θ)

结束。

本文分享自微信公众号 - 数说工作室(shushuojun),作者:数说君

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-02-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 文本分析 | 词频与余弦相似度

    这个系列打算以文本相似度为切入点,逐步介绍一些文本分析的干货,包括分词、词频、词频向量、文本匹配等等。 上一期,我们介绍了文本相似度的概念,通过计算两段文本的相...

    数说君
  • 导语:SAS正则表达式,统计师入门文本分析的捷径

    文本分析很有用,数说君自己也玩过,炒鸡有意思,从论坛、网页上爬取网友的舆情数据,然后整理、统计、画图,就可以知道舆论的风暴是什么,可以知道网友最热议的话题、最想...

    数说君
  • 海量文本用 Simhash, 2小时变4秒! | 文本分析:大规模文本处理(2)

    这是一个相似匹配的问题(文本相似匹配基础→ 词频与余弦相似度)。但是,亿级数据库,用传统的相似度计算方法太慢了,我们需要一个文本查询方法,可以快速的把一段文本的...

    数说君
  • Shiro第三篇【授权过滤器、与ehcache整合、验证码、记住我】

    前言 本文主要讲解的知识点有以下: Shiro授权过滤器使用 Shiro缓存 与Ehcache整合 Shiro应用->实现验证码功能 记住我功能 一、授权过滤器...

    Java3y
  • 每天4亿行SQLite订单大数据测试(源码)

    SQLite单表4亿订单,大数据测试 SQLite作为嵌入式数据库的翘楚,广受欢迎! 新生命团队自2010年以来,投入大量精力对SQLite进行学习研究,成功应...

    大石头
  • Shapefile属性操作之改

    在上篇的《Shapfile属性操作之增》和《Shapefile属性操作之删》中我们分别介绍了对于空间矢量数据属性的增加(CREATE)和删除(DELETE)操作...

    卡尔曼和玻尔兹曼谁曼
  • iOS 高性能图片架构与设计

    一个优秀的图片组件应该具有这些特性:集并发控制,请求合并,下载,缓存,缓存自动淘汰,图片处理,动画的从数据源到图片显示的一站式解决方案。做到图片加载展示如丝般顺...

    QQ空间开发团队
  • 【突发】AI先驱Nils Nilsson去世,吴恩达/Yann LeCun 等人纷纷悼念

    Nils Nilsson 教授是人工智能领域的元老级人物,他在搜索、规划、知识表示等方面作出了卓越的贡献。据 Nils Nilsson 教授个人主页介绍,他在斯...

    昱良
  • 哀悼 | 人工智能先驱、斯坦福大学教授 Nils Nilsson 今日逝世,享年 86 岁

    AI 科技评论按:2019 年 4 月 23 日,人工智能先驱、斯坦福大学计算机 Kumagai 教授 Nils Nilsson 逝世,享年 86 岁。

    AI科技评论
  • xcode编译报错unknown error -1=ffffffffffffffff Command /bin/sh failed with exit code 1

    升级完xcode9.1之后,编译项目出现如下错误: CI今日构建时报出如下错误: /Users/xxx/Library/Developer/Xcode/Deri...

    Java中文社群_老王

扫码关注云+社区

领取腾讯云代金券