zoukankan      html  css  js  c++  java
  • 班课5

    1. ranked retrieval

    是free text queries形式,不需要query语言,直接输入要找的单词就可以

    2. 做rank的前提是可以进行排序,如Jaccard Coefficient

    jaccard(A, B) =|A∩B|/|A∪B|,即两者重复的单词数量比上二者总共的单词数量

    jaccard(A, A)=1, jaccard(A, B)=0 if A∩B=0

    但是这个方法并没有考虑一个单词出现的次数;很少出现的单词比大量出现的单词更具代表性,但是这个方法并没有考虑到这一点

    3. bag of words model:将每句话打散成独立的单词,不关注单词出现的顺序

    4. term frequency: tft,d指的是单词t在文章d中出现的次数

    5. document frequency即一个单词在多少个文章中出现过;inverse document frequency即idf指的是log(N/dft),N是一共的文章数量,用它除去document frequency

    单词出现的次数越少,idf越大

    6. tf-idf weighting

    对query与文章同时求tf-idf,然后求两者之间的差距

    但是不能直接用欧几里得公式,要用下面的公式

    7. 计算cosine score的最后一步要除以length,即normalization;然后取top

    简单理解就是对每一个query,求每个文章对应的score,取top

    8. document使用lnc,代表log形式,no idf,用了cosine normalization

    query使用ltc,代表log形式,使用idf,用了cosine normalization

    9. effienct cosine ranking

    快速计算+减少需要计算的数量

    优化1:unweighted queries,即不对query本身进行计算,只看document本身,加快速度

    优化2:max heap,binary tree的一种,父节点一定大于子节点,但是左右两个子节点的大小没有规定。构建的时间复杂度为O(n),找到前K个最大的值的复杂度为O(K*log(n)),因为每次遍历的时候走到最下面一层的复杂度为log(n),需要找到前K个

    优化3:min heap,将最小的data放在最上面,即子节点总是大于父节点;tree形成之后,只要将位于root的最小的点pop掉就可以了;时间复杂度为O(n*log(k)+k*log(k))

    10. query processing

    document-at-a time:一个document一个document的处理,即对于query中的第一个term,首先处理array中的第一个文章,结束之后处理第二个。。。

    term-at-a-time:一个term一个term的处理,首先处理inverted list中的第一个term,将出现该term的所有document都处理完再做别的term

    第二个磁盘利用率更好一些

    conjunctive TAAT:所有单词都出现在document中才能进入rank,只重合了一个单词不算。如在第一个term中,只有第一个document与第四个document存在该term,在剩下的term中,第2、3个document就不予考虑了

    conjunctive DAAT:先做Boolean查找再做rank,即先将指针指向第一个document中的每个term,若term均存在则计入分数,然后指针指向下一个document中的每个term,若有不存在的则不再考虑这个document

    11. maxscore methods:将每个term的最大值从大到小排序,假设要求top3,r‘是top3中最低的分数,若其中一个term的最大值比r'要小

    any doc scores higher than r' must contains at least one of the first 2 keywords

    即根据top rank求出一个阈值,不考虑比阈值小的document

    12. 其他改进方法

    1)generic approach

    k<A<<N,保证绝大多数的K都能在A中被找到,对空间进行压缩

    1.a) high-idf query terms only:只考虑比较稀有的单词

    2.a) 3 of 4 query:只有所查询的四个单词中的3个均出现在document中,就可以

    3.a) 计算每个term里面weight最高的document ID,取r个,其余的不考虑

    2)static quality scores:用其他方法进行排序,赋予document ID意义,如按照权威性,即是否由权威媒体发布的消息

    这样做的目的是检索过程中,可能由于时间设置提前结束搜索,设置权威性可以优先获取这些可信的信息

    3) high and low list:high listk可以类比成champion list,当high list不能够产生足够的candidate的时候,从low list中进行提取

    4)cluster:若有N个document,随机选取根号N个document作为leaders,对每个非leaders的文章,计算nearest leader。查找文章的时候先查找leaders,然后查找其对应的document

    5)query parser:若要搜索ABC,A、B、C各代表一个term,首先搜索ABC,若是数量不够继续搜索AB+BC,还是不够搜索A+B+C

  • 相关阅读:
    axios 和 fetch 区别对比
    sql where条件后面跟select语句的三种实现方式
    东北师范大学2021年数学分析考研试卷
    东北师范大学2021年高等代数与解析几何考研试卷
    东北大学2021年数学分析考研试卷
    电子科技大学2021年数学分析考研试卷
    电子科技大学2021年高等代数考研试卷
    大连理工大学2021年数学分析考研试卷
    大连理工大学2021年高等代数考研试卷
    大连海事大学2021年数学分析考研试卷
  • 原文地址:https://www.cnblogs.com/eleni/p/13874752.html
Copyright © 2011-2022 走看看