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

保险智能问答系统的对话应答方法、装置、设备和介质

文献发布时间:2024-04-18 20:01:23


保险智能问答系统的对话应答方法、装置、设备和介质

技术领域

本申请涉及保险文本处理技术领域,特别是涉及一种保险智能问答系统的对话应答方法、装置、计算机设备、存储介质和计算机程序产品。

背景技术

保险用户在办理保险业务时有可能提出各种各样的问题,涉及保险产品、理赔流程、保单信息等方面。随着计算机技术的发展,传统的人工客服往往面临工作量大、效率低的问题,难以及时对用户发送的对话信息作出及时应答。

在相关技术中,可以通过智能问答系统对用户作出相应的应答。然而,发明人在实践中发现,对于保险用户提出的对话信息,现有的智能问答系统往往难以准确应答,存在应答准确性低的问题。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提高应答准确性的保险智能问答系统的对话应答方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

第一方面,本申请提供了一种保险智能问答系统的对话应答方法,包括:获取用户向保险智能问答系统发送的与保险领域相关的对话信息,将所述对话信息输入到训练好的意图识别模型,得到所述用户的对话意图;确定与所述对话意图关联的候选的保险知识问答对;通过训练好的文本相似度识别模型确定所述候选的保险知识问答对与所述对话信息的相关程度;根据所述候选的保险知识问答对与所述对话信息的相关程度,确定目标保险知识问答对;根据所述目标保险知识问答对确定针对所述对话信息的应答信息。

在其中一个实施例中,所述确定与所述对话意图关联的多个候选的保险知识问答对,包括:若所述对话意图的意图类型为单轮对话意图,则获取与所述对话意图关联的常见问题解答,作为候选的保险知识问答对;每组常见问题解答包括一提问信息和一回答信息;若所述对话意图的意图类型为多轮对话意图,则获取与所述对话意图关联的问答集合,作为候选的保险知识问答对;所述回答集合中包括关联的多轮问答各自的提问信息和回答信息。

在其中一个实施例中,所述对话信息包括用户提问信息;所述通过训练好的文本相似度识别模型确定所述候选的保险知识问答对与所述对话信息的相关程度,包括:若所述对话意图关联的候选的保险知识问答对为常见问题解答,则通过训练好的文本相似度识别模型,获取每组常见问题解答中的回答信息与所述用户提问信息的相关程度。

在其中一个实施例中,所述根据所述候选的保险知识问答对与所述对话信息的相关程度,确定目标保险知识问答对,包括:若所述对话意图关联的候选的保险知识问答对为与所述对话意图关联的问答集合,则根据所述问答集合中每个问答逻辑下的多轮问答与所述对话信息的相关程度,确定目标问答逻辑;根据所述目标问答逻辑下的提问信息和回答信息,确定目标保险知识问答对。

在其中一个实施例中,所述候选的保险知识问答对通过如下步骤获取:获取与保险领域相关的保险文本;将所述保险文本和用于指示问答知识属性信息的问答知识生成提示,输入到预先训练好的保险问答知识生成模型,由所述保险问答知识生成模型根据所述问答知识生成提示对所述保险文本进行信息提取,得到针对所述保险文本的提问信息以及相应的回答信息;根据所述保险问答知识生成模型输出的所述提问信息和回答信息,得到候选的保险知识问答对。

在其中一个实施例中,所述意图识别模型通过如下步骤训练得到:获取保险文本训练样本;获取教师模型针对所述保险文本训练样本输出的第一文本意图概率分布;将所述保险文本训练样本输入到待训练的学生模型,得到所述学生模型输出的第二文本意图概率分布;根据所述第一文本意图概率分布和所述第二文本意图概率分布之间的差异,确定模型损失值,并根据所述模型损失值调整所述学生模型的模型参数,直到满足训练结束条件,得到训练好的意图识别模型。

在其中一个实施例中,所述文本相似度识别模型通过如下步骤训练得到:

获取正样本保险问答文本和负样本保险问答文本;所述正样本保险问答文本中回答信息与提问信息的相关度,大于所述负样本保险问答文本中回答信息与提问信息的相关度;将所述正样本保险问答文本和负样本保险问答文本输入到待训练的文本相似度识别模型,由所述文本相似度识别模型根据所述正样本保险问答文本的文本特征,获取所述正样本保险问答文本中回答信息与提问信息的第一相关程度,以及根据所述负样本保险问答文本的文本特征,获取所述负样本保险问答文本中回答信息与提问信息的第二相关程度;根据所述第一相关程度和所述第二相关程度确定模型损失值,根据所述模型损失值调整所述文本相似度识别模型的模型参数,获取训练好的文本相似度识别模型。

第二方面,本申请还提供了一种保险智能问答系统的对话应答装置,包括:

对话意图确定模块,用于获取用户向保险智能问答系统发送的与保险领域相关的对话信息,将所述对话信息输入到训练好的意图识别模型,得到所述用户的对话意图;

候选问答对获取模块,用于确定与所述对话意图关联的候选的保险知识问答对;

匹配模块,用于通过训练好的文本相似度识别模型确定所述候选的保险知识问答对与所述对话信息的相关程度;

目标问答对确定模块,用于根据所述候选的保险知识问答对与所述对话信息的相关程度,确定目标保险知识问答对;

应答获取模块,用于根据所述目标保险知识问答对确定针对所述对话信息的应答信息。

第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例的步骤。

第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例的步骤。

第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一实施例的步骤。

上述保险智能问答系统的对话应答方法、装置、计算机设备、存储介质和计算机程序产品,可以获取用户向保险智能问答系统发送的与保险领域相关的对话信息,将对话信息输入到训练好的意图识别模型,得到用户的对话意图,然后确定与对话意图关联的候选的保险知识问答对,通过训练好的文本相似度识别模型确定候选的保险知识问答对与对话信息的相关程度,根据候选的保险知识问答对与对话信息的相关程度,确定目标保险知识问答对,进而根据目标保险知识问答对确定针对对话信息的应答信息。在本实施例中,可以通过意图识别模型准确识别出用户对话的意图,然后通过根据预先获取到各候选保险知识问答对与对话信息的相关程度,能够在与用户意图关联的多个问答对中,获取到能够准确应答用户对话信息的目标保险知识问答对,并据此进行应答,有效智能问答系统对保险用户的应答准确性。

附图说明

为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中一种保险智能问答系统的对话应答方法的应用环境图;

图2为一个实施例中一种保险智能问答系统的对话应答方法的流程示意图;

图3为一个实施例中一种保险智能问答系统的结构示意图;

图4为一个实施例中一种问答集合的示意图;

图5为一个实施例中一种保险智能问答系统的对话应答方法的示意图;

图6为一个实施例中一种保险问答引擎中台的架构示意图;

图7为一个实施例中一种保险智能问答系统的对话应答装置的结构框图;

图8为一个实施例中一种计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请实施例提供的保险智能问答系统的对话应答方法,可以应用于如图1所示的应用环境中,该应用环境中可以包括保险智能问答系统和终端,其中,终端通过网络与保险智能问答系统进行通信;保险智能问答系统可以具有数据存储系统,数据存储系统可以存储保险智能问答系统需要处理的数据。数据存储系统可以集成在保险智能问答系统上,也可以放在云上或其他网络服务器上。

本申请中,保险智能问答系统可以获取用户通过向保险智能问答系统发送的与保险领域相关的对话信息,将对话信息输入到训练好的意图识别模型,得到所述用户的对话意图,确定与对话意图关联的候选的保险知识问答对,通过训练好的文本相似度识别模型确定候选的保险知识问答对与对话信息的相关程度,进而根据候选的保险知识问答对与对话信息的相关程度,确定目标保险知识问答对,并根据目标保险知识问答确定针对对话信息的应答信息。

其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能电视、智能车载设备等;便携式可穿戴设备可为智能手表、智能手环、头戴设备等。保险智能问答系统可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个示例性的实施例中,如图2所示,提供了一种保险智能问答系统的对话应答方法,以该方法应用于图1中的保险智能问答系统为例进行说明,包括以下步骤S201至步骤S205。其中:

S201,获取用户向保险智能问答系统发送的与保险领域相关的对话信息,将对话信息输入到训练好的意图识别模型,得到用户的对话意图。

具体实现中,用户可以通过终端向保险智能问答系统发送与保险领域相关的对话信息,其中,对话信息可以是问句形式的提问,也可以是陈述句,例如“什么是核保”“我要办理XX保险业务”等。

在得到用户输入的对话信息后,可以将对话信息输入到训练好的意图识别模型,由该意图识别模型根据输入的对话信息确定用户的对话意图。可以理解的是,在输入对话信息时,可以将用户最新输入的最新对话信息输入到意图识别模型,也可以将最新对话信息之前的一条或多条历史对话信息输入到意图识别模型,当然,也可以将最新对话信息和至少一条历史对话信息输入到意图识别模型,由图识别模型结合用户在一个或多个时刻输入的对话信息确定用户的对话意图。

在一些实施例中,保险智能问答系统可以包括问答引擎,问答引擎可以由意图识别模型、文本相似度识别模型、多轮问答引擎、大模型问答引擎等组成,当接收到用户输入的对话信息,可以调用问答引擎,通过其中的意图识别模型确定用户的对话意图。

S202,确定与对话意图关联的候选的保险知识问答对。

实际应用中,可以预先生成多个保险知识问答对。在一些实施例中,可以根据每个保险知识问答对涉及的知识类型或场景类型,对多个保险知识问答对进行分类,得到对应于不同知识类型或场景类型的保险知识问答对,例如可以按照投保知识、理赔知识等知识类型对保险知识问答对进行分类,又如,可以按照投保场景、保费缴纳场景等多个场景类型对保险知识问答对进行分类,进而在根据用户输入的对话信息确定用户的对话意图后,可以根据对话意图确定用户拟获取的知识类型或对话信息对应的场景类型,然后从多个保险知识问答对中获取匹配的一个或多个保险知识问答对,作为候选的保险知识问答对。

在一些实施例中,保险知识问答对中可以采用用户提问,客服回答的形式组成保险知识问答对,其可应用于保险用户提出疑问的场景;也可以采用客服提问,用户回答的形式,其可应用与客服通过提问引导保险用户反馈相关信息的场景。

在一个实施例中,保险智能问答系统可以包括智能知识生成模块,其可以负责从非结构化的保险知识库例如保险条款、规则中,利用智能算法辅助生成问答知识,或者,也可以利用智能算法从历史对话数据中挖掘对话流程,从而提升保险问答知识生成效率,有利于方便快速扩充保险问答知识库的量级,提升智能问答系统知识覆盖面。

S203,通过训练好的文本相似度识别模型确定候选的保险知识问答对与对话信息的相关程度。

在获取到各个候选的保险知识问答对后,其虽然都与用户当前的对话意图存在关联,但各保险知识问答对与用户输入的对话信息的相关性可能存在差异。对此,在本步骤中,可以通过训练好的文本相似度识别模型,确定每个候选的保险知识问答对与对话信息的相关程度。例如,可以调用问答引擎,通过其中部署的文本相似度识别模型确定用户的对话意图。

S204,根据候选的保险知识问答对与对话信息的相关程度,确定目标保险知识问答对。

