CN114579729A - 一种融合多算法模型的faq问答匹配方法和系统 - Google Patents

一种融合多算法模型的faq问答匹配方法和系统 Download PDF

Info

Publication number
CN114579729A
CN114579729A CN202210495688.XA CN202210495688A CN114579729A CN 114579729 A CN114579729 A CN 114579729A CN 202210495688 A CN202210495688 A CN 202210495688A CN 114579729 A CN114579729 A CN 114579729A
Authority
CN
China
Prior art keywords
knowledge base
model
preprocessing
user
faq
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210495688.XA
Other languages
English (en)
Other versions
CN114579729B (zh
Inventor
张荣松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Yunwen Network Technology Co ltd
Original Assignee
Nanjing Yunwen Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Yunwen Network Technology Co ltd filed Critical Nanjing Yunwen Network Technology Co ltd
Priority to CN202210495688.XA priority Critical patent/CN114579729B/zh
Publication of CN114579729A publication Critical patent/CN114579729A/zh
Application granted granted Critical
Publication of CN114579729B publication Critical patent/CN114579729B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种融合多算法模型的FAQ问答匹配方法和系统
技术领域
本发明涉及自然语言处理技术领域,具体而言,涉及一种融合多算法模型的FAQ问答匹配方法和系统。
背景技术
在智能客服系统中,基于FAQ(常见问题解答,frequently-asked questions,简称FAQ)的问答是系统基础性的能力,FAQ问答的准确性则是衡量系统先进性的一个非常重要的指标。基于客户不同行业特点,不同的业务重点,FAQ问答库的维护程度各有不同。
目前,一般都是采用模型或规则进行FAQ匹配,该匹配方式存在较大局限性。(1)模型的局限性:模型本身需要实现训练好才可以使用,线上业务变更会存在滞后性,如果线上存在badcase,修复起来会比较缓慢。(2)规则的局限性:规则算法会太过依赖基础语义数据,比如相似问、词等数据,一旦这些词维护有问题会导致算法错误。
因此,发明一套能够适应各种情况下,通用的,能够提升整体问答准确性,提升客户满意度,降低客户运营成本的FAQ匹配算法至关重要。
发明内容
鉴于上述问题,本发明提供了一种融合多算法模型的FAQ问答匹配方法和系统。
为解决上述技术问题,本发明采用的技术方案是:一种融合多算法模型的FAQ问答匹配方法,包括如下步骤:基于FAQ知识库,构建所述FAQ知识库的倒排索引;获取用户问题,进行预处理获得第一预处理结果,根据所述第一预处理结果在倒排索引中搜索与用户问题关联的的知识库问题,并将其作为候选结果;训练句编码器,利用所述句编码器将用户问题和知识库问题编码为句向量,并计算两者所述句向量之间的余弦值,所述余弦值即相似度;对所述用户问题和知识库问题进行预处理,获得第二预处理结果;利用匹配算法计算所述用户问题和知识库问题的第二预处理结果的匹配度;结合所述相似度和匹配度,进行加权平均计算,获得最终相似度值;根据所述最终相似度值和设定阈值,给出FAQ答案。
作为优选方案,所述构建所述FAQ知识库的倒排索引,包括:对所述FAQ知识库中的全部问题进行预处理,获得第三预处理结果,所述第三预处理结果包括将知识库问题分词后的词;采用倒排方式建立词与知识库问题ID的映射关系。
作为优选方案,所述训练句编码器,包括:基于FAQ知识库,构建三元组集合,所述三元组包括原始问题、正例和负例;将所述三元组中的原始问题、正例和负例分别进行数据预处理,获得模型输入数据,即input_ids_query、input_ids_pos和input_ids_neg;将所述模型输入数据导入BERT模型,获得对应的序列向量;分别采用取[CLS]向量、平均池化和最大池化法对所述序列向量进行处理并拼接处理结果,获得最终句向量;利用triple-loss损失函数对所述最终句向量进行优化,获得句编码器。
作为优选方案,所述获得对应的序列向量,包括:
Figure 100002_DEST_PATH_IMAGE001
则所述最终句向量,包括:
Figure 622851DEST_PATH_IMAGE002
其中,
Figure 100002_DEST_PATH_IMAGE003
表示向量拼接操作;
Figure 108190DEST_PATH_IMAGE004
表示对序列向量取[CLS]节点向量;
Figure 100002_DEST_PATH_IMAGE005
表示对序列向量进行平均池化操作;
Figure 261959DEST_PATH_IMAGE006
表示对 序列向量进行最大池化操作。
作为优选方案,所述利用triple-loss损失函数对所述最终句向量进行优化,获得 句编码器,具体为:利用triple-loss损失函数对所述最终句向量进行优化,要求原始问题 向量
Figure 100002_DEST_PATH_IMAGE007
与正例向量
Figure 689399DEST_PATH_IMAGE008
之间的距离小于原始问题向量
Figure 100002_DEST_PATH_IMAGE009
与负 例向量
Figure 295829DEST_PATH_IMAGE010
之间的距离,如下所示:
Figure 100002_DEST_PATH_IMAGE011
其中,
Figure 116018DEST_PATH_IMAGE012
表示距离度量,采用欧氏距离;
Figure DEST_PATH_IMAGE013
为边距;优化损失函数
Figure 124294DEST_PATH_IMAGE014
使其最小化, 获得最终的句编码器。
作为优选方案,所述预处理具体为:对用户问题或知识库问题进行问句规整化、分词、词义处理和句义处理。
作为优选方案,所述根据所述最终相似度值和设定阈值,给出FAQ答案,包括:判断所述候选结果中是否存在被用户问题的业务核心词命中的知识库问题,若存在,则进行下一步,反之,则给出未知判定;在被命中的知识库问题中挑选最终相似度值的最大值,判断其是否小于设定阈值,若小于,则给出未知判定,反之,则进行下一步;利用寒暄业务分类模型确定所述用户问题的分类,若判定为寒暄分类,则发送至寒暄模块处理,反之,则进行下一步;判断所述候选结果中是否存在被用户问题的业务核心词全部命中的知识库问题,若存在,则给出直接回复,将与被全部命中的知识库问题对应的答案作为所述用户问题的答案,反之,进行下一步;判断所述候选结果中最终相似度值的最大值是否小于设定阈值,若小于,则进行下一步,反之,给出直接回复,将与最终相似度值的最大值的知识库问题对应的答案作为所述用户问题的答案;利用意图模型进行直接回复或引导回复的分类判断,若为直接回复,则将模型预测的候选结果对应的答案作为所述用户问题的答案,反之,进行下一步;选取所述候选结果中所有最终相似度值大于引导回复阈值的知识库问题,将其作为引导回复的筛选结果;根据历史点击数据训练的LTR模型对所述筛选结果进行重新排序,并将其作为引导回复进行输出。
作为优选方案,所述意图模型的构建方法,包括:模型训练阶段:收集相关样本数据,并结合相关意图对所述样本数据进行标注;对标注后的所述样本数据进行预处理,导入至基于BERT的意图识别模型;执行模型训练,取模型中的[CLS]向量作为文本的高维向量表征,通过一个全连接,得到意图概率判断;利用Softmax作为激活函数,验证模型,并保存效果最好的意图模型;模型预测阶段:获取用户输入数据,并初始化已训练的意图模型;对所述用户输入数据进行预处理;将预处理的结果输入所述意图模型,获得意图概率得分;选取得分超过阈值的作为相应输入的意图判别结果。
作为优选方案,所述LTR模型的构建方法,包括:从点击数据中构建模型训练所需的pair-对数据,其中每条样本由用户问题和点击问题组成,其中,被点击数据为正样本,未被点击的数据为负样本;将样本进行数据预处理,获取模型所需的输入内容input_ids;将获取的input_ids进入到BERT模型中,并使用全连接层进行[0,1]分类,通过交叉熵损失函数获取loss,进行模型更新;优化损失函数loss使其最小化,得到最终的LTR模型。
本发明还提供了一种融合多算法模型的FAQ问答匹配系统,包括:倒排索引模块,基于FAQ知识库,构建所述FAQ知识库的倒排索引;候选结果模块,用于获取用户问题,进行预处理获得第一预处理结果,根据所述第一预处理结果在倒排索引中搜索与用户问题关联的的知识库问题,并将其作为候选结果;相似度模块,用于训练句编码器,利用所述句编码器将用户问题和知识库问题编码为句向量,并计算两者所述句向量之间的余弦值,所述余弦值即相似度;预处理模块,用于对所述用户问题和知识库问题进行预处理,获得第二预处理结果;匹配度模块,用于利用匹配算法计算所述用户问题和知识库问题的第二预处理结果的匹配度;最终相似度模块,用于结合所述相似度和匹配度,进行加权平均计算,获得最终相似度值;结果模块,用于根据所述最终相似度值和设定阈值,给出FAQ答案。
与现有技术相比,本发明的有益效果包括:通过构建倒排索引,搜索知识库问题,编码句向量,计算相似度值等步骤,构建一整套FAQ问答匹配方法,在该方法中间嵌入基于不同规则的算法逻辑模型,两种规则模型在一整套框架下运转,各自能发挥自身的优势,以达成整体最优的匹配效果,整体问答准确性高、效果好。本发明无论客户FAQ知识库运营情况,总能找到最优的匹配率,支持进一步优化,能够在该方法的每个环节进行独立的优化规则和模型。
附图说明
参照附图来说明本发明的公开内容。应当了解,附图仅仅用于说明目的,而并非意在对本发明的保护范围构成限制。在附图中,相同的附图标记用于指代相同的部件。其中:
图1为本发明实施例融合多算法模型的FAQ问答匹配方法的流程示意图;
图2为本发明实施例融合多算法模型的FAQ问答匹配方法另一形式的流程示意图;
图3为本发明实施例预处理步骤中分词的示意图;
图4为本发明实施例BERT模型的框架示意图;
图5为本发明实施例融合多算法模型的FAQ问答匹配系统的结构示意图。
具体实施方式
容易理解,根据本发明的技术方案,在不变更本发明实质精神下,本领域的一般技术人员可以提出可相互替换的多种结构方式以及实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
根据本发明的一实施方式结合图1和2示出。一种融合多算法模型的FAQ问答匹配方法,包括如下步骤:
S101,基于FAQ知识库,构建FAQ知识库的倒排索引。
具体的,构建FAQ知识库的倒排索引,包括:对FAQ知识库中的全部问题进行预处理,获得第三预处理结果,该第三预处理结果包括将知识库问题分词后的词。再采用倒排方式建立词与知识库问题ID的映射关系。如下表所示:
知识库问题列表
Id 问题 分词
1 信用卡怎么办理 信用卡 怎么 办理
2 信用卡如何注销 信用卡 如何 注销
3 借记卡如何办理 借记卡 如何 办理
倒排索引结果
Id列表
信用卡 1,2
怎么 1
办理 1,3
如何 2,3
注销 2
借记卡 3
倒排索引构建完成后,可以根据词快速找到具有该词的知识库问题ID。
S102,获取用户问题,进行预处理获得第一预处理结果,根据第一预处理结果在倒排索引中搜索与用户问题关联的的知识库问题。
本发明实施例中,上述预处理包括:
(1)问句规整化:简繁体转换、大小写转换和数字识别。
简繁体转换: 维护了一个简体和繁体的映射关系库,(例如:简单->簡單),通过这个映射关系库对问题进行字词替换。
大小写转换:为了防止大小写匹配差异,系统内部统一将英文字母替换成小写字母。
数字识别: 识别类似汉语输入的数字(例如:一百零一),将其转化为阿拉伯数字(101),便于统一匹配。
(2)分词:专业名词词典,分词结果干预。注:分词相关,分词作为语义理解的第一步,设计时以结果准确为优先。因此本方案中的分词服务采用了基于统计机器学习的分词方法,并且为了兼顾效率和适应性,在实践中将基于词的生成式模型和基于字的判别式模型进行了结合,加上多个基于汉语构词法的识别模块。整体的分词流程包括如下步骤:
a.利用通用中文词典和领域词典,采用匹配方法,对原始文本构造词网,其中“词网”和对应的最优路径示意图如图3。
b.基于构词法,识别数字、特殊符号串等词语。
c.基于采用隐马尔科夫模型(HMM)对词网进行第一次解码,得到最细粒度分词结果。
d.利用序列标注模型。识别人名、译名、地名、合成词等。
e.基于重排序模型融合结果,得到最终分词结果。
(3)词义处理
a.通过底层语义词库,获取每个词的同义词/关联词。
底层语义库:机器人运营过程中总结整理的一些通用的或行业通用的语义数据,一般包含词和句子。
同义词:有很多组的词语,每组词在意思上基本完全一致,(例如:开心-高兴)。
关联词:由一组词和其关联度构成,关联度是1-99的数字,关联度越高说明该组词意思越接近,(例如:电话-手机-70)。获取方式:1,人工整理;2,通过word2vec词向量模型获取后进行人工审核(Word2Vec是语言模型中的一种,它是从大量文本预料中以无监督方式学习语义知识的模型,可以生成词向量)。
b.通过底层语义词库,标记分词结果中的停止词。
系统会内置一个停止词数据库,该库是人工整理的一些无意义词的集合(例如:啊,嗯,的,了),一般包含语气词,介词等。
c.根据词性、词长以及句法分析等,综合计算这个词在句子中的权重,权重越大,该词在句中的重要程度相对越高。
权重计算方式为根据一个词各方面因素,每一个因素会计算该因素下的权值,最终根据所有权值进行加权求平均值。
词性因素:系统会内置各个词性的权重,例如,一般名词动词权重会高一些,形容词次之。
词长因素:一般默认一个词长度越长权重越大。
句法分词:通过依存句法分析工具,找出句子主干内容,主干内容的词权重会提高。
d.根据nlp容错模型对输入内容进行容错纠正,输出纠正后的结果,例如错别字,形近字。
常见容错的错词表:人工整理的一些常见错词(例如:优惠卷,优惠劵,优惠券)。
容错模型:对用户问题进行关键词抽取(SPO抽取+术语抽取),然后使用pycorrect的同音词词表和形近词词表对句子中的关键词进行替换。
e.英文单词的词干还原。
词形还原是将长相不同,但是含义相同的词统一起来,这样方便后续的处理和分析。例如:plays/played/playing->play。原理:基于词典的方式。
(4)句义处理。包括意图识别,句法识别,槽位识别等。
S103,训练句编码器,利用句编码器将用户问题和知识库问题编码为句向量,并计算两者句向量之间的余弦值,该余弦值即相似度。
其中,训练句编码器,包括如下步骤:
(1)基于FAQ知识库,构建模型训练所需的Triplet-Data(三元组)集合,每个三元组包括原始问题、正例和负例。正例,即与原始问题相似的问题;负例,即与原始问题不相似的问题。
(2)将三元组中的原始问题、正例和负例分别进行数据预处理,获得模型输入数据,即input_ids_query、input_ids_pos和input_ids_neg。
(3)将模型输入数据(即input_ids_query、input_ids_pos和input_ids_neg)导入BERT模型,获得对应的序列向量,其表达式如下所示:
Figure 535684DEST_PATH_IMAGE001
(4)分别采用取[CLS]向量、平均池化和最大池化法对序列向量进行处理并拼接处理结果,获得最终句向量,其表达式如下所示:
Figure DEST_PATH_IMAGE015
其中,
Figure 629411DEST_PATH_IMAGE003
表示向量拼接操作;
Figure 784448DEST_PATH_IMAGE004
表示对序列向量取[CLS]节点向量;
Figure 178389DEST_PATH_IMAGE005
表示对序列向量进行平均池化操作;
Figure 26260DEST_PATH_IMAGE006
表示对 序列向量进行最大池化操作。
(5)利用triple-loss损失函数对最终句向量进行优化,获得句编码器。
利用triple-loss损失函数对所述最终句向量进行优化,要求原始问题向量
Figure 623594DEST_PATH_IMAGE007
与正例向量
Figure 831591DEST_PATH_IMAGE016
之间的距离小于原始问题向量
Figure 361929DEST_PATH_IMAGE007
与负例向 量
Figure 318384DEST_PATH_IMAGE017
之间的距离,如下所示:
Figure 720458DEST_PATH_IMAGE011
其中,
Figure 217299DEST_PATH_IMAGE012
表示距离度量,采用欧氏距离;
Figure 70985DEST_PATH_IMAGE013
为边距。
(6)优化损失函数L使其最小化,获得最终的句编码器。
S104,对用户问题和知识库问题进行预处理,获得第二预处理结果。数据预处理主要包括主要有分词、句法结构解析、语义泛化和query改写,其目的是为了获取句子的相关句法、字词等信息。
S105,利用匹配算法计算用户问题和知识库问题的第二预处理结果的匹配度;匹配算法包括基于字词文本编辑距离和LCS。
S106,结合相似度和匹配度,进行加权平均计算,获得最终相似度值;
S107,根据最终相似度值和设定阈值,给出FAQ答案。
本发明实施例中,根据相似度值和设定阈值确定回复内容,主要有以下FAQ答案,包括:未知判定、直接回复判定和引导回复。
(1)未知判定,主要是判断当前用户问题是否适合给FAQ答案。包括以下步骤:
① 判断所述候选结果中是否存在被用户问题的业务核心词命中的知识库问题,若存在,则进行下一步,反之,则给出未知判定。
② 在被命中的知识库问题中挑选最终相似度值的最大值,判断其是否小于设定阈值,若小于,则给出未知判定,反之,则进行下一步。
③ 利用寒暄业务分类模型确定所述用户问题的分类,若判定为寒暄分类,则发送至寒暄模块处理,反之,则进入直接回复判定步骤。
注:业务核心词通过词的词性、权重和该词的TF-IDF值进行综合评估。 TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse DocumentFrequency)。
寒暄业务分类模型,主要是根据系统内的寒暄语料和用户知识库语料进行二分类模型训练得出,具体训练过程参考意图模型的训练流程。
(2)直接回复判定,主要是获取候选结果中能否找到唯一的一个适合直接给出FAQ答案。包括以下步骤:
④ 判断所述候选结果中是否存在被用户问题的业务核心词全部命中的知识库问题,若存在,则给出直接回复,将与被全部命中的知识库问题对应的答案作为所述用户问题的答案,反之,进行下一步。
⑤ 判断所述候选结果中最终相似度值的最大值是否小于设定阈值,若小于,则进行下一步,反之,给出直接回复,将与最终相似度值的最大值的知识库问题对应的答案作为所述用户问题的答案。
⑥ 利用意图模型进行直接回复或引导回复的分类判断,若为直接回复,则将模型预测的候选结果对应的答案作为所述用户问题的答案,反之,进入引导回复步骤。
注:意图模型是指通过分析用户输入文本,识别用户是否存在与场景相关的特定意图,机器人首先需要判断出用户的相关意图再进行接下来的相关动作。本方法采用基于BERT的意图识别模型框架,模型框架如图4所示。
上述意图模型的构建方法,包括:
模型训练阶段:收集相关样本数据,并结合相关意图对样本数据进行标注;对标注后的样本数据进行预处理,导入至基于BERT的意图识别模型;执行模型训练,取模型中的[CLS]向量作为文本的高维向量表征,通过一个全连接,得到意图概率判断;利用Softmax作为激活函数,验证模型,并保存效果最好的意图模型。
Softmax的公式如下:
Figure DEST_PATH_IMAGE018
模型预测阶段:获取用户输入数据,并初始化已训练的意图模型;对用户输入数据进行预处理;将预处理的结果输入意图模型,获得意图概率得分;选取得分超过阈值的作为相应输入的意图判别结果。
(3)引导回复,主要时用于当前问题知识库中没有直接的答案时,给出知识的引导列表,让用户进行二次澄清。包括以下步骤:
⑦ 选取所述候选结果中所有最终相似度值大于引导回复阈值的知识库问题,将其作为引导回复的筛选结果;
⑧ 根据历史点击数据训练的LTR模型对所述筛选结果进行重新排序,并将其作为引导回复进行输出。
⑨ 如果当前筛选结果中的候选项在上文中已经出现,则根据作用域阈值对筛选结果进行溢出,尽可能向用户展示上文未出现的候选项。
具体的,上述LTR模型的构建方法,包括:
从点击数据中构建模型训练所需的pair-对数据,其中每条样本由用户问题和点击问题组成,其中,被点击数据为正样本,未被点击的数据为负样本。
将样本进行数据预处理,获取模型所需的输入内容input_ids。
将获取的input_ids进入到BERT模型中,并使用全连接层进行[0,1]分类,如下式所示:
Figure 713188DEST_PATH_IMAGE019
通过交叉熵损失函数获取loss,进行模型更新。
Figure DEST_PATH_IMAGE020
优化上述损失函数L使其最小化,得到最终的LTR模型。
参见图5,本发明还提供了一种融合多算法模型的FAQ问答匹配系统,包括:
倒排索引模块101,基于FAQ知识库,构建FAQ知识库的倒排索引。
候选结果模块102,用于获取用户问题,进行预处理获得第一预处理结果,根据第一预处理结果在倒排索引中搜索与用户问题关联的的知识库问题,并将其作为候选结果。
相似度模块103,用于训练句编码器,利用句编码器将用户问题和知识库问题编码为句向量,并计算两者句向量之间的余弦值,余弦值即相似度。
预处理模块104,用于对用户问题和知识库问题进行预处理,获得第二预处理结果。
匹配度模块105,用于利用匹配算法计算用户问题和知识库问题的第二预处理结果的匹配度。
最终相似度模块106,用于结合相似度和匹配度,进行加权平均计算,获得最终相似度值。
结果模块107,用于根据最终相似度值和设定阈值,给出FAQ答案。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
综上所述,本发明的有益效果包括:通过构建倒排索引,搜索知识库问题,编码句向量,计算相似度值等步骤,构建一整套FAQ问答匹配方法,在该方法中间嵌入基于不同规则的算法逻辑模型,两种规则模型在一整套框架下运转,各自能发挥自身的优势,以达成整体最优的匹配效果,整体问答准确性高、效果好。本发明无论客户FAQ知识库运营情况,总能找到最优的匹配率,支持进一步优化,能够在该方法的每个环节进行独立的优化规则和模型。
应理解,所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括 :U 盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明的技术范围不仅仅局限于上述说明中的内容,本领域技术人员可以在不脱离本发明技术思想的前提下,对上述实施例进行多种变形和修改,而这些变形和修改均应当属于本发明的保护范围内。

