1、主要内容:

    在文档规模很大的情况下,满足布尔查询的结果文档数量可能非常多,往往会大大超过用户能够浏览的文档的数目。需要对搜索出来的文档进行评分和排序。


    ①、参数化索引及域索引的概念;目的:1、可以通过元数据(文档的作者、标题、出版日期等)来对文档进行索引和检索;2、上述索引能够提供一个简单的文档评分;


    ②、词项字在文档中的权重的概念,并通过期出现的统计信息进行权重计算;


    ③、每篇文档被表示为上述权重计算结果的向量,通过它可以计算查询和每篇文档的相似度。(向量空间方法);


    ④、向量空间模型中的权重计算的各种变形。


2、参数化索引及域索引:


    ①、元数据:指的是和文档有关的一些特定形式的数据,比如文档的作者、标题以及出版日期等等;


    ②、字段:元数据包含字段信息,如文档的创建日期、文档的格式、作者的信息,其取值通常是有限的。有点类似数据库中表中的字段(属性);


    ③、参数化索引:对每个字段(比如文档的创建时间)都存在一个与之对应的参数化索引,通过它我们只会选择在时间字段上满足查询需求的文档;


    ④、域索引:域可以是由任意的、数目无限制的文本组成。比如,吧文档的标题和摘要当做域。可以对文档的不同域建立索引。参数化索引,词典常常来自固定的词汇表,但是在域索引中,词典来自域中自由文本的所有词汇。


LSTM 向量 权重 权重向量计算_LSTM 向量 权重


图6-2

经过编码后:


LSTM 向量 权重 权重向量计算_权重_02

图6-3


    ⑤、域加权平均:给定一系列文档,嘉定每篇文档有l个域,其对应的权重分别是g1,g2,g3……gl∈[0,1],并且满足其和为1。令si未查询和文档的第i个域的匹配得分(1:匹配,0:未匹配)。则域加权评分方法可以定义为:

LSTM 向量 权重 权重向量计算_字段_03

,该方法也成为排序式布尔检索。


        这里的关键在于计算出该文档的得分。


    ⑥、权重学习:


        训练样本的误差函数为:

LSTM 向量 权重 权重向量计算_LSTM 向量 权重_04

,其中

LSTM 向量 权重 权重向量计算_LSTM 向量 权重_05

,g∈[0,1]


         这是一个二次规划问题,可参见 《数学规划》第5章,约束规划部分。


    ⑦、词项频率及权重计算:


        提出问题:温昂中所有词项的重要性是一样的吗?


        核心思想:将文档频率(df t,表示出现词项t的所有文档数目)高的赋予较低的权重。越是经常出现的词汇其价值越小,比如说停用词。使用逆文档频率来表示。


        逆文档频率:idf t=log(N/df t)。其中N为总的文档数。


        词项频率:词项t在文档d中出现的次数,记为tf t,d。


        权重计算:tf-idf t,d=tf t,d×idf t


        1、当t只在少数几篇文档中多次出现时,权重取值最大,此时能够对这些文档提供最强的区分能力;


        2、当t在一篇文档中出现次数很少,或者在很多文档中出现,权重取值次之,此时对最后的相关度计算作用不大;


        3、如果t在所有文档中都出现,那么权重取值最小。


    ⑧、向量空间模型(VSM):


        是信息检索领域一系列相关处理的基础,比如文档的评分、文档的分类和聚类等。(可看《集体智慧编程》第六章 文档过滤和《机器学习实战》第四章 基于概率论的分类方法:朴素贝叶斯 中从文本中构建词向量P58)


余弦相似度定义两篇文章的相似度:

LSTM 向量 权重 权重向量计算_权重_06



        下面有一个示例:


       

LSTM 向量 权重 权重向量计算_LSTM 向量 权重_07


        图6-12


    ⑨、查询向量:

LSTM 向量 权重 权重向量计算_LSTM 向量 权重_08



        示例6-4:


     

LSTM 向量 权重 权重向量计算_权重_09



       


    ⑩向量相似度计算算法如下图:


       

LSTM 向量 权重 权重向量计算_LSTM 向量 权重_10


        图6-14


      对于最后一步,求得最高的K个得分,可以使用二项堆来实现,见《 算法导论》第19章 二项堆。



还有其他的方法计算tf-idf权重,如tf的亚现行尺度变换方法,基于最大值的tf归一化等;



问题:在实际的计算中,相似度都是数万维的向量的内积计算,计算量大。