在获取到各候选的保险知识问答对与对话信息的相关程度后,可以根据该相关程度从各候选的保险问答知识对中确定出目标保险知识问答对,例如可以将相关程度最高的保险知识问答对作为目标保险知识问答对。

S205,根据目标保险知识问答对确定针对对话信息的应答信息。

在得到目标保险知识问答对后,可以根据目标保险知识问答对中的提问信息或回答信息作为针对用户对话的应答信息。具体例如,若用户输入的对话信息为提问信息,则可以将目标保险知识问答对中的回答信息作为应答信息;若用户输入的对话信息为回答信息,则可以将目标保险知识问答对中的提问信息作为应答信息,以进一步引导用户提供其他信息。

上述保险智能问答系统的对话应答方法中,可以获取用户向保险智能问答系统发送的与保险领域相关的对话信息,将对话信息输入到训练好的意图识别模型,得到用户的对话意图,然后确定与对话意图关联的候选的保险知识问答对,通过训练好的文本相似度识别模型确定候选的保险知识问答对与对话信息的相关程度,根据候选的保险知识问答对与对话信息的相关程度,确定目标保险知识问答对,进而根据目标保险知识问答对确定针对对话信息的应答信息。在本实施例中,可以通过意图识别模型准确识别出用户对话的意图,然后通过根据预先获取到各候选保险知识问答对与对话信息的相关程度,能够在与用户意图关联的多个问答对中,获取到能够准确应答用户对话信息的目标保险知识问答对,并据此进行应答,有效智能问答系统对保险用户的应答准确性。

在一个实施例中,步骤S202中,确定与对话意图关联的候选的保险知识问答对,可以包括如下步骤:

若对话意图的意图类型为单轮对话意图,则获取与对话意图关联的常见问题解答,作为候选的保险知识问答对;若所述对话意图的意图类型为多轮对话意图,则获取与所述对话意图关联的问答集合,作为候选的保险知识问答对;

其中,每组常见问题解答包括一提问信息和一回答信息,常见问题解答中的提问信息可以称为高频提问,可以是由模型预测的用户经常提问(如提问次数高于阈值户)的内容;回答集合也可以称为对话流,每个回答集合中包括关联的多轮问答各自的提问信息和回答信息。

在一些实施例中,如图3所示,保险智能问答系统可以全局配置模块、预处理模块、NLU模块、意图分发模块、问答引擎、回复生成模块组成。

其中,全局配置模块用于提升智能问答的安全性,提供全局拒识、全局布防、敏感词检测等能力,用户输入的对话信息可以先输入到全局配置模块中进行筛选过滤,通过筛选过滤的对话信息可以输入到预处理模块作进一步地预处理。如果命中全局布防,则直接输出布防结果。如果命中全局拒识则直接输出拒识别结果。如果用户输入的对话信息包含敏感词,则拒绝回答。该模块由正则引擎和/或全文匹配引擎提供支持,全文匹配引擎采用trie树(即单词查找树)实现,通过flag标记判断是否命中,提高文本查询的速度。

预处理模块可用于提升保险问答场景语义理解的准确性。该模块可对客户输入的对话信息(如保险业务诉求)做预处理,提升用户表达的规范性,从而提升问答处理准确率,提升智能问答系统保险术语的理解能力。在一些实施例中,预处理模块可以对用户输入的长难句问题进行压缩,或者对短句进行扩写。

在一些可选的实施例中,可以确定用户输入的对话信息的字符数量。当字符数量达到长难句对应的字符阈值时,可以通过预处理模块中的长难句压缩模块,提取出对话信息中表达主意图的内容,过滤停用词,最终合并压缩成主需问题。当字符数量小于预设阈值时,可以通过短句扩写模块进行扩写,其具体可以是利用词典对短句中分词结果做扩写,将口语化短语转化成标准语句。

NLU(Natural Language Understanding,NLU)模块也称为自然语言理解模块,主要包括意图识别、情感识别、实体识别、分词、文本转向量等模块和服务,可用于对用户输入做初步解析处理。在一示例中,分词模块可以利用中文分词工具实现,另外情感识别、实体识别通过正则表达式引擎和全文匹配引擎实现。

对话引擎包括三个子引擎,包括单轮问答引擎、多轮问答引擎和大模型问答引擎,其可以分级处理单轮、多轮、复杂问题的回答;回复生成模块用于汇总信息,生成最终输出结果。

回复生成模块可用于汇总信息,生成最终输出结果。在一些实施例中,回复生成模块包括敏感词处理模块、用户情绪安抚模块和输出阈值管理控制模块。其中,敏感词处理模块用于管理敏感对话风险;用户情绪安抚模块用于处理用户情绪安抚、投诉倾向安抚;输出阈值管理控制模块可用于对符合输出阈值的结果进行输出。

在本步骤中,可以通过意图分发模块确定对话意图的意图类型,若意图类型为单轮对话意图,也即用户的对话意图简单,可以通过单轮对话解决,则可以获取与对话意图关联的常见问题解答,作为候选的保险知识问答对,以对用户进行单轮回复,其中,每组常见问题解答包括一提问信息和一回答信息。

若对话意图的意图类型为多轮对话意图,例如需要与用户进行多轮连续的对话交互才能完成对用户的应答,则可以获取与对话意图关联的问答集合,作为候选的保险知识问答对,以便后续可以基于回答集合中关联的多轮问答各自的提问信息和回答信息,与用户进行连续问题和答复的交互。

当然,在一些实施例中,若通过意图分发模块确定用户输入的对话信息为复杂问题,则可以调用大模型问答模块,利用大模型生成复杂问题结果,通过大模型解决复杂问题的问答,能够整体提升保险智能问答系统回复多意图问题的回答能力,具体实现中,可以利用大模型对复杂问题进行拆解,利用大模型安全围栏提升大模型回复的安全性,利用复杂问题生成模块完成多意图问题的答案生成。

在本实施例中,可以根据用户的对话意图类型分级处理,在准确理解简单到复杂的用户需求的基础上,分别获取不同形式的候选的保险问答知识对,实现针对性的回复,在对用户进行准确应答的同时有效节省计算资源。

在一个实施例中,用户输入的对话信息包括用户提问信息;步骤S203中通过训练好的文本相似度识别模型确定候选的保险知识问答对与对话信息的相关程度,可以包括如下步骤:

若对话意图关联的候选的保险知识问答对为常见问题解答,则可以通过训练好的文本相似度识别模型,获取每组常见问题解答中的回答信息与所述用户提问信息的相关程度。

具体而言,当确定对话意图的意图类型为单轮对话意图时,会获取与对话意图关联的常见问题解答,每个常见问题解答中会包含一回答信息,为了更准确地对用户输入的用户提问信息进行回答,可以通过训练好的文本相似度识别模型,获取每组常见问题解答中的回答信息与用户提问信息的相关程度,从而可以在多组常见问题解答中确定出与用户提问信息最相关的回答信息,并将对应的常见问题解答作为目标保险知识问答对。

在一些实施例中,单轮问答引擎可以包括检索模块、语义匹配模块、排序模块,其中检索模块可以用于获取关联的常见问题解答,语义匹配模块可以调用文本相似度识别模型确定每组常见问题解答中的回答信息与用户提问信息的相关程度,然后可以通过排序模块确定出与用户提问信息最相关的回答信息。

在本实施例中,在对话意图关联的候选的保险知识问答对为单轮的常见问题解答时,通过使用文本相似度识别模型,获取每组常见问题解答中的回答信息与用户提问信息的相关程度,能够高效地选择出精准、高质量的答案进行应答。

在一个实施例中,步骤S204中,根据候选的保险知识问答对与对话信息的相关程度,确定目标保险知识问答对,包括:

若对话意图关联的候选的保险知识问答对为与对话意图关联的问答集合,则根据问答集合中每个问答逻辑下的多轮问答与对话信息的相关程度,确定目标问答逻辑;根据目标问答逻辑下的提问信息和回答信息,确定目标保险知识问答对。

具体而言,若对话意图关联的候选的保险知识问答对为与对话意图关联的问答集合,也即多轮问答组成的对话流,问题集合中可能会包括不同分支下的问答逻辑,例如,图4示出了一种问答集合,其包括不同问答逻辑下的问答。在获取到问答集合后,可以通过文本相似度识别模型,对问答集合中每个问答逻辑下的多轮问答与用户输入的对话信息进行匹配,得到对应的相关程度,进而可以根据相关程度,在问答集合中确定出与用户当前输入的对话信息相匹配的问答逻辑,进行意图跳转,得到对应的分支下的目标问答逻辑。进而可以根据目标问答逻辑下的提问信息和回答信息,确定目标保险知识问答对。

在一些实施例中,保险智能问答系统中的多轮问答引擎,在处理连续问题及回复时,可以通过解析对话树来处理对话逻辑,例如,可以通过意图管理模块管理对话流中的意图跳转,通过槽位管理模块收集用户关键信息。通过状态跟踪模块对上下文对话状态进行识别追踪。

在本实施例中,若对话意图关联的候选的保险知识问答对为与对话意图关联的问答集合,通过根据所述问答集合中每个问答逻辑下的多轮问答与所述对话信息的相关程度,确定目标问答逻辑,能够准确地进行意图跳转,从不同问答场景中准确获取到与当前多轮问答场景相匹配的提问信息和回答信息,提高对用户当前输入的对话信息的应答准确性。

在一些实施例中,如图5所示,保险智能问答系统还可以连接保险问答引擎中台,保险问答引擎中台可以在针对对话信息的应答信息涉及到保险业务时,对接保险业务系统,执行相关业务需求的办理,例如可以提供服务编排、服务管控、服务注册功能等,将用户真实业务需求与内部业务流程对接,支持问答的同时完成保险业务办理。在一些实施例中,保险问答引擎中台的架构可以如图6所示。

在一个实施例中,可以通过如下步骤预先获取候选的保险知识问答对。

S11,获取与保险领域相关的保险文本。

具体实现中,可以获取与保险领域相关的文本信息,得到保险文本,保险文本也可以称为保险领域文本,其可以包括有与保险领域相关的文本内容。

在一些实施例中,可以基于保险领域相关的专业知识或运营数据等,得到保险文本,示例性地,保险文本可以包括针对以下至少一项内容的文本:保单条款、投保知识、理赔知识、保全知识、核保知识、相关规则、保险应用操作指引、保险客服的服务规范、保险客服与用户的对话数据。

S12,将保险文本和用于指示问答知识属性信息的问答知识生成提示,输入到预先训练好的保险问答知识生成模型,由保险问答知识生成模型根据问答知识生成提示对保险文本进行信息提取,得到针对保险文本的提问信息以及相应的回答信息。

实际应用中,在与模型进行交互时,可以向模型输入相应的提示(prompt),在一些实施例中,prompt可以是指提示词或输入指令,它是一种与模型进行交互时由用户提供的文本段落,可用于描述用户想要从模型获取的信息、回答、文本等内容,通过向模型输入提示,能够引导模型产生用户希望得到的回应,更好地控制模型生成的输出。在生成文本时,模型可以对输入的提示进行语义分析,并根据其理解得到的语义生成相应的响应。

