相似度从字面上理解就是两个事物的相似程度。在信息检索中,相似度表示的是两个文档之间的相似程度或者查询与文档的相似程度。

首先回想一下检索过程:

1:首先用户输入查询词。

2:搜索引擎根据查询词查找相应的文档。

3:搜索引擎把查询结果以一定的方式显示给用户。

那么一篇文档是否满足用户的查询需求可以用文本与查询的相似程度来衡量。而相似度到最后总能够计算成一个实数,所以可以根据文档与查询的相似度进行排序。与查询相似度较高的文档排在前面,较低的排在后面。相似度的计算方式五花八门。比如上一篇文章中,可以简单的利用tf*idf的累加和代表文档与查询的相似程度。当然这种方法看上去没什么理论深度,所以就不讨论了。

对于一件事,研究者常常尽量使用数学理论去解释它,使它模型化,使它变得有理有据。数学包含的内容博大精深,所以解释的方法也不同。有的研究者试图用这种数学理论去解释,有的研究者试图用那种数学理论解释。有些人解释的很成功,当然有一些则失败了。当一个一流研究者找到一个新的解释方法并建立一个模型后,其他的三流研究者就开始对这个模型修修补补。现在就来说说一流研究者提出的一个检索模型:向量空间模型。该模型被用于文档的分类,该模型最初被用于文档的分类,通过文档与类别的特征之间计算来实现文档正确分类,但是该模型也可以用在信息检索中。

向量空间模型就是把查询和文档想象成N维空间向量,N是词典大小。每一维表示一个查询词。向量在每一个维度上的坐标可以通过计算得到。

设查询向量表示成:

Q=[q1,q2,……,qN];

文档向量表示成:

D=[d1,d2,……,dN];

这样查询Q与文档D都能表示成两个向量。

那么我们如何计算其相似度呢?这里常用的就是余弦相似度:

对于这种模型下的余弦相似度的计算有一个非常形象的解释:把每一篇文档想象成N维空间下的点。一个查询可以想象成从原点打出的一束光刺穿了这个N维空间,离光束近的点与查询相似度高,离光束远的点与查询相似度低。

那么查询向量和文档向量每个维度上的坐标该如何计算呢?可以利用tf*idf的值代表。因为查询词一般很少,所以查询向量中大部分的坐标值都是0,与文档向量相乘时,就会掩盖掉文档向量D的一些坐标,可以利用这一点加快计算速度。而向量的长度这些信息可以预先存储在倒排表中,所以整个过程可以在倒排表中快速求得。相似度求得后,就可以根据这个值进行排序了,生成列表返回给用户。

这就是向量空间模型以及余弦相似度计算,这个模型靠的很成功,以至于我看的每本书都会讲到这个模型。对于向量中坐标应该如何计算,也有相应的人去研究,这里就不赘述了。

