RubickH / knowledge_grapy-kbqa_demo

将bert模型应用到问答系统中来,一者学习知识图谱的基本操作,二简单搭建问答系统的基本框架,三将词向量、bert模型实践应用

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

知识图谱与问答系统构建

将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.没有实现知识推理--多轮问答的功能---此为后续加强方向

About

将bert模型应用到问答系统中来,一者学习知识图谱的基本操作,二简单搭建问答系统的基本框架,三将词向量、bert模型实践应用


Languages

Language:Python 100.0%