Claims (10)

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问答匹配方法,其特征在于,所述获得对应的序列向量,包括:
Figure DEST_PATH_IMAGE001
则所述最终句向量,包括:
Figure 628144DEST_PATH_IMAGE002
其中,
Figure DEST_PATH_IMAGE003
表示向量拼接操作;
Figure 72901DEST_PATH_IMAGE004
表示对序列向量取[CLS]节点向量;
Figure DEST_PATH_IMAGE005
表示对序列向量进行平均池化操作;
Figure 643690DEST_PATH_IMAGE006
表示对 序列向量进行最大池化操作。
5.根据权利要求3所述的融合多算法模型的FAQ问答匹配方法,其特征在于,所述利用triple-loss损失函数对所述最终句向量进行优化,获得句编码器,具体为:
利用triple-loss损失函数对所述最终句向量进行优化,要求原始问题向量
Figure DEST_PATH_IMAGE007
与正例向量
Figure 337846DEST_PATH_IMAGE008
之间的距离小于原始问题向量
Figure 285073DEST_PATH_IMAGE007
与负例向 量
Figure DEST_PATH_IMAGE009
之间的距离,如下所示:
Figure 398652DEST_PATH_IMAGE010
其中,
Figure DEST_PATH_IMAGE011
表示距离度量,采用欧氏距离;
Figure 389611DEST_PATH_IMAGE012
为边距;
优化损失函数L使其最小化,获得最终的句编码器。
6.根据权利要求1至3任一项所述的融合多算法模型的FAQ问答匹配方法,其特征在于,所述预处理具体为:对问题进行问句规整化、分词、词义处理和句义处理。
7.根据权利要求1所述的融合多算法模型的FAQ问答匹配方法,其特征在于,所述根据所述最终相似度值和设定阈值,给出FAQ答案,包括:
判断所述候选结果中是否存在被用户问题的业务核心词命中的知识库问题,若存在,则进行下一步,反之,则给出未知判定;
在被命中的知识库问题中挑选最终相似度值的最大值,判断其是否小于设定阈值,若小于,则给出未知判定,反之,则进行下一步;
利用寒暄业务分类模型确定所述用户问题的分类,若判定为寒暄分类,则发送至寒暄模块处理,反之,则进行下一步;
判断所述候选结果中是否存在被用户问题的业务核心词全部命中的知识库问题,若存在,则给出直接回复,将与被全部命中的知识库问题对应的答案作为所述用户问题的答案,反之,进行下一步;
判断所述候选结果中最终相似度值的最大值是否小于设定阈值,若小于,则进行下一步,反之,给出直接回复,将与最终相似度值的最大值的知识库问题对应的答案作为所述用户问题的答案;
利用意图模型进行直接回复或引导回复的分类判断,若为直接回复,则将模型预测的候选结果对应的答案作为所述用户问题的答案,反之,进行下一步;
选取所述候选结果中所有最终相似度值大于引导回复阈值的知识库问题,将其作为引导回复的筛选结果;
根据历史点击数据训练的LTR模型对所述筛选结果进行重新排序,并将其作为引导回复进行输出。
8.根据权利要求7所述的融合多算法模型的FAQ问答匹配方法,其特征在于,所述意图模型的构建方法,包括:
模型训练阶段:
收集相关样本数据,并结合相关意图对所述样本数据进行标注;
对标注后的所述样本数据进行预处理,导入至基于BERT的意图识别模型;
执行模型训练,取模型中的[CLS]向量作为文本的高维向量表征,通过一个全连接,得到意图概率判断;
利用Softmax作为激活函数,验证模型,并保存效果最好的意图模型;
模型预测阶段:
获取用户输入数据,并初始化已训练的意图模型;
对所述用户输入数据进行预处理;
将预处理的结果输入所述意图模型,获得意图概率得分;
选取得分超过阈值的作为相应输入的意图判别结果。
9.根据权利要求7所述的融合多算法模型的FAQ问答匹配方法,其特征在于,所述LTR模型的构建方法,包括:
从点击数据中构建模型训练所需的pair-对数据,其中每条样本由用户问题和点击问题组成,其中,被点击数据为正样本,未被点击的数据为负样本;
将样本进行数据预处理,获取模型所需的输入内容input_ids;
将获取的input_ids进入到BERT模型中,并使用全连接层进行[0,1]分类,
通过交叉熵损失函数获取loss,进行模型更新;
优化损失函数loss使其最小化,得到最终的LTR模型。
10.一种融合多算法模型的FAQ问答匹配系统,其特征在于,包括:
倒排索引模块,基于FAQ知识库,构建所述FAQ知识库的倒排索引;
候选结果模块,用于获取用户问题,进行预处理获得第一预处理结果,根据所述第一预处理结果在倒排索引中搜索与用户问题关联的的知识库问题,并将其作为候选结果;
相似度模块,用于训练句编码器,利用所述句编码器将用户问题和知识库问题编码为句向量,并计算两者所述句向量之间的余弦值,所述余弦值即相似度;
预处理模块,用于对所述用户问题和知识库问题进行预处理,获得第二预处理结果;
匹配度模块,用于利用匹配算法计算所述用户问题和知识库问题的第二预处理结果的匹配度;
最终相似度模块,用于结合所述相似度和匹配度,进行加权平均计算,获得最终相似度值;
结果模块,用于根据所述最终相似度值和设定阈值,给出FAQ答案。
CN202210495688.XA 2022-05-09 2022-05-09 一种融合多算法模型的faq问答匹配方法和系统 Active CN114579729B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210495688.XA CN114579729B (zh) 2022-05-09 2022-05-09 一种融合多算法模型的faq问答匹配方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210495688.XA CN114579729B (zh) 2022-05-09 2022-05-09 一种融合多算法模型的faq问答匹配方法和系统

