将bert模型应用到问答系统中来,一者学习知识图谱的基本操作,二简单搭建问答系统的基本框架,三将词向量、bert模型实践应用 (图谱规模较小---旨在框架的搭建)
运行环境:Python3
数据库:neo4j
预训练词向量:https://github.com/Embedding/Chinese-Word-Vectors或可自行用word2vec训练词向量
1、搭建知识图谱:python grapy_excel//grapy_build.py
2、启动问答测试:python kbqa_demo.py
实体: 特性,对象(特性对应的对象),操作(常见操作名称)
关系类型:特性-[opt1]->对象 对象-[opt2]->操作
属性:content---对应的内容
图谱的excel文件在文件夹中: grapy_excel
问题意图模块: python intent_classify.py
0:"*是什么" 1:"*常见问题有哪些" 2:"*问题怎么解决" 3:"的是什么"
采用字典的精准匹配以及相似度匹配的综合使用
1.实体识别模块: python entity_extractor.py 2.各类型实体组成的字典在文件夹entity_dict中
采用基于模板的方法
1.项目旨在打通基于知识图谱的问答系统,知识图谱的规模扩展性有加强的空间;
2.对2018年的bert模型应用到问答系统中意图识别,并尝试在bert模型的基础上做一些新的尝试
3.侧重点:在实体识别中采用词典匹配和相似匹配结合的方式---充分利用词向量进行近似匹配---实体识别准确率很高
3.还需要加强的地方: 1.图谱的知识储备较少,可多搜集构建知识图谱的知识,问题类型还可进一步扩展 2.没有实现知识推理--多轮问答的功能---此为后续加强方向