项目简介
本项目是基于BERT和CRF(条件随机场)模型构建的KB - QA(知识库问答)系统。借助命名实体识别(NER)技术识别问题里的实体,再通过相似度匹配(SIM)模型从知识库中找出与问题最匹配的答案。项目涵盖数据处理、模型训练、模型测试等流程,采用MySQL数据库存储知识库信息。
项目的主要特性和功能
- 命名实体识别(NER):运用BERT和CRF模型识别问题中的实体,识别结果用于后续查询与匹配。
- 相似度匹配(SIM):利用BERT模型对问题中的属性和知识库中的属性进行相似度匹配,从而确定最佳答案。
- 数据库查询:通过SQL查询从知识库中获取与问题相关的数据。
- 问答系统:整合上述功能,构建能回答用户问题的问答系统。
安装使用步骤
- 环境准备:安装Python环境以及
transformers
、torch
、pandas
、pymysql
等必要的库。 - 数据准备:准备NLPCC2016KBQA数据集,并依据项目中的脚本处理数据,生成训练、验证和测试数据。
- 模型训练:运行
NER_main.py
和SIM_main.py
开展模型训练。 - 模型测试:运行
test_NER.py
和test_SIM.py
进行模型测试。 - 运行问答系统:运行
test_pro.py
启动问答系统,输入问题后系统会根据模型预测结果给出答案。 - 数据库操作:使用
6 - load_dbdata.py
脚本将数据加载到MySQL数据库,并利用SQL查询进行数据检索。
注意:运行前需确保已下载并解压项目的源码文件,然后按照上述步骤操作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】