Skip to content

machero/2020-KBQA

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于BERT的KBQA系统

项目架构

基于NIPCC知识库问答数据集,利用BERT+BiLSTM+CRF进行命名实体识别,抽取问题中的实体。从知识库中提取实体相关的所有属性,利用BERT训练句子相似度计模型,计算问题与各属性之间的文本相似度,基于相似度对属性排序,最终得到问题答案。

目前只用了知识库实现(MySQL),后续会钻研一下知识图谱。

运行说明

下载文件:

数据集构建(请先更改data_config.py的MySQL配置):

$ mkdir data/NER
$ mkdir data/SIM
$ cd data_helper
$ python ner_data.py
$ python sim_data.py
$ python kb_data.py
$ cd ..

训练命名实体识别模型(NER):

$ cd ner
$ mkdir output
$ ./run_ner.sh
$ cd ..

ner/ner_config.py中的model_file=model/xxxxxxx更改为ner/output/model下的文件夹名称。

训练文本相似度模型(SIM):

$ cd sim
$ mkdir output
$ ./run_sim.sh
$ cd ..

sim/sim_config.py中的model_file=model/xxxxxxx更改为sim/output/model下的文件夹名称。

进行线上的问答测试:

$ python kbqa.py

效果如下:

环境

  • python 3.6.5
  • tensorflow 1.14
  • 云端训练:极客云-RTX 2080 Ti 双卡 Ryzen 9 3900X 24核32G 2TB SSD 网速D1000/U50

About

知识图谱问答系统

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.1%
  • Shell 0.9%