python倒排索引
时间: 2023-10-20 18:36:56 浏览: 140
倒排索引(Inverted Index)是一种常用于文本搜索的数据结构,它将文档中的每个单词映射到包含该单词的文档列表中。在 Python 中,可以使用字典(dictionary)数据结构来实现倒排索引。
下面是一个简单的示例代码,演示如何创建一个简单的倒排索引:
```python
def build_inverted_index(documents):
inverted_index = {}
for doc_id, document in enumerate(documents):
for word in document.split():
if word not in inverted_index:
inverted_index[word] = []
inverted_index[word].append(doc_id)
return inverted_index
# 示例文档集合
documents = [
"This is the first document.",
"This document is the second document.",
"And this is the third one.",
"Is this the first document?"
]
# 构建倒排索引
inverted_index = build_inverted_index(documents)
# 输出倒排索引
for word, doc_ids in inverted_index.items():
print(f"{word}: {doc_ids}")
```
运行以上代码,将输出如下结果:
```
This: [0, 1, 3]
is: [0, 1, 2, 3]
the: [0, 1, 2, 3]
first: [0, 3]
document.: [0, 1]
second: [1]
And: [2]
third: [2]
one.: [2]
```
这个示例展示了如何通过遍历文档集合,将每个词语与对应的文档 ID 关联起来,从而构建倒排索引。最后,我们可以通过遍历倒排索引,查看特定单词在哪些文档中出现过。
阅读全文