一种基于大语言模型的知识图谱生成式问答方法及系统技术方案

技术编号:39417827 阅读:9 留言:0更新日期:2023-11-19 16:07
本发明专利技术公开了一种基于大语言模型的知识图谱生成式问答方法及系统,所述方法包括:构建大语言模型微调训练数据,训练数据包括提示语句、问题集和答案集;其中,提示语句包括提示模版和实例数据;基于LoRA微调大语言模型;通过子图检索策略为经LoRA微调后的大语言模型提供问答知识库;将经LoRA微调后的大语言模型作为问答推理模型,将问题文本输入问答推理模型,问答推理模型基于提供的问答知识库,生成问题答案。本发明专利技术的大模型不再仅根据问题文本生成答案,而是将图谱信息与问题共同构建为模型提示语句,生成问题答案,从而保证答案更准确、可溯源。可溯源。可溯源。

【技术实现步骤摘要】
一种基于大语言模型的知识图谱生成式问答方法及系统


[0001]本专利技术涉及知识图谱
,特别是一种基于大语言模型的知识图谱生成式问答方法及系统。

技术介绍

[0002]智能问答如今已成为人们解决问题、快速获取相关信息的一种重要方式。问答系统是一种对用户使用自然语言提出的问题能够尽可能快速、准确回答的程序,目前最普遍的智能问答技术是基于深度学习构建的预训练模型,其核心是通过语义理解识别问题意图,再基于知识库检索相关答案。相较于传统的问答数据库,知识图谱更直观的展示了数据关系与数据特征,因此各领域通过构建特定领域知识图谱,将其作为智能问答的主要数据来源库。
[0003]知识图谱可以看作是知识的结构化表示,由三元组(头实体、关系、尾实体)构成,表示两实体之间的关系,知识图谱问答主要是通过子图查询、语义相似匹配的方法实现问答,但目前仍存在以下不足:
[0004]一是问题泛化能力差,知识图谱问答过程中需要识别问题实体、问题关系,将其关联图谱节点,匹配相关三元组,从而检索答案;若问题较泛化,则会存在无法将问题实体、关系成功匹配子图的情况,无法检索答案。
[0005]二是问题局限性大,知识图谱问答是基于三元组的实体名称和实体关系返回答案,因此仅支持对图谱节点的关联关系和属性相关内容提问,其他内容则无法回答。
[0006]三是图谱推理能力弱,当前知识图谱问答不具备推理能力,无法通过图谱子图内容进行多跳推理或统计。
[0007]因此,本专利技术提供了一种基于大模型的知识图谱问答方法、装置及系统,问答过程中准确理解问题意图,基于知识图谱数据生成问题答案。

技术实现思路

[0008]鉴于此,本专利技术提供一种基于大语言模型的知识图谱生成式问答方法及系统,能够通过用户输入问题,解析问题并提取关键要素,基于知识图谱检索子图作为问答知识库,再利用子图信息与问句构建模型提示语句,大语言模型最终生成问题答案。
[0009]本专利技术公开了一种基于大语言模型的知识图谱生成式问答方法,其包括:
[0010]步骤1:构建大语言模型微调训练数据,训练数据包括提示语句、问题集和答案集;其中,提示语句包括提示模版和实例数据;
[0011]步骤2:基于LoRA微调大语言模型;
[0012]步骤3:通过子图检索策略为经LoRA微调后的大语言模型提供问答知识库;
[0013]步骤4:将经LoRA微调后的大语言模型作为问答推理模型,将问题文本输入问答推理模型,问答推理模型基于步骤3提供的问答知识库,生成问题答案。
[0014]进一步地,所述步骤1包括:
[0015]步骤11:构建训练数据的问题集和答案集:
[0016]通过获取领域知识图谱的三元组结构数据,调用基于BERT预训练模型生成图谱单跳、多跳类问题集和答案集,令图谱三元组triple=[node1,rel,node2],其中,node1为头实体,rel为关系边,node2为尾实体,预训练模型输入为[node1,rel],模型根据[node1,rel],输出问题Quest,同时node2为问题答案Answer,自动构建一批问题与答案数据;
[0017]步骤12:构建训练数据的提示语句:
[0018]通过领域知识图谱获取结构化的实例数据:标注出图谱数据的实体和关联三元组信息,令知识图谱数据X={name:name,k1:v1,k2:v2,...,k
n
:v
n
},设X为知识图谱中一个实体节点的关系数据,name为节点名称,k
n
为节点的属性或关系边名称,v
n
为节点对应的属性值或关系边相连节点名称;将图谱数据X转换为列表数据x`=[[name,k1,v1],[name,k2,v2],...,[name,k
n
,v
n
]],x`即是模型训练数据的实例数据;
[0019]再面向知识图谱问答任务构建提示模版P;将实例数据添加至提示模版即生成模型训练的提示语句Prompt。
[0020]进一步地,所述步骤2包括:
[0021]步骤21:将LoRA模型参数拆分两部分:预训练权重w∈R
d*d
和finetune增量权重Δw∈R
d*d
,w为冻住的预训练权重,Δw为微调过程中产生的权重更新量;设输入为x,输出为h,则有h=wx+Δwx;训练过程中,固定预训练权重w,采用A和B两个低秩矩阵近似表示Δw,即h=wx+BAx,A∈R
r*d
,B∈R
r*d
,对A采用高斯初始化,对B采用零初始化,训练过程中对低秩矩阵A和B进行训练,只保存低秩矩阵部分作为模型权重;
[0022]步骤22:将步骤1的训练数据进行Tokenizer处理,设置训练参数,加载ChatGLM

