一种融合多算法模型的FAQ问答匹配方法和系统技术方案

技术编号:33700820 阅读:12 留言:0更新日期:2022-06-06 08:09
本发明专利技术提出了一种融合多算法模型的FAQ问答匹配方法和系统,该方法包括:基于FAQ知识库,构建倒排索引;获取用户问题,预处理获得第一预处理结果,在倒排索引中搜索与用户问题关联的的知识库问题;训练句编码器,利用句编码器将用户问题和知识库问题编码为句向量,并计算两者句向量之间的余弦值,即相似度;对用户问题和知识库问题进行预处理,获得第二预处理结果;利用匹配算法计算用户问题和知识库问题的第二预处理结果的匹配度;结合相似度和匹配度进行加权平均计算,获得最终相似度值;根据最终相似度值和设定阈值,给出答案。本发明专利技术通过嵌入基于不同规则的算法逻辑模型,以达成整体最优的匹配效果,整体问答准确性高、效果好。效果好。效果好。

【技术实现步骤摘要】
一种融合多算法模型的FAQ问答匹配方法和系统


[0001]本专利技术涉及自然语言处理
,具体而言,涉及一种融合多算法模型的FAQ问答匹配方法和系统。

技术介绍

[0002]在智能客服系统中,基于FAQ(常见问题解答,frequently

asked questions,简称FAQ)的问答是系统基础性的能力,FAQ问答的准确性则是衡量系统先进性的一个非常重要的指标。基于客户不同行业特点,不同的业务重点,FAQ问答库的维护程度各有不同。
[0003]目前,一般都是采用模型或规则进行FAQ匹配,该匹配方式存在较大局限性。(1)模型的局限性:模型本身需要实现训练好才可以使用,线上业务变更会存在滞后性,如果线上存在badcase,修复起来会比较缓慢。(2)规则的局限性:规则算法会太过依赖基础语义数据,比如相似问、词等数据,一旦这些词维护有问题会导致算法错误。
[0004]因此,专利技术一套能够适应各种情况下,通用的,能够提升整体问答准确性,提升客户满意度,降低客户运营成本的FAQ匹配算法至关重要。

技术实现思路

[0005]鉴于上述问题,本专利技术提供了一种融合多算法模型的FAQ问答匹配方法和系统。
[0006]为解决上述技术问题,本专利技术采用的技术方案是:一种融合多算法模型的FAQ问答匹配方法,包括如下步骤:基于FAQ知识库,构建所述FAQ知识库的倒排索引;获取用户问题,进行预处理获得第一预处理结果,根据所述第一预处理结果在倒排索引中搜索与用户问题关联的的知识库问题,并将其作为候选结果;训练句编码器,利用所述句编码器将用户问题和知识库问题编码为句向量,并计算两者所述句向量之间的余弦值,所述余弦值即相似度;对所述用户问题和知识库问题进行预处理,获得第二预处理结果;利用匹配算法计算所述用户问题和知识库问题的第二预处理结果的匹配度;结合所述相似度和匹配度,进行加权平均计算,获得最终相似度值;根据所述最终相似度值和设定阈值,给出FAQ答案。
[0007]作为优选方案,所述构建所述FAQ知识库的倒排索引,包括:对所述FAQ知识库中的全部问题进行预处理,获得第三预处理结果,所述第三预处理结果包括将知识库问题分词后的词;采用倒排方式建立词与知识库问题ID的映射关系。
[0008]作为优选方案,所述训练句编码器,包括:基于FAQ知识库,构建三元组集合,所述三元组包括原始问题、正例和负例;将所述三元组中的原始问题、正例和负例分别进行数据预处理,获得模型输入数据,即input_ids_query、input_ids_pos和input_ids_neg;将所述模型输入数据导入BERT模型,获得对应的序列向量;分别采用取[CLS]向量、平均池化和最大池化法对所述序列向量进行处理并拼接处理结果,获得最终句向量;利用triple

loss损失函数对所述最终句向量进行优化,获得句编码器。
[0009]作为优选方案,所述获得对应的序列向量,包括:
则所述最终句向量,包括:其中,表示向量拼接操作;表示对序列向量取[CLS]节点向量;表示对序列向量进行平均池化操作;表示对序列向量进行最大池化操作。
[0010]作为优选方案,所述利用triple

loss损失函数对所述最终句向量进行优化,获得句编码器,具体为:利用triple

loss损失函数对所述最终句向量进行优化,要求原始问题向量与正例向量之间的距离小于原始问题向量与负例向量之间的距离,如下所示:其中,表示距离度量,采用欧氏距离;为边距;优化损失函数使其最小化,获得最终的句编码器。
[0011]作为优选方案,所述预处理具体为:对用户问题或知识库问题进行问句规整化、分词、词义处理和句义处理。
[0012]作为优选方案,所述根据所述最终相似度值和设定阈值,给出FAQ答案,包括:判断所述候选结果中是否存在被用户问题的业务核心词命中的知识库问题,若存在,则进行下一步,反之,则给出未知判定;在被命中的知识库问题中挑选最终相似度值的最大值,判断其是否小于设定阈值,若小于,则给出未知判定,反之,则进行下一步;利用寒暄业务分类模型确定所述用户问题的分类,若判定为寒暄分类,则发送至寒暄模块处理,反之,则进行下一步;判断所述候选结果中是否存在被用户问题的业务核心词全部命中的知识库问题,若存在,则给出直接回复,将与被全部命中的知识库问题对应的答案作为所述用户问题的答案,反之,进行下一步;判断所述候选结果中最终相似度值的最大值是否小于设定阈值,若小于,则进行下一步,反之,给出直接回复,将与最终相似度值的最大值的知识库问题对应的答案作为所述用户问题的答案;利用意图模型进行直接回复或引导回复的分类判断,若为直接回复,则将模型预测的候选结果对应的答案作为所述用户问题的答案,反之,进行下一步;选取所述候选结果中所有最终相似度值大于引导回复阈值的知识库问题,将其作为引导回复的筛选结果;根据历史点击数据训练的LTR模型对所述筛选结果进行重新排序,并将其作为引导回复进行输出。
[0013]作为优选方案,所述意图模型的构建方法,包括:模型训练阶段:收集相关样本数
据,并结合相关意图对所述样本数据进行标注;对标注后的所述样本数据进行预处理,导入至基于BERT的意图识别模型;执行模型训练,取模型中的[CLS]向量作为文本的高维向量表征,通过一个全连接,得到意图概率判断;利用Softmax作为激活函数,验证模型,并保存效果最好的意图模型;模型预测阶段:获取用户输入数据,并初始化已训练的意图模型;对所述用户输入数据进行预处理;将预处理的结果输入所述意图模型,获得意图概率得分;选取得分超过阈值的作为相应输入的意图判别结果。
[0014]作为优选方案,所述LTR模型的构建方法,包括:从点击数据中构建模型训练所需的pair

对数据,其中每条样本由用户问题和点击问题组成,其中,被点击数据为正样本,未被点击的数据为负样本;将样本进行数据预处理,获取模型所需的输入内容input_ids;将获取的input_ids进入到BERT模型中,并使用全连接层进行[0,1]分类,通过交叉熵损失函数获取loss,进行模型更新;优化损失函数loss使其最小化,得到最终的LTR模型。
[0015]本专利技术还提供了一种融合多算法模型的FAQ问答匹配系统,包括:倒排索引模块,基于FAQ知识库,构建所述FAQ知识库的倒排索引;候选结果模块,用于获取用户问题,进行预处理获得第一预处理结果,根据所述第一预处理结果在倒排索引中搜索与用户问题关联的的知识库问题,并将其作为候选结果;相似度模块,用于训练句编码器,利用所述句编码器将用户问题和知识库问题编码为句向量,并计算两者所述句向量之间的余弦值,所述余弦值即相似度;预处理模块,用于对所述用户问题和知识库问题进行预处理,获得第二预处理结果;匹配度模块,用于利用匹配算法计算所述用户问题和知识库问题的第二预处理结果的匹配度;最终相似度模块,用于结合所述相似度和匹配度,进行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种融合多算法模型的FAQ问答匹配方法,其特征在于,包括如下步骤:基于FAQ知识库,构建所述FAQ知识库的倒排索引;获取用户问题,进行预处理获得第一预处理结果,根据所述第一预处理结果在倒排索引中搜索与用户问题关联的的知识库问题,并将其作为候选结果;训练句编码器,利用所述句编码器将用户问题和知识库问题编码为句向量,并计算两者所述句向量之间的余弦值,所述余弦值即相似度;对所述用户问题和知识库问题进行预处理,获得第二预处理结果;利用匹配算法计算所述用户问题和知识库问题的第二预处理结果的匹配度;结合所述相似度和匹配度,进行加权平均计算,获得最终相似度值;根据所述最终相似度值和设定阈值,给出FAQ答案。2.根据权利要求1所述的融合多算法模型的FAQ问答匹配方法,其特征在于,所述构建所述FAQ知识库的倒排索引,包括:对所述FAQ知识库中的全部问题进行预处理,获得第三预处理结果,所述第三预处理结果包括将知识库问题分词后的词;采用倒排方式建立词与知识库问题ID的映射关系。3.根据权利要求1所述的融合多算法模型的FAQ问答匹配方法,其特征在于,所述训练句编码器,包括:基于FAQ知识库,构建三元组集合,所述三元组包括原始问题、正例和负例;将所述三元组中的原始问题、正例和负例分别进行数据预处理,获得模型输入数据,即input_ids_query、input_ids_pos和input_ids_neg;将所述模型输入数据导入BERT模型,获得对应的序列向量;分别采用取[CLS]向量、平均池化和最大池化法对所述序列向量进行处理并拼接处理结果,获得最终句向量;利用triple

loss损失函数对所述最终句向量进行优化,获得句编码器。4.根据权利要求3所述的融合多算法模型的FAQ问答匹配方法,其特征在于,所述获得对应的序列向量,包括:则所述最终句向量,包括:其中,表示向量拼接操作;表示对序列向量取[CLS]节点向量;表示对序列向量进行平均池化操作;表示对
序列向量进行最大池化操作。5.根据权利要求3所述的融合多算法模型的FAQ问答匹配方法,其特征在于,所述利用triple

loss损失函数对所述最终句向量进行优化,获得句编码器,具体为:利用triple

loss损失函数对所述最终句向量进行优化,要求原始问题向量与正例向量之间的距离小于原始问题向量与负例向量之间的距离,如下所示:其中,表示距离度量,采用欧氏距离;为边距;优化损失函数L使其最小化,获得最终的句编码器。6.根据权利要求1至3任一项所述的融合多算法模型的FAQ问答匹配方法,其特征在于,所述预处理具体为:对问题进行问句规整化、分词、词义处理和句义处理。7.根据权利要求1所述的融合多算法模型的FAQ问答匹配方法,其特征在于,所述根据所述最终相似度值和设定阈值,给出FAQ答案,包括:判断所述候选结果中是否存在被用户问题的业务核心词命中的知识库问题,若存在,则进行下一步,反之,则给出未知判定;在被命中的知识库问题中挑选最终相似度值的最大值,判断其是否小于设定阈值,若小于...

【专利技术属性】
技术研发人员:张荣松
申请(专利权)人:南京云问网络技术有限公司
类型:发明
国别省市:

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

1