python 實現倒排索引的方法

2022-10-04 18:27:09 字數 1281 閱讀 1864

**如下:

#iasnkkvyxyencoding:utf-8

fin = open('1.txt', 'r')

'''建立正向索引:

「文件1」的id > 單詞1:出現位置列表;單詞2:出現位置列表;…………

「文件2」的id > 此文件出現的關鍵詞列表。

'''forward_index = {}

for line in fin:

line = line.strip().split()

forward_index[int(line[0])] = {}

words = line[1].split('www.cppcns.com,')

for i, index in enumerate(words):

if int(index) not in forward_iwww.cppcns.comndex[int(line[0])].keys():

forward_index[int(line[0])][int(index)] = [i]

else:

forward_index[int(line[0])][int(index)].append(i)

print 'forward_index:', forward_index

'''建立倒排索引:

「關鍵詞1」:「文件1」的id,「文件2」的id,…………

「關鍵詞2」:帶有此關鍵詞的文件id列表。

'''inverted_index = {}

for doc_id, words in forward_index.items():

for word_id in words.keys():

if word_id not in inverted_index.keys():

inverted_index[word_id] = [doc_id]

elif doc_id not in inverted_index[word_id]:

inverted_index[word_id].append(doc_id)

print 'inverted_index:', inverted_index

輸入(文件id:單詞id):

1 3,4

2 3,4,2,4

3 2輸出:

forward_index: , 2: , 3: www.cppcns.com}

inverted_index:

本文標題: python 實現倒排索引的方法

本文位址: /jiaoben/python/248449.html

實現倒排索引

倒排索引就是反向索引,一般索引指的是根據記錄位置來查詢值,而倒排索引的原理是 根據屬性的值來查詢記錄位置。比如說,現在有這些文章以及文章中含有的單詞。以英文為例,下面是要被索引的文字 文字0 it is what it is 文字1 what is it 文字2 it is a banana 我們就...

python 實現倒排索引,建立簡單的搜尋引擎

本文將用python實現倒排索引 如下,乙個資料表docu set中有三篇文章的,d1,d2,d3,如下 docu set 下面用這張表做乙個簡單的搜尋引擎,採用倒排索引 首先對所有文件做分詞,得到文章的詞向量集合 all words for i in docu set.values cut jie...

倒排索引C 實現

file3 單詞1,單詞a,單詞3,單詞d.那麼建立的倒排索引就是這個樣子 單詞1 file1,file3 單詞2 file1 單詞3 file1,file3 單詞a file2,file3 下面是我對於倒排索引的乙個簡單的實現。該程式實現了某目錄下的檔案單詞統計,並建立了倒排索引。標頭檔案 inv...