6B模型,启动微调训练,保存训练过程中损失值Loss最低的模型权重;
[0023]模型微调结束后,利用部分训练数据验证模型效果,将训练完成的矩阵乘积BA与原本固定的权重矩阵w相加作为新的模型区中矩阵,即h=(w+BA)x,将权重矩阵h作为新权重参数替换最初预训练模型语言模型参数,利用模型的测试结果res1与训练前模型测试作对比res0,对比指标采用问答平均准确率Acc;
[0024]若res1>res0,则模型微调效果提升,可将其作为后续图谱问答的推理模型;若res1<res0,则重新调整训练参数,重复步骤21和步骤22,直至微调后模型测试结果优于训练前结果。
[0025]进一步地,所述对比指标采用问答平均准确率Acc,计算方式为:
[0026][0027][0028]其中,n为测试样本总数量,x
i
为测试集中问题q
i
的预测答案,若预测答案与标准答案相同,则取值为1,反之,取值为0;t
i
为测试集中问题q
i
返回答案所需时长。
[0029]进一步地,所述步骤3包括:
[0030]步骤31:构建垂直领域知识图谱数据库和实体名称向量库;将结构化的实体

关系

实体和实体

属性

属性值三元组数据批量导入图谱库,知识图谱构建完成后,按标签检
索实体节点,利用TransE方法将实体名称转换为文本向量,将文本向量与节点ID分别保存于向量库中;
[0031]步骤32:利用信息抽取模型UIE完成实体识别任务:使用UIE框架时,需要先建立一个目标查询实体列表,通过对知识图谱中的节点进行筛选,将目标实体提取出来,并构建对应的AC自动机模型;在得到文本数据并进行命名实体识别之后,判断抽取的实体是否是目标实体;
[0032]步骤33:将步骤32中识别出的目标实体转换为文本向量x1,利用余弦相似度将文本向量x1分别与步骤31构建的名称本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于大语言模型的知识图谱生成式问答方法,其特征在于,包括:步骤1:构建大语言模型微调训练数据,训练数据包括提示语句、问题集和答案集;其中,提示语句包括提示模版和实例数据;步骤2:基于LoRA微调大语言模型;步骤3:通过子图检索策略为经LoRA微调后的大语言模型提供问答知识库;步骤4:将经LoRA微调后的大语言模型作为问答推理模型,将问题文本输入问答推理模型,问答推理模型基于步骤3提供的问答知识库,生成问题答案。2.根据权利要求1所述的方法,其特征在于,所述步骤1包括:步骤11:构建训练数据的问题集和答案集:通过获取领域知识图谱的三元组结构数据,调用基于BERT预训练模型生成图谱单跳、多跳类问题集和答案集,令图谱三元组triple=[node1,rel,node2],其中,node1为头实体,rel为关系边,node2为尾实体,预训练模型输入为[node1,rel],模型根据[node1,rel],输出问题Quest,同时node2为问题答案Answer,自动构建一批问题与答案数据;步骤12:构建训练数据的提示语句:通过领域知识图谱获取结构化的实例数据:标注出图谱数据的实体和关联三元组信息,令知识图谱数据,设X为知识图谱中一个实体节点的关系数据,name为节点名称,为节点的属性或关系边名称,为节点对应的属性值或关系边相连节点名称;将图谱数据X转换为列表数据,...,即是模型训练数据的实例数据;再面向知识图谱问答任务构建提示模版P;将实例数据添加至提示模版即生成模型训练的提示语句Prompt。3.根据权利要求1所述的方法,其特征在于,所述步骤2包括:步骤21:将LoRA模型参数拆分两部分:预训练权重和finetune增量权重,为冻住的预训练权重,为微调过程中产生的权重更新量;设输入为x,输出为,则有x+x;训练过程中,固定预训练权重,采用A和B两个低秩矩阵近似表示,即x+BAx,,,对A采用高斯初始化,对B采用零初始化,训练过程中对低秩矩阵A和B进行训练,只保存低秩矩阵部分作为模型权重;步骤22:将步骤1的训练数据进行Tokenizer处理,设置训练参数,加载ChatGLM

6B模型,启动微调训练,保存训练过程中损失值Loss最低的模型权重;模型微调结束后,利用部分训练数据验证模型效果,将训练完成的矩阵乘积BA与原本固定的权重矩阵w相加作为新的模型区中矩阵,即,将权重矩阵h作为新权重参数替换最初预训练模型语言模型参数,利用模型的测试结果res1与训练前模型测试作对比res0,对比指标采用问答平均准确率Acc;若res1> res0,则模型微调效果提升,将其作为后续图谱问答的推理模型;若res1< res0,则重新调整训练参数,重复步骤21和步骤22,直至微调后模型测试结果优于训练前结果。
4.根据权利要求3所述的方法,其特征在于,所述对比指标采用问答平均准确率Acc,计算方式为:算方式为:其中,n为测试样本总数量,为测试集中问题的预测答案,若预测答案与标准答案相同,则取值为1,反之,取值为0;为测试集中问题返回答案所需时长。5.根据权利要求1所述的方法,其特征在于,所述步骤3包括:步骤31:构建垂直领域知识图谱数据库和实体名称向量库;将结构化的实体

关系

实体和实体

属性

属性值三元组数据批量导入图谱库,知识图谱构建完成后,按标签检索实体节点,利用TransE方法将实体名称转换为文本向量,将...

【专利技术属性】
技术研发人员:陈莹崔莹谢达代翔雋兆波何健军陈伟晴王侃戴礼灿
申请(专利权)人:中国电子科技集团公司第十研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1