Publications (2)

Publication Number Publication Date
CN114579729A true CN114579729A (zh) 2022-06-03
CN114579729B CN114579729B (zh) 2022-08-02

Family

ID=81767765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210495688.XA Active CN114579729B (zh) 2022-05-09 2022-05-09 一种融合多算法模型的faq问答匹配方法和系统

Country Status (1)

Country Link
CN (1) CN114579729B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115062607A (zh) * 2022-08-17 2022-09-16 杭州火石数智科技有限公司 对比学习的样本构造方法、装置、计算机设备及存储介质
CN115098656A (zh) * 2022-06-27 2022-09-23 招商银行股份有限公司 客服引擎管理方法、装置、系统、终端设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096580A (zh) * 2019-04-24 2019-08-06 北京百度网讯科技有限公司 一种faq对话方法、装置及电子设备
WO2019153613A1 (zh) * 2018-02-09 2019-08-15 平安科技(深圳)有限公司 聊天应答方法、电子装置及存储介质
CN111581354A (zh) * 2020-05-12 2020-08-25 金蝶软件(中国)有限公司 一种faq问句相似度计算方法及其系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019153613A1 (zh) * 2018-02-09 2019-08-15 平安科技(深圳)有限公司 聊天应答方法、电子装置及存储介质
CN110096580A (zh) * 2019-04-24 2019-08-06 北京百度网讯科技有限公司 一种faq对话方法、装置及电子设备
CN111581354A (zh) * 2020-05-12 2020-08-25 金蝶软件(中国)有限公司 一种faq问句相似度计算方法及其系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115098656A (zh) * 2022-06-27 2022-09-23 招商银行股份有限公司 客服引擎管理方法、装置、系统、终端设备以及存储介质
CN115062607A (zh) * 2022-08-17 2022-09-16 杭州火石数智科技有限公司 对比学习的样本构造方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN114579729B (zh) 2022-08-02

