知识结构化问答是知识图谱的一个重要的应用方向,虽然现在许多真实的使用体验上,会被评价为“鸡肋且智障”,并且在落地上还没有太多的付费场景,但也不乏有不少学生、公司、机构在尝试花时间去做这个事情。当前,医疗知识图谱QAonMilitaryKG,成为了不少朋友都会参考的一个问答快速实现demo的案例,网上也有不少的复现和踩坑记录总结。本文则围绕着医疗知识图谱QAonMilitaryKG和军事武器知识图谱问答两个项目进行简要介绍,希望可以作为大家的一个指引。

一、军事武器知识图谱构建与自动问答项目QAonMilitaryKG
QAonMilitaryKG,QaSystem based on military knowledge graph that stores in mongodb which is different from the previous one, 基于mongodb存储的军事领域知识图谱问答项目,包括飞行器、太空装备等8大类,100余小类,共计5800项的军事武器知识库,该项目不使用图数据库进行存储,通过jieba进行问句解析,问句实体项识别,基于查询模板完成多类问题的查询,主要是提供一种工业界的问答思想demo。
项目地址:
https://github.com/liuhuanyong/QAonMilitaryKG
1、项目背景
基于知识图谱或知识库的问答KBQA是目前垂直领域或百科领域问答中使用较多的一种问答方式,本质上是在做结构化数据的匹配查询任务。笔者之前利用neo4g图数据库上基于医疗领域结构化知识库,阐述了基于图数据库的医疗知识图谱构建与问答方案,并实现了一个简单的demo。项目见:(https://github.com/liuhuanyong/QASystemOnMedicalKG)
技术选型是实现自动问答系统的一个重要环节,这项工作与数据样式关系尤为密切。经验上来说,对于实体类型较多以及实体关系种类较多的知识库,使用图数据进行知识存储是个较好的选择。而对应实体类型较少,实体关系较少,实体属性较多以及带有时序性的数据时,选用文档型数据库mongodb是个不错的选择。
军事领域是敏感度、机密系数较高的一个领域,其数据价值很高,获取相关军事数据并提供一个便捷的人机交互方式具有重要的战略意义。军事中的装备信息,军事基地信息,军事作战部队之间的关联信息,以图谱的形式组织,能够在作战策略推荐,军事人员培训上起到重要作用。目前,公开的军事资料不多,收录较全的有环球军事网,其中的人物,战役,兵器库,术语库等为军事提供了一个很好的信息平台。其中,武器库是其中结构化程度较高的一项数据,其中包括了飞行器、舰艇等8大类武器,轰炸机等100余小类,共计5800项武器结构化数据。这为结构化知识问答提供了一个的数据,因此,本项目选择该数据集作为知识库,使用mongodb进行自动问答的实验。
2、项目目标
本项目目的在于采集并解析军事武器库网站,进行字段信息的标准化,形成一定规范、规模的军事武器装备结构化知识库。 实现基于mongodb的军事领域知识库的自动问答。
1)项目框架

2)项目构成
1.数据集类型及统计信息

2.数据样式

3.问句类型

3)项目运行
主要文件构成如下:

3)项目运行
1.执行insert_data.py,将输入倒入至mongodb当中。
2.执行military_qa.py,开始进行问答测试。
3.若需要进行自我重新构建数据,可运行collect_data.py。
4)项目结果

二、医药领域知识图谱快速及医药问答项目QAonMilitaryKG

    本项目立足医药领域,以垂直型医药网站为数据来源,以疾病为核心,构建起一个包含7类规模为4.4万的知识实体,11类规模约30万实体关系的知识图谱,并以此作为实验数据底座,实现一个基于规则的快速知识图谱问答。

项目地址:
https://github.com/liuhuanyong/QASystemOnMedicalKG
1、数据来源
该项目的数据来自垂直类医疗网站寻医问药,使用爬虫脚本data_spider.py,以结构化数据为主,构建了以疾病为中心的医疗知识图谱,实体规模4.4万,实体关系规模30万。schema的设计根据所采集的结构化数据生成,对网页的结构化数据进行xpath解析。项目的数据存储采用Neo4j图数据库,问答系统采用了规则匹配方式完成,数据操作采用neo4j声明的cypher。
1)实体类型及统计信息

