COVID-19知识图谱问答系统(基于REFO)

本文共669个字,预计阅读时间需要3分钟。
在这里插入图片描述

简介

基于知识图谱的问答系统,即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中。为了简便系统,这里没有给出前端代码。
在这里插入图片描述

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

参考

感谢前辈给出的参考:
https://blog.csdn.net/keyue123/article/details/85266355

更多内容访问 omegaxyz.com
网站所有代码采用Apache 2.0授权
网站文章采用知识共享许可协议BY-NC-SA4.0授权
© 2020 • OmegaXYZ-版权所有 转载请注明出处

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值