Similar Documents

Publication Publication Date Title
Jung Semantic vector learning for natural language understanding
CN111125334B (zh) 一种基于预训练的搜索问答系统
Leek Information extraction using hidden Markov models
CN111325029B (zh) 一种基于深度学习集成模型的文本相似度计算方法
CN112069298A (zh) 基于语义网和意图识别的人机交互方法、设备及介质
CN114579729B (zh) 一种融合多算法模型的faq问答匹配方法和系统
Al-Khawaldeh et al. Lexical cohesion and entailment based segmentation for arabic text summarization (lceas)
CN110413768B (zh) 一种文章题目自动生成方法
CN112183094A (zh) 一种基于多元文本特征的中文语法查错方法及系统
CN113377897A (zh) 基于深度对抗学习的多语言医疗术语规范标准化系统及方法
CN107895000A (zh) 一种基于卷积神经网络的跨领域语义信息检索方法
CN111191051B (zh) 一种基于中文分词技术的应急知识图谱的构建方法及系统
Jauhiainen et al. Language model adaptation for language and dialect identification of text
CN115309872B (zh) 一种基于Kmeans召回的多模型熵加权检索方法及系统
CN112632969B (zh) 一种增量式行业词典更新方法和系统
CN112949713A (zh) 一种基于复杂网络的集成学习的文本情感分类方法
CN114818717A (zh) 融合词汇和句法信息的中文命名实体识别方法及系统
CN114398900A (zh) 一种基于RoBERTa模型的长文本语义相似度计算方法
Nugraha et al. Typographic-based data augmentation to improve a question retrieval in short dialogue system
CN115952794A (zh) 融合双语敏感词典和异构图的汉泰跨语言敏感信息识别方法
CN115759119A (zh) 一种金融文本情感分析方法、系统、介质和设备
Peng et al. Discovering financial hypernyms by prompting masked language models
CN112528003B (zh) 一种基于语义排序和知识修正的多项选择问答方法
Zi et al. SOM-NCSCM: An efficient neural chinese sentence compression model enhanced with self-organizing map
CN112000782A (zh) 一种基于k-means聚类算法的智能客服问答系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant