Liu-YT / Info-Search

Information retrieval system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

信息检索系统

介绍

参考:http://www.rhymezone.com/shakespeare/

1

实现简单的搜索引擎功能,实现以下基本功能:

  1. 拼写检查(参考最小编辑距离原理)
  2. 倒排索引
  3. 使用TF/IDF进行文档排序

数据来源:data文件夹是从百度百科词条中抽取的文本,作为文档语料

实现

倒排索引

  • 步骤

拼写检查

  • 参考最短编辑距离实现
  • 实现步骤:
    • 查询内容分词
    • 查找对应的词是否存在
      • 存在,则不进行额外检查
      • 不存在,检索词库,查找所有与该词编辑距离为1的词
    • 将可能的模糊词进行组合,提供查询选择

TF/IDF进行文档排序

2

3

结果

  • 示例 一

    4

  • 示例 二

    5

    6

使用说明

  • 运行 - python3 src/main.py

  • index/index.json为已经生成的倒排索引,可以考虑调用load_inverted_index方法加载已经生成的倒排索引,或者利用create_index创建新的倒排索引

  • 拼写检查关于推荐的相关效果不是很好,可以考虑建立词库,为不同的词的组合设定权重,这样相关的推荐更加合理

About

Information retrieval system


Languages

Language:Python 100.0%