[IR课程笔记]向量空间模型(Vector Space Model)
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)的更多相关文章
- 向量空间模型(Vector Space Model)的理解
1. 问题描述 给你若干篇文档,找出这些文档中最相似的两篇文档? 相似性,可以用距离来衡量.而在数学上,可使用余弦来计算两个向量的距离. \[cos(\vec a, \vec b)=\frac {\v ...
- 向量空间模型(Vector Space Model)
搜索结果排序是搜索引擎最核心的构成部分,很大程度上决定了搜索引擎的质量好坏.虽然搜索引擎在实际结果排序时考虑了上百个相关因子,但最重要的因素还是用户查询与网页内容的相关性.(ps:百度最臭名朝著的“竞 ...
- Solr相似度名词:VSM(Vector Space Model)向量空间模型
最近想学习下Lucene ,以前运行的Demo就感觉很神奇,什么原理呢,尤其是查找相似度最高的.最优的结果.索性就直接跳到这个问题看,很多资料都提到了VSM(Vector Space Model)即向 ...
- 转:Lucene之计算相似度模型VSM(Vector Space Model) : tf-idf与交叉熵关系,cos余弦相似度
原文:http://blog.csdn.net/zhangbinfly/article/details/7734118 最近想学习下Lucene ,以前运行的Demo就感觉很神奇,什么原理呢,尤其是查 ...
- 深度学习课程笔记(十七)Meta-learning (Model Agnostic Meta Learning)
深度学习课程笔记(十七)Meta-learning (Model Agnostic Meta Learning) 2018-08-09 12:21:33 The video tutorial can ...
- ES搜索排序,文档相关度评分介绍——Vector Space Model
Vector Space Model The vector space model provides a way of comparing a multiterm query against a do ...
- 向量空间模型实现文档查询(Vector Space Model to realize document query)
xml中文档(query)的结构: <topic> <number>CIRB010TopicZH006</number> <title>科索沃難民潮&l ...
- 扩展:向量空间模型算法(Vector Space Model)
- 12.扩展:向量空间模型算法(Vector Space Model)
随机推荐
- AC日记——飞行员配对方案问题 洛谷 P2756
题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员,另1名是外 ...
- react-native初始化项目的时候安装失败,如何解决【摘】
首先初始化项目报错: 解决方法: 将这个版本号改为: 然后将这里: 改为: 版本号相对应 然后便可安装成功! [注:转载:https://blog.csdn.net/wwrzyy/article/ ...
- 《从零开始搭建游戏服务器》项目管理工具Maven
简介 什么是Maven?Maven是一个项目管理和综合工具,提供了开发人员构建一个完整的生命周期框架. Maven使用标准的目录结构和默认构建生命周期,在多个开发团队环境时,Maven可以设置按标准在 ...
- 济南day3
连续几天都有点炸 预计的分拿不到,调整好心态,考试的时候多想一下,think twice,code once 唉,什么情况啊 题解链接 0+0+0 T1读错题输出反了 n*m%2判断是否==1 T2 ...
- SilverLight:基础控件使用(1)
ylbtech-SilverLight-Basic-Control:基础控件使用(1) 本文详解控件有: Label, TextBox, PasswordBox, Image, Button , Ra ...
- talkingdata比赛分析
1.kaggle数据分析经验: https://medium.com/unstructured/how-feature-engineering-can-help-you-do-well-in-a-ka ...
- hdoj 4828 卡特兰数取模
Grids Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Sub ...
- Git以及github的使用方法(二)创建仓库,git add添加到“暂储区”,git commit添加到“本地仓库”
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...
- DataGridView.DataSource= list(Of T)
注:本文样例的代码承接上篇文章:DataTable填充实体类返回泛型集合. 在D层查询完毕之后.我们将DataTable转化为泛型集合.然后经过中间各层,返回U层.到了这里,问题来了.我们这时候要将这 ...
- Golang Map Addressability
http://wangzhezhe.github.io/blog/2016/01/22/golangmapaddressability-dot-md/ 在golang中关于map可达性的问题(addr ...