一种问题回复匹配方法、系统、服务器及存储介质与流程

文档序号:32838827发布日期:2023-01-06 20:06阅读:66来源:国知局
技术简介:
本发明针对用户提问与标准问答对匹配效率低、精准度不足的问题,提出融合知识库与深度学习的解决方案。通过分词过滤干扰词、结合Elasticsearch与pysparnn多阶段召回相似问题,利用孪生神经网络计算相似度并过滤阈值,最终匹配标准问答对。系统支持用户分类权限管理,提升匹配效率与精准度。
关键词:问答匹配系统,深度学习算法

1.本发明涉及人工智能咨询技术领域,具体涉及一种问题回复匹配方法、系统、服务器及存储介质。


背景技术:

2.随着互联网行业的发展,各大企业对于答复用户问题的需求大幅提高,然而人工客服存在着培训和管理成本高、员工工作效率低、工作重复度高、服务质量不稳定等问题,也给企业带来了很大的压力。
3.人工智能技术的普及促进了智能咨询机器人的发展,智能咨询机器人能够24小时在线为用户回复问题,提高了问题回复的效率,也为企业节省了大量的人工服务成本。但现有的智能咨询机器人也同样存在着许多问题。
4.1.由于智能咨询机器人的问题匹配多基于分词后计算相似度,在此过程中,不常见的专业词汇可能被错误分词,从而无法正确匹配与该专业词汇有关的问答对,这也导致了智能咨询机器人在面对不同业务场景时回复准确率低。
5.2.问题回复匹配过程中,智能咨询机器人没有面向用户进行分类,也没有设置用户的问题匹配权限。由于不同用户群体涉及同一关键词的提问内容可能关联着不同的问题或回复,使得智能咨询机器人提供的回复并不适合用户的实际情况,影响了问题回复的准确率,在数据安全性上也存在一定问题。
6.3.现有的语料知识库多基于数据服务器,语料数据的调用速度较慢,回复匹配系统的计算性能低。
7.综上所述,现有智能咨询机器人主要面临着问题回复匹配相关性差、精确度低、计算性能低的问题。


技术实现要素:

