• 【信息检索与数据挖掘期末笔记】(三)文档评分


    布尔查询

    • 要么返回,要么不返回(不利于一般用户,难书写)
    • 常常不返回,或者返回大量结果

    排序检索模型

    • 返回一个排序的文档结果
    • 不用写布尔查询表达式,写人类语言就可以
    • 结果集的大小不是问题,我们可以只返回前 k 个结果。
      • 前提:排名算法是有效的

    Jaccard 系数

    测量两个集合之间的重合度,但是没有考虑term frequency(罕见的词比常见的词包含更多信息)

    在这里插入图片描述

    词袋模型

    不考虑词项在文档中出现的次序,但是出现的次数很重要。和布尔检索形成鲜明对比

    Term frequency

    t f t , d tf_{t,d} tft,d 代表 t t t d d d 中出现的次数

    • 一个文档中出现该词十次,比一个出现一个的文档更相关
    • 但不是十倍相关(相关性不与 t f tf tf成比例增加)

    我们经常采用 log ⁡ \log log 的形式来计算权重

    在这里插入图片描述

    查询-文档对的得分可以用加和的形式来表示。-查询 q q q 中的所有词在文档 d d d 中的权重和

    在这里插入图片描述

    Document frequency

    罕见的词比常见的词包含更多的信息,因此我们应该赋予更大的权重 t f tf tf 认为所有的词是一样重要的)

    但是这不是相关性的确切指标(可能对于频繁出现的词项,我们想要比较大的权重)

    d f t df_t dft :包含这个词的文档的数目(是信息的反向测量)

    i d f f idf_f idff:逆文档频率

    在这里插入图片描述

    idf对于单个词项的查询排序没有效果,查询至少包括两个词才有效果

    tf-idf

    t f tf tf i d f idf idf 的乘积(两方面综合考虑)

    在这里插入图片描述

    查询-文档对的得分

    在这里插入图片描述

    向量空间模型

    默认向量的计算使用 t f _ i d f tf\_idf tf_idf

    文档表示成向量

    在这里插入图片描述

    一系列的文档在同一向量空间中的表示被称为向量空间模型。

    文档向量:每个分量代表词项在文档中的相对重要性(每个词项对应一个坐标轴,文档是空间中的点

    • 维度很大,且大多数都是零,因此是稀疏向量

    查询语句表示成向量

    思想:

    • 将查询语句看作一篇极短的文档,查找与其相似的文档

    • 将查询表示成空间中的向量

    • 将文档按照其与查询的相似度进行排序

    那么,如何进行相似度计算呢?

    • 欧式距离?:不行,对与长度不同的向量,欧式距离很大 q q q d 2 d_2 d2 距离很大尽管他们比较相似

      在这里插入图片描述

      我们将一篇文档复制为原来的两倍,尽管他们表达的内容一样,但他们之间的距离很大,不过角度差却为0

    角度 —> cos:

    思想:将向量进行归一化处理

    算出来的值越大越相关

    • 我们可以按照角度从小到大进行排序

    • 也就是按照cos值从大到小进行排序

      在这里插入图片描述

    对于已经归一化后的向量,计算其余弦相似度其实就是点乘

    在这里插入图片描述

    算法流程(以查询中的词项为单位,增加文档的得分) w t , q w_{t,q} wt,q 是词项在查询语句中的权重

    在这里插入图片描述

    文档权重和查询权重机制

    向量空间中各种相似度评分方法的不同,主要在于向量中的权重计算机制的不同。文档向量和查询向量权重计算方法的组合字母标识为ddd.qqq(SMART记号)。前三位是文档向量的权重计算方法,后三位是查询向量的权重计算方法

    三位字母的含义

    • 第一位: t f tf tf 因子

    • 第二位: d f df df 因此

    • 第三位:归一化方法

      在这里插入图片描述

    总结

    • 将查询表示成权重向量
    • 将文档表示成权重向量
    • 计算查询向量与文档向量的余弦相似度
    • 通过得分对文档进行排序
    • 返回top K 个
  • 相关阅读:
    不得不说,还是这款开源工作流表单设计器较合心意!
    ELK高级搜索(四)
    Linux03-网络设置
    结构体,位段!
    【Vue.js】快速入门与工作生命周期的使用
    vue学习53~60(Vue组件化编程)
    Dockerfile实现容器镜像的自定义及生成
    PyCharm配置远程Docker环境
    计算机网络的七层结构、五层结构和四层结构
    Python爬虫技术在SEO优化中的关键应用和最佳实践
  • 原文地址:https://blog.csdn.net/qq_52852138/article/details/128119265