【问题标题】:problems amd inverted index and frequency倒排索引和频率问题
【发布时间】:2020-04-28 17:45:51
【问题描述】:

倒排索引 (https://en.wikipedia.org/wiki/Inverted_index) 是一种旨在允许全文搜索的数据结构。从一系列包含文本的文档中,倒排索引包含不同的词,指示它们出现在哪些文档中以及出现的频率。从一组文档中生成倒排索引的过程称为索引。

鉴于文件:

{d1: "我看到垫子上的猫", d2:“我看到垫子上的狗”, d3:“我看到猫和老鼠坐在垫子上”}

通过 MapReduce 生成具有以下结构的倒排索引:

{‘W1’: [(docId1, numOccu1),…, (docIdN, numOccuN)], ‘W2’:[…],…} 其中 w 是出现的不同单词(I、saw、...),docId 是文档标识符(docId1、docId2、...),numOccu 是单词在文档中出现的次数。

你被要求用伪代码编写映射函数,并减少和描述这些函数的结果。

【问题讨论】:

    标签: word doc inverted-index


    【解决方案1】:

    如果我们按(文本,文本中的单词)进行索引,文本中位置的索引是:

     I               (1, 1); (2,1); (3,1)
     saw             (1, 2); (2,2); (3,2)
     the             (1, 3); (1, 6); (2,3); (2,6); (3,3); (3,6); (3,10)
     cat             (1, 4); (3,4)
     on              (1, 5); (2,5); (3,9)
     mat             (1, 7); (2,7); (3,11)
     dog (2,4) 
     and  (3,5)
     rat (3,7)
     sat (3,8)

    单词“I”在文档 1 中(“我看到垫子上的猫”)从单词 1 开始,因此有一个条目 (1, 1),单词“cat”在文档 1 和 3 中的 '分别是第 4 位(这里的位置是基于单词的)。该指数可能具有权重、频率或其他指标。

    【讨论】:

      猜你喜欢
      • 2012-03-21
      • 2014-11-01
      • 1970-01-01
      • 2012-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多