基于自然语言处理的结构化数据库问答机器人系统

温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :)

1. 项目简介

知识库,就是人们总结出的一些历史知识的集合,存储、索引以后,可以被方便的检索出来供后人查询/学习。QnA Maker是用于建立知识库的工具,使用 QnA Maker,可以根据 FAQ(常见问题解答)文档或者 URL 和产品手册等半结构化内容打造一项问题与解答服务。 可以生成一个问题与解答模型,以便灵活地应对用户查询,即用户不必输入精确的查询条件,而是提供以自然对话方式受训的机器人来响应。

本项目通过网络爬虫采集否地区的二手房房源数据,经过数据清洗后存储到关系型数据库中,利用自然语言处理(NLP)技术,以自然对话形式,将用户查询转换为标准的 SQL 语句,并进行执行,查询关系数据库获得结果,通过对结果进行格式化处理,以文本形式返回给用户。

2. 结构化数据库问答系统

基于给定的结构化知识库和自然语言问题,给出问题对应的答案,其基本流程如下:

其核心是 Text-to-SQL 技术:

常见的 Text-to-SQL 算法主要基于神经网络等深度学习技术,考虑到本科来说难度较大,本项目采用基于规则的文本转SQL的方式,走通结构化知识库的问答系统的流程。

3. 基于自然语言处理的结构化数据库问答机器人系统

系统通过Flask框架搭建后台服务,接受用户的自然语言输入,调用 Text-to-SQL 算法,转换为可执行的 SQL 语句,执行 SQL 从关系数据库中查询数据,并组装结果返回给客户端。

基于结构化数据库的问答系统开发与研究

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。

技术交流认准下方 CSDN 官方提供的学长 Wechat / QQ 名片 :)

精彩专栏推荐订阅:

1. Python 毕设精品实战案例
2. 自然语言处理 NLP 精品实战案例
3. 计算机视觉 CV 精品实战案例

相关推荐
Elastic 中国社区官方博客1 小时前
使用 Elastic AI Assistant for Search 和 Azure OpenAI 实现从 0 到 60 的转变
大数据·人工智能·elasticsearch·microsoft·搜索引擎·ai·azure
江_小_白2 小时前
自动驾驶之激光雷达
人工智能·机器学习·自动驾驶
Python私教2 小时前
model中能定义字段声明不存储到数据库吗
数据库·oracle
yusaisai大鱼3 小时前
TensorFlow如何调用GPU?
人工智能·tensorflow
weixin_466202783 小时前
第31周:天气识别(Tensorflow实战第三周)
分类·数据挖掘·tensorflow
BestandW1shEs5 小时前
谈谈Mysql的常见基础问题
数据库·mysql
重生之Java开发工程师5 小时前
MySQL中的CAST类型转换函数
数据库·sql·mysql
教练、我想打篮球5 小时前
66 mysql 的 表自增长锁
数据库·mysql
Ljw...5 小时前
表的操作(MySQL)
数据库·mysql·表的操作