医疗领域3.7万实体知识图谱问答系统,顶尖科技实现从零构建!

从零构建医疗领域知识图谱的KBQA问答系统:其中7类实体,约3.7万实体,21万实体关系。
项目效果
以下两张图是系统实际运行效果:

1.项目运行方式
运行环境:Python3 数据库:neo4j 预训练词向量:https://github.com/Embedding/Chinese-Word-Vectors
1、搭建知识图谱:python buildgrapy.py。大概几个小时,耐心等待。 2、启动问答测试:python kbqatest.py
2.医疗知识图谱
数据源:39健康网。包括15项信息,其中7类实体,约3.7万实体,21万实体关系。
本系统的知识图谱结构如下:

1.1 知识图谱实体类型

1.2 知识图谱实体关系类型

1.3 知识图谱疾病属性

3.问题意图识别
基于特征词分类的方法来识别用户查询意图

4.总结
1、本项目构建简单,通过本项目能了解KBQA的工作流程。
2、本次通过手工标记210条意图分类训练数据,并采用朴素贝叶斯算法训练得到意图分类模型。其最佳测试效果的F1值达到了96.68%。选用NB的原因是通过与SVM训练效果比较后决定的。
3、优化点:
训练数据还是太少,且对问题进行标注时易受主观意见影响。意图类别还是太少,本系统得到分类模型只能预测出上面设定的7类意图。
对于问题句子中有多个意图的情况只能预测出一类,今后有时间再训练多标签模型吧。。
知识图谱太小了,对于许多问题都检索不出答案。今后可以爬取其它的健康网站数据或者利用命名实体识别和关系抽取技术从医学文献中抽取出实体与关系,以此来扩充知识图谱。
在本项目中采用了预训练的词向量来找近似词。由于该词向量特别大,加载非常耗时,因此影响了整个系统的效率。这个可能是因为电脑配置太低的原因吧。
没有实现推理的功能,后续将采用多轮对话的方式来理解用户的查询意图。同时将对检索出的结果进行排序,可靠度高的排在前面。
项目链接跳转
[文章码源链接] (https://blog.csdn.net/sinat_39620217/article/details/131968727)
更多优质内容请关注:汀丶人工智能;会提供一些相关的资源和优质文章,免费获取阅读。
