项目作者: Nieson

项目描述 :
基于Bert的智能问答系统!
高级语言: Python
项目地址: git://github.com/Nieson/KBQA-on-Bert.git
创建时间: 2020-02-25T03:56:35Z
项目社区:https://github.com/Nieson/KBQA-on-Bert

开源协议:MIT License

下载


KBQA-BERT

基于知识图谱的问答系统,BERT做命名实体识别和句子相似度,分为online和outline模式

Introduction

本项目主要由两个重要的点组成,一是基于BERT的命名实体识别,二是基于BERT的句子相似度计算,本项目将这两个模块进行融合,构建基于BERT的KBQA问答系统,在命名实体识别上分为online predict和outline predict;在句子相似度上,也分为online predict和outline predict,2个模块互不干扰,做到了高内聚低耦合的效果,最后的kbqa相当于融合这2个模块进行outline predict,具体介绍请见我的知乎专栏

—————————————————————- 问题汇总 ————————————————————

把过去一段时间同学们遇到的主要问题汇总一下,下面是一些FAQ:

Q: 运行run_ner.py时未找到dev.txt,请问这个文件是怎么生成的呢?
A: 这一部分我记得当初是没有足够多的数据,我把生成的test.txt copy, 改成dev.txt了。

Q: 你好,我下载了你的项目,但在运行run_ner的时候总是会卡在Saving checkpoint 0 to….这里,请问是什么原因呢?
A: ner部分是存在一些问题,我也没有解决,但是我没有遇到这种情况。微调bert大概需要12GB左右的显存,大家可以把batch_size和max_length调小一点,说不定会解决这个问题!。

Q: 该项目有没有相应的论文呢?
A: 回答是肯定的,有的,送上 论文传送门!

Q: 数据下载失败,不满足现有数据?
A: 数据在Data中,更多的数据在NLPCC2016NLPCC2017

—————————————————————- 使用说明 ————————————————————

环境配置

  1. Python版本为3.7
  2. tensorflow版本为1.13.2
  3. XAMPP版本为3.3.2
  4. Navicat Premium12

目录说明

  1. bert文件夹是google官方下载的, [下载地址](https://github.com/google-research/bert/)
  2. Data文件夹存放原始数据和处理好的数据
  3. construct_dataset.py 生成NER_Data的数据
  4. construct_dataset_attribute.py 生成Sim_Data的数据
  5. triple_clean.py 生成三元组数据
  6. load_dbdata.py 将数据导入mysql db
  7. ModelParams文件夹需要下载BERT的中文配置文件:chinese_L-12_H-768_A-12
  8. [下载地址](https://pan.baidu.com/s/1iFoRqRtO5SKwZVqUIHalkQ),提取码:hi63。
  9. Output文件夹存放输出的数据
  10. 基于BERT的命名实体识别模块
  11. - lstm_crf_layer.py
  12. - run_ner.py
  13. - tf_metrics.py
  14. - conlleval.py
  15. - conlleval.pl
  16. - run_ner.sh
  17. 基于BERT的句子相似度计算模块
  18. - args.py
  19. - run_similarity.py
  20. KBQA模块
  21. - terminal_predict.py
  22. - terminal_ner.sh
  23. - kbqa_test.py

使用说明

  1. - run_ner.sh
  2. NER训练和调参
  3. - terminal_ner.sh
  4. do_predict_online=True NER线上预测
  5. do_predict_outline=True NER线下预测
  6. - args.py
  7. train = True 预训练模型
  8. test = True SIM线上测试
  9. - run_similarity.py
  10. python run一下就可以啦
  11. - kbqa_test.py
  12. 基于KB的问答测试

实验分析

NER图

kb图


如果觉得我的工作对您有帮助,请不要吝啬右上角的小星星哦!欢迎Fork和Star!也欢迎一起建设这个项目!