CN114090747A - 基于多重语义匹配的自动问答方法、装置、设备及介质 - Google Patents
基于多重语义匹配的自动问答方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114090747A CN114090747A CN202111200110.9A CN202111200110A CN114090747A CN 114090747 A CN114090747 A CN 114090747A CN 202111200110 A CN202111200110 A CN 202111200110A CN 114090747 A CN114090747 A CN 114090747A
- Authority
- CN
- China
- Prior art keywords
- question
- user
- questions
- input
- preset
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 239000013598 vector Substances 0.000 claims abstract description 99
- 239000011159 matrix material Substances 0.000 claims description 28
- 230000011218 segmentation Effects 0.000 claims description 28
- 238000012549 training Methods 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000000354 decomposition reaction Methods 0.000 claims description 6
- 238000003062 neural network model Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于多重语义匹配的自动问答方法、装置、设备及介质,方法包括:接收用户输入的问题;计算用户输入的问题与预设问题库中的问题的相似度,根据相似度得到第一候选问题集合;将用户输入的问题与第一候选问题集合输入预训练的无监督语义捕捉模型,得到用户输入问题的匹配问题;将用户输入问题的匹配问题的答案返回给用户。根据本申请提供的自动问答方法,通过关键字层面的检索和浅层语义向量的匹配从海量问题库中初步召回可能的相似问题,然后利用预训练的无监督语义捕捉模型从候选问题中选择最匹配问题,多重语义匹配的精度更高,而且模型从候选问题中进行匹配,降低了***耗时,而且整个过程无需人工打标,大大节省了人力成本。
Description
技术领域
本发明涉及自然语言处理技术领域,特别涉及一种基于多重语义匹配的自动问答方法、装置、设备及介质。
背景技术
自动问答***是基于海量互联网数据推理和对语言深度语义理解的智能***。自动问答***不仅可以回答知识类的问题,还可用于医疗、教育、生活、科技等各种与人们生活息息相关的领域,大幅提升人们获取信息的效率。
目前,自动问答***对用户问题语义层面的理解不够,因为目前的问答***大多简单通过关键词匹配,或者仅使用简单的svm等机器学习算法,或者简单的神经网络进行语义理解,语义捕捉的能力不够强,很难完全掌握用户的真实语义信息。
而且,目前的自动问答***理解语义大多需要标注数据,进行有监督的训练,标注的人力成本和时间成本很高,大量的标注数据也很难获得。自动问答***的问题召回时间也比较长,难以适应实时应用。
发明内容
本申请实施例提供了一种基于多重语义匹配的自动问答方法、装置、设备及介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
第一方面,本申请实施例提供了一种基于多重语义匹配的自动问答方法,包括:
接收用户输入的问题;
计算用户输入的问题与预设问题库中的问题的相似度,根据相似度得到第一候选问题集合;
将用户输入的问题与第一候选问题集合输入预训练的无监督语义捕捉模型,得到用户输入问题的匹配问题;
将用户输入问题的匹配问题的答案返回给用户。
在一个实施例中,接收用户输入的问题之后,还包括:
获取预设问题库中的问题;
采用预设的分词算法对用户输入的问题进行分词,得到用户问题分词;
采用预设的分词算法对预设问题库中的问题进行分词,得到问题库分词。
在一个实施例中,计算用户输入的问题与预设问题库中的问题的相似度,根据相似度得到第一候选问题集合,包括:
根据用户问题分词进行关键词匹配,得到用户输入的问题与预设问题库中的问题的第一相似度;
对预设问题库中的问题按照第一相似度进行从大到小排序,选取排名在前的预设数量个问题,得到第二候选问题集合;
根据预设问题库中的问题的句向量以及用户输入的问题的句向量计算用户输入的问题与预设问题库中的问题的第二相似度;
对预设问题库中的问题按照第二相似度进行从大到小排序,选取排名在前的预设数量个问题,得到第三候选问题集合;
将第二候选问题集合和第三候选问题集合进行合并去重,得到第一候选问题集合。
在一个实施例中,根据用户问题分词进行关键词匹配,得到用户输入的问题与预设问题库中的问题的第一相似度,包括:
根据预设公式计算用户问题分词的权重以及每个用户问题分词与预设问题库中的问题的相似性得分;
根据用户问题分词的权重以及每个用户问题分词与预设问题库中的问题的相似性得分计算用户输入的问题与预设问题库中的问题的第一相似度。
在一个实施例中,根据预设问题库中的问题的句向量以及用户输入的问题的句向量计算用户输入的问题与预设问题库中的问题的第二相似度,包括:
将问题库分词输入预训练的MLP神经网络模型,得到预设问题库中的问题的词向量;
计算预设问题库中的问题的词向量的加权平均,根据每个问题的词向量的加权平均得到预设问题库中的问题的句向量;
将预设问题库中的问题的句向量组成矩阵,并进行奇异值分解,得到转换后的第一句向量矩阵;
将用户问题分词转化为词向量;
计算用户问题分词的词向量的加权平均,根据每个词向量的加权平均得到用户输入的问题的句向量;
计算第一句向量矩阵中的每个句向量与用户输入的问题的句向量的第二相似度。
在一个实施例中,将用户输入的问题与第一候选问题集合输入预训练的无监督语义捕捉模型,得到用户输入问题的匹配问题,包括:
将用户输入的问题输入预训练的无监督语义捕捉模型,得到用户输入的问题的句向量;
将第一候选问题集合输入预训练的无监督语义模型,得到候选问题的句向量;
将用户输入的问题的句向量和候选问题的句向量组成矩阵,并进行奇异值分解,得到转换后的第二句向量矩阵;
计算第二句向量矩阵中用户输入的问题的句向量和每个候选问题的句向量的匹配得分;
将匹配得分最高的候选问题作为用户输入问题的匹配问题。
在一个实施例中,将用户输入的问题与第一候选问题集合输入预训练的无监督语义捕捉模型之前,还包括:
训练无监督语义捕捉模型;
其中,无监督语义捕捉模型为albert_chinese_tiny模型。
第二方面,本公开实施例提供了一种基于多重语义匹配的自动问答装置,包括:
接收模块,用于接收用户输入的问题;
第一计算模块,用于计算用户输入的问题与预设问题库中的问题的相似度,根据相似度得到第一候选问题集合;
第二计算模块,用于将用户输入的问题与第一候选问题集合输入预训练的无监督语义捕捉模型,得到用户输入问题的匹配问题;
问答模块,用于将用户输入问题的匹配问题的答案返回给用户。
第三方面,本公开实施例提供了一种基于多重语义匹配的自动问答设备,包括处理器和存储有程序指令的存储器,处理器被配置为在执行程序指令时,执行上述实施例提供的基于多重语义匹配的自动问答方法。
第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机可读指令,计算机可读指令被处理器执行以实现上述实施例提供的一种基于多重语义匹配的自动问答方法。
本申请实施例提供的技术方案可以包括以下有益效果:
根据本申请实施例提供的基于多种语义匹配的自动问答方法,通过关键字层面的检索和浅层语义向量的匹配从海量问题库中初步召回可能的相似问题,再使用充分训练融合大量通用领域和垂直领域知识的预训练无监督语义捕捉模型进行深层的精准语义匹配,整个过程通过多个维度,达到了很好的匹配识别效果。整个过程都是无监督,完全不需要人工打标签,大大节省了人力成本。而且,由于检索匹配和浅层语义匹配耗时极短,召回的候选问题数量较少,因此深层语义捕捉模型的计算量大大减少,整体耗时大大降低。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种基于多种语义匹配的自动问答方法的流程示意图;
图2是根据一示例性实施例示出的一种获取第一候选问题集合的方法流程示意图;
图3是根据一示例性实施例示出的一种基于多种语义匹配的自动问答装置的结构示意图;
图4是根据一示例性实施例示出的一种基于多种语义匹配的自动问答设备的结构示意图;
图5是根据一示例性实施例示出的一种计算机存储介质的示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本发明的一些方面相一致的***和方法的例子。
下面将结合附图对本申请实施例提供的基于多种语义匹配的自动问答方法进行详细介绍。参见图1,该方法具体包括以下步骤。
步骤S101、接收用户输入的问题。
在一种可能的实现方式中,自动问答***可以接收用户输入的问题,包括但不限于接收用户输入的语音问题,接收用户输入的文字问题。
进一步地,采用预设的分词算法对用户输入的问题进行分词,得到用户问题分词,例如,将用户输入的问题字符串,通过jieba分词工具进行分词,得到分词结果{q1,q2,q3,...qn}。
进一步地,获取预设问题库中的问题,通过jieba分词工具对问题库中的每个问题进行分词,得到问题库分词。
步骤S102、计算用户输入的问题与预设问题库中的问题的相似度,根据相似度得到第一候选问题集合。
在一种可能的实现方式中,得到用户输入的问题以及问题库中的问题之后,先根据关键词检索以及浅层的语义向量匹配计算相似度,进行初步筛选,得到第一候选问题集合。图2是根据一示例性实施例示出的一种获取第一候选问题集合的方法流程示意图,如图2所示,获取第一候选问题集合的方法包括如下步骤。
S201根据用户问题分词进行关键词匹配,得到用户输入的问题与预设问题库中的问题的第一相似度。
具体地,获取用户问题分词,首先根据如下公式计算每一个用户问题分词的权重:
其中,Wi表示每一个用户问题分词qi的权重得分,N表示问题库中所有的问题总数,n(qi)表示包含了qi的问题数。
进一步地,根据如下公式计算每个用户问题分词与预设问题库中的问题的相似性得分:
其中,fi表示qi在问题d中出现的频率,dl表示问题d的长度,avgdl表示问题库中所有问题的长度的平均。公式中的数字本领域技术人员可根据实际情况自行设定。
最后,根据用户问题分词的权重以及每个用户问题分词与预设问题库中的问题的相似性得分计算用户输入的问题与预设问题库中的问题的第一相似度。
根据该步骤,可以通过简单地关键词检索,计算出用户输入的问题与预设问题库中的问题的第一相似度,初步召回相似性较高的问题。
S202对预设问题库中的问题按照第一相似度进行从大到小排序,选取排名在前的预设数量个问题,得到第二候选问题集合。
得到用户输入的问题与问题库中的每一个问题的第一相似度之后,对预设问题库中的问题按照第一相似度进行从大到小排序,选取排名在前的预设数量个问题,得到第二候选问题集合。其中,选取的问题数量可以为10-50,例如,选取第一相似度较高的20个问题库中的问题作为初步召回的第二候选问题集合。本公开实施例对预设数量的取值不做具体限定,可根据实际情况自行设定。
S203根据预设问题库中的问题的句向量以及用户输入的问题的句向量计算用户输入的问题与预设问题库中的问题的第二相似度。
对于用户输入的问题,考虑从另一种角度进行简单快速的相似问题召回,将问题库里的问题转换为句向量表示,将用户输入的问题转换为句向量表示。通过向量相似度的比较召回相似问题。
具体地,训练一个两层的MLP神经网络模型,将问题库中的每一个问题的分词表示为onehot向量(X1,X2,X3,…Xn),词表大小为V,词向量大小为dim,其中,词表是问题库分词后的词组成的,大小为V表示问题库分词后的词组成的集合大小。在一种可能的实现方式中,词向量dim的参考取值为50~200,本申请实施例对词向量的取值不做具体限定,可根据实际情况自行设定。
通常,训练的目标为每个问题中,每个单词xi附近的单词xj出现的概率最大,xi不在附近的单词xothers出现的概率最小,即最大化似然函数:
其中,y表示不属于xi的词。
转化为softmax表示的log形式最大似然函数为:
其中,V表示词表大小,X表示词向量,下标代表词向量纬度大小,{y=target}表示y为目标词则为1,其他情况为0。
通过梯度下降法训练更新模型参数w即可。在一种可能的实现方式中,将问题库中的问题通过MLP网络训练100个轮次,则MLP网络的隐藏层的Wv*dim即对应了词表中每个词的词向量。
得到预设问题库中的问题的词向量之后,计算预设问题库中的问题的词向量的加权平均,根据如下公式计算每一个词向量的权重:
其中,a是可调节的超参数,p(w)为单词的词频。
根据每个问题的词向量的权重以及对应的词向量,得到这个问题的句向量。最终得到问题库中的每个问题的句向量表示(S1,S2,S3,…Sn)。将这n个句向量表示组成矩阵M,大小为n*dim,将矩阵M按照如下公式进行奇异值分解:
M=UK∑KVK
其中,UK为N*K的矩阵,按照如下公式,得到转换后的第一句向量矩阵。
M=M-UKUK TM
这种表示除去了共同部分信息,留下了差异性信息,是更好的句向量表示。当用户输入问题之后,对用户问题进行分词,并通过MLP模型得到用户问题分词的词向量表示,计算用户问题中每个词向量的加权平均,根据每个词向量的加权平均得到用户输入的问题的句向量。
计算第一句向量矩阵中的每个句向量与用户输入的问题的句向量的第二相似度。
其中,Q表示用户输入的问题的句向量,D表示第一句向量矩阵中的每个句向量。
S204对预设问题库中的问题按照第二相似度进行从大到小排序,选取排名在前的预设数量个问题,得到第三候选问题集合。
在一种可能的实现方式中,得到用户输入的问题与问题库中的问题的第二相似度之后,对预设问题库中的问题按照第二相似度进行从大到小排序,选取排名在前的预设数量个问题,得到第三候选问题集合。其中,选取的问题数量可以为10-50,例如,选取第二相似度较高的前20个问题库中的问题,得到第三候选问题集合。本公开实施例对预设数量的取值不做具体限定,可根据实际情况自行设定。
S205将第二候选问题集合和第三候选问题集合进行合并去重,得到第一候选问题集合。
通过将用户输入的问题与问题库中的问题分别进行关键字检索以及浅层语义匹配,可以得到初步筛选的第二候选问题集合以及第三候选问题集合,将第二候选问题集合和第三候选问题集合合并,并去除重合的部分,得到初步召回的第一候选问题集合。
该步骤在进行深层的语义捕捉之前,先进行初步的筛选,由于检索匹配和浅层语义匹配耗时极短,召回的问题数量不多,因此深层语义捕捉的计算量大大降低,整体耗时大大缩短。
在本申请的一个实施例中,可以使用分布式***,将关键词检索召回步骤和浅层语义召回步骤分别放在两个节点上,使用分布式的方式并行召回得到第二候选问题集合和第三候选问题集合,将第二候选问题集合和第三候选问题集合发送给主节点进行合并,然后在主节点上进行耗时稍多的深层语义匹配过程。可进一步优化耗时,提升速度。
步骤S103、将用户输入的问题与第一候选问题集合输入预训练的无监督语义捕捉模型,得到用户输入问题的匹配问题。
具体地,首先训练无监督语义捕捉模型。
在一种可能的实现方式中,采用预训练的chinese-roberta-wwm-large模型,然后使用问答***所处垂直领域的语料C1和问题库问题生成的语料C2,对chinese-roberta-wwm-large模型再次进行预训练。例如,采用垂直领域语料C1预训练50个轮次,采用问题库语料C2预训练100个轮次,得到训练好的chinese-roberta-wwm-large模型。其中,训练的次数本公开实施例不做具体限定,可根据实际情况自行设定。
在实际的实时***中,由于chinese-roberta-wwm-large模型有24层,推理耗时巨大,在实际的问答***中难以落地使用。因此,本申请实施例选用albert_chinese_tiny模型,该模型大小仅有16M,仅有4个隐藏层,推理速度快,也可在嵌入式设备中使用。
在预训练albert_chinese_tiny模型时,训练语料与训练chinese-roberta-wwm-large模型的语料相同,都采用问答***所处垂直领域的语料C1和问题库问题生成的语料C2,记为C={c1,c2,c3...,cn1},将语料词典C中的每个词嵌入到行向量di,di大小为1×n2,将所有行向量di组成矩阵D=(d1;d2;...;dn1),大小为n1×n2,每个训练样本补齐到长度n3,训练样本组成的序列为τ=(τ1;τ2;...;τn3),从训练样本组成的序列τ中随机挑选n4个词,对于这n4个位置随机挑选0.8×n4个词并将序列τ中对应的词替换为特殊字符。随机挑出0.1×n4个词,并将序列τ中对应的词替换为词表中的其他词,可随机在词表中选择,剩余的词不变,替换后的词序列记为
将替换后的序列进行编码,在一种可能的实现方式中,通过bert输入端的每个字符进行编码,加上位置编码,加上段编码,得到编码后的数据,将编码后的数据分别输入训练好的chinese-roberta-wwm-large模型和albert_chinese_tiny模型,两个模型每一层的输出为ZLn和ZTn,其中ZLn表示chinese-roberta-wwm-large模型第n层的输出,ZTn表示albert_chinese_tiny模型第n层的输出。
其中,表示从ZLn或ZTn中取出行号为(t1;t2;...;tn4)的特殊字符位置的行向量,按顺序排列起来,W表示权重变换矩阵,是模型训练出来的,维度变换让两个模型输出维度保持一致,D为词向量嵌入矩阵。根据(t1;t2;...;tn4),从H中取出对应特殊字符位置元素,就获得模型特殊字符位置输出的logits为其中表示模型第i层矩阵H中取出位置ti的特殊字符位置元素。Ln表示模型的第n层。chinese-roberta-wwm-large模型输出特殊字符位置表示为albert_chinese_tiny模型输出特殊字符位置表示为将和分别通过如下公式:
分别得到ZL和ZT,其中T是缩放因子,一般取210,可根据实际情况自行调整。之后通过如下损失函数进行训练:
L=(1-a)CE(y,ZT)+aCE(ZT,ZL)*T2
其中,y是特殊字符位置的onehot向量表示,CE表示交叉熵损失函数。通过上述方式训练得到充分吸收了chinese-roberta-wwm-large模型语义和领域知识以及问题库知识的albert_chinese_tiny模型,已经具有很强的编码表示能力。根据该步骤,得到训练好的语义捕捉模型,模型训练整个过程无需标注数据,大大降低了人力成本和时间成本。
进一步地,将初步召回的第一候选问题集合输入训练好的语义捕捉模型,得到编码后的句向量表示(d1;d2;...;dn),这里可以预处理事先得到,将用户输入的问题输入训练好的语义捕捉模型,得到编码后的句向量表示q,将q与(d1;d2;...;dn)组成矩阵M,将矩阵M按照如下公式进行奇异值分解:
M=UK∑KVK
其中,UK为N*K的矩阵。按照如下公式得到转换后第二句向量矩阵。
M=M-UKUK TM
第二句向量矩阵中,第一行为用户输入的问题的句向量表示,剩余其他行为第一候选问题集合中的每一个问题的句向量表示,计算第二句向量矩阵中用户输入的问题的句向量和每个候选问题的句向量的匹配得分:
将匹配得分最高的候选问题作为用户输入问题的匹配问题。
根据该步骤,得到召回的候选问题之后,再使用充分训练融合大量通用领域和垂直领域知识的预训练模型进行深层的精准语义匹配,整个过程通过多个维度,达到了很好的匹配识别效果。
步骤S104、将用户输入问题的匹配问题的答案返回给用户。
在一种可能的实现方式中,预设问题库中的问题会一一对应一个答案,得到与用户输入问题最匹配的问题之后,立即将最匹配的问题的答案返回给用户,实现自动问答。
本申请实施例提供的基于多种语义匹配的自动问答方法,通过关键字层面的检索和浅层语义向量的匹配从海量问题库中初步召回可能的相似问题,再使用充分训练融合大量通用领域和垂直领域知识的预训练无监督语义捕捉模型进行深层的精准语义匹配,整个过程通过多个维度,达到充分的挖掘用户语义的能力,充分理解用户问题,提高语义识别的精度。
整个过程都是无监督,完全不需要人工打标签,大大节约了人力成本,大大降低了相关问题获取和标注的门槛,大大降低了问答***的设计门槛。
进一步地,本申请设计成分布式***,并行进行检索召回和浅层语义召回阶段,由于检索召回和浅层语义召回耗时极短,召回的候选问题数量较少,因此深层语义捕捉模型的计算量大大减少,整体耗时大大降低。而且深层语义捕捉模型使用4层的预训练模型,大大降低整个***的耗时,可用于实时的问答***。
本申请实施例还提供一种基于多重语义匹配的自动问答装置,该装置用于执行上述实施例的基于多重语义匹配的自动问答方法,如图3所示,该装置包括:
接收模块301,用于接收用户输入的问题;
第一计算模块302,用于计算用户输入的问题与预设问题库中的问题的相似度,根据相似度得到第一候选问题集合;
第二计算模块303,用于将用户输入的问题与第一候选问题集合输入预训练的无监督语义捕捉模型,得到用户输入问题的匹配问题;
问答模块304,用于将用户输入问题的匹配问题的答案返回给用户。
需要说明的是,上述实施例提供的基于多重语义匹配的自动问答装置在执行基于多重语义匹配的自动问答方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于多重语义匹配的自动问答装置与基于多重语义匹配的自动问答方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
本申请实施例还提供一种与前述实施例所提供的基于多重语义匹配的自动问答方法对应的电子设备,以执行上述基于多重语义匹配的自动问答方法。
请参考图4,其示出了本申请的一些实施例所提供的一种电子设备的示意图。如图4所示,电子设备包括:处理器400,存储器401,总线402和通信接口403,处理器400、通信接口403和存储器401通过总线402连接;存储器401中存储有可在处理器400上运行的计算机程序,处理器400运行计算机程序时执行本申请前述任一实施例所提供的基于多重语义匹配的自动问答方法。
其中,存储器401可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口403(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线402可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。其中,存储器401用于存储程序,处理器400在接收到执行指令后,执行程序,前述本申请实施例任一实施方式揭示的基于多重语义匹配的自动问答方法可以应用于处理器400中,或者由处理器400实现。
处理器400可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器400中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器400可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器401,处理器400读取存储器401中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的基于多重语义匹配的自动问答方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施例还提供一种与前述实施例所提供的基于多重语义匹配的自动问答方法对应的计算机可读存储介质,请参考图5,其示出的计算机可读存储介质为光盘500,其上存储有计算机程序(即程序产品),计算机程序在被处理器运行时,会执行前述任意实施例所提供的基于多重语义匹配的自动问答方法。
需要说明的是,计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的基于多重语义匹配的自动问答方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于多重语义匹配的自动问答方法,其特征在于,包括:
接收用户输入的问题;
计算用户输入的问题与预设问题库中的问题的相似度,根据所述相似度得到第一候选问题集合;
将用户输入的问题与所述第一候选问题集合输入预训练的无监督语义捕捉模型,得到用户输入问题的匹配问题;
将用户输入问题的匹配问题的答案返回给用户。
2.根据权利要求1所述的方法,其特征在于,接收用户输入的问题之后,还包括:
获取预设问题库中的问题;
采用预设的分词算法对用户输入的问题进行分词,得到用户问题分词;
采用预设的分词算法对预设问题库中的问题进行分词,得到问题库分词。
3.根据权利要求2所述的方法,其特征在于,计算用户输入的问题与预设问题库中的问题的相似度,根据所述相似度得到第一候选问题集合,包括:
根据所述用户问题分词进行关键词匹配,得到用户输入的问题与预设问题库中的问题的第一相似度;
对预设问题库中的问题按照所述第一相似度进行从大到小排序,选取排名在前的预设数量个问题,得到第二候选问题集合;
根据预设问题库中的问题的句向量以及用户输入的问题的句向量计算用户输入的问题与预设问题库中的问题的第二相似度;
对预设问题库中的问题按照所述第二相似度进行从大到小排序,选取排名在前的预设数量个问题,得到第三候选问题集合;
将所述第二候选问题集合和所述第三候选问题集合进行合并去重,得到所述第一候选问题集合。
4.根据权利要求3所述的方法,其特征在于,根据所述用户问题分词进行关键词匹配,得到用户输入的问题与预设问题库中的问题的第一相似度,包括:
根据预设公式计算所述用户问题分词的权重以及每个用户问题分词与预设问题库中的问题的相似性得分;
根据用户问题分词的权重以及每个用户问题分词与预设问题库中的问题的相似性得分计算用户输入的问题与预设问题库中的问题的第一相似度。
5.根据权利要求3所述的方法,其特征在于,根据预设问题库中的问题的句向量以及用户输入的问题的句向量计算用户输入的问题与预设问题库中的问题的第二相似度,包括:
将所述问题库分词输入预训练的MLP神经网络模型,得到预设问题库中的问题的词向量;
计算所述预设问题库中的问题的词向量的加权平均,根据每个问题的词向量的加权平均得到预设问题库中的问题的句向量;
将预设问题库中的问题的句向量组成矩阵,并进行奇异值分解,得到转换后的第一句向量矩阵;
将所述用户问题分词转化为词向量;
计算用户问题分词的词向量的加权平均,根据每个词向量的加权平均得到用户输入的问题的句向量;
计算所述第一句向量矩阵中的每个句向量与用户输入的问题的句向量的第二相似度。
6.根据权利要求1所述的方法,其特征在于,将用户输入的问题与所述第一候选问题集合输入预训练的无监督语义捕捉模型,得到用户输入问题的匹配问题,包括:
将用户输入的问题输入预训练的无监督语义捕捉模型,得到用户输入的问题的句向量;
将所述第一候选问题集合输入预训练的无监督语义模型,得到候选问题的句向量;
将所述用户输入的问题的句向量和候选问题的句向量组成矩阵,并进行奇异值分解,得到转换后的第二句向量矩阵;
计算所述第二句向量矩阵中用户输入的问题的句向量和每个候选问题的句向量的匹配得分;
将匹配得分最高的候选问题作为用户输入问题的匹配问题。
7.根据权利要求1所述的方法,其特征在于,将用户输入的问题与所述第一候选问题集合输入预训练的无监督语义捕捉模型之前,还包括:
训练所述无监督语义捕捉模型;
其中,所述无监督语义捕捉模型为albert_chinese_tiny模型。
8.一种基于多重语义匹配的自动问答装置,其特征在于,包括:
接收模块,用于接收用户输入的问题;
第一计算模块,用于计算用户输入的问题与预设问题库中的问题的相似度,根据所述相似度得到第一候选问题集合;
第二计算模块,用于将用户输入的问题与所述第一候选问题集合输入预训练的无监督语义捕捉模型,得到用户输入问题的匹配问题;
问答模块,用于将用户输入问题的匹配问题的答案返回给用户。
9.一种基于多重语义匹配的自动问答设备,其特征在于,包括处理器和存储有程序指令的存储器,所述处理器被配置为在执行所述程序指令时,执行如权利要求1至7任一项所述的基于多重语义匹配的自动问答方法。
10.一种计算机可读介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令被处理器执行以实现如权利要求1至7任一项所述的一种基于多重语义匹配的自动问答方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111200110.9A CN114090747A (zh) | 2021-10-14 | 2021-10-14 | 基于多重语义匹配的自动问答方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111200110.9A CN114090747A (zh) | 2021-10-14 | 2021-10-14 | 基于多重语义匹配的自动问答方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114090747A true CN114090747A (zh) | 2022-02-25 |
Family
ID=80296939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111200110.9A Pending CN114090747A (zh) | 2021-10-14 | 2021-10-14 | 基于多重语义匹配的自动问答方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114090747A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595695A (zh) * | 2018-05-08 | 2018-09-28 | 和美(深圳)信息技术股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110750616A (zh) * | 2019-10-16 | 2020-02-04 | 网易(杭州)网络有限公司 | 检索式聊天方法、装置以及计算机设备 |
CN111259647A (zh) * | 2020-01-16 | 2020-06-09 | 泰康保险集团股份有限公司 | 基于人工智能的问答文本匹配方法、装置、介质及电子设备 |
CN111310438A (zh) * | 2020-02-20 | 2020-06-19 | 齐鲁工业大学 | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 |
CN111427995A (zh) * | 2020-02-26 | 2020-07-17 | 平安科技(深圳)有限公司 | 基于内部对抗机制的语义匹配方法、装置及存储介质 |
CN111581354A (zh) * | 2020-05-12 | 2020-08-25 | 金蝶软件(中国)有限公司 | 一种faq问句相似度计算方法及其*** |
CN111797214A (zh) * | 2020-06-24 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 基于faq数据库的问题筛选方法、装置、计算机设备及介质 |
CN111858859A (zh) * | 2019-04-01 | 2020-10-30 | 北京百度网讯科技有限公司 | 自动问答处理方法、装置、计算机设备及存储介质 |
US20200401765A1 (en) * | 2018-08-29 | 2020-12-24 | Tencent Technology (Shenzhen) Company Limited | Man-machine conversation method, electronic device, and computer-readable medium |
CN112800170A (zh) * | 2019-11-14 | 2021-05-14 | 华为技术有限公司 | 问题的匹配方法及装置、问题的回复方法及装置 |
-
2021
- 2021-10-14 CN CN202111200110.9A patent/CN114090747A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595695A (zh) * | 2018-05-08 | 2018-09-28 | 和美(深圳)信息技术股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
US20200401765A1 (en) * | 2018-08-29 | 2020-12-24 | Tencent Technology (Shenzhen) Company Limited | Man-machine conversation method, electronic device, and computer-readable medium |
CN111858859A (zh) * | 2019-04-01 | 2020-10-30 | 北京百度网讯科技有限公司 | 自动问答处理方法、装置、计算机设备及存储介质 |
CN110750616A (zh) * | 2019-10-16 | 2020-02-04 | 网易(杭州)网络有限公司 | 检索式聊天方法、装置以及计算机设备 |
CN112800170A (zh) * | 2019-11-14 | 2021-05-14 | 华为技术有限公司 | 问题的匹配方法及装置、问题的回复方法及装置 |
CN111259647A (zh) * | 2020-01-16 | 2020-06-09 | 泰康保险集团股份有限公司 | 基于人工智能的问答文本匹配方法、装置、介质及电子设备 |
CN111310438A (zh) * | 2020-02-20 | 2020-06-19 | 齐鲁工业大学 | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 |
CN111427995A (zh) * | 2020-02-26 | 2020-07-17 | 平安科技(深圳)有限公司 | 基于内部对抗机制的语义匹配方法、装置及存储介质 |
CN111581354A (zh) * | 2020-05-12 | 2020-08-25 | 金蝶软件(中国)有限公司 | 一种faq问句相似度计算方法及其*** |
CN111797214A (zh) * | 2020-06-24 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 基于faq数据库的问题筛选方法、装置、计算机设备及介质 |
Non-Patent Citations (2)
Title |
---|
吴昊、黄河燕: "基于认知概念信息量的文本语义相似度模型研究", vol. 2021, 31 January 2021, 北京理工大学出版社, pages: 122 - 124 * |
苏新宁、杨建林: "数据挖掘理论与技术", vol. 2003, 30 June 2003, 科学技术文献出版社, pages: 186 - 191 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298037B (zh) | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 | |
CN110866140B (zh) | 图像特征提取模型训练方法、图像搜索方法及计算机设备 | |
CN110019843B (zh) | 知识图谱的处理方法及装置 | |
CN110362723B (zh) | 一种题目特征表示方法、装置及存储介质 | |
CN111738003B (zh) | 命名实体识别模型训练方法、命名实体识别方法和介质 | |
CN112819023B (zh) | 样本集的获取方法、装置、计算机设备和存储介质 | |
CN110263325B (zh) | 中文分词*** | |
CN111444344B (zh) | 实体分类方法、装置、计算机设备和存储介质 | |
EP3937087A1 (en) | Knowledge-graph biased classification for data | |
CN110619044B (zh) | 一种情感分析方法、***、存储介质及设备 | |
CN112711948A (zh) | 一种中文句子的命名实体识别方法及装置 | |
CN113220876B (zh) | 一种用于英文文本的多标签分类方法及*** | |
CN114358188A (zh) | 特征提取模型处理、样本检索方法、装置和计算机设备 | |
CN113806580B (zh) | 基于层次语义结构的跨模态哈希检索方法 | |
CN111581368A (zh) | 一种基于卷积神经网络的面向智能专家推荐的用户画像方法 | |
CN113761868B (zh) | 文本处理方法、装置、电子设备及可读存储介质 | |
CN111400494A (zh) | 一种基于GCN-Attention的情感分析方法 | |
CN111611796A (zh) | 下位词的上位词确定方法、装置、电子设备及存储介质 | |
CN111145914A (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN111709225A (zh) | 一种事件因果关系判别方法、装置和计算机可读存储介质 | |
TW200529095A (en) | Reference data recognition and learning method and pattern recognition system | |
CN114676692A (zh) | 一种评论语句特定目标关键词情感分析方法及*** | |
CN113535960A (zh) | 一种文本分类方法、装置和设备 | |
CN111666375A (zh) | 文本相似度的匹配方法、电子设备和计算机可读介质 | |
CN110334204B (zh) | 一种基于用户记录的习题相似度计算推荐方法 |
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 |