我们採用更加形式化的定义,并採用稍大一些的样例来展示怎样使用基于数据集频率的权重。相应于一个给定的词项,其权重使用IDF(逆文档频率)来计算。

为了给每篇文档建立一个相应的向量,能够考虑例如以下定义。

 

对于每一篇文档向量,都有n个分量,而且对于整个文档集中每一个不同的词项,都包括一个词条。

向量中的每一个分量为在整个文档集中计算出来的每一个词项的权重。在每篇文档中。词项权重基于词项在整个文档集中出现的频率情况以及词项在某一个特定文档中出现的频率自己主动赋值。

词项在一篇文档中出现的频率越高。则权重越大。相反。假设词项在全部文档中出现的频率越高。则权重越小。

仅当词项在文档中出现时,文档向量中词项的权重才为非零值。

对于一个包括很多小文档的大文档集。文档向量可能会包括大量的零元素。比如,一篇文档集包括10 000个不同的词项,也就是每一个文档中要用10 000维的向量来表示。一个给定的仅仅有100个不同词项的文档向量则包括9 900个零分量。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hyaXN0cHJpbmNlMDA3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

对于文档中词项的权重因素,主要综合考虑词频和逆文档频率。也就是说。我们使用以下的公式计算文档i相应的向量中第j个词条的值:

 

以下我们来考虑一个包括D1和D2两篇文档的文档集。在文档D1中词"绿色"出现了十次,而在D2中"绿色"仅出现了5次。假设只查询"绿色"。那么在结果中文档D1排在文档D2前面。

当我们在一篇文档检索系统中用文档集中t个不同的词项来查询时。系统将为每一个文档计算维度为t的向量D(di1, di2,…,dit)。向量值使用前文所述的词项权重填充。

类似地,查询中的词项构建的向量为Q(wq1, wq2,…,wqt)。

查询Q和文档Di的相似度能够简单地定义为两个向量的内积。由于查询向量和和文档向量在长度上是相似的,这样的策略也经常被用来计算两篇文档的相似度。我们将在3.2节中讨论将SC应用到文档聚类中。

 

相似度计算举例

以下我们考虑一个固定的查询和文档集,包括一个查询Q和三篇文档组成的文档集:

Q:"gold silver truck"

D1:"Shipment of gold damaged in a fire"

D2:"Delivery of silver arrived in a silver truck"

D3:"Shipment of gold arrived in a truck"

在这个文档集中。有三篇文档,所以d = 3。假设一个词项仅在三篇文档中的一篇中出现,那么该词项的IDF就是lg(d/dfi) = lg(3/1) = 0.477。

类似地,假设一个词项在三篇文档中的两篇中出现,那么该词项的IDF就是lg(d/dfi) = lg(3/2) = 0.176。

假设一个词项在三篇文档中都出现了,那么该词项的IDF就是lg(d/dfi) = lg(3/3)
= 0。

三篇文档的每一个词项的IDF值例如以下所看到的:

 

如今就能够构造文档向量了。由于文档集中出现了11个词项,所以我们构造一个11维的文档向量。我们能够用上文给出的按字母顺序排列的词项来构建文档向量,所以t1相应第一个词项"a",t2相应"arrived",依次类推。

向量j中词项i的权重计算方式为idfi×tfij。文档向量如表2-1所看到的。

表2-1 文档向量

docid

a

arrived

damaged

delivery

fire

gold

in

of

shipment

silver

truck

D1

0

0

0.477

0

0.477

0.176

0

0

0.176

0

0

D2

0

0.176

0

0.477

0

0

0

0

0

0.954

0.176

D3

0

0.176

0

0

0

0.176

0

0

0.176

0

0.176

Q

0

0

0

0

0

0.176

0

0

0

0.477

0.176

