Skip to content

liutongyang/Search_lite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


垂直领域知识可迁移搜索项目

项目简介

项目目标

垂直领域知识可迁移搜索项目,目标是通过先进的文本语义理解技术和智能检索技术,把复杂的非结构化文本建立倒排索引,提供高效、便捷、全面的垂类专业问答功能,极大提升知识检索效率,解放生产力。

项目功能

项目主要功能是将用户的 query 进行解析,提取 query 中的关键信息,使用该关键信息与语料库中 question 字段进行相似度匹配,相似度最高的问题为最佳匹配项,返回该问题的 anwser 作为用户 query 的回答。

核心模块

核心模块一共四个部分,分别是:

  • 数据层
  • 输入层
  • 相似度计算层
  • 输出层

programming

数据层

  • 数据预处理模块
    • 将源文件转换为规定数据格式,即 question & anwser 对,分别保存至 question.txt 和 anwser.txt 文件中。
  • 数据加载模块
    • 把符合规定格式的语料库按行读入。

输入层

  • Query 清洗模块
    • 去除 query 中的乱码、非中文等特殊字符。
  • Query 特征抽取模块
    • 把 query 文本映射至高维语义空间,得到一个句向量。

相似度计算层

  • 相似度计算
    • 用户输入的 query 向量与语料库中所有 question 进行相似度计算,得到相似度匹配最高的 question 。

输出层

  • Anwser 排序模块
    • TODO
  • Query & Anwser 匹配模块
    • TODO

如何开始

这是一个示例,说明如何在本地设置项目。要在本地运行,请按照以下简单的示例步骤。

环境依赖

  • python == 3.6.5+
  • gensim == 3.8.3
  • jieba == 0.42.1
  • numpy == 1.14.3
  • scikit-learn == 0.19.1

一键安装依赖

  pip install -r requirements.txt

如何使用

  python main.py
  
  ...
  
  输入:油浸式变压器(电抗器)验收分类
  
  ...

  输入:验收分类

最终效果

result

TODO

  • 使用 flask 将算法封装接口。
  • 基于 AntDesign 的清爽前端界面,提供一个算法调用服务接口。
  • 数据加载模块:目前语料为手工构造,后期替换批量自动导入。
  • 相似度计算模块:目前采用TFIDF进行计算两句子的相似度,后期可替换为 DSSM 语义相似度模型。
  • Anwser 排序模块:将粗召回的结果进行排序。
  • Query & Anwser 匹配模块:把最终的结果与用户 query 做准确性验证。

License

Distributed under the MIT License. See LICENSE for more information.

About

基于 TFIDF 的相当轻量级的搜索系统

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors