向量空间模型(Vector Space Model)

搜索结果排序是搜索引擎最核心的构成部分,很大程度上决定了搜索引擎的质量好坏。虽然搜索引擎在实际结果排序时考虑了上百个相关因子,但最重要的因素还是用户查询与网页内容的相关性。(ps:百度最臭名朝著的“竞价排名”策略,就是在搜索结果排序时,把广告客户给钱最多的排在前列,而不是从内容质量考虑,从而严重影响了用户体验)。这里要讲的就是:给定用户搜索词,如何从内容相关性的角度对网页进行排序。判断网页内容是否与用户查询相关,这依赖于搜索引擎所采用的检索模型,常见的检索模型有:布尔模型、向量空间模型、概率模型和机器学习排序算法等。在我的项目中,使用了向量空间模型(Vector Space Model,VSM),因此这篇文章主要总结一下向量空间模型相关的内容。

向量空间模型是一种文档表示和相似性计算的工具,不仅在搜索领域,在自然语言处理、文本挖掘等领域也是普遍采用的工具。

1. 文档表示

作为表示文档的工具,向量空间模型把每个文档看做是由 t 维特征组成的一个向量,特征的定义可以采取不同方式,最常见的是以单词作为特征,就是从一篇文档中抽取出 t 个关键词,其中每个特征会根据某种算法计算其权重,这 t 维带有权重的特征向量就用来表示这一篇文档。

下图展示了4个文档在3维向量空间中如何表示,比如对于文档2,它由3个带有权重的特征组成{w21, w22, w23}。在实际应用中,维度通常是非常高的,达成千上万维,这里只是为了简化说明。用户查询也被看成是一个特殊的文档,也将其转换成 t 维的特征向量,之所以也将其转化为一个 t 维向量,是为了计算文档相似性,后面会说的。

下面是一个文档表示的实例,对于文档D4、D5及用户查询,通过提取关键词进行特征转换,可表示如下。

2. 特征向量和特征权重计算

对于初次接触该问题的人,肯定会疑惑,对于一篇几百字几千字的文章,如何生成足以准确表示该文章的特征向量呢?就像论文一样,摘要、关键词毫无疑问就是全篇最核心的内容,因此,我们要设法提取一篇文档的关键词,并对每个关键词计算其对应的特征权值,从而形成特征向量。这里涉及一个非常简单但又相当强大的算法,即TF-IDF算法

TF-IDF算法涉及两个最重要的概念,即词频(Term Frequency,TF)逆文档频率(Inversed Document Frequency,IDF)

词频因子即一个单词在一篇文档中出现的次数,一般来说,在一篇文档中反复出现的词,往往能够表示文档的主题信息。

逆文档频率因子代表的是文档集合范围内的一种全局因子,给定一个文档集合,那么每个单词的IDF值就是唯一确定的,与具体的文档无关。IDF考虑的不是文档本身的特征,而是特征单词在整个文档集合范围内的相对重要性。这与词频因子有很大的不用,TF只反映了某个单词在具体某篇文档中的重要性程度。

在计算得到TF和IDF值之后,就可以计算一个关键词对应的权重了,即 weight = TF * IDF。

上面说的比较简略,回看TF-IDF算法之关键词提取 这篇文章。

3. 相似性计算

将文档转换为特征向量之后,就可以计算文档之间或者查询关键词与文档之间的相似性了。关于余弦相似性的计算方法和原理,在TF-IDF算法与余弦相似性这篇文章中已经详细说明了,稍微有区别的是,在那篇文章中只是简单的用词频向量进行相似性计算,而现在我们已经计算出了用于表示一篇文章的特征向量,就应该使用特征向量来计算不同文章之间的相关性。

总结:

向量空间模型的核心就是TF-IDF算法,这篇文章主要也只是对之前两篇文章的回顾和汇总。

参考:

1. 《这就是搜索引擎》 张俊林著 (本文主要是该书的读书笔记,算不上原创)

2. 阮一峰老师的博客

原文地址:https://www.cnblogs.com/kkbill/p/11517121.html

时间: 2024-11-07 21:26:54

向量空间模型(Vector Space Model)的相关文章

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

最近想学习下Lucene ,以前运行的Demo就感觉很神奇,什么原理呢,尤其是查找相似度最高的.最优的结果.索性就直接跳到这个问题看,很多资料都提到了VSM(Vector Space Model)即向量空间模型,根据这个模型可以对搜索的结果进行最优化的筛选,目前还不知道如何证明,只能凭借想象应该是这个样子的. 1.看一下TF/IDF 我们先来看下一个叫TF/IDF的概念,一般它用来作为一个搜索关键字在文档或整个查询词组的权重的计算方式.前几天看了吴军老师的数学之美系列文章,这个TF/IDF可以追