改进后的向量空间模型(VSM)的更多相关文章

  1. 向量空间模型(VSM)在文档相似度计算上的简单介绍

    C#实现在: http://blog.csdn.net/Felomeng/archive/2009/03/25/4023990.aspx 向量空间模型(VSM:Vector space model)是 ...

  2. Solr相似度名词:VSM(Vector Space Model)向量空间模型

    最近想学习下Lucene ,以前运行的Demo就感觉很神奇,什么原理呢,尤其是查找相似度最高的.最优的结果.索性就直接跳到这个问题看,很多资料都提到了VSM(Vector Space Model)即向 ...

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

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

  4. 向量空间模型(Vector Space Model)的理解

    1. 问题描述 给你若干篇文档,找出这些文档中最相似的两篇文档? 相似性,可以用距离来衡量.而在数学上,可使用余弦来计算两个向量的距离. \[cos(\vec a, \vec b)=\frac {\v ...

  5. 转:Lucene之计算相似度模型VSM(Vector Space Model) : tf-idf与交叉熵关系,cos余弦相似度

    原文:http://blog.csdn.net/zhangbinfly/article/details/7734118 最近想学习下Lucene ,以前运行的Demo就感觉很神奇,什么原理呢,尤其是查 ...

  6. 向量空间模型(Vector Space Model)

    搜索结果排序是搜索引擎最核心的构成部分,很大程度上决定了搜索引擎的质量好坏.虽然搜索引擎在实际结果排序时考虑了上百个相关因子,但最重要的因素还是用户查询与网页内容的相关性.(ps:百度最臭名朝著的“竞 ...

  7. Python实现改进后的Bi-RRT算法实例

    Python实现改进后的Bi-RRT算法实例 1.背景说明 以下代码是参照上海交通大学海洋工程国家重点实验室<基于改进双向RRT的无人艇局部路径规划算法研究>的算法思想实现的. 2.算法流 ...

  8. 机器翻译评测——BLEU改进后的NIST算法

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/7765345.html 上一节介绍了BLEU算的缺陷.NIS ...

  9. java词频统计——改进后的单元测试

    测试项目 博客文章地址:[http://www.cnblogs.com/jx8zjs/p/5862269.html] 工程地址:https://coding.net/u/jx8zjs/p/wordCo ...

随机推荐

  1. LRESULT CALLBACK WndProc 窗口程序的 重点

    LRESULT CALLBACK WndProc Windows程序所作的一切,都是回应发送给窗口消息处理程序的消息.这是概念上的主要难点之一,在开始写作Windows程序之前,必须先搞清楚. 窗口消 ...

  2. python学习-- django 2.1.7 ajax 请求

    #--------------views.py---------------------- def add(request): a = request.GET['a'] print(a) b = re ...

  3. grunt-nodemon参数配置

    grunt-nodemon参数配置 nodemon0.2.0版本后参数名称做了较大改动,调整了下nodemon的参数配置,有需要的同学可以参考下: 1 2 3 4 5 6 7 8 9 10 11 12 ...

  4. Python开启进程的2中方式

    知识点一:进程的理论 进程:正在进行的一个程序或者说一个任务,而负责执行任务的则是CPU 进程运行的的三种状态: 1.运行:(由CPU来执行,越多越好,可提高效率) 2.阻塞:(遇到了IQ,3个里面可 ...

  5. Xshell如何上传下载服务器文件

    Xshell远程连接服务器后,可以通过sz,rz下载上传文件到服务器. 安装命令: yum install lrzsz 从服务端发送文件到客户端: sz filename 选择下载文件要保存的目录 从 ...

  6. hive查询语法

    1.创建表: >create table value_data(citing INT,cited INT) >row format delimited >fields termina ...

  7. 关于 __int128

    __int128 是 GCC 提供的扩展(extension),可以当作 128 位整数使用. 关于 __int128 和 __int128_t Normally, _t suffix means a ...

  8. BZOJ 4820 [Sdoi2017]硬币游戏 ——期望DP 高斯消元

    做法太神了,理解不了. 自己想到的是建出AC自动机然后建出矩阵然后求逆计算,感觉可以过$40%$ 用一个状态$N$表示任意一个位置没有匹配成功的概率和. 每种匹配不成功的情况都是等价的. 然后我们强制 ...

  9. bzoj 4009 接水果 整体二分

    Description 先给出一些盘子, 用路径x-y表示, 有权值 再有Q个询问, 表示水果, 用路径x-y表示 如果盘子是水果的子路径, 可以接住 对于每个水果, 输出可以接住它的盘子的第k小权 ...

  10. SharePoint 2013 App 开发—Auto Hosted 方式

    Auto Hosted 方式,自动使用Windows Azure来作为host,这种模式将App 发布到Office 365上的SharePoint Developer Site上.这种方式可以不用花 ...