VSM思想

把文档表示成R|v|上的向量,从而可以计算文档与文档之间的相似度(根据欧氏距离或者余弦夹角)

那么,如何将文档将文档表示为向量呢?

首先,需要选取基向量/dimensions,基向量须是线性独立的或者正交的向量。

在IR系统中,有两种方式决定基向量:

1.核心概念的思想(core concept):把词语的类型分类,按照其在不同分类上的“倾斜程度”决定向量的值。but,很难决定基向量。

2.把出现过的term(词语)都当作是一个基向量,假定所有的基向量都是相互正交相互独立的。以下我们采用这一种方式。

一个文档的向量表示就是:所有出现在文档中的term的向量之和。

如何决定权重?

1.在文档中,某个term出现记为1,不出现记为0.

2.tf方法(term frequency):在某个文档中,记下term出现的频率(次数)。

3.tf-idf方法(inverse document frequency):原始的词项频率会面临这样一个严重的问题:即在和查询进行相关度计算时,所有词项都被认为是同等重要的。实际上,某些词项对于相关度计算来说几乎没有或很少有区分能力。一个很直接的想法就是给文档集频率较高的词项赋予较低的权重。

dft表示的是词项t出现在所有文档的数目

idft = log(N/dft)  N表示的是所有文档数目。

tf-idft,d = tft,d x idft

如何计算相似度?

1.欧式距离

2.余弦夹角

....

LSI(潜层语义分析)

SVM 语言模型是将文档集中所有出现过的每个词语都算成一个维度,这样就出现了一个问题,若出现同义词时,它们将会被算成不同的维度,这样,检索性能将会降低。解决这个问题 的一个方法是将SVM做SVD分解,得到新的矩阵。

如何做SVD分解?

词项-文档矩阵C可以被表示为C=UΣVT C为MxN的矩阵,U为MxM的矩阵,Σ为MxN的矩阵,VT为NxN的矩阵

1.假设词项-文档矩阵为C,首先求出CCT

2.求出CCT的特征值,对这些特征值求均方差,从大到小排序,得到Σ矩阵

3. 求出Σ的逆阵

4. 求出Σ对应的特征向量V,然后对V求转置VT

5. U = CVΣ-1

求出C的SVD分解后,我们在看其中的Σ矩阵,人工决定将最后r列的值置为0,最后求出新的矩阵C。然后我们用这个新的矩阵进行相似度的计算。

问题:这是一个静态的过程,当不断有新的文档加入进文档集中时,LSI的效果持续下降,所以,我们需要定期的计算新的矩阵。

排序

1. 对每个相关文档进行相似度计算,返回前k个相关度最大的文档,这个时候可以使用堆排序

2. 索引去除技术。对于一个文档中,不需要计算它所有的词项与查询的相似度,首先人工确定一个r值,r值一般大于k。然后计算文档中词项的tf值,保留前r个tf值最高的词项。然后将这r个词项与查询做并集,然后在这个并集下,计算相关度。

3.以上我们计算的都是相关度,另外还有一个重要度的计算。相关度+重要度,决定了哪些文档应该排在前面。

[IR课程笔记]向量空间模型(Vector Space Model)的更多相关文章

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

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

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

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

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

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

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

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

  5. 深度学习课程笔记(十七)Meta-learning (Model Agnostic Meta Learning)

    深度学习课程笔记(十七)Meta-learning (Model Agnostic Meta Learning) 2018-08-09 12:21:33 The video tutorial can ...

  6. ES搜索排序,文档相关度评分介绍——Vector Space Model

    Vector Space Model The vector space model provides a way of comparing a multiterm query against a do ...

  7. 向量空间模型实现文档查询(Vector Space Model to realize document query)

    xml中文档(query)的结构: <topic> <number>CIRB010TopicZH006</number> <title>科索沃難民潮&l ...

  8. 扩展:向量空间模型算法(Vector Space Model)

  9. 12.扩展:向量空间模型算法(Vector Space Model)

随机推荐

  1. LeetCode OJ--Construct Binary Tree from Inorder and Postorder Traversal *

    http://oj.leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/ 知道二叉树的中序 ...

  2. BZOJ2243 [SDOI2011]染色(树链剖分+线段树合并)

    题目链接 BZOJ2243 树链剖分 $+$ 线段树 线段树每个节点维护$lc$, $rc$, $s$ $lc$代表该区间的最左端的颜色,$rc$代表该区间的最右端的颜色 $s$代表该区间的所有连续颜 ...

  3. Codeforces A. Bear and Big Brother

    ...不行.这题之后.不做1000分以下的了.很耻辱   A. Bear and Big Brother time limit per test 1 second memory limit per t ...

  4. JavaScript实现弹幕效果

    效果如下 <html> <head> <title></title> <script src="https://cdn.staticfi ...

  5. cef 下载地址

    最新的CEF3源代码在:http://cefbuilds.com/CEF3的论坛:http://www.magpcss.org/ceforum/viewforum.php?f=5CEF3 C++开发环 ...

  6. FreeBSD 8

    FreeBSD 8.0的安装过程和7.2区别不大.先在FreeBSD官方网站上下载安装镜像,我一般都下载DVD的ISO,也有人爱好下最小的安装包,然后通过FTP或HTTP方式从网上下载各个程序包. 这 ...

  7. Flash中如何使用滤镜

    使用滤镜 应用或删除滤镜 复制和粘贴滤镜 为对象应用预设滤镜 启用或禁用应用于对象的滤镜 启用或禁用应用于对象的所有滤镜 创建预设滤镜库 对象每添加一个新的滤镜,在属性检查器中,就会将其添加到该对象所 ...

  8. auth 认证

    参考链接 https://blog.csdn.net/hotnet522/article/details/5824716 http://blog.sina.com.cn/s/blog_6d6fbbd5 ...

  9. vue2.0 + vux 项目搭建

    1.快速搭建项目模板 因为项目使用vux,所以推荐使用vux官网的airyland/vux2 模板,vue-cli工具是vue项目的搭建脚手架 默认为 webpack2 模板,如果你需要使用webpa ...

  10. 禁用Clusterware在系统启动后自己主动启动

    以下是禁用及启用Clusterware随系统启动而自己主动启动的方法 10g下我们用例如以下方法: 禁用Clusterware随系统启动而自己主动启动 /etc/init.d/init.crs dis ...