掌桥专利:专业的专利平台
掌桥专利
首页

基于大模型实现智能问答服务的方法及装置

文献发布时间:2024-04-18 19:53:33


基于大模型实现智能问答服务的方法及装置

技术领域

本发明涉及智能问答技术领域,特别是涉及基于大模型实现智能问答服务的方法及装置。

背景技术

现有各种大模型个性化主要靠输入对话时提供人物指定角色,抑制幻觉主要靠知识库检索,限定大模型回答问题的范围,依据大模型强大的理解能力,从指定知识库分析问题。

大模型个性化不够智能,需要人为输入角色特征才能实现指定角色。大模型幻觉还比较严重,靠知识库检索难以达到理想效果,即使在指定知识库里,大模型可能依旧产生大量幻觉,不能很好的匹配输出用户的问题答案。

发明内容

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明提出了基于大模型实现智能问答服务的方法,旨在给大模型增加个性化能力,提升大模型在问答领域的准确性,抑制大模型的幻觉,使得可以有效匹配用户的问题答案。

本发明的另一个目的在于提出一种基于大模型实现智能问答服务的装置。

为达上述目的,本发明一方面提出一种基于大模型实现智能问答服务的方法,包括;

获取实时文本数据;

将所述实时文本数据输入至训练好的智能问答网络模型进行对应的答案预测,并根据答案预测结果输出多个候选答案;

获取所述多个候选答案对应的分值,并根据所述分值的排序结果输出多个候选答案中最优的答案。

本发明实施例的基于大模型实现智能问答服务的方法还可以具有以下附加技术特征:

在本发明的一个实施例中,在将所述文本数据输入至训练好的智能问答网络模型进行对应的答案预测之前,所述方法,还包括:训练所述智能问答网络模型,包括:

获取所述实时文本数据的样本数据;所述样本数据,至少包括特定服务领域数据和个性化数据;

将所述样本数据输入至智能问答网络模型进行模型参数训练,基于训练好的模型参数得到所述训练好的智能问答网络模型。

在本发明的一个实施例中,在将所述样本数据输入至智能问答网络模型进行模型参数训练之前,所述方法,还包括:对所述样本数据进行预处理,包括:

对所述样本数据进行清洗以得到清洗后的数据;其中,对所述样本数据进行清洗,包括去除包含非法字符、重复、包含敏感信息和导致用户隐私泄露的文本;

对清洗后的特定服务领域数据进行分词,并将分词后的数据以分块的方式进行存储以得到第一数据存储结果;以及,

对清洗后的个性化数据中的离散和类别数据进行分词处理,数值型数据进行归一化处理,以对分词处理后的个性化数据和归一化后的数据进行分块存储得到第二数据存储结果。

在本发明的一个实施例中,所述智能问答网络模型,包括第一个性化模型、第二个性化模型、联合模型、对抗网络模型、字符向量抖动的对抗学习模型、逐层参数抖动对抗模型和强化学习模型。

在本发明的一个实施例中,将所述样本数据输入至智能问答网络模型进行模型参数训练,基于训练好的模型参数得到所述训练好的智能问答网络模型,包括:

将所述第一数据存储结果和第二数据存储结果中的数据输入至所述第一个性化模型进行模型训练以得到第一模型参数。

在本发明的一个实施例中,所述第二个性化模型,包括第一生成器和第一判别器;将所述样本数据输入至智能问答网络模型进行模型参数训练,基于训练好的模型参数得到所述训练好的智能问答网络模型,还包括:

将所述样本数据中的真实用户数据和对应的文本数据输入至所述第一生成器进行训练以输出伪文本;

将所述伪文本和所述真实用户数据输入至所述第一判别器进行训练,以得到伪文本和真实用户数据的第一判别结果;

基于所述第一判别结果和所述第一模型参数得到所述第二个性化模型的第二模型参数。

在本发明的一个实施例中,将所述样本数据输入至智能问答网络模型进行模型参数训练,基于训练好的模型参数得到所述训练好的智能问答网络模型,还包括:

获取所述特定服务领域数据的问答数据对;

将所述问答数据对输入至所述联合模型进行训练以得到模型输出结果;其中,所述模型输出结果,包括命名体识别数据、意图识别数据和关系三元体的知识图谱数据;

基于所述第二模型参数和所述模型输出结果以训练得到第三模型参数。

在本发明的一个实施例中,所述对抗网络模型,包括第二生成器和第二判别器,将所述样本数据输入至智能问答网络模型进行模型参数训练,基于训练好的模型参数得到所述训练好的智能问答网络模型,还包括:

获取所述特定服务领域数据的问答数据对的字符向量;其中,所述问答数据对,至少包括第一query文本和第一answer文本;

对所述字符向量与个性化数据进行拼接得到个性化特征,并将所述个性化特征和第一query文本发送至第二生成器以生成伪answer文本;

将所述伪answer文本和第一answer文本输入至第二判别器进行判别以输出第二判别结果;

基于所述第二判别结果和所述第三模型参数训练所述对抗网络模型,以输出第四模型参数。

在本发明的一个实施例中,将所述样本数据输入至智能问答网络模型进行模型参数训练,基于训练好的模型参数得到所述训练好的智能问答网络模型,还包括:

获取所述问答数据对的的第二query文本和第二answer文本;

将所述第二query文本和第二answer文本输入至所述字符向量抖动的对抗学习模型,以对每个token取嵌入后的前向传播进行微量抖动,反向传播计算梯度时不对嵌入抖动以训练所述字符向量抖动的对抗学习模型;

基于所述第四模型参数和训练好的字符向量抖动的对抗学习模型,以输出第五模型参数。

在本发明的一个实施例中,将所述样本数据输入至智能问答网络模型进行模型参数训练,基于训练好的模型参数得到所述训练好的智能问答网络模型,还包括:

基于所述问答数据对的标注数据和预设的公共数据集训练语义一致性检测模型;其中,所述问答数据对,还包括第三query文本和第二answer文本;

基于用户日志得到用户会话过程中的连续输入文本,并利用所述语义一致性检测模型检测所述连续输入文本的语义一致性的句对;

筛选出所述语义一致性的句对中字面意思相近的数据以得到筛选后数据,并将所述筛选后数据与第三query文本和第三answer文本输入所述语义一致性检测模型进行训练得到逐层参数抖动对抗模型,以基于第五模型参数和逐层参数抖动对抗模型输出得到第六模型参数。

在本发明的一个实施例中,将所述样本数据输入至智能问答网络模型进行模型参数训练,基于训练好的模型参数得到所述训练好的智能问答网络模型,还包括:

将所述问答数据对输入至强化学习模型进行强化学习训练,并输出多个预测答案;

对所述多个预测答案进行判断打分,以根据打分结果得到最优问题答案;

基于所述最优问题答案和所述第六模型参数优化所述强化学习模型的参数以得到第七模型参数,并基于所述第七模型参数得到训练好的智能问答网络模型。

为达上述目的,本发明另一方面提出一种基于大模型实现智能问答服务的装置,包括:

数据获取模块,用于获取实时文本数据;

预测输出模块,用于将所述实时文本数据输入至训练好的智能问答网络模型进行对应的答案预测,并根据答案预测结果输出多个候选答案;

最优选择模块,用于获取所述多个候选答案对应的分值,并根据所述分值的排序结果输出多个候选答案中最优的答案。

本发明实施例的基于大模型实现智能问答服务的方法和装置,给大模型增加个性化能力,提升大模型在问答领域的准确性,抑制大模型的幻觉,使得可以有效匹配用户的问题答案。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本发明实施例的一种基于大模型实现智能问答服务的方法的流程图;

图2是根据本发明实施例的智能问答网络模型训练的流程图;

图3是根据本发明实施例的强化大模型能力的示意图;

图4是根据本发明实施例的赋予大模型的初级个性化能力示意图;

图5是根据本发明实施例的引入独立的命名体识别、知识图谱和意图识别的示意图;

图6是根据本发明实施例的引入分层对抗学习的示意图;

图7是根据本发明实施例的输入字符向量抖动的对抗学习示意图;

图8是根据本发明实施例的基于大模型实现智能问答服务的装置结构图。

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

下面参照附图描述根据本发明实施例提出的基于大模型实现智能问答服务的方法和装置。

图1是本发明实施例的基于大模型实现智能问答服务的方法的流程图。

如图1所示,该方法包括但不限于以下步骤:

S1,获取实时文本数据;

S2,将实时文本数据输入至训练好的智能问答网络模型进行对应的答案预测,并根据答案预测结果输出多个候选答案;

S3,获取多个候选答案对应的分值,并根据分值的排序结果输出多个候选答案中最优的答案。

进一步地,在步骤S2之前,获取实时文本数据的样本数据;样本数据,至少包括特定服务领域数据和个性化数据;将样本数据输入至智能问答网络模型进行模型参数训练,基于训练好的模型参数得到训练好的智能问答网络模型。

进一步地,在步骤S2之前,对样本数据进行预处理,包括:对样本数据进行清洗以得到清洗后的数据;其中,对所述样本数据进行清洗,包括去除包含非法字符、重复、包含敏感信息和导致用户隐私泄露的文本;对清洗后的特定服务领域数据进行分词,并将分词后的数据以分块的方式进行存储以得到第一数据存储结果;以及,对清洗后的个性化数据中的离散和类别数据进行分词处理,数值型数据进行归一化处理,以对分词处理后的个性化数据和归一化后的数据进行分块存储得到第二数据存储结果。

进一步地,智能问答网络模型,包括第一个性化模型、第二个性化模型、联合模型、对抗网络模型、字符向量抖动的对抗学习模型、逐层参数抖动对抗模型和强化学习模型。

进一步地,将第一数据存储结果和第二数据存储结果中的数据输入至所述第一个性化模型进行模型训练以得到第一模型参数。

进一步地,第二个性化模型,包括第一生成器和第一判别器;将样本数据中的真实用户数据和对应的文本数据输入至第一生成器进行训练以输出伪文本;将伪文本和真实用户数据输入至所述第一判别器进行训练,以得到伪文本和真实用户数据的第一判别结果;基于第一判别结果和所述第一模型参数得到第二个性化模型的第二模型参数。

进一步地,获取特定服务领域数据的问答数据对;将问答数据对输入至所述联合模型进行训练以得到模型输出结果;其中,模型输出结果,包括命名体识别数据、意图识别数据和关系三元体的知识图谱数据;基于第二模型参数和所述模型输出结果以训练得到第三模型参数。

进一步地,对抗网络模型,包括第二生成器和第二判别器,获取特定服务领域数据的问答数据对的字符向量;其中,问答数据对,至少包括第一query文本和第一answer文本;对字符向量与个性化数据进行拼接得到个性化特征,并将个性化特征和第一query文本发送至第二生成器以生成伪answer文本;将伪answer文本和第一answer文本输入至第二判别器进行判别以输出第二判别结果;基于第二判别结果和第三模型参数训练所述对抗网络模型,以输出第四模型参数。

进一步地,获取所述问答数据对的的第二query文本和第二answer文本;将第二query文本和第二answer文本输入至所述字符向量抖动的对抗学习模型,以对每个token取嵌入后的前向传播进行微量抖动,反向传播计算梯度时不对嵌入抖动以训练字符向量抖动的对抗学习模型;基于第四模型参数和训练好的字符向量抖动的对抗学习模型,以输出第五模型参数。

进一步地,基于问答数据对的标注数据和预设的公共数据集训练语义一致性检测模型;其中,问答数据对,还包括第三query文本和第二answer文本;基于用户日志得到用户会话过程中的连续输入文本,并利用语义一致性检测模型检测所述连续输入文本的语义一致性的句对;筛选出语义一致性的句对中字面意思相近的数据以得到筛选后数据,并将筛选后数据与第三query文本和第三answer文本输入语义一致性检测模型进行训练得到逐层参数抖动对抗模型,以基于第五模型参数和逐层参数抖动对抗模型输出得到第六模型参数。

进一步地,将问答数据对输入至强化学习模型进行强化学习训练,并输出多个预测答案;对多个预测答案进行判断打分,以根据打分结果得到最优问题答案;基于最优问题答案和所述第六模型参数优化强化学习模型的参数以得到第七模型参数,并基于第七模型参数得到训练好的智能问答网络模型。

由此,本发明的基于大模型实现智能问答服务的方法,获取实时文本数据;将实时文本数据输入至训练好的智能问答网络模型进行对应的答案预测,并根据答案预测结果输出多个候选答案;获取多个候选答案对应的分值,并根据分值的排序结果输出多个候选答案中最优的答案。

图2是本发明实施例的智能问答网络模型训练的流程图。如图2所示,可以理解理解的是,本发明的智能问答网络模型可以分为七个模块:

可以理解的是,本发明在通用大模型框架的基础上来实现模型的个性化,并达到最大限度的抑制模型幻觉。模型训练是在公开大模型的基础上,进行二次优化的。首先,在模型输入层,加入了个性化处理模块。通用大模型的输入,只有用户输入的文本信息、文本位置信息。加入了用户id信息,用户访问ip信息,用户输入时间信息。并用用户ip和时间信息,获取用户所处位置的天气信息,路况信息,附近商务、办公场所信息。根据用户id和ip信息,也保留了用户历史数据。在训练前,先对用户历史数据进行分析,对用户年龄、性别、问答领域偏好、活跃度、上班地点、家庭住址、不同时间的行为特征等进行分析总结,做了详细的用户画像。

如图3所示,第一个性化模型,强化大模型对特定服务领域数据的理解能力和对个性化模块融合能力。通用模型追加训练以适应特定服务领域数据,输出结果为在海量数据里初步适应个性化模块和特定服务领域的大模型。

本发明实施例在开源模型基础上,追加了大量特定服务领域数据,包括全国、北京、辽宁的政府网站问答数据,如公积金提取、驾照办理、结婚证、身份证办理等等数据,同时也加入了一些其它领域的数据,保持特定服务领域数据和其它领域数据0.5:0.5的比例,目的是加强模型对特定服务领域的理解能力,又不丢失通用领域理解能力。此处,因为对通用模型进行了修改,增加了大量个性化特征,而原始模型在训练时,是没有这些特征的,在这步骤给这些个性化特征进行随机初始化,让模型初步适应这些新加入的特征。

优选地,所有输入文本数据输入模型之前,需要进行清洗,去除包含非法字符的文本,去除重复的文本,使用技术手段,去除涉黄或者其它敏感信息,去除可能导致用户隐私泄露的数据。

优选地,数据以段落方式进行存储,为了加速模型训练时GPU等资源的利用率,数据提前进行了分词,分词后的数据以分块的方式存储。这样在训练时,可以一次加载一个数据块,gpu/cpu速度都可以大幅提高。

优选地,对于额外增加的个性化数据,是一些离散数据和数值型数据以及类别数据对于离散数据和类别数据,处理方式和分词后的数据一致,对于数值型数据,先对每组数据进行归一化,即将数据变化范围压缩到0~1之间,再进行分块存储。在训练第一个性化模型时,这些数据以内存映射的方式,整块读入,以提高数据吞吐能力。经过第一个性化模型的训练数据进入模型后,转化成初步适应特定业务领域的模型参数,保存成模型文件,待进一步优化。

如图4所示,为第二个性化模型,赋予大模型的初级个性化能力。可以理解的是,通用大模型是没有个性化能力的。第一个性化模型输出模型初步融合了个性化模块,但是还没有个性化能力。

本发明实施例中,在第一个性化模型输出模型参数的基础上强化模型对个性化的捕捉能力,引入对抗学习,将不同用户的个性化特征,包括时间、地点、性别、偏好等等所有能采集到的个性化数据和文本数据,送到生成器进行训练,输出一段伪文本,再把伪文本,输送到鉴别器,和真实的用户数据一起去训练鉴别器,鉴别哪些时由生成器生成的伪文本,哪些时真实的用户数据。这一步训练,固定住模型其它参数,只放开embedding层通过混合了通用数据和个性化的特定领域数据,得到了含有个性化能力的模型。

如图5所示,联合模型,引入独立的命名体识别、知识图谱和意图识别模块,从知识理解角度抑制大模型的幻觉,即抑制大模型虚假回复。

本发明实施例中,在第二个性化模型输出的强化了初级个性化大模型参数的基础上,开始对模型的幻觉进行优化,收集了大量特定领域相关的问答数据对,包括户口、身份证、驾驶证、公积金等等领域,比如问“我去年从日本留学来广州,想问下我的户口还能落在广州吗?”,生成对“日本留学生户口落户广州的申请”信息的检索回复,对于特定领域数据,单独训练了一个基于大模型的命名体识别(ner)、意图识别和知识图谱的联合大模型,来辅助生成特定领域特征。

本发明实施例中,在大模型输入端,再次进行改造,加入了每个词的命名体识别(ner)信息,并且在每个attention输出后面加入了意图信息,让模型能够更准确的理解输入字符里包含的信息,抑制模型产生幻觉的机会。在训练基于大模型的命名体识别、意图识别和知识图谱的联合大模型时,收集了大量开源数据,同时标注了在特定应用领域的命名体识别数据,意图识别数据和关系三元体的知识图谱数据,将这些数据混合在一起,提升基于大模型的命名体识别、意图识别和知识图谱抽取的准确率和召回率。

如图6所示,对抗网络模型,引入分层对抗学习,从生成角度抑制大模型幻觉的。

可以理解的是,由于大模型训练本来就很慢,大模型的对抗学习则更慢,无法在大数据集上进行全网络的对抗学习,选择了逐层网络对抗学习的方式,即将判别模型和生成模型所有参数固定住,逐层放开可训练参数,进行对抗学习。

本发明实施例中,该模块数据主要采用特定领域问答数据对。数据组织成query/answer模式,比如query:“逛了半天超市,到买单时才发现钱包被小偷光顾了,自己身份证在里面”,answer“身份证的挂失和补办”,同时,加入了个性化数据,在输入序列每个字符获取向量后拼接这些个性化数据。大模型有多层,首先固定住生成器和判别器所有的参数,然后逐层放开其中一层参数,将个性化特征和query部分传送给生成器,由生成器生成一段伪answer,然后再把伪answer和真实的answer输入到鉴别器进行鉴别。由于每次只训练一层网络,模型收敛速度会大幅提高。

如图7所示,字符向量抖动的对抗学习模型,输入字符向量抖动的对抗学习,提升模型字面差异抗干扰能力。

可以理解的是在使用大模型的时候,发现模型对用户输入prompt很敏感,有时候输入语义是一致的,但是稍微差别几个字,模型输出结果却大相径庭,很显然模型对输入的抗干扰能力是不足的。虽然在第四步加入了对抗学习,想更进一步更直接的提升模型的抗干扰和泛化能力。

本发明实施例中,这一模块数据主要采用特定领域问答数据对,分两种处理方式,一种是通过算法,在query文本里随机抽取几个字符,替换成同义词、近义词,输入模型获取embedding后不对其进行抖动,另外一种方式是query文本不变换,直接输入embedding后,对其进行抖动。在模型的输入层,对每个token取embedding后,前向传播进行微量抖动,但是保持反向传播计算梯度时不对embedding进行抖动,实验结果表明,此项优化能大幅提升模型的抗干扰能力。

进一步地,逐层参数抖动对抗模型,提升模型在深层语义上的抗干扰能力。字符向量抖动的对抗学习模型输出的模型参数,已经初步具有抗字符干扰的能力,继续深化语义抗干扰能力,即针对字符相差很大,字面意思却一致的情况下生成同样的输出,比如用户输入“某人多大了”和“某人的年龄”从字面意思完全不相关,在语义上却是一致的。此模块各层网络接入外部信息、前向传播抖动来提高模型对个性化的敏感能力和抗干扰能力。这一模块数据主要采用特定领域问答数据对。由于希望模型能够深层次理解语义信息,而不是停留在字面意思,所以需要大量强语义相似,字面意思却相差甚远的数据集。这些数据难以一次收集足够量的。

在本发明实施例中,采用手工标注部分语料,比如标注“某人多大了”和“某人的年龄”这样的句对,结合一些公开的数据集,训练了一个语义一致性检测模型。另外一方面,又对用户在互联网上的点击日志进行挖掘,挖掘那些用户在一次会话过程中连续输入的文本,用文本一致性检测模型,检测出语义一致性的句对,再对其中字面接近的数据进行删除,得到大量语义一致性,字面却相差巨大的句对。有了这些语义一致性,字面却相差巨大的句对,再和query/answer句对结合,给此模块提供训练数据。

进一步地,强化学习模型,智能选取最优输出。采用通用强化学习和人工强化学习相结合的方式。这一模块数据主要采用特定领域问答数据对。即先由通用强化学习训练一定步数,再让模型对问题进行预测输出多条语句,由人工对一个问题输出的多个答案进行判断打分,选择最优输出答案,再由这些最优答案,反馈给强化学习流程,辅助模型向最优参数收敛。然后再训练通用强化学习,再人工强化学习进行反馈,一直循环下去直到模型收敛。通过这一手段,实验证明可以强化学习流程快速收敛。

为了实现上述实施例,如图8所示,本实施例中还提供了基于大模型实现智能问答服务的装置10,该装置10包括,数据获取模块100、预测输出模块200、最优选择模块300。

数据获取模块100,用于获取实时文本数据;

预测输出模块200,用于将实时文本数据输入至训练好的智能问答网络模型进行对应的答案预测,并根据答案预测结果输出多个候选答案;

最优选择模块300,用于获取多个候选答案对应的分值,并根据分值的排序结果输出多个候选答案中最优的答案。

本发明实施例的基于大模型实现智能问答服务的装置,给大模型增加个性化能力,提升大模型在问答领域的准确性,抑制大模型的幻觉,使得可以有效匹配用户的问题答案。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

技术分类

06120116338176