倒数和频率问题

问题描述 投票:-1回答:1

一个倒置的指数(https:/en.wikipedia.orgwikiInverted_index。)是一种旨在实现全文检索的数据结构。从一系列包含文本的文档中,倒置索引包含了不同的词,表明它们在哪些文档中出现以及出现的频率。从文档集生成倒置索引的过程称为索引。

给定文档

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

由MapReduce生成一个倒置的索引,其结构如下。

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

要求你用伪代码写出映射函数,并还原和描述这些函数的结果。

word doc inverted-index
1个回答
0
投票

如果我们按(文本、文本内的单词)进行索引,则索引在文本中的位置为。

 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)

"我 "这个词在1号文件中("我在垫子上看到了猫"),从第1个词开始,所以有一个条目(1,1),而 "猫 "这个词在1号文件和3号文件中分别在 "第4 "的位置上(这里的位置是基于词的)。该指数可以有权重、频率或其他指标。

© www.soinside.com 2019 - 2024. All rights reserved.