基于BERT的知识库问答系统(KBQA)
简介
知识库问答系统主要要做的两点分别是识别问题中的实体和提取问题中我们需要从知识库中查找的属性,针对这两个方面我采用了NLP预训练模型BERT分别训练了基于BERT-LSTM-CRF的命名实体识别模型(框架来源于https://blog.csdn.net/macanv/article/details/85684284),基于BERT的分类模型,用于匹配问题和知识库三元组中的属性。
数据集
此次使用的数据集来自NLPCC ICCPOL 2016 KBQA 任务集,其包含 14 609 个问答对的训练集和包含 9 870 个问答对的测试集。 并提供一个知识库,包含 6 502 738 个实体、 587 875 个属性以及 43 063 796 个 三元组。知识库文件中每行存储一个事实( fact) ,即三元组 ( 实体、属性、属性值) 。
知识库样例如下,共有43063796行:
技术方案
刚刚已经提到基于知识库的问答主要可以拆分为两个步骤,问句中的实体识别以及属性映射。