前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于知识图谱的问答系统Demo

基于知识图谱的问答系统Demo

作者头像
里克贝斯
发布2021-05-21 10:39:05
2.2K0
发布2021-05-21 10:39:05
举报
文章被收录于专栏:图灵技术域

简介

基于知识图谱的问答系统,即KBQA。其中一个简单的实现方法是根据用户输入的自然语言问句,转化为图数据库中的关系查询,最终将数据库中的实体及关系呈现给用户。

下面给出了一个KBQA的Demo。

实现依赖

  • Python 3.6+
  • Apache Jena Fuseki
  • SPARQLWrapper
  • refo
  • jiaba

实例数据

此知识图谱的主题为COVID-2019的知识查询。三元组数据来自OpenKG的新冠数据集。

实现流程

  1. 数据提取:下载OpenKG提供的json-ld数据,通过脚本将json-ld数据转化为RDF格式的数据,RDF数据已经上传至本实例中,用户可以直接使用。
  2. 数据存储:采用Apache Jena Fuseki,Apache Jena Fuseki是一个SPARQL服务,支持多种操作系统。可以存储RDF数据,并通过SPARQL查询语句查询数据库中的关系。这里将上面给出的RDF数据导入至Jena中。
  3. 规则编写:Python编写数据库查询语句与规则。规则采用refo,可以直接从Python中下载该包,这一步是自然语言转为结构化的规则的关键。
  4. 数据查询:通过refo生成的SPARQL查询语句传递到Jena中便可以查到相关的实体关系了,最终反馈给用户。

需要注意的是此代码实现仓促,编写的规则内容较少,没有对输出进行规范表示。

代码

https://github.com/xyjigsaw/COVID19-KBQA-DEMO

项目中包含了数据和代码,数据需要自己导入到Jena中。为了简便系统,这里没有给出前端代码。

前端代码如顶部图片所示。

参考

  1. https://blog.csdn.net/keyue123/article/details/85266355

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 实现依赖
  • 实例数据
  • 实现流程
  • 代码
  • 参考
相关产品与服务
灰盒安全测试
腾讯知识图谱(Tencent Knowledge Graph,TKG)是一个集成图数据库、图计算引擎和图可视化分析的一站式平台。支持抽取和融合异构数据,支持千亿级节点关系的存储和计算,支持规则匹配、机器学习、图嵌入等图数据挖掘算法,拥有丰富的图数据渲染和展现的可视化方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档