向量空间模型实现文档查询(Vector space model to realise document query)

xml中文档(query)的结构: <topic> <number>CIRB010TopicZH006</number> <title>科索沃難民潮</title> <question> 查詢科索沃戰爭中的難民潮情況,以及國際間對其採取的援助. </question> <narrative> 相關文件內容包括科省難民湧入的地點.人數,受安置的狀況,難民潮引發的問題,參與救援之國家與國際組織,其援助策略與行動內容

[IR课程笔记]向量空间模型(Vector Space Model)

VSM思想 把文档表示成R|v|上的向量,从而可以计算文档与文档之间的相似度(根据欧氏距离或者余弦夹角) 那么,如何将文档将文档表示为向量呢? 首先,需要选取基向量/dimensions,基向量须是线性独立的或者正交的向量. 在IR系统中,有两种方式决定基向量: 1.核心概念的思想(core concept):把词语的类型分类,按照其在不同分类上的“倾斜程度”决定向量的值.but,很难决定基向量. 2.把出现过的term(词语)都当作是一个基向量,假定所有的基向量都是相互正交相互独立的.以下我们

25.TF&IDF算法以及向量空间模型算法

主要知识点: boolean model IF/IDF vector space model 一.boolean model 在es做各种搜索进行打分排序时,会先用boolean model 进行初步的筛选,boolean model类似and这种逻辑操作符,先过滤出包含指定term的doc.must/must not/should(过滤.包含.不包含 .可能包含)这几种情况,这一步不会对各个doc进行打分,只分过滤,为下一步的IF/IDF算法筛选数据. 二.TF/IDF 这一步就是es为boo

从频率到意义:语义向量空间模型(4)(From Frequency to Meaning: Vector Space Models of Semantics)

作者:Peter D. Turney.Patrick Pantel 翻译:华南师范大学-吴玺煜 2.语义向量空间模型 统计语义假说(statistical semantics hypothesis)是我们这篇论文里讨论的形形色色的VSMs的统一主题:人类单词用法的统计模式可以被用来指示人类的意思(statistical patterns of human word usage can be used to figure out what people mean).这一个一般性假说是很多特定假说的

可视化格式模型(visual formatting model)系列

俗话说得好,万丈高楼平地起.在前端各种框架和工具层出不穷的今天,研究css标准.js的基础特性这些并不是浪费时间,相反打好了基础,才能更好的去拥抱变化. 这个东西呢,是准备当做一个系列来写,主要参考官方的标准和前辈们的一些归纳总结,不是全盘翻译,只是一个知识的梳理,查漏补缺.这个系列主要还是理论概念,我会尽量通过demo和自己平时遇到的一些具体问题来结合说明.这个系列呢,初步的考虑是以下几篇组成: 1.可视化格式模型(visual formatting model): 2.控制包含框的生成(Co

CSS盒模型(Box Model)

阅读目录 1. 什么是CSS盒模型 2. IE盒模型和W3C盒模型 3. CSS3属性box-sizing 4. 关于盒模型的使用 在最初接触CSS的时候,对于CSS盒模型的不了解,撞了很多次的南墙呀.盒模型是网页布局的基础,它制定了元素如何在页面中显示,如果足够地掌握,那使用CSS布局那将会容易得多. 1. 什么是CSS盒模型 盒模型,顾名思义,就是一个盒子.生活中的盒子,有长宽高,盒子本身也有厚度,可以用来装东西.页面上的盒模型我们可以理解为,从盒子顶部俯视所得的一个平面图,盒子里装的东西,

Richardson成熟度模型(Richardson Maturity Model) - 通往真正REST的步骤

Richardson成熟度模型(Richardson Maturity Model) - 通往真正REST的步骤 原文地址: Richardson Maturity Model - steps toward the glory of REST 最近我在阅读Rest In Practice的草稿,这本书由我的一些同事撰写.他们希望通过这本书解释如何利用Restful Web Service来解决企业面临的很多集成上的问题.该书的核心观点是目前的Web就是一个大规模分布式系统能够很好地工作的证据,而

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

版权声明:本文为博主原创文章,地址:http://blog.csdn.net/napoay,转载请留言. 总结Jackcard类似度和余弦类似度. 一.集合的Jackcard类似度 1.1Jackcard类似度 Jaccard类似指数用来度量两个集合之间的类似性,它被定义为两个集合交集的元素个数除以并集的元素个数. 数学公式描写叙述: J(A,B)=|A∩B||A∪B| 这个看似简单的算法有非常大的用处.比方: 抄袭文档 高明的抄袭者为了掩盖自己抄袭的事实,会选择性的抄袭文档中的一些段落,或者对