新手学信息检索4:向量空间模型与相似度计算相关推荐

  1. 向量空间模型 java_相似度计算举例-----空间向量模型

    2.1.1 相似度计算举例 下面我们考虑一个固定的查询和文档集,包含一个查询Q和三篇文档组成的文档集: Q:"gold silver truck" D1:"Shipmen ...

  2. 【转载】向量空间模型VSM及余弦计算

    向量空间模型VSM及余弦计算 向量空间模型的基本思想是把文档简化为以特征项(关键词)的权重为分量的N维向量表示. 这个模型假设词与词间不相关(这个前提造成这个模型无法进行语义相关的判断,向量空间模型的 ...

  3. LSF-SCNN:一种基于 CNN 的短文本表达模型及相似度计算的全新优化模型

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 本篇文章是我在读期间,对自然语言处理中的文本相似度问题研究取得的一点小成果.如果你对自然语言处理 (natural language proc ...

  4. LSF-SCNN:一种基于CNN的短文本表达模型及相似度计算的全新优化模型

    本篇文章是我在读期间,对自然语言处理中的文本相似度问题研究取得的一点小成果.如果你对自然语言处理 (natural language processing, NLP) 和卷积神经网络(convolut ...

  5. 新手学信息检索2:倒排表与存储

    这篇就说一个信息检索里面理解最简单的一个东西吧,它就叫做倒排表或者倒排索引.但是这只是个名字,我想大家都知道它是什么就行了,不必纠结于名称.先说说倒排表张什么样子吧! 倒排表以词做索引,内容为包含该词 ...

  6. 向量空间模型(VSM)与TF-IDF

    向量空间模型,可用于计算文本相似度. 首先我们希望将文章向量化.可以将一篇文章表示成从该文章抽取的关键词及其权重所构成的向量. 但如何提取文章的关键词和他的权重? e.g. TF-IDF(词频-逆文档 ...

  7. 基于隐马尔科夫模型文本相似度问题研究

    文本相似度是表示两个或者多个文本之间匹配程度的一个度量参数,相似度数值大,说明文本相似度高:反之文件相似程度就低.文本相似度的精确计算问题是进行信息处理的关键. 在如今信息技术飞速发展的互联网时代,文 ...

  8. Jackcard相似度和余弦相似度(向量空间模型)的java实现

    版权声明:本文为博主原创文章,地址:http://blog.csdn.net/napoay,转载请留言. 总结Jackcard相似度和余弦相似度. 一.集合的Jackcard相似度 1.1Jackca ...

  9. 向量空间模型(VSM)--用于计算文本相似度

    向量空间模型将文档映射为一个特征向量V(d)=(t1,ω1(d):-:tn, ωn(d)),其中ti(i=1,2, -,n)为一列互不雷同的词条项,ωi(d)为ti在d中的权值, 一般被定义为ti在d ...

最新文章

  1. 13JavaScript中的简单数据类型与复杂数据类型
  2. mysql xplugin_mysql 5.7.12 新增 X plugin 详解
  3. 如何重置云服务器系统
  4. php asp.net 代码量少,.NET_asp.net 反射减少代码书写量, 复制代码 代码如下:public b - phpStudy...
  5. css跑道_如何不超出跑道:计划种子的简单方法
  6. Android下文件的压缩和解压(Zip格式)
  7. 【php数组函数序列】之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值...
  8. dpt原来英文是什么_今天才发现!原来微信还可以翻译文字,还不知道就可惜了...
  9. 2.大约QT数据库操作,简单的数据库连接操作,增删改查数据库,QSqlTableModel和QTableView,事务性操作,大约QItemDelegate 代理...
  10. Latex:利用BibTeX批量导入参考文献
  11. Solidworks 2015 安装教程
  12. 基于WebService实现设备状态监控Demo(含源码)
  13. java数据结构与算法之栈(Stack)设计与实现
  14. java正则表达式 后顾_正则表达式 - CrazyManDF的个人空间 - OSCHINA - 中文开源技术交流社区...
  15. 一定能用到的简单但实用的五种按钮样式(原生HTML+CSS步骤详解,含详细注释)
  16. VS2017下解决:error LNK2019: 无法解析的外部符号 __iob_func
  17. 看ChatGPT这形势,留给我们开发人员的时间不多了
  18. c# opencv车牌识别_opencv +数字识别
  19. 选择稀疏控制点的多标记点云标注
  20. 性能VS可靠性:为什么Java程序像F1赛车

热门文章

  1. 3009基于二叉链表的二叉树结点个数的统计(附思路)
  2. PAT乙级 1061 判断题
  3. springboot学习过程中遇到的错误集
  4. 华为畅享max有没有人脸识别_看到Meeting视频会议一体机融合华为分布式能力,共建智能会议新体验...
  5. 计算机审计的概念的论文,论文:浅谈计算机审计中的数据分析
  6. Yii2.x 互斥锁Mutex-类图
  7. C# 与C++的数据转换
  8. Entity Framework5.0运行时错误ObjectStateManager 中已存在具有同一键的对象
  9. Composer帮你轻松管理PHP包 autoload
  10. My97DatePicker日期控件的使用