8.针对上述现有技术,本发明提供一种问题回复匹配方法、系统、服务器及存储介质,针对多种用户自身情况和提问情况,提供最接近、最契合用户意图的问题回复匹配,大大提升了回复精确度和回复匹配效率。
9.为实现上述目的,本发明通过以下技术方案得以实现:
10.第一方面,提供一种问题回复匹配方法,包括以下步骤:
11.获取用户类别和用户提问内容;
12.对用户提问内容进行分词,获得问题分词;
13.根据关键词库和自定义业务词典标识问题分词中的关键词;
14.过滤问题分词中的干扰词;
15.匹配与用户提问内容相似度最高的n个相似问题;
16.匹配相似问题对应的标准问答对并返回用户。
17.在第一方面的可选实施例中,过滤问题分词中的干扰词包括以下步骤:
18.将问题分词与知识库中的敏感词库进行匹配;
19.若问题分词中存在敏感词,则向用户返回存在敏感词的提醒;
20.若问题分词中不存在敏感词,则将问题分词与知识库中的停用词和符号库进行匹配;
21.剔除问题分词中的停用词和符号。
22.在第一方面的可选实施例中,匹配与用户提问内容相似度最高的n个相似问题包括以下步骤:
23.识别问题分词中是否包括关键词标识;
24.当识别到关键词标识时,通过搜索引擎根据关键词在知识库中搜索与用户提问内容相似度最高的前n个相似问题;
25.当未识别到关键词标识时,将问题分词通过算法模型转换为向量;
26.通过pysparnn从知识库的相似问题索引文件中召回与用户提问内容相似度排名前n的相似问题;
27.通过孪生神经网络计算相似问题与用户输入内容的相似度,对相似问题按相似度进行降序排列;
28.输出相似度达到预设阈值的相似问题;
29.所述预设阈值由预先设置、人工调整确定。
30.具体地,所述相似问题索引文件在用户提问前生成,包括以下步骤:
31.当相似问题以字、词形式存储时,输入bm25字、词模型和tf-idf字、词模型中转化为字、词维度的向量;
32.当相似问题以文本形式存储时,输入fasttext模型转化为文本维度的向量;
33.将字、词、文本维度的向量输入sentence2vector模型,获取字、词、文本维度的索引文件;
34.将字、词、文本维度的索引文件输入神经网络中进行评估和排序,输出最优的相似问题索引文件。
35.优选地,通过神经网络对字、词、文本维度的索引文件进行加权计算,输出加权后的相似问题索引文件。
36.进一步地,在用户提问前,将知识库中语料信息分字、分词、分文本聚类统计存储,相似问题以字、词、文本形式输入算法模型。
37.进一步地,在构建孪生神经网络对召回的相似问题进行排序的过程中,使用attention机制、pooling池化、损失度计算优化相似度计算过程。
38.在第一方面的可选实施例中,所述匹配相似问题对应的标准问答对并返回用户包括以下步骤:
39.匹配相似问题对应的标准问答对;
40.识别标准问答对的类别标识;
41.向用户优先返回包含该用户类别标识的标准问答对。
42.基于上述方案,优选地,所述向用户优先返回包含该用户类别标识的标准问答对还包括以下步骤:
43.在匹配到的标准问题中剔除包含其他用户类别标识的标准问答对,优先向用户返
回包含该用户类别标识的标准问答对,再返回不包含用户类别标识的公共标准问答对。
44.在第一方面的可选实施例中,优选地,当未获取到用户提问内容时,根据用户类别匹配该类别热门标准问答对并返回用户。
45.第二方面,提供一种问题匹配系统,包括:
46.知识库模块,包括数据服务器和nosql服务器,存储匹配所需的数据供其他模块调用;
47.文本处理模块,对用户提问内容进行分词,对问题分词进行处理;
48.深度学习模块,通过问题分词匹配与用户提问内容相似度最高的n个相似问题;
49.用户交互模块,获取用户操作指令和输入内容,向用户返回匹配结果和指引;
50.问答对匹配模块,对标准问答对、热门标准问答对进行匹配、分类。
51.在第二方面的可选实施例中,所述匹配所需的数据包括:用户类别、相似问题、关键词、敏感词、停用词和符号、相似度阈值、相似问题和标准问答对的关系、标准问答对和用户类别标识的关系、热门标准问答对和用户类别标识的关系等。
52.在第二方面的可选实施例中,文本处理模块对用户提问内容进行分词,筛选用户提问内容中的敏感词,过滤用户提问内容中的停用词和符号。
53.在第二方面的可选实施例中,用户交互模块中包括用户终端,所述用户终端为pc端、app、手机端、智能终端中的一种。
54.在第二方面的可选实施例中,深度学习模块的计算内容包括:引擎搜索、pysparnn召回、文本匹配、attention机制、文本序列化、孪生神经网络、用户类别筛选、相似度过滤。
55.在第二方面的可选实施例中,知识库模块包括数据服务器和nosql服务器,知识库数据存储在数据服务器中,同时更新到nosql服务器。
56.第三方面,提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现如前述第一方面所述问题回复匹配方法。
57.第四方面,提供一种问题回复匹配计算机可读存储介质,存储有计算机程序,其特征在于,当计算机程序被处理器执行时,实现如前述第一方面所述问题回复匹配方法。
58.本技术提供的技术方案带来的有益效果是:
59.1.本发明实施例中对于用户提问内容进行了精准的语义识别和回复匹配,在语料处理的过程中,面对不同的应用场景设置自定义业务词典,实现正确识别本应用场景的专业词汇和业务关键词,有效提高了问题匹配的效率和准确度。
60.2.本发明实施例中还针对用户类别对标准问答对进行分类,优先将包含本用户类别的标准问答对返回给用户,细化了回复匹配的精度。在特定的业务场景中,本发明可通过用户类别标识针对不同用户群体设置访问权限,用户只能获得与本用户类别有关的问题回复和公共问题回复,这也大大提高了数据安全性。
61.3.本发明实施例的知识库模块采取了数据服务器和nosql服务器并用的模式,数据服务器用于数据存储和日常维护,提高数据稳定性;nosql服务器供其他模块数据调用,内存计算性能更优,从而提升了匹配速率。
62.本技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
63.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
64.图1是本发明一实施例提供的一种问题回复匹配方法的流程图;
65.图2是本发明一实施例提供的一种一种问题回复匹配方法中过滤干扰词步骤的流程图;
66.图3是本发明一实施例提供的一种问题回复匹配方法中匹配相似问题步骤的流程图;
67.图4是本发明一实施例提供的一种问题回复匹配方法中相似问题索引文件生成的流程图;
68.图5是本发明一实施例提供的一种员工咨询问题回复匹配方法的流程图;
69.图6是本发明一实施例提供的一种问题回复匹配系统结构图;
70.图7是本发明一实施例提供的一种问题回复匹配系统示意图。
具体实施方式
71.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
72.实施例一
73.如图1所示,提供一种问题回复匹配方法,包括如下步骤:。
74.s1:获取用户类别和用户提问内容;
75.具体地,用户使用pc端、app、手机端等智能终端通过互联网与服务器连接,以输入问题的形式提问,根据用户登录信息和输入内容,获取用户类别和用户提问内容。
76.需要说明的是,输入方式为键盘输入、语音输入、手写输入、图像识别输入等的一种或多种。
77.s2:对用户提问内容进行分词,获得问题分词;
78.具体地,使用中文分词工具将用户提问内容切分成数个单独的词,所述中文分词工具为jieba、snownlp、thulac、nlpir、stanfordnlp、hannlp中的一种。
79.s3:标识问题分词中的关键词;
80.具体地,关键词存储在知识库中的关键词库和自定义业务词典中,将问题分词与关键词库和自定义业务词典进行匹配,若问题分词中存在关键词,则对识别到的关键词进行标识。
81.需要说明的是,关键词库是预先设置的,存储问题回复匹配涉及的常用词汇、专业词汇、业务词汇。自定义业务词典可以由维护人员面向不同的业务场景和实际需求进行修改和更新,从而提高回复匹配的准确率。
82.s4:过滤问题分词中的干扰词;
83.具体地,这一步骤用于提问文本的处理,如图2所示,包括以下步骤:
84.s4.1:将问题分词与知识库中的敏感词库进行匹配,识别问题分词中是否包括敏感词;
85.s4.2:若问题分词中存在敏感词,则向用户返回存在敏感词的提醒;若问题分词中不存在敏感词,则继续执行s4.3;
86.s4.3:将问题分词与知识库中的停用词和符号库进行匹配,识别问题分词中是否包括停用词和符号;
87.s4.4:若问题分词中存在停用词和符号,则剔除问题分词中的停用词和符号;若问题分词中不存在停用词和符号,则无需剔除。
88.进一步地,s4.2中向用户返回存在敏感词的提示后,需要等待用户再次提问后重新执行s1。
89.需要说明的是,敏感词通常为带有敏感倾向、暴力倾向等的不文明用词,停用词通常为提问内容中出现频率高但没有实际意义的词语,筛选敏感词、过滤停用词和符号不会对语义识别造成影响,同时也能提高计算效率。
90.s5:匹配与用户提问内容相似度最高的n个相似问题;
91.具体地,如图3所示,匹配相似问题包括以下步骤:
92.s5.1:识别问题分词中是否包括关键词标识;
93.所述关键词标识来自s3中标识问题分词中与关键词库和自定义业务词典匹配到的关键词。
94.s5.2:当识别到关键词标识时,通过elasticsearch引擎根据关键词在知识库中搜索与用户提问内容相似度最高的前n个相似问题;
95.具体地,elasticsearch是一种实时分析的分布式搜索与数据分析引擎,具有高扩展、高并发的特点,通过分词控制器对提交到elasticsearch数据库中的语料数据进行分词,分词结果与权重共同存储于数据中,当进行搜索时,会根据权重对分词结果进行打分、排名后返回用户。使用elasticsearch引擎搜索获取相似问题可以提高检索的效率,但相较于召回相似问题精准度有所降低。
96.s5.3:当未识别到关键词标识时,将问题分词通过word2vec模型转换为词向量;
97.具体地,word2vec模型可以将词转化为词向量,包含cbow和skip-gram算法。cbow模型的原理在于用上下文来预测中心词,一般根据中心词前后连续的n个词来计算目标词的出现概率。skip-gram模型的原理在于根据在每一次迭代中选取的中心词来预测上下文。通过word2vec可以将用户提问内容的问题分词转化为词向量,用于后续pysparnn召回相似问题。
98.s5.4:通过pysparnn从知识库中召回相似度排名前n的相似问题;
99.具体地,pysparnn使用的是一种簇修剪的技术,对数据进行聚类,后续在有限个类别中进行数据的搜索,根据计算的相似度返回结果。将用户提问内容的词向量与相似问题索引文件进行相似度计算,召回相似度排名前n的相似问题。
100.s5.5:通过孪生神经网络计算相似问题与用户输入内容的相似度,对相似问题按相似度进行降序排列;
101.具体地,孪生神经网络就是有两个共享权值的网络的组成,通常需要输入两个句
子,输出相似度的值。将用户提问内容与召回的相似问题输入孪生神经网络,向量化后通过lstm网络处理,经过exp计算出两者的相似度,输出用户提问内容与相似问题的相似度。按相似度对召回的相似问题进行降序排列。
102.进一步地,在构建孪生神经网络对召回的相似问题进行排序的过程中,使用attention机制、pooling池化、损失度计算优化相似度计算过程,提高相似度计算的精准性。
103.具体地,pooling池化是一种降采样的技术,用来减少特征的数量。增加attention机制是为了赋予句子中每个词不同的权重,增加模型的灵活性,在孪生神经网络中,通常先获取attention_weight,把其中输入一个句子的output理解为另一个句子的encoder的output,再将attention_weight和encoder_output相乘。在孪生神经网络中使用对比损失作为损失函数计算损失度,从而对模型进行评估和优化。
104.s5.6:输出相似度达到预设阈值的相似问题;
105.具体地,所述预设阈值由预先设置、人工调整确定,删除未达到预设阈值的相似问题,输出相似度达到预设阈值的相似问题。
106.进一步地,若无达到预设阈值的相似问题,则向用户返回无匹配内容的提醒。
107.s6:匹配相似问题对应的标准问答对并返回用户。
108.具体地,匹配标准问答对包括以下步骤:
109.s6.1:根据召回相似度前n个相似问题,在知识库中逐一匹配每个相似问题对应的标准问答对;
110.s6.2:识别标准问答对的类别标识;
111.s6.3:根据类别标识将标准问答对分为包含和不包含两类;
112.s6.4:先向用户优先返回包含该用户类别标识的标准问答对,再返回不包含该用户类别标识的标准问答对。
113.实施例二
114.基于实施例一,如图1、图3、图4所示,提供一种相似问题生成索引文件的方法,包括如下步骤:
115.s001:识别相似问题的形式;
116.具体地,在用户提问前,将知识库中语料信息分字、分词、分文本聚类统计存储,相似问题以字、词、文本形式输入算法模型。
117.s002:当相似问题以字、词形式存储时,输入bm25字、词模型和tf-idf字、词模型中转化为字、词维度的向量;
118.具体地,tf-idf字、词模型是基于tf-idf算法将字、词转换为向量的模型。tf-idf算法通过词频tf和逆文档频率之积idf的数值来表示一个词,公式如下:
119.tf-idf=tf*idf
120.其中,
121.相较于传统的词袋模型,tf-idf字、词模型引入了词的重要性作为指标,这也使得tf-idf字、词模型构建的向量更为准确。
122.bm25字、词模型基于tf-idf字、词模型进行了优化,公式如下:
[0123][0124]
其中,k和b是两个可调参数,k》0,默认值为1.2;b∈[0.1],默认值为0.75;dl为包含该字、词的文档的长度,avgdl为所有文档的平均长度。
[0125]
s003:当相似问题以文本形式存储时,输入fasttext模型转化为文本维度的向量;
[0126]
fasttext是一种词向量与文本分类工具,架构与word2vec中的cbow架构较为类似,但fasttext模型不是预测中间词而是预测文本分类,还引入了n-gram特征进行文本分类。fasttext模型包含输入层、隐藏层和输出层。向fasttext模型中输入文本,输入层通过输入词的序列向量以及相关特征来共同表示单个文本;隐藏层是对多个词向量的叠加平均;输出层是输出文本对应分类的概率。此外,fasttext模型还利用了一个分层分类器,层次softmax在哈弗曼编码的基础上对标签进行编码,缩小了模型预测目标的数量,减少训练的复杂度,提高计算效率。
[0127]
s004:将字、词、文本维度的向量输入sentence2vector模型,获取字、词、文本维度的索引文件;
[0128]
具体地,将bm25字、词模型、tf-idf字、词模型或fasttext模型获得的相似问题字、词、文本向量输入到sentence2vector模型中,sentence2vector模型是一种无监督的,基于词向量计算句子向量的模型,对句子中的所有词的词向量进行加权平均,再使用pca/svd对向量值进行修改,获得输入信息的句子向量。相较于将所有词的词向量平均来表示句子向量的方式,sentence2vector的计算效果更佳。
[0129]
s005:将字、词、文本维度的索引文件输入神经网络中进行评估和排序,输出最优的相似问题索引文件。
[0130]
优选地,通过神经网络对字、词、文本维度的索引文件进行加权计算,输出加权后的相似问题索引文件。
[0131]
具体地,神经网络中包括seq2seq模型、dnnsort算法和孪生神经网络。seq2seq包括编码器(encoder)和解码器(decoder),编码器用于理解输入内容,解码器对向量进行解码、输出。dnnsort算法是深度神经网络中的排序算法,结合作为底层逻辑的孪生神经网络可以实现对字、词、句子三个维度的向量进行相似度评估、排序、加权计算,最终输出最优的索引文件或加权后的索引文件。
[0132]
优选地,s001—s004可作为实施例1中的s5.3的代替方案,问题分词可通过s001—s004中所述步骤转换为向量。
[0133]
实施例三
[0134]
本实施例提供一种企业员工咨询回复匹配方法,该方法运用于企业管理中,代替人事、财务回复员工的各类咨询问题,如考勤、薪酬、差旅等,面向用户为企业员工,用户类别为员工所属部门。如图5所示,所述企业员工咨询回复匹配方法包括如下步骤:
[0135]
将匹配所需的数据加载到内存知识库中;
[0136]
具体地,所述匹配所需的数据包括员工部门、相似问题、关键词、敏感词、停用词和符号、相似度阈值、相似问题与标准问答对的关系、标准问答对及员工部门标识、热门标准问答对及员工部门标识关系。
[0137]
获取用户登录信息,进行问题指引;
[0138]
具体地,所述问题指引包括以下步骤:
[0139]
通过用户登录信息,获得用户部门;
[0140]
从内存知识库中获取该部门的热门标准问题并返回用户;
[0141]
若用户选择热门标准问题之一,则向用户返回相应问题回复;
[0142]
若用户未选择热门标准问题,则继续等待用户提问。
[0143]
用户输入提问内容,获取用户提问内容;
[0144]
对用户提问内容进行分词,获得问题分词;
[0145]
判断问题分词中是否包含关键词;
[0146]
具体地,将问题分词与知识库中的关键词库和自定义业务词典进行匹配,判断问题分词中是否包含关键词库和自定义业务词典中的关键词。
[0147]
若问题分词中不包含关键词,进行提问匹配;
[0148]
具体地,所述提问匹配包括以下步骤:
[0149]
过滤问题分词中的敏感词;
[0150]
剔除问题分词中的停用词和符号;
[0151]
将问题分词输入算法模型中转换为词向量;
[0152]
通过pysparnn从知识库的相似问题索引文件中召回与用户提问内容相似度排名前n的相似问题;
[0153]
匹配相似问题对应的标准问题并返回用户;
[0154]
若用户选择标准问题,获取用户选择的标准问题,返回相应问题的回复;
[0155]
若用户未选择标准问题,则提示用户重新输入提问内容,重新进行问题联想或提问匹配。
[0156]
若问题分词中包含关键词,则根据关键词进行问题联想。
[0157]
具体地,所述问题联想包括以下步骤:
[0158]
标识问题分词中的关键词;
[0159]
通过elasticsearch引擎根据关键词在知识库中搜索与用户提问内容相似度最高的前n个相似问题;
[0160]
匹配相似问题对应的标准问题并返回用户;
[0161]
若用户选择标准问题,获取用户选择的标准问题,返回标准问题的回复;
[0162]
若用户未选择标准问题,则删去问题分词中的关键词标识,进行提问匹配。
[0163]
进一步地,为实现各部门间的员工权限管理,所述匹配相似问题对应的标准问题还包括以下步骤:
[0164]
识别标准问题的部门标识;
[0165]
向用户返回包含该员工部门标识的标准问题;
[0166]
向用户返回不包含部门标识的公共标准问题。
[0167]
实施例四
[0168]
本实施例提供一种问题回复匹配系统,如图6所示,所述问题回复匹配系统包括:
[0169]
用户交互模块1,获取用户操作指令和输入内容,向用户返回匹配结果和指引;
[0170]
具体地,用户交互模块1中包括用户终端,所述用户终端为pc端、app、手机端、智能
终端等的任一种。
[0171]
文本处理模块2,对用户提问内容进行分词,对问题分词进行处理;
[0172]
具体地,所述对问题分词进行处理包括筛选用户提问内容中的敏感词、过滤用户提问内容中的停用词和符号。
[0173]
知识库模块3,包括数据服务器和nosql服务器,存储匹配所需的数据供其他模块调用;
[0174]
具体地,所述匹配所需的数据包括:用户类别、相似问题、关键词、敏感词、停用词和符号、相似度阈值、相似问题和标准问答对的关系、标准问答对和用户类别标识的关系、热门标准问答对和用户类别标识的关系等。
[0175]
深度学习模块4,通过问题分词匹配与用户提问内容相似度最高的n个相似问题;
[0176]
具体地,深度学习模块4的计算内容包括:elasticsearch引擎搜索、pysparnn召回、文本匹配、attention机制、文本序列化、孪生神经网络、用户类别筛选、相似度过滤。
[0177]
问答对匹配模块5,对标准问答对、热门标准问答对进行匹配、分类。
[0178]
具体地,问答对匹配模块5为深度学习模块4输出的相似问题匹配标准问答对或根据用户类别匹配热门标准问答对,依据部门标识对标准问答对和热门标准问答对进行分类。
[0179]
如图7所示,本实施例提供的一种问题回复匹配系统可以通过以下设备实现:
[0180]
用户交互模块1包括用户终端6和web服务器7,其中用户终端6可以是pc端、app、手机端、智能终端中的一种。
[0181]
用户终端6将用户类别、用户提问内容通过web服务器7传至应用服务器8。文本处理模块2、深度学习模块4、问答对匹配模块5的业务运行均在应用服务器8中完成。
[0182]
知识库模块3通过数据库服务器9和nosql服务器10构建完成,存储匹配所需的数据。数据库服务器9用于日常存储数据,方便运营人员维护数据。数据库服务器9中的数据更新到nosql服务器10,以供其他模块调用数据进行计算,由于nosql服务器10在内存中,所以调用速度更快,提高了匹配的效率。以上所有服务器及移动终端均通过网络连接。
[0183]
为实现上述实施例,本发明实施例还提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,当计算机程序被处理器执行时,实现如前述实施例所述问题回复匹配方法。
[0184]
为实现上述实施例,本发明实施例还提供一种计算机可读存储介质,存储有计算机程序,其特征在于,当计算机程序被处理器执行时,实现如前述实施例所述问题回复匹配方法。
[0185]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!