在本步骤中,在获取到保险文本后,可以将保险文本和问答知识生成提示,输入到预先训练好的保险问答知识生成模型,训练好的保险问答知识生成模型可以学习到丰富的保险知识,并具备对保险领域相关文本进行语义理解、生成保险领域相关知识的能够力。

其中,问答生成提示可以为与模型交互时向模型输入的、用于控制模型输出文本的提示信息,该问答生成提示可以指示待生成的问答知识对应的问答知识属性信息,在一些可选的实施例中,问答知识属性信息可以包括以下至少一种:问答对类型,提问信息的输出格式,回答信息的输出格式,提问信息中出现的关键字段,回答信息中出现的关键字段。

在将保险文本和问答知识生成提示输出到保险问答知识生成模型后,保险问答知识生成模型可以根据问答知识生成提示对输入的保险文本进行信息提取,根据提取结果生成针对保险文本的提问信息以及相应的回答信息。

S13,根据保险问答知识生成模型输出的提问信息和回答信息,得到保险知识问答对。

在本步骤中,可以根据保险问答知识生成模型输出的提问信息和回答信息,保险知识问答对。在一些实施例中,得到的保险知识问答对可提供给智能客服系统,智能客服系统可以根据预先生成的保险知识问答对向用户提供相应的回复。具体实现中,通过本申请提供的方法,能有效地从保险领域相关文本中生成智能客服系统所需要的问答对知识、对话流知识;其问答知识生成结果准确率在90%以上,生成效率提升2倍以上。相较于现有技术,本实施例能够更高效、准确地生成智能客服所需的知识,满足大规模、高效的知识库生成需求,提升智能问答系统的知识覆盖率,也可以相应提高保险智能客服系统问题解决率和客户满意度。

上述保险知识问答对的获取方法,可以获取与保险领域相关的保险文本,然后将保险文本和用于指示问答知识属性信息的问答知识生成提示,输入到预先训练好的保险问答知识生成模型,由保险问答知识生成模型根据问答知识生成提示对保险文本进行信息提取,得到针对保险文本的提问信息以及相应的回答信息;进而可以根据保险问答知识生成模型输出的提问信息和回答信息,得到保险知识问答对。在本实施例中,通过将保险文本和问答知识生成提示输入到保险问答知识生成模型,能够由具备保险知识生成能力模型,按照指定的生成方式从保险文本快速抽取出相应的提问信息和回答信息,快速获取到保险知识问答对,有效提升保险问答知识对的获取效率。

在一个实施例中,保险问答知识生成模型可通过如下步骤训练得到:

S21,获取基于与保险领域相关的样本保险文本确定的样本提问信息。

实际应用中,可以获取与保险领域相关的、用于进行模型训练的保险文本,为便于区分,该保险文本也称为样本保险文本。然后,可以获取与样本保险文本相关的样本提问信息,其中,与样本保险文本相关的样本提问信息,可以理解为对应回答信息可以从该样本保险文本中获取到的该样本提问信息。

在一些实施例中,若样本保险文本包括保险条款,可以按章节名称、标题名称、段落中的至少一种,对保险条款进行拆分,得到字数不超过预设阈值的文本片段,对于每一文本片段,可以拼接相应的章节或标题名称,以对文本片段进行标识。然后,针对每一文本片段,可以从该文本片段的章节名称、标题名称、以及文本片段中具体的文本内容,梳理出可能的问题,即样本提问信息,或者,也可以称为种子问题。

若样本保险文本包括保险客户与用户的历史对话,则可以根据历史对话中的提问信息,得到样本提问信息。

在一些实施例,可以基于同一样本保险文本获取多个样本提问信息,以增加样本提问信息的多样性。

S22,将样本提问信息、用于指示问答知识属性信息的样本问答知识生成提示以及样本保险文本输入到待训练的保险问答知识生成模型,得到保险问答知识生成模型针对样本提问信息输出的预测回答信息。

其中,样本问答知识生成提示可以为与待训练的保险问答知识生成模型交互时向模型输入的、用于控制模型输出文本的提示信息,样本问答知识生成提示可以指示待生成的问答知识对应的问答知识属性信息。

在一些可选的实施例中,样本问答知识生成提示中指示的问答知识属性信息可以包括以下至少一种:问答对类型,提问信息的输出格式,回答信息的输出格式,提问信息中出现的关键字段,回答信息中出现的关键字段。

在本步骤中,可以将样本提问信息、样本问答知识生成提示和样本保险文本输入到待训练的保险问答知识生成模型,一方面,保险问答知识生成模型可以根据输入的样本提问信息学习到对样本保险文本的提问方式,另一方面,保险问答知识生成模型可以根据样本问答知识生成提示,从样本保险文本中获取针对样本提问信息的回答内容,输出对应的回答信息,为便于区分,模型训练过程中输出的回答信息也称为预测回答信息。

S23,根据预测回答信息的调整结果,得到目标回答信息。

实际应用中,模型输出的预测回答信息可能与样本提问信息对应的标准回答存在较大差异,或者预测回答信息不满足训练人员的回答内容要求,此时可以由训练人员设置针对预测回答信息的回答调整信息,然后设备可以根据回答调整信息和模型输出的预测回答信息,得到预测回答信息的调整结果,并将该调整结果作为目标回答信息。当然,在另一些实施例中,若模型输出的预测回答信息与标准回答的差异程度小于阈值,满足训练人员的回答内容要求,可以将预测回答信息作为目标回答信息(即调整结果为不调整的情况)。

S24,根据样本提问信息和目标回答信息,调整保险问答知识生成模型的模型参数,直到满足训练结束条件,得到训练好的保险问答知识生成模型。

在获取到目标回答信息后,可以将样本提问信息和目标回答信息输入到保险问答知识生成模型,使模型根据目标回答信息确定出与样本提问信息匹配的回答内容,并且,可以确定出目标回答信息与模型自身输出的预测回答信息之间的差异,结合匹配的回答内容以及该差异,调整保险问答知识生成模型的模型参数。然后,可以返回执行步骤S21,对模型参数进行多次迭代调整,直到满足训练结束条件,得到训练好的保险问答知识生成模型。

在本实施例中,将样本提问信息、样本问答知识生成提示以及样本保险文本输入到待训练的保险问答知识生成模型,触发模型输出相应的预测回答信息,根据样本提问信息和调整后的目标回答信息,调整模型参数,能够使保险问答知识生成模型在训练过程中,通过理解样本保险文本并生成相应的预测回答信息习得丰富的保险知识,并获取到生成保险领域中知识问答对的能力。

为了使本领域技术人员能够更好地理解上述步骤,以下通过一个例子对本申请实施例加以示例性说明,但应当理解的是,本申请实施例并不限于此。

在进行模型训练时可以包括如下步骤:

步骤1、数据加载和预处理:由预设的文件解析模块对原始的保险文档、坐席对话数据等样本保险文本进行加载和预处理,对于保险文档如保险条款,按章节、标题、段落对原始数据进行拆分,拆分成长度不超过预设字符数的片段,对于每一片段,拼接对应的章节、标题名称放到段落最前面。对于坐席对话数据,其可以包括人工客服和/或智能客服与用户的对话,在预处理时,可以按照时间顺序对所有历史对话进行排序,组成对话历史列表。

步骤2、种子问题(即样本提问信息)收集:对于步骤1中处理的每一片段内容,如章节名称、标题名称、以及段落中详细内容,梳理出可能的种子问题;对于对话历史列表,可以根据其中的提问信息得到种子问题。

步骤3、种子答案(即目标回答信息)收集可以包括以下步骤:

a、FAQ问答的种子答案收集:对于步骤1中的片段,结合2中收集的种子问题,利用预训练的大模型采样生成多个预测回答信息,然后人工从多个预测回答信息中挑选回答内容满足质量的预测回答信息(如最好的预测回答信息),并对该预测回答信息进行修正,得到目标回答信息,完成FAQ问答的种子答案的收集。

b、多轮对话种子答案收集:对于步骤1中的中生成的对话历史列表,构造prompt,利用预训练的大模型采样生成每个样本提问信息的预测回答信息,得到多轮预测问答,对话路径组织形式用Mermaid代码表示,人工挑选最佳结果并修正,完成对话路径种子答案的收集。

c、种子问题和种子答案可以按预设格式进行组织,为了支持多轮问答的形式进行微调,微调数据格式为{"id":id,data_list:[{"question":"***","answer":"***"}]}

步骤4、大模型微调:利用步骤3中收集到的种子数据(包括种子问题和对应种子答案)对预训练的大模型的模型参数进行微调。

在一个实施例中,待训练的保险问答知识生成模型为包含Transformer架构的预训练语言模型,例如可以是预先训练的、包含Transformer架构的大规模语言模型(largelanguage model,LLM,也称为大语言模型),该大规模语言模型可以基于通用语料库预训练得到。

并且,预训练语言模型中的Transformer架构添加有可训练的秩分解矩阵,其中,秩分解可以理解为矩阵分解,它可以将一个原始矩阵分解为两个或两个以上的矩阵(即秩分解矩阵)的乘积;该秩分解矩阵的参数可通过训练调整,例如可以在模型训练过程中调整和优化原始矩阵的分解个数。

步骤S24中,根据样本提问信息和目标回答信息,调整保险问答知识生成模型的模型参数,可以包括如下步骤:

在固定预训练语言模型中的预训练模型参数的情况下,根据样本提问信息和目标回答信息,对Transformer架构中秩分解矩阵的参数进行调整。

在一些实施例中,虽然可以尝试通过预训练的语言模型对保险文本进行语义理解,然而保险领域的知识生成需要具备丰富的背景知识,例如对保险条款的解读,需要依赖保险知识、医疗知识、金融知识等多中信息;同时投保、核保、理赔、保全等场景也有多种类型的知识需要处理,直接通过预训练的语言模型对保险文本进行解析往往难以得到理想的模型效果。

具体实现中,可以预先获取包含Transformer架构的预训练语言模型,该模型已具备理解通用语料信息的能力。在本实施例中,可以在固定预训练模型中的预训练模型参数的情况下,根据样本提问信息和目标回答信息,调整Transformer架构中秩分解矩阵的参数,由此,一方面,通过将可训练的秩分解矩阵添加到预训练语言模型中的Transformer架构中,能够大大减少了下游任务的可训练参数的数量,同时增加模型的表达能力和灵活性,提升模型训练效率;另一方面,通过结合样本提问信息和目标回答信息调整秩分解矩阵的参数,能够使模型更好地处理保险问答知识生成任务,准确基于保险文本生成相应的保险知识问答对。

在一些实施例中,可以例如利用peft中的LoraConfig函数设置参数,示例性地,r=4,lora_alpha=32,lora_dropout=0.1,实现上可以通过AutoModelForCausalLM函数加载基座模型(如预训练语言模型),通过get_peft_model(model,peft_config)方法设置微调模型,利用AdamW优化器迭代训练模型,利用save_pretrained函数保存训练后的模型,其中epoch参数设置为1。

在一些实施例中,还可以使用独立的测试集评估训练好的保险问答知识生成模型的模型效果,在评估模型效果时可以使用以下至少一种指标:准确率,精确率,召回率,F1指标。

