信息检索之文档评分、词项权重计算及向量空间模型
来源:互联网 发布:数据通信与网络 pdf 编辑:程序博客网 时间:2024/06/11 07:13
1、主要内容:
在文档规模很大的情况下,满足布尔查询的结果文档数量可能非常多,往往会大大超过用户能够浏览的文档的数目。需要对搜索出来的文档进行评分和排序。
①、参数化索引及域索引的概念;目的:1、可以通过元数据(文档的作者、标题、出版日期等)来对文档进行索引和检索;2、上述索引能够提供一个简单的文档评分;
②、词项字在文档中的权重的概念,并通过期出现的统计信息进行权重计算;
③、每篇文档被表示为上述权重计算结果的向量,通过它可以计算查询和每篇文档的相似度。(向量空间方法);
④、向量空间模型中的权重计算的各种变形。
2、参数化索引及域索引:
①、元数据:指的是和文档有关的一些特定形式的数据,比如文档的作者、标题以及出版日期等等;
②、字段:元数据包含字段信息,如文档的创建日期、文档的格式、作者的信息,其取值通常是有限的。有点类似数据库中表中的字段(属性);
③、参数化索引:对每个字段(比如文档的创建时间)都存在一个与之对应的参数化索引,通过它我们只会选择在时间字段上满足查询需求的文档;
④、域索引:域可以是由任意的、数目无限制的文本组成。比如,吧文档的标题和摘要当做域。可以对文档的不同域建立索引。参数化索引,词典常常来自固定的词汇表,但是在域索引中,词典来自域中自由文本的所有词汇。
图6-2经过编码后:图6-3
⑤、域加权平均:给定一系列文档,嘉定每篇文档有l个域,其对应的权重分别是g1,g2,g3……gl∈[0,1],并且满足其和为1。令si未查询和文档的第i个域的匹配得分(1:匹配,0:未匹配)。则域加权评分方法可以定义为:,该方法也成为排序式布尔检索。
这里的关键在于计算出该文档的得分。
⑥、权重学习:
训练样本的误差函数为:,其中,g∈[0,1]
这是一个二次规划问题,可参见《数学规划》第5章,约束规划部分。
⑦、词项频率及权重计算:
提出问题:温昂中所有词项的重要性是一样的吗?
核心思想:将文档频率(dft,表示出现词项t的所有文档数目)高的赋予较低的权重。越是经常出现的词汇其价值越小,比如说停用词。使用逆文档频率来表示。
逆文档频率:idft=log(N/dft)。其中N为总的文档数。
词项频率:词项t在文档d中出现的次数,记为tft,d。
权重计算:tf-idft,d=tft,d×idft
1、当t只在少数几篇文档中多次出现时,权重取值最大,此时能够对这些文档提供最强的区分能力;
2、当t在一篇文档中出现次数很少,或者在很多文档中出现,权重取值次之,此时对最后的相关度计算作用不大;
3、如果t在所有文档中都出现,那么权重取值最小。
⑧、向量空间模型(VSM):
是信息检索领域一系列相关处理的基础,比如文档的评分、文档的分类和聚类等。(可看《集体智慧编程》第六章 文档过滤和《机器学习实战》第四章 基于概率论的分类方法:朴素贝叶斯 中从文本中构建词向量P58)
使用余弦相似度定义两篇文章的相似度:
下面有一个示例:
图6-12
⑨、查询向量:
示例6-4:
⑩向量相似度计算算法如下图:
图6-14
对于最后一步,求得最高的K个得分,可以使用二项堆来实现,见《算法导论》第19章 二项堆。
还有其他的方法计算tf-idf权重,如tf的亚现行尺度变换方法,基于最大值的tf归一化等;
问题:在实际的计算中,相似度都是数万维的向量的内积计算,计算量大。
0 0
- 信息检索之文档评分、词项权重计算及向量空间模型
- 【信息检索导论】第6章 文档评分、词项权重计算及向量空间模型
- 信息检索导论学习笔记(6)-文档评分,词项权重计算及向量空间模型
- 信息检索导论——六、文档评分、词项权重计算及向量空间模型
- 第六章 文档评分、词项权重计算及向量空间模型
- 信息检索笔记-文档平分,词项权重计算
- 信息检索技术——向量空间模型
- 向量空间模型文档相似度计算实现(C#)
- 使用向量空间模型(df-idf)计算搜索文档与查询词的相关性
- 数据检索---空间向量模型VSM
- Lucene 4.0 原理与代码分析 - 相似度评分算法之向量空间模型(VSM)
- 信息检索——向量空间模型(Vector Space Model)
- 信息检索笔记-完整搜索系统的评分计算
- (6)文本挖掘(三)——文本特征TFIDF权重计算及文本向量空间VSM表示
- 淘宝类目及标题相关性分档计算方法(概率检索、BIM二元独立模型,BM25及向量空间模型)
- 向量空间模型(VSM)在文档相似度计算上的简单介绍
- 向量空间模型(VSM)在文档相似度计算上的简单介绍
- 向量空间模型(VSM)在文档相似度计算上的简单介绍
- 看大数据如何影响职业运动
- svn钩子机制了解与实践
- log4cpp编译,Windows/Linux
- Flex中如何给一个按钮添加链接,点击链接打开一个网页呢?
- 开源python网络爬虫框架Scrapy
- 信息检索之文档评分、词项权重计算及向量空间模型
- JavaWeb-Servlet
- WebBrowser动态创建
- .NET MVC Jquery Ajax方法传值到action
- Motherboard Chipsets and the Memory Map
- 将对象写入文件代码示例
- linux中readl()和writel()函数
- Android ListView使用Holder优化原理
- 给IT管理员的 6 个网络安全建议