2)关系类型及统计信息

3)属性类型及统计信息

2、实现框架

3、支持的问题类型

4、项目构成
1.question_classifier.py:问句类型分类脚本
2.question_parser.py:问句解析脚本
3.chatbot_graph.py:问答程序脚本
5、项目效果

三、实践总结
以上两个项目分别以基于mongodb、neo4j作为数据存储方式,给出了两个实现方法。分别以军事武器库网站、医疗网站进行字段信息的标准化,形成一定规范、规模的结构化知识库。在一定程度上还原了入门级的问答范式,该架构图朴实且如实地介绍了面相结构化文本的知识构建以及结构化查询流程以及粗略实现细节。
面向具有数字型数据的结构化知识的问句的形式有多种,主要有纯属性值查询如:单实体单属性,单实体多属性,多实体单属性,多实体多属性等问题。带筛选条件查询,如如单属性值与多属性值区间查询。最值条件查询共三种,本项目初步实现了对这三种主要问句类型问答。
在实体识别,属性值识别,数值识别上,主要采用的方式是领域词及扩展词,配合正则表达式的方式来实现,没有使用学习模型。作为军事领域,学习模型在武器类实体识别上效果可能不会太好,在识别后进行实体链接映射会遇到一定困难。
实体与查询属性项之间的对应和成对是整个问答查询的最核心所在,以上两个项目使用基于关系模板穷举的方式、基于问题关键词分类的方式完成该目标,准确率较高,但缺点是穷举可能性不大,构造成本较高。而既然是结构化知识问答,那么业务场景下的问答应该是简单的,多实体多属性混杂出现的情况应该要少一些,即问题的问答可以很多样,但问题的内部结构不应太复杂,否则就丢失了自动问答解放信息杂糅的本意了。
知识图谱是结构化知识的一种方式,存储方式可以用关系型,可以用nosql,也可以用图数据库,不同的方式的区别在于sql的转化上。在关系级联程度不高的情况下,使用非图数据库可能会是更好的方式。深度学习在工业界问答中,在基于qa对检索中用的比较多,在结构化知识图谱查询中较难大显身手,集中应用点在实体论元识别上,个人认为在实体属性关系的识别上不会很惊艳,很有可能没有规则来的快,来的准确。

关于作者
刘焕勇,liuhuanyong,现任360人工智能研究院算法专家,前中科院软件所工程师,主要研究方向为知识图谱、事件图谱在实际业务中的落地应用。
得语言者得天下,得语言资源者,分得天下,得语言逻辑者,争得天下。
1、个人主页:https://liuhuanyong.github.io。
2、个人博客:https://blog.csdn.net/lhy2014/。
欢迎对自然语言处理、知识图谱、事件图谱理论技术、技术实践等落地应用的朋友一同交流。

工程实践:基于规则模式的军事和医药领域知识图谱问答快速实现相关推荐

  1. 医药领域知识图谱快速及医药问答项目(项目全过程)

    该项目是中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目 Github项目地址:mirrors / liuhuanyong / qasystemonmedicalkg ...

  2. KG-开源项目:QASystemOnMedicalKG【以疾病为中心的一定规模医药领域知识图谱,并以该知识图谱完成自动问答与分析服务】

    QABasedOnMedicaKnowledgeGraph self-implement of disease centered Medical graph from zero to full and ...

  3. 自然语言处理(NLP):18 基于规则医药领域知识图谱

    本文为了快速搭建一个垂直领域的知识图谱,实体抽取+实体关系暂采用规则处理,这里仅仅提供一种创建知识图谱的一种思路.后续给大家分享基于模型的知识图谱的问答. 作者: 走在前方 主要 讨论内容 数据来源, ...

  4. 医药领域知识图谱快速及医药问答项目--项目探究

    开篇 文章根据@liuhuanyong_iscas大佬的项目进行调试与解析,作为KGQA和NLP入门的一个学习实战的项目.有不对的地方请不吝指教,若有侵犯相关权益,也请给我留言,我会撤下该文章. 项目 ...

  5. 复旦肖仰华:领域知识图谱落地实践中的问题与对策

    肖仰华博士,复旦大学计算机科学与技术学院教授,博士生导师,知识工场实验室负责人. 报告摘要:近年来,知识图谱技术进展迅速,各种领域知识图谱技术在很多领域或行业取得了显著落地效果.在领域知识图谱技术的落 ...

  6. 深度长文 | 复旦大学肖仰华:领域知识图谱落地实践中的问题与对策

    报告摘要:近年来,知识图谱技术进展迅速,各种领域知识图谱技术在很多领域或行业取得了显著落地效果.在领域知识图谱技术的落地实践过程中涌现出一大批理论与工程问题.本报告结合复旦大学知识工场实验室十多个领域 ...

  7. 肖仰华 | 领域知识图谱落地实践中的问题与对策

    本文转载自公众号:知识工场. 肖仰华教授2万字长文为您深度剖析领域知识图谱,对领域知识图谱技术与落地应用中的一系列关键问题做了系统的梳理与解答. 肖仰华博士,复旦大学计算机科学与技术学院教授,博士生导 ...

  8. 领域知识图谱落地实践中的问题与对策

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 转自 | 知识工场 作者 | 肖仰华博士,复旦大学计算机科学与技术学院教授,博士生导师,知识工场实验室 ...

  9. 图谱实战 | 图谱问答在小米小爱中的实践探索

    转载公众号 | DataFunTalk 分享嘉宾:代文博士 小米 高级算法工程师 编辑整理:何雨婷 湖北工业大学 出品平台:DataFunTalk 导读:今天的介绍会围绕以下三点展开: 小爱同学应用场 ...

最新文章

  1. python多久能学会爬虫-上海多久可以学会python
  2. wpf 动画_WPF中监视动画进度
  3. 环球易购选品:既然选品绕不过,那就让我们好好研究
  4. 机器学习(一)梯度下降算法
  5. PyTorch官方教程中文版:PYTORCH之60MIN入门教程代码学习
  6. openstack的逻辑概念_基本概念 - 深入理解 OpenStack 网络实现 Neutron
  7. leetcode个人题解——#18 4sums
  8. 6.1离散时间马尔科夫链
  9. java实现网站统计功能_网站访问量统计功能的实现
  10. mac数字键盘错乱_苹果本键盘按键错位错乱是为什么?
  11. (转)隐藏在生活里的量化投资密码
  12. 作业调度系统--SGE和PBS的使用方法
  13. html 2048 简单小游戏
  14. 最全阿里架构师P系列解读:P5-P8的技能要求和薪资结构
  15. 高中时候的三大主科成绩如果提不上来直接影响整体成绩
  16. 大数据技术与应用实验报告3
  17. 《applied sciences》期刊从投稿到录用过程
  18. 检测和解决Android应用的性能问题
  19. flexbox的学习,display:flex display:box 淘宝触屏版、饿了么网布局分析分析
  20. cfa-esg网课资源、教材资源、习题资源

热门文章

  1. Linux系统编程-管道入门
  2. linux文件管理器添加项目,LXQt 0.14 发布,文件管理器添加拆分视图
  3. 长亭php反序列化防护_CTF-攻防世界-Web_php_unserialize(PHP反序列化)
  4. 智慧交通day04-特定目标车辆追踪01:总览概述
  5. 智慧交通day01-算法库01:numba
  6. 数据结构之并查集:并查集解决案例, Python——21
  7. python将数组写入文件_python – 将numpy数组的大小写入二进制文件
  8. python3.6.8安装失败_centos7编译安装Python 3.6.8 后用pip3出现SSL未配置问题(import ssl失败)解决方法...
  9. LeetCode 2092. 找出知晓秘密的所有专家(并查集)
  10. fastapi 查询参数和字符串校验 / 路径参数和数值校验