在一实施例中,对于模型生成的常见问题解答(FAQ问答),还可以采用如下公式获取用于衡量回答准确性和相关性的评估信息:

评估信息=0.5*关键词命中个数/关键词总数+0.5*sim(target_answer,pred_answer)

其中,关键词为模型输出的常见问题解答中包含的关键实体,该关键实体可以由训练人员预先设置,在一示例中,每一条常见问题解答中可以有1-5个关键实体;sim为第三方相似度计算模型,target_answer为标准回答内容,pred_answer为模型生成的回复内容。换句话说,可以根据模型输出的回答信息中的关键词个数和预设的关键总数,确定模型效果,和/或,可以根据模型输出的回答信息与标准回答之间的相似度,确定模型效果。

在一实施例中,步骤S12中,根据问答知识生成提示对保险文本进行信息提取,得到针对保险文本的提问信息以及相应的回答信息,可以包括如下步骤:

若问答知识生成提示包括第一问答知识生成提示,则根据第一问答知识生成提示,从保险文本中获取对应的保险知识文本;对保险知识文本进行信息提取,获取作为高频提问的提问信息和相应的回答信息。

其中,第一问答知识生成提示(prompt)用于提示生成高频提问和高频提问的回答信息,可以理解为第一问答知识生成提示用于提示模型生成常见问题解答(FAQ问答)。

具体例如,若问答知识生成提示包括第一问答知识生成提示,则可以根据第一问答知识生成提示从保险文本中获取对应的保险知识文本。

例如,可以从保险知识库中的保险文本中获取对应的保险知识文本。其中,可以通过预先设置的文件解析模块对多种格式的文档(如pdf、word、excel)进行解析、分片、向量化等预处理过程,例如可以识别标题、章节等信息,再对长文档进行切片对于保险文档如保险条款,按章节、标题、段落对原始数据进行拆分,拆分成长度不超过预设值(如500字符)的文本片段,对于每一文本片段,拼接对应的章节、标题名称时可以放到段落最前面。

进而在提示模型生成高频提问和高频提问的回答信息时,可以根据第一问答知识生成提示确定依赖的知识库中文本片段后,得到保险知识文本,然后保险问答知识生成模型可以对保险知识文本进行信息提取,获取作为高频提问的提问信息和相应的回答信息,得到高频提问和高频提问的回答信息组成的保险知识问答对,其也称为常见问题解答。

在本实施例中,保险问答知识生成模型可以根据第一问答知识生成提示,快速准确地从保险知识文本中抽取高频提问和高频提问的回答信息,有效提升生成针对保险领域的常见问题解答的效率。

在一个实施例中,对保险知识文本进行信息提取,获取作为高频提问的提问信息和相应的回答信息,包括:

获取第一问答知识生成提示中的输出格式要求和输出字段要求;根据输出字段要求对保险知识文本进行信息提取,获取包含对应文本字段的提问信息和回答信息;根据输出格式要求对包含对应文本字段的提问信息和回答信息进行格式调整,得到作为高频提问的提问信息和相应的回答信息。

具体实现中,对于高频提问以及高频提问相应的回答信息,其可能涉及到保险领域中的专业知识,为了提高模型输出的高频提问和相应回答信息和准确性、相关性和专业性,可以通过第一问答知识生成提示设置模型输出文本的格式和包含的字段。

进而,保险问答知识生成模型可以获取第一问答知识生成提示中的输出格式要求和输出字段要求,根据输出字段要求对保险知识文本进行信息提取,例如可以对保险知识文本进行提取,并对提取结果进行处理,得到包含输出字段要求对应文本字段的文本内容,作为相应的提问信息和回答信息。然后,可以根据输出格式要求对包含对应文本字段的提问信息和回答信息进行格式调整,得到作为高频提问的提问信息和相应的回答信息。

在本实施例中,可以通过第一问答知识生成提示指示模型在生成常见问题解答时的输出格式要求和输出字段要求,得到相应的保险知识问答对,有效提高模型输出问答对的准确性、相关性和专业性。

在一个实施例中,步骤S12中,根据问答知识生成提示对保险文本进行信息提取,得到针对保险文本的提问信息以及相应的回答信息,可以包括如下步骤:

若问答知识生成提示包括第二问答知识生成提示,则根据第二问答知识生成提示从保险文本中获取用户与保险客服的多轮历史对话;对多轮历史对话进行信息提取,得到多轮问答对应的提问信息和回答信息。

其中,第二问答生成提示用于提示生成多轮问答,多轮问答可以是存在关联关系的多组问答对,每组问答对中可以包括一提问信息和一回答信息。

具体例如,若问答知识生成提示包括第二问答知识生成提示,则可以从保险文本中获取用户与保险客服的多轮历史对话,进行对话路径抽取,并获取相应的对话路径知识。例如,可以预先对保险客服的客服数据进行收集,包括客户服务规范材料、保险智能客服历史对话数据等,然后可以通过预设的文件解析模块对采集到的客服数据进行解析,对于坐席对话数据,可以按照时间顺序对所有历史对话进行排序,组成一个对话历史列表,其中包含有保险客服与用户的多轮历史对话。

进而在通过第二问答知识生成提示指示保险问答知识生成模型生成多轮对话时,可以根据第二问答知识生成提示确定本次生成依赖的多轮历史对话,对多轮历史对话进行信息提取,得到多轮问答对应的提问信息和回答信息。在一些实施例中,可以通过第二问答知识生成提示指示保险问答知识生成模型以对话流Mermaid代码的方式,输出多轮问答对应的提问信息和回答信息。

在本实施例中,保险问答知识生成模型可以根据保险客服与用户的多轮历史对话,自动生成多轮问答知识,有效提升保险问答知识对的生成效率。

在一个实施例中,对多轮历史对话进行信息提取,得到多轮问答对应的提问信息和回答信息,可以包括如下步骤:

若根据多轮历史对话确定同一历史提问信息存在多种历史回答信息,则对多轮历史对话进行信息提取,确定出每种历史回答信息对应的问答逻辑;针对每个问答逻辑,确定问答逻辑下多轮问答对应的提问信息和回答信息。

具体实现中,对于同一提问信息,在不同场景下会存在不同的回答信息。在本实施例中,对于多轮历史对话中的提问信息和回答信息,也即历史提问信息和历史回答信息,若保险问答知识生成模型根据多轮历史对话,确定出针对同一历史提问信息存在多种可能的历史回答信息,则可以根据对多轮历史对话进行信息提取的提取结果,确定出每种历史回答信息对应的问答逻辑,然后,可以确定每个问答逻辑下多轮问答对应的提问信息和回答信息。例如,图4示出了一种问答集合(也即对话流)示意图,模型可以按照分支逻辑(也即问答逻辑)输出每个分支逻辑下的多轮问答,例如,对于客户表示已经缴费或表示未缴费的两种场景,可以分别获取到对应的回答信息。

在本实施例中,保险知识问答模型可以根据多轮历史对话,确定出每种历史回答信息对应的问答逻辑,并按照问答逻辑,构建出每个问答逻辑下多轮问答对应的提问信息和回答信息,为不同场景下用户针对保险知识提出的疑问,提供准确的回答。

在一个实施例中,意图识别模型可以通过如下步骤训练得到:

S31,获取保险文本训练样本。

在一示例中,保险文本训练样本可以包括用于训练意图识别模型的保险文本。其中,保险文本可以通过对保险领域中的文本信息进行提取得到,示例性地,保险文本可以包括以下至少一种:用户在保险问答系统中发送的提问文本和/或回复文本、保险客服与用户的通话记录文本、契约保单、理赔单。

在一些实施例中,在获取到保险文本后,可以对保险文本进行预处理,基于预处理后的保险文本,得到保险文本训练样本。例如,可以对保险文本进行分词、去除停用词、词性标注等数据清洗处理;此外,为增强意图识别模型的准确性和鲁棒性,在一些实施例中,还可以针对部分数据量较少的意图类别进行数据扩充和标记,缓解在训练过程中可能会出现的类不平衡问题。

S32,获取教师模型针对保险文本训练样本输出的第一文本意图概率分布。

具体实现中,可以预先训练教师模型,教师模型可用于对保险文本进行意图识别。在获取保险文本训练样本后,可以将保险训练文本输入到训练好的教师模型,由教师模型根据输入内容对保险文本训练样本进行意图识别,得到文本意图概率分布。其中,文本意图概率分布可以表征保险文本对应于各种意图的概率,例如,在存在N(N为≥2的正整数)种意图时,文本意图概率分布可以表征保险文本包含其中一意图的概率。为便于区分,在本实施例中,将教师模型针对保险文本训练样本输出的文本意图概率分布称为第一文本意图概率分布。

S33,将保险文本训练样本输入到待训练的学生模型,得到学生模型输出的第二文本意图概率分布。

此外,还可以预先搭建学生模型,学生模型可用于对保险文本进行意图识别。在获取保险文本训练样本后,可以将保险训练文本输入到学生模型,由学生模型根据输入内容对保险文本训练样本进行意图识别,得到文本意图概率分布,为便于区分,将学生模型输出的文本意图概率分布称为第二文本意图概率分布。

S34,根据第一文本意图概率分布和第二文本意图概率分布之间的差异,确定模型损失值,并根据模型损失值调整学生模型的模型参数,直到满足训练结束条件,得到训练好的意图识别模型。

在得到第一文本意图概率分布和第二文本意图概率分布后,可以对第一文本意图概率分布和第二文本意图概率分布进行对比,确定出第一文本意图概率分布和第二文本意图概率分布之间的差异,然后可以根据该差异确定模型损失值并对学生模型的模型参数进行调整,当满足训练结束条件时,可以得到训练好的意图识别模型。

具体而言,一方面,相较于相关技术中只关注意图识别模型在特定任务上的表现,如模型最终输出的预测意图类型与真实意图类型之间的差异,本实施例通过关注模型对不同保险文本训练样本输出的数据分布的差异和偏差,能够全面地确定保险文本的意图分布情况,避免遗漏保险文本中复杂多样的语义信息的情况;另一方面,本实施例通过将学生模型输出的第二文本意图概率分布,与由预先训练好的教师模型输出的第一文本意图概率分布进行比对,能够实现对保险文本意图识别的知识蒸馏,使学生模型借助教师模型学习到与意图识别相关的多种特征和知识,避免未经预训练的神经网络直接进行特征提取而导致无法进行完整的特征感知。

在本步骤中,在确定出第一文本意图概率分布和第二文本意图概率分布后,可以通过使用交叉熵损失以及知识蒸馏的方式进一步将教师网络的优越性能转递给学生网络。在此过程中,教师模型输出的第一文本意图概率分布作为软目标,通过优化学生模型的模型参数以最小化两者的差距。在一些实施例中,以通过计算第一文本意图概率分布和第二文本意图概率分布之间的KL散度(即Kullback-Leibler散度,也称为相对熵)来实现。具体而言,可以使用以下公式确定模型损失值:

L_KL=KL(T,S)

其中,L_KL表示模型损失值,T表示教师模型输出的第一文本意图概率分布,S表示学生模型输出的第二文本意图概率分布。KL表示KL散度,用于度量两个概率分布之间的相似性。通过最小化该模型损失值,可以将教师模型的知识迁移到学生模型上。在训练过程中,根据模型损失值进行反向传播并更新学生模型的模型参数,迭代多次,直到达到预设的训练轮数或满足其他训练结束条件时停止。通过在学生网络的训练中引入教师网络的影响,学生网络可以逐渐学习到教师网络中的知识和决策逻辑,从而提高自身的性能和准确率。

上述意图识别模型训练方法中,可以获取保险文本训练样本,然后获取教师模型针对保险文本训练样本输出的第一文本意图概率分布,以及,将保险文本训练样本输入到待训练的学生模型,得到学生模型输出的第二文本意图概率分布,进而可以根据第一文本意图概率分布和第二文本意图概率分布之间的差异,确定模型损失值,并根据模型损失值调整所述学生模型的模型参数,直到满足训练结束条件,得到训练好的意图识别模型。在本实施例中,一方面,通过获取教师模型和学生模型输出的文本意图概率分布,能够全面地确定保险文本的意图分布情况,避免遗漏保险文本中复杂多样的语义信息;另一方面,通过将第二文本意图概率分布与第一文本意图概率分布进行比对,能够实现对保险文本意图识别的知识蒸馏,避免由未经预训练的神经网络直接进行特征提取而导致无法进行完整的特征感知,有效提升保险领域中文本信息的意图识别准确性。

在一个实施例中,在步骤S31中,获取保险文本训练样本,可以包括如下步骤:

S41,获取第一保险文本训练样本,将多个所述第一保险文本训练样本输入到训练好的教师模型,得到各第一保险文本训练样本的文本意图预测结果,并确定文本意图预测结果的置信度。

具体实现中,可以预先训练好教师模型,然后,可以获取待通过教师模型预测文本意图的多个保险文本训练样本,为便于区分,每个保险文本训练样本也称为第一保险文本训练样本。在得到多个第一保险文本训练样本后,可以将各个第一保险文本训练样本输入到训练好的教师模型,由教师模型对每个第一保险文本训练样本进行意图预测,得到各第一保险文本训练样本的文本意图预测结果。在一些示例中,文本意图预测结果可以包括基于文本意图分布概率确定出的文本意图。

在得到各个文本意图预测结果后,可以确定每个文本意图预测结果的置信度。

S42,根据对应置信度大于阈值的第一保险文本训练样本,以及用于训练教师模型的第二保险文本训练样本,得到保险文本训练样本。

在确定每个文本意图预测结果的置信度后,可以确定出置信度大于阈值的文本意图预测结果,并将对应的第一保险文本训练样本,以及预先用于教师模型的保险文本训练样本,即第二保险文本训练样本,得到用于训练学生模型的保险文本训练样本。

具体例如,可以对经过清洗的所有保险文本进行意图识别标签的标注工作,得到每个保险文本的文本意图标签,在标注时,对于每个保险文本,按照意图类型的精度由粗到细进行三个级别的标注工作,标注精度越高,保险文本被标注的意图类型越多。

然后,可以将标注后的多个保险文本划分为两部分,分别记为Set1(也称为第一数据集,也即包含第二保险文本训练样本的数据集)和Set2(也称为第二数据集,也即包含第一保险文本训练样本的数据集),每个数据集中包括多个保险文本及其对应的文本意图标签。对于Set1可以进行数据集划分,对每一个意图类型按照8:1:1的比例划分为训练集、验证集和测试集。然后可以利用Set1对待训练的教师模型进行训练和测试,得到训练好的教师模型。

在获取到训练好的教师模型后,可以利用训练好的教师模型对Set2中的保险文本进行意图识别,得到文本意图预测结果,通过将文本意图预测结果与预先设置的文本意图标签进行比较,可以筛选出置信度大于阈值(如90%)的多个保险文本,作为知识蒸馏的直接结果。对于置信度大于阈值的每个保险文本,可以利用教师模型输出的文本意图预测结果更新保险文本的文本意图标签,例如将教师模型输出的文本意图预测结果替换原有的文本意图标签,作为新的文本意图标签。

进而,可以利用置信度大于阈值的多个保险文本及其新的文本意图标签,对Set1进行数据扩充,得到Set1’(也可以称为第三数据集,其中包含置信度大于阈值的第一保险文本训练样本,以及用于训练教师模型的第二保险文本训练样本),并利用Set1’对学生模型进行训练。例如,在一些可选的实施例中,在训练学生模型时,除了可以根据第一文本意图概率分布和第二文本意图概率分布之间的差异,确定第一损失值,还可以根据学生模型输出的第二文本意图概率分布确定预测文本意图,然后根据预测文本意图与保险文本训练样本对应的文本意图标签之间的差异,确定出第二损失值,根据第一损失值和第二损失值确定模型损失值。

在本实施例中,通过筛选出置信度大于阈值的第一保险文本训练样本,能够结合直接的知识蒸馏结果对学生模型进行保险文本意图识别训练,有效提升模型训练效果。

在一个实施例中,教师模型可以通过如下步骤训练得到:

S1,获取待训练的教师模型;待训练的教师模型包括文本分类模块,以及基于无标注语料预训练得到的语义提取模块。

在本步骤中,可以搭建待训练的教师模型;其中,教师模型包括基于无标注语料预训练得到的语义提取模块,以及文本分类模块。

在一些可选的实施例中,基于无标注语料预训练得到的语义提取模块可以是预训练的大规模语言模型,如Bert(Bidirectional Encoder Representations fromTransformers,基于Transformer的双向编码器表示)模型,文本分类模块可以是用于文本分类模型,文本分类的卷积神经网络模型(Convolutional Neural Networks,CNN),也即TextCNN模型。可以理解的是,教师模型可以由大规模语言模型和文本分类模型组成,而学生模型可以仅为文本分类模型,一方面教师模型可以结合大规模语言模型和文本分类模型更好地进行保险文本的意图预测;另一方面,通过将学生模型设置为文本分类模型,能够简化模型结构,降低模型部署难度,同时通过知识蒸馏将教师模型学到的与保险文本意图识别相关的信息,迁移到学生模型上,在简化模型结构的基础上保持意图识别模型的性能。

在一些实施例中,在搭建模型(包括教师模型和/或学生模型)后,用户可以设置相应的参数。例如可以对以下参数进行设置:迭代次数;每一个批次输入的输入数量、训练使用的初始学习率;此外,还可以设置每三轮训练损失不下降时就将学习率降低一个指数级,也可以设置Adawm优化器(一种自适应学习率的优化算法)用于训练过程的反向传播和梯度更新。

S2,将第二保险文本训练样本输入到教师模型,由语义提取模块获取第二保险文本训练样本的文本语义信息,由文本分类模块根据文本语义信息获取预测文本意图。

实际应用中,在获取到教师模型后,可以将用于第二保险文本训练样本输入到教师模型,由其中的语义提取模块获取第二保险文本训练样本的文本语义信息,然后由文本分类模块根据文本语义信息确定出第二保险文本训练样本的文本意图,即预测文本意图。

S3,根据预测文本意图和预设的文本意图标签的差异,调整教师模型的模型参数,直到满足训练结束条件,得到训练好的教师模型。

然后,可以确定预测文本意图和预设的文本意图标签的差异,根据该差异调整教师模型的模型参数,直到满足训练结束条件,得到训练好的教师模型。

在本实施例中,可以搭建出包括文本分类模块,及基于无标注语料预训练得到的语义提取模块的教师模型,然后,利用第二保险文本训练样本对教师模型进行训练,一方面,可以使其中的语义特征提取模块更准确地对保险领域中的文本内容进行理解,另一方面,也可以是文本分类模块学习到与意图识别相关的文本特征,从而使教师模型能够更好地预测保险文本意图,并将该能力迁移到学生模型中,有效提升学生模型的语义理解能力。

在一个实施例中,步骤S2中,将第二保险文本训练样本输入到教师模型,可以包括如下步骤:

将第二保险文本训练样本输入到分词器,由分词器对第二保险文本训练样本进行分词处理,并根据预设的映射关系确定每个分词对应的分词编码;将由各分词编码组成的分词编码序列输入到教师模型。

在本实施例中,可以将第二保险文本训练样本输入到分词器(tokenizer),由分词器对第二保险文本训练样本进行分词处理,得到多个分词,然后根据预设的映射关系快速确定每个分词对应的分词编码。

在一些实施例中,当教师模型中的语义提取模块具有预设的输入要求时,为满足该输入要求,还可以将分词编码序列填充到固定的长度。当分词编码序列的长度超过预设长度时,可以采用截取的方式将截取得到的预设长度的分词编码序列作为输入;当分词编码序列的长度小于预设长度时,可以使用预设的填充策略将分词编码序列拓展到固定长度再作为输入进行处理。

在本实施例中,通过将由各分词编码组成的分词编码序列输入到教师模型,有助于教师模型基于各分词编码快速获取第二保险文本训练样本中各分词的语义关系。

在一个实施例中,步骤S33中,将保险文本训练样本输入到待训练的学生模型,可以包括如下步骤:

将保险文本训练样本输入到词嵌入模型,由词嵌入模型根据预先确定的词嵌入矩阵,得到保险文本训练样本中各分词的词向量;将由各词向量组成的词向量序列输入到待训练的学生模型。

具体实现中,教师模型和学生模型可以分别通过不同的数据加载方式将保险文本数输入到模型中。在本实施例中,在训练学生模型时,可以将保险文本训练样本输入到词嵌入模型(如Word2Vec模型),由词嵌入模型根据预先确定的词嵌入矩阵,确定出保险文本训练样本中各分词的向量表示,即词向量,其中,词嵌入矩阵中包括语料库中各个词对应的词向量。然后,可以将由各词向量组成的词向量序列输入到待训练的学生模型。

在一些实施例中,在通过预先训练好的词嵌入模型将保险文本训练样本中的每个词语转换为预设长度的词向量后,将词向量拼接起来形成词向量序列,类似地,若词向量序列的长度小于预设长度时,可以使用预设的填充策略将词向量序列拓展到固定长度。

在本实施例中,教师模型和学生模型可以分别使用不同的方式将保险文本转化为数字化的输入信息,通过由词嵌入模型根据保险文本训练样本的上下文信息,得到保险文本训练样本中各分词的词向量,并输入到学生模型,能够在教师模型的基础上,丰富学生模型的特征表达,提升最终的特征提取效果。

在一些实施例中,用于训练模型的保险文本可以包括不同规模的文本单元,如句子和段落等更大规模的文本单元,有助于进一步丰富学生模型上下文信息的特征表达,优化特征提取效果。

在一个实施例中,在步骤S34得到训练好的意图识别模型之后,该方法还可以包括如下步骤:

获取训练好的意图识别模型的模型结构信息和模型参数;根据模型结构信息和模型参数生成意图识别模型对应的模型描述文件;将模型描述文件部署到保险问答系统;保险问答系统用于根据模型描述文件运行意图识别模型。

实际应用中,在得到训练好的意图识别模型后,可以获取用于表征意图识别模型的模型结构的模型结构信息,以及模型参数;然后,可以根据模型结构信息和模型参数生成意图识别模型对应的模型描述文件。

在一些可选的实施例中,可以通过预设函数将已经完成了训练并确定了相应模型结构和模型参数的意图识别模型转换为模型描述文件,例如通过torch.onnx.export()函数将训练好的意图识别模型转换为ONNX格式,在该过程中传入定义的意图识别模型和期望输入数据的形式,原有的模型结构和模型参数会被重现转换为一种描述模型的中间表示。

进而,可以将模型描述文件部署到保险问答系统,保险问答系统可以根据模型描述文件运行意图识别模型,实现对保险文本的意图识别。当然,在一些实施例中,在将意图识别模型转换为模型描述文件后,还可以做进一步的局部优化和调整,以便在系统上实现高效的推理。

在本实施例中,通过将意图识别模型转换为模型描述文件,能够快速在线上的智能问答系统中部署预设格式(如ONNX格式)的意图识别模型,将意图识别方法从线下转到线上,及时为不同平台及设备的用户提供高响应速度的意图识别功能。

为了使本领域技术人员能够更好地理解上述步骤,以下通过一个例子对本申请实施例加以示例性说明,但应当理解的是,本申请实施例并不限于此。

在实际应用中,可以获取保险领域中的文本数据,得到保险文本,例如用户提问文本、保险客服与用户的通话记录文本、契约保单、理赔单等,以充分利用行业专家知识以及丰富的上下文信息和细节,为提升模型的鲁棒性提供基础。然后,可以对保险文本进行数据清洗和预处理,缓解在训练过程中可能会出现的类不平衡问题。

然后,可以搭建训练验证测试过程,并创建教师网络和学生网络。其中,教师网络采用Bert与TextCNN的联合模型,学生模型为单独的TextCNN模型。

在该过程中,首先,可以根据所搭建的训练验证测试过程,设置相应的参数。例如,设置迭代次数、每一个批次输入的输入数量、训练使用的初始学习率,设置每三轮训练损失不下降时相应将学习率降低一个指数级;设置Adawm优化器用于训练过程的反向传播和梯度更新。

然后,可以为教师网络和学生网络分别创建对应的自定义数据加载模块Dataloader_t和Dataloader_s。在Dataloader_t中,采用tokenizer的方式将文本数据转化为子词映射,并构建输入序列,其中,为满足Bert模型的输入要求,还将输入序列填充到固定的长度。当输入序列的长度超过定值时,采用截断的方式将指定长度的序列作为输入。当输入序列的长度小于定值时,可以使用padding策略拓展到固定长度再作为输入进行处理。在Dataloader_s中,采用预先训练好的词嵌入模型Word2Vec将文本中的每个词语转换为固定长度的向量表示。然后,将词向量拼接起来形成输入序列。类似地,若输入序列的长度不足,也可以使用填充策略进行处理。

另一方面,可以对教师模型和学生模型进行定义。

在一些实施例中,教师模型使用的Bert模型包括输入层、Transformer层以及归一化层,其具体结构如下所示:

1、输入层:Bert的输入编码长度为512,由单词嵌入、位置编码和分段编码等3个不同的嵌入特征的单位组成。这些编码方式能够将输入文本转化为模型所需的向量表示。

2、Transformer层:作为模型核心结构,其由多个Transformer编码器堆叠而成。每个Transformer编码器都包含一个自注意力机制和一个前馈神经网络。自注意力机制用于捕捉词与词之间的联系,前馈神经网络用于捕捉局部特征。另外,为了减轻模型训练过程中的梯度消失问题,每个Transformer编码器之间使用了残差连接,使得梯度直接传递到较深的层,从而提高模型的性能。

3、归一化层:在每个Transformer编码器之后都添加了归一化层,使得梯度更加稳定,从而提高模型的训练效果。

教师模型和学生模型中使用的TextCNN模型,包括嵌入层、卷积层、池化层和输出层,其结构如下所示:

1、嵌入层:使用预先训练好的词嵌入模型Word2Vec将每个词都转变为一个词向量的形式。对于数据集中的所有词条,可以得到一个嵌入矩阵M(即词嵌入矩阵),该矩阵的每一行都对应着一个词向量。该嵌入矩阵M是静态的,即对于输入的文本固定不变。

2、卷积层:在这一层中,可以采用多个一维卷积核并行进行卷积操作,每个卷积核都只在一个方向上进行滑动。在一些实施例中,在教师模型中使用的是4个不同大小的卷积核同时进行操作,而在学生模型中仅使用2个不同大小的卷积核并行操作,简化学生模型的模型结构。

3、池化层:通过全局最大池化层,进一步提取文本特征。

4、输出层:使用全连接的形式,生成文本意图预测结果,在一些实施例中,在训练阶段还可以引入Dropout防止过拟合情况的发生。

在完成模型搭建后,可以对教师模型和学生模型进行训练。

在训练过程中,首先,可以使用Set1对教师模型进行训练,首先在预训练的Bert模型中进行微调,使用Bert的最后输出层处理结果作为输出中间量,该输出是一个固定长度的向量,是一个可以表示整个文本语义信息的向量表达。该向量通过全连接层进一步调整,将得到和学生网络嵌入层相同大小的词向量,记为E_bert。随后将调整过的词向量矩阵作为下一阶段TextCNN网络的卷积层输入进一步进行特征提取和分类。在卷积层中,对输入词向量应用多个不同尺寸的一维卷积核,以提取出不同的特征。每个卷积核都可以看作是一个滑动窗口,它可以在输入序列上滑动并提取局部特征。在一示例中,卷积操作可以通过如下公式表示:

Out_k=Maxpooling(W_k*E_bert)

其中,Out_k表示第k个卷积核的输出,W_k表示第k个卷积核的权重矩阵,E_bert表示由Bert输入到TextCNN的词向量,Maxpooling表示对每个卷积核的输出进行最大池化操作,以获取最大值。这些特征可以捕获保险文本中的关键语义信息,并用于意图识别任务。

然后,在教师模型训练完成后,可以通过训练好的教师模型对Set2的数据进行意图识别,对获得的预测结果中置信度高于阈值(例如90%)的数据提取出来作为一种知识蒸馏的直接结果,记为Set2’,补充进Set1得到Set1’,然后使用Set1’对学生模型进行训练。

在每一轮的模型训练结束后,可以使用独立的测试集对教师模型和学生模型进行意图识别能力的性能评估,以确定模型的性能和准确率。在一些示例中,可以使用以下至少一种评估指标来衡量模型的性能:准确率、精确率、召回率和F1得分等。然后,可以根据评估结果,可以进一步优化模型参数或调整模型结构来提高模型的性能。此外,还可以使用可视化工具分析各个网络学到的特征和决策逻辑,例如绘制损失变化图、可视化展示网络意图识别结果和标签之间的差距等,以便更好地理解模型的运行原理和决策过程。

当确定教师模型和学生模型的性能满足要求时,可以基于学生模型得到训练好的意图识别模型,并将其转换为线上部署的ONNX模型,部署在相应推理引擎中,保证模型能在对应硬件平台上高效运行。

在一个实施例中,文本相似度识别模型可以通过如下步骤训练得到:

S51,获取正样本保险问答文本和负样本保险问答文本;正样本保险问答文本中回答信息与提问信息的相关度,大于负样本保险问答文本中回答信息与提问信息的相关度。

具体实现中,可以预先获取多个保险问答文本,保险问答文本可以理解为针对保险领域信息进行问答的文本对,每个保险问答文本也可以称为一个保险问答文本对,其中包括提问信息与回答信息。

对于每个保险问答文本,可以预先确定出保险问答文本中回答信息与提问信息的相关度或关联性,然后,可以在多个保险问答文本中确定出正样本保险问答文本和负样本保险问答文本。其中,正样本保险问答文本和负样本保险问答文本具有相对性,在一些实施例中,当一个样本保险文本中回答信息与提问信息的相关度,大于另一样本保险问答文本中回答信息与提问信息的相关度,对应相关度更高的样本保险文本可以作为正样本保险问答文本,相关度更低的样本保险文本可以作为负样本保险问答文本。

S52,将正样本保险问答文本和负样本保险问答文本输入到待训练的文本相似度识别模型,由文本相似度识别模型根据正样本保险问答文本的文本特征,获取正样本保险问答文本中回答信息与提问信息的第一相关程度,以及根据负样本保险问答文本的文本特征,获取负样本保险问答文本中回答信息与提问信息的第二相关程度。

在本步骤中,在获取到正样本保险问答文本和负样本保险问答文本后,可以输入到待训练的文本相似度识别模型,在一些可选的实施例中,待训练的文本相似度识别模型可以基于预训练的大规模语言模型(如bert)搭建pairwise(成对)的双塔训练架构构造得到,从而可以通过模型中的不同分支并行地对正样本保险问答文本和负样本保险问答文本进行处理,例如待训练的文本相似度识别模型可以是孪生神经网络,孪生神经网络中可以包括结构、参数完全相同的两个分支。

在将正样本保险问答文本和负样本保险问答文本输入到待训练的文本相似度识别模型后,可以由文本相似度识别模型对正样本保险问答文本进行特征提取,得到正样本保险问答文本的文本特征,然后可以根据正样本保险问答文本的文本特征,计算正样本保险问答文本中回答信息与提问信息的相关度,为便于区分,正样本保险问答文本中回答信息与提问信息的相关程度也称为第一相关程度。此外,还可以由文本相似度识别模型对负样本保险问答文本进行特征提取,得到负样本保险问答文本的文本特征,然后可以根据负样本保险问答文本的文本特征,计算负样本保险问答文本中回答信息与提问信息的相关程度,为便于区分,负样本保险问答文本中回答信息与提问信息的相关度也称为第二相关程度。

可以理解的是,相关程度可以通过相关度或无关度确定,当相关程度通过相关度表示时,第一相关程度为第一相关度,第二相关程度为第二相关度;当相关程度通过无关度表示时,第一相关程度为第一无关度,第二相关程度为第二无关度。当然,在一些实施例中,文本相似度识别模型也可以同时输出相关度和无关度,例如,对于正样本保险问答文本和负样本保险问答文本,正样本保险问答文本的相关程度可以表征为[Score

S53,根据第一相关程度和第二相关程度确定模型损失值,根据模型损失值调整文本相似度识别模型的模型参数,获取训练好的文本相似度识别模型。

在获取到第一相关程度和第二相关程度后,可以对第一相关程度和第二相关程度进行比较,并根据比较结果确定模型损失值。具体而言,由于正样本保险问答文本中回答信息与提问信息的相关度大于负样本保险问答文本中回答信息与提问信息的相关度,通过比较模型预测的第一相关程度和第二相关程度,可以判断与实际情况的差异,从而确定出模型当前是否能够准确地识别出不同保险问答文本之间的相似程度的高低。通过由文本相似度识别模型获取正样本保险问答文本对应的第一相关程度和负样本保险问答文本对应的第二相关程度,使得文本相似度识别模型在训练过程能够有效提取到用于识别出回答信息与提问信息是否相关的文本特征,基于该文本特征准确识别不同保险问答文本中文本内容的相关程度,对保险领域中提问信息与回答信息的相关程度进行准确识别。可以理解的是,即使存在模棱两可的保险问答对,通过本实施例训练得到的文本相似度识别模型,仍然可以在多个候选的回答信息中识别得到更加相关的回答信息,有效提升回答信息与提问信息的相关度,增加保险问答系统输出的回答信息的准确性。

在获取到模型损失值后,可以根据模型损失值调整文本相似度识别模型的模型参数,直到满足训练结束条件,获取训练好的文本相似度识别模型。

上述文本相似度识别模型训练方法,可以获取正样本保险问答文本和负样本保险问答文本,其中,正样本保险问答文本中回答信息与提问信息的相关度,大于负样本保险问答文本中回答信息与提问信息的相关度;然后,可以将正样本保险问答文本和负样本保险问答文本输入到待训练的文本相似度识别模型,由文本相似度识别模型根据正样本保险问答文本的文本特征,获取正样本保险问答文本中回答信息与提问信息的第一相关程度,以及根据负样本保险问答文本的文本特征,获取负样本保险问答文本中回答信息与提问信息的第二相关程度;进而,可以根据第一相关程度和第二相关程度确定模型损失值,根据模型损失值调整文本相似度识别模型的模型参数,获取训练好的文本相似度识别模型。在本实施例中,通过由文本相似度识别模型获取正样本保险问答文本对应的第一相关程度和负样本保险问答文本对应的第二相关程度,使得文本相似度识别模型在训练过程能够有效提取到用于识别出回答信息与提问信息是否相关的文本特征,基于该文本特征准确识别不同保险问答文本中文本内容的相关程度,对保险领域中提问信息与回答信息的相关程度进行准确识别。

此外,相关技术中还基于开源的大规模语言预训练模型(如bert模型)确定文本相关性。然而,而大规模语言预训练模型主要是在通用语料库上进行预训练,这些语料库涵盖各种领域和话题,而保险领域中的定的专业术语、语境和语义,与通用语料库存在较大差异,同时通用语料库中包含了多个领域,也存在对于某一领域无关的其他信息,使得模型缺少对领域中关键信息的关注,因此,大规模语言预训练模型在处理保险领域的文本问答对时,存在无法准确地捕捉到关键信息、难以准确识别问答对相关性的情况。而本实施例中,通过利用正样本保险问答文本和负样本保险问答文本对文本相似度识别模型进行训练,能够使模型准确有地识别保险领域中不同文本问答对之间的相关程度。

在一个实施例中,步骤S53中,根据第一相关程度和第二相关程度确定模型损失值,可以包括如下步骤:

根据第一相关程度减去第二相关程度得到的相关程度差异,确定模型损失值;模型损失值与相关程度差异呈负相关。

具体地,在获取到第一相关程度和第二相关程度后,可以确定第一相关程度减去第二相关程度的差值,并基于该差值得到相关程度差异。一方面,由于正样本保险问答文本对应的相关度是大于负样本保险问答文本对应的相关度的,通过将第一相关程度减去第二相关程度,能够根据相关程度差异的正负情况,确定出文本相似度识别模型在整体上的预测是否准确,也即模型能否准确识别出正样本保险问答文本对应的相关程度大于负样本保险问答文本对应的相关程度;另一方面,还可以根据相关程度差异的绝对值大小,得到模型预测出的不同保险问答文本对之间相关程度差异的大小,例如,若计算得到的相关程度差异的绝对值越大,则模型预测两个样本保险问答文本之间相关程度的差异也越大。

进而,可以根据该相关程度差异确定模型损失值,其中,模型损失值与相关程度差异呈负相关,也即相关程度差异的数值越大,模型损失值越小,相关程度差异的数值越小,模型损失值越大。

在一些可选的实施例中,可以选择合页损失作为损失函数,并确定出相应的模型损失值,例如,在相关程度通过相关度表征的情况下,可以按照如下函数确定出模型损失值HingeLoss:

HingeLoss=MAX(0,1-(Score

上述函数的物理可以理解为:因为正样本保险问答文本对应的相关度总是比负样本保险问答文本对应的相关度大,意味着在理想情况下,模型预测得到的正样本保险问答文本的第一相关度应该高于负样本保险问答文本对应的第二相关度,因此在确定模型损失值时也希望能给出明显的区分度,当相关度的取值在[0,1]范围内时,第一相关度尽可能接近于1,第二相关度尽可能接近于0,在上式中,当第一相关度为1,第二相关度为0时,模型损失值达到最小,为0。当第一相关度为0,第二相关度为1时,模型损失值达到最大,为2。

在本实施例中,可以根据第一相关程度减去第二相关程度得到的相关程度差异,准确量化文本相似度识别模型输出的第一相关程度和第二相关程度的准确性高低,包括是否相关以及相关程度的大小,从而根据相关程度差异调整模型参数,能够有效提升模型训练效果。

在一个实施例中,可以通过如下步骤获取正样本保险问答文本和负样本保险问答文本,包括:

S61,获取保险智能客服系统的日志信息,根据日志信息获取待标注的保险问答文本。

实际应用中,可以获取保险智能客服系统的历史日志信息,其中,保险智能客服系统可用于对接收用户发送的提问信息,并根据提问信息返回相应的系统回答。在本步骤中,可以获取保险智能客服系统的日志信息,然后从日志信息中挖掘出问答数据,该问答数据可以是形式为<用户提问,系统答案>,然后,可以基于问答数据获取待标注的保险问答文本。

在一些实施例中,在获取到问答数据后,可以按照下列步骤对数据进行清洗:①剔除用户提问没有意义的问答对,比如“在哪”、“什么”、“在?”等等。②剔除用户提问只有单个字符的问答对。③问答对去重,去除重复出现的问答对。

在一些实施例中,还可以对获取到的问答数据进行数据增强处理,增加数据的多样性,提升模型的泛化效果。具体而言,可以通过回译的方式对获取的问答数据(例如可以是清洗后的问答数据)进行增强,例如,可以通过调用翻译接口将通过相应语言(如预设语言)表达的用户提问翻译成其他语言下的用户提问(如中文翻译为英文),然后再次调用翻译接口,当前语言的用户提问翻译回原来的语言,由此可以得到一个新的问答对。

S62,获取针对保险问答文本标注的关联度等级;标注的关联度等级是从至少三种的候选关联度等级中选择得到。

在获取到各保险问答文本后,可以将保险问答文本提供给相应的工作人员进行标注处理,在标注时,提供至少三种的候选关联度等级,如完全不相关、有部分相关和完全相关,其分别可以通过0、1、2表示。例如,表1示出了三个保险问答文本的标注结果示例:

表1

在一些可选的实施例中,当候选关联度等级为0、1、2时,其比例可以是:0档∶1档∶2档=5∶3∶2。

S63,从多个保险问答文本中,获取关联度等级不同的两个保险问答文本,作为正样本保险问答文本和负样本保险问答文本。

其中,正样本保险问答文本和负样本保险问答文本的数据形式,都为<提问信息,回答信息>,也即<提问信息,回答信息>构成一个样本保险问答文本,正样本保险问答文本和负样本保险问答文本共同构成一条训练样本。

在一些可选的实施例中,可以获取关联度等级不同、且具有相同提问信息的保险问答文本,作为正样本保险问答文本和负样本保险问答文本。表2示出了两条训练样本的示例,每条训练样本中包括正样本保险问答文本A和负样本保险问答文本B:

表2

在本实施例中,一方面,可以挖掘保险智能客服系统的日志信息,快速获取到多个保险问答文本,构建丰富的保险行领域数据集合;另一方面,通过提供至少三种的候选关联度对保险问答文本进行标注,能够细致地刻画问题与回答之间的匹配程度,便于文本相似度识别模型识别到不同关联度等级的保险问答文本的差异,提升模型确定保险问答文本中提问信息与回答信息的相关程度。

在一个实施例中,步骤S62中,获取针对保险问答文本标注的关联度等级,可以包括如下步骤:

获取多个标注人员各自针对保险问答文本选择的关联度等级;在各标注人员选择的关联度等级相同的情况下,将选择的关联度等级确定为保险问答文本标注的关联度等级;在各标注人员选择的关联度存在差异的情况下,向各标注人员发送针对标注结果的讨论提示,并返回执行获取多个标注人员各自针对保险问答文本选择的关联度等级。

在本实施例中,可以采用多人交叉的标注方式,对保险问答文本进行标注,具体而言,可以获取多个标注人员各自针对保险问答文本选择的关联度等级,例如可以分配给不同的三位标注人员进行标注。当各标注人员选择的关联度等级相同时,可以将各标注人员共同选择的关联度等级确定为保险问答文本标注的关联度等级。

在各标注人员选择的关联度存在差异的情况下,也即各标注人员选择的关联度不完全一致时,可以向各标注人员发送针对标注结果的讨论提示,提示各标注人员对该保险问答文本待标注的标签进行讨论,提示其讨论并确定出最终一致的标签,进而可以并返回执行获取多个标注人员各自针对保险问答文本选择的关联度等级。

在本实施例中,通过在各标注人员选择的关联度等级相同的情况下,将选择的关联度等级确定为保险问答文本标注的关联度等级,能够有效保证保险问答文本标注的质量。

在一个实施例中,可以由文本相似度识别模型通过如下步骤获取正样本保险问答文本对的文本特征:

S71,获取正样本保险问答文本中多个正样本字符各自的正样本字符向量。

在一些实施例中,文本相似度识别模型的结构可以是左右对称结构,结构和中间层参数完全一致,区别在于最下方输入层的输入数据,左侧分支的输入数据为正样本保险问答文本,右侧分支的输入数据为负样本保险问答文本。由于左侧分支与右侧分支的流程以及涉及到的算法完全一致,因此以左侧分支为例,介绍该架构的流程和算法细节,右侧分支中关于负样本保险问答文本的文本特征的获取过程,可以参考正样本保险问答文本对的文本特征的获取方式,本申请不再赘述。

具体而言,在输入层中,可以通过如下形式输入正样本保险文本:[CLS]提问信息[SEP]回答信息。其中[CLS]是一个标记符,表示一个输入序列的开端,[SEP]是一个分隔符,它标志着前后两段文本各自独立。以前文提及的一个保险问答文本为例,一个输入形式如下:[CLS]如何投保,保费是多少[SEP]怎么买保险。

在embedding层中,embedding层首先产出三个向量,分别是position embedding,segment embedding,和token embedding,以下对该三个向量的生成方式进行介绍。

①position embedding,也即位置嵌入。由于单词的位置往往携带有重要的语义信息,位置嵌入的主要目的是为模型提供每个单词在序列中的位置信息。这是因为在自然语言中,例如,句子“我爱你”和“你爱我”中的单词位置不同,其语义也完全不同。在该步骤中,通过位置嵌入代表一个字符在字符串中的绝对位置,示例性地,可使用正弦公式来计算对应的位置编码,公式为编码=sin(x),其中x为该字符在字符串中的位置,在“[CLS]如何投保,保费是多少[SEP]怎么买保险”这个例子中,[CLS]符号作为第一位,其位置编码=sin(1),“如”作为第二位,其位置编码=sin(2),并以此类推,每一个字符都计算其对应的正弦编码。

②segment embedding,也即段嵌入,用于标识单词属于哪个句子,其为有助于理解两个句子关系的重要信息。在输入格式“[CLS]提问信息[SEP]回答信息”中,提问信息部分的字符都被赋予了0,作为其段嵌入编码,回答信息部分的字符都被赋予了1,作为其段嵌入编码。[CLS]和[SEP]被分别赋予了0和1。

③token embedding,是对字向量进行编码的过程。这意味着对于输入句子中的每一个字符(包括特殊符号,如CLS和SEP),都会被转换为一个对应的向量表示。这个向量表示就是所谓的token embedding。在一些实施例中,可以预先维护字符词典,其长度为21128,里面囊括了所有的中英文字符,各种特殊字符,以及部分英文单词等。每一个字符(或者单词)都对应了一个指定的数字。在进行token embedding的过程中,可首先遍历输入字符串的每一个字符,然后在词典中找到它的位置,并将词典中对应的数字作为它的编码。

通过以上步骤,可获得三个维度一致的向量,然后将三个向量按位相加,相加的结果再除以3,获得正样本保险问答文本中多个正样本字符各自的正样本字符向量。

S72,根据各正样本字符的正样本字符向量及各正样本字符的自注意力权重,确定各正样本字符的正样本自注意力特征;每个正样本字符的自注意力权重为基于正样本字符与正样本保险问答文本中各个正样本字符的关联度确定。

在获取到各正样本字符的正样本字符向量后,可以根据多头自注意力机制,确定各正样本字符的自注意力权重,并根据各正样本字符的自注意力权重以及正样本字符向量确定各正样本字符的正样本自注意力特征。

在一些实施例中,Transformer结构的核心是自注意力机制(Self-AttentionMechanism)和前馈神经网络(Feed-Forward Neural Network),其中,自注意力机制能够捕获文本中的长距离依赖关系,而前馈神经网络用于提供非线性变换。Transformer层包含以下组件:

多头自注意力机制(Multi-Head Self-Attention):对于输入序列,通过多个自注意力机制头部并行计算,每个头部关注输入的不同部分,然后将结果拼接起来。

前馈神经网络(Feed-Forward Neural Network):这是一个简单的全连接前馈网络,用于在自注意力机制后提供更复杂的非线性变换。

残差连接和层归一化(Residual Connections and Layer Normalization):在Transformer中,每个子层都使用了残差连接,并且跟随一个层归一化步骤。这有助于模型的收敛和稳定。以下对获取自注意力权重和正样本自注意力特征进行介绍。

结合前文内容,在经过embedding层后,可以获取多个正样本字符各自的正样本字符向量,例如,以4个字符内容为例,其各自对应的正样本字符向量可以表示为a

在处理过程中,首先,a

q

k

v

其中,q(Query)用于其他字符进行匹配,或者说用来计算当前字符或单词与其他的字符或单词之间的关联或者关系;k(Key)则是被用来和q进行匹配,也可理解为单词或者字的关键信息。

例如,若需要计算a

其中,d表示q和k的矩阵维度,在这里,q和k的维度是一致的。

经过q和k的点乘操作后,会得到α

在得到

至此,通过多头注意力价值获取到了由各正样本字符的正样本自注意力特征构成的[b

S73,根据正样本自注意力特征,获取正样本保险问答文本对的文本特征。

在获取到正样本自注意力特征后,可以作进一步处理。具体地,对于每个正样本自注意力特征,可以进行残差连接,其公式可以如下所示:c

接上例,对于正样本自注意力特征b

在获得均值和标准差之后,就可以进行层归一化:

对于c

其中α,ε,β都是自定义的调和参数。

至此,残差连接和层归一化结束,得到输出ln

FF=W*X+b

由此,获得前馈神经网络层的输出FF。

在获得了前馈神经网络的输出后,可以再经过一次残差连接和层归一化模块,获得了输出[k

经过以上输入层、embedding层、transformers层之后,获得了输出[k

input=K*W

由此,可以获得长度为2的向量,可以用[O

/>

其中exp()为指数函数,并且Score

在本实施例中,可以通过自注意力机制,准确地确定出正样本保险问答文本中各字符之间的关联。

在一个实施例中,在步骤S53获取训练好的文本相似度识别模型之后,该方法还可以包括如下步骤:

确定文本相似度识别模型输出的第一识别结果的数量和第二识别结果的数量;根据第一识别结果的数量和第二识别结果的数量的比值,获取第一评估信息;获取用户发送提问信息的第一次数,以及文本相似度识别模型输出的候选回答信息被点击的第二次数;确定第二次数和所述第一次数的比值,获取第二评估信息;根据第一评估信息和第二评估信息,确定文本相似度识别模型的模型评估结果。

其中,候选回答信息包括针对用户发送的提问信息输出的回答信息。

具体实现中,利用测试集来衡量训练好的文本相似度识别模型的模型效果。可以确定文本相似度识别模型在训练过程中输出的第一识别结果的数量和第二识别结果的数量。其中,第一识别结果也称为正序对,是指模型预测的正样本保险问答文本对应的第一相关程度大于负样本保险问答文本对应的第二相关程度的情况;第二识别结果也称为逆序对,是指模型预测的正样本保险问答文本对应的第一相关程度小于负样本保险问答文本对应的第二相关程度的情况。

然后,可以获取第一识别结果的数量和第二识别结果的数量的比值,基于该比值得到第一评估信息,例如,可以根据如下公式确定出正逆序比,将正逆序比确定为第一评估信息:

正逆序比=正序对个数/逆序对个数

另一方面,还可以通过训练好的文本相似度识别模型对用户发送的针对保险领域的提问信息进行回复,返回相应的回答信息。然后,可以统计用户发送提问信息的第一次数,该次数也称为用户提问数,以及,可以获取文本相似度识别模型输出的候选回答信息被用户点击的第二次数,该次数也称为用户点击数。然后,可以确定第二次数和第一次数的比值,获取第二评估信息,在一些可选的实施例中,可以根据如下公式确定用户采纳率,并将用户采纳率确定为第二评估信息:

用户采纳率=用户点击数/用户提问数

进而,可以根据第一评估信息和第二评估信息,确定文本相似度识别模型的模型评估结果。当然,在另外一些实施例中,还可以结合其他指标确定文本相似度识别模型的模型评估结果,例如,可以结合准确率、召回率、精确率中的至少一个,确定模型评估结果。其中,准确率、召回率、精确率的定义如下:

准确率=(TP+TN)/(TP+TN+FP+FN)

召回率=TP/(TP+TN)

精确率=TP/(TP+FP)

其中,TP是指实际为正样本,模型也预测为正样本的样本数量;FP是指实际为负样本,模型预测为正样本的样本数量;TN是指实际为正样本,模型预测负样本的样本数量;FN是指实际为负样本,模型也预测为负样本的样本数量。

通过上述多个方式进行模型评估,可以确定相较于传统模型,通过本申请训练得到的文本相似度识别模型,模型性能有显著提升,其具体指标数据可以如下表3所示:

表3

其中,基线是按照传统方式训练得到的模型,实验是按照本申请训练得到的模型。

在本实施例中,通过根据第一评估信息和第二评估信息,确定文本相似度识别模型的模型评估结果,能够确定文本相似度识别模型对不同保险问答文本之间偏序关系的识别准确性,更好地衡量模型效果。

应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的保险智能问答系统的对话应答方法的保险智能问答系统的对话应答装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个保险智能问答系统的对话应答装置实施例中的具体限定可以参见上文中对于保险智能问答系统的对话应答方法的限定,在此不再赘述。

在一个示例性的实施例中,如图7所示,提供了一种保险智能问答系统的对话应答装置,包括:

对话意图确定模块701,用于获取用户向保险智能问答系统发送的与保险领域相关的对话信息,将所述对话信息输入到训练好的意图识别模型,得到所述用户的对话意图;

候选问答对获取模块702,用于确定与所述对话意图关联的候选的保险知识问答对;

匹配模块703,用于通过训练好的文本相似度识别模型确定所述候选的保险知识问答对与所述对话信息的相关程度;

目标问答对确定模块704,用于根据所述候选的保险知识问答对与所述对话信息的相关程度,确定目标保险知识问答对;

应答获取模块705,用于根据所述目标保险知识问答对确定针对所述对话信息的应答信息。

在一个实施例中,所述候选问答对获取模块702,用于:

若所述对话意图的意图类型为单轮对话意图,则获取与所述对话意图关联的常见问题解答,作为候选的保险知识问答对;每组常见问题解答包括一提问信息和一回答信息;

若所述对话意图的意图类型为多轮对话意图,则获取与所述对话意图关联的问答集合,作为候选的保险知识问答对;所述回答集合中包括关联的多轮问答各自的提问信息和回答信息。

在一个实施例中,所述对话信息包括用户提问信息;

所述匹配模块703,用于:

若所述对话意图关联的候选的保险知识问答对为常见问题解答,则通过训练好的文本相似度识别模型,获取每组常见问题解答中的回答信息与所述用户提问信息的相关程度。

在一个实施例中,所述目标问答对确定模块704,用于:

若所述对话意图关联的候选的保险知识问答对为与所述对话意图关联的问答集合,则根据所述问答集合中每个问答逻辑下的多轮问答与所述对话信息的相关程度,确定目标问答逻辑;

根据所述目标问答逻辑下的提问信息和回答信息,确定目标保险知识问答对。

在一个实施例中,所述装置还用于:

获取与保险领域相关的保险文本;

将所述保险文本和用于指示问答知识属性信息的问答知识生成提示,输入到预先训练好的保险问答知识生成模型,由所述保险问答知识生成模型根据所述问答知识生成提示对所述保险文本进行信息提取,得到针对所述保险文本的提问信息以及相应的回答信息;

根据所述保险问答知识生成模型输出的所述提问信息和回答信息,得到候选的保险知识问答对。

在一个实施例中,所述装置还用于:

获取保险文本训练样本;

获取教师模型针对所述保险文本训练样本输出的第一文本意图概率分布;

将所述保险文本训练样本输入到待训练的学生模型,得到所述学生模型输出的第二文本意图概率分布;

根据所述第一文本意图概率分布和所述第二文本意图概率分布之间的差异,确定模型损失值,并根据所述模型损失值调整所述学生模型的模型参数,直到满足训练结束条件,得到训练好的意图识别模型。

在一个实施例中,所述装置还用于:

获取正样本保险问答文本和负样本保险问答文本;所述正样本保险问答文本中回答信息与提问信息的相关度,大于所述负样本保险问答文本中回答信息与提问信息的相关度;

将所述正样本保险问答文本和负样本保险问答文本输入到待训练的文本相似度识别模型,由所述文本相似度识别模型根据所述正样本保险问答文本的文本特征,获取所述正样本保险问答文本中回答信息与提问信息的第一相关程度,以及根据所述负样本保险问答文本的文本特征,获取所述负样本保险问答文本中回答信息与提问信息的第二相关程度;

根据所述第一相关程度和所述第二相关程度确定模型损失值,根据所述模型损失值调整所述文本相似度识别模型的模型参数,获取训练好的文本相似度识别模型。

上述保险智能问答系统的对话应答装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储保险知识数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种保险智能问答系统的对话应答方法。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 一种智能停车场指引系统
  • 一种智能停车场指引系统
  • 一种停车场空位指引系统
  • 一种基于物联网的停车指引系统及停车指引方法
  • 一种基于物联网的停车指引系统及停车指引方法
技术分类

06120116549895