CN106815311B - 一种问题匹配方法和装置 - Google Patents
一种问题匹配方法和装置 Download PDFInfo
- Publication number
- CN106815311B CN106815311B CN201611192472.7A CN201611192472A CN106815311B CN 106815311 B CN106815311 B CN 106815311B CN 201611192472 A CN201611192472 A CN 201611192472A CN 106815311 B CN106815311 B CN 106815311B
- Authority
- CN
- China
- Prior art keywords
- user
- matched
- question
- similarity
- submitted
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000013136 deep learning model Methods 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 24
- 239000011159 matrix material Substances 0.000 claims description 24
- 239000013598 vector Substances 0.000 claims description 14
- 230000011218 segmentation Effects 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000011176 pooling Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施方式提供了一种问题匹配方法。该方法包括:接收用户提交的问题;针对预设的每个问题集,计算该问题集与用户提交的问题的相似度;若所述相似度大于设定相似度阈值,确定该问题集中的待匹配问题与用户提交的问题相匹配;其中,同一问题集中保存至少两个针对同一答案的待匹配问题。本发明实施方式能够提高问题匹配的准确性和可靠性。此外,本发明的实施方式提供了一种问题匹配装置。
Description
技术领域
本发明的实施方式涉及自动问答技术领域,更具体地,本发明的实施方式涉及一种问题匹配方法和装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
FAQ(Frequently Asked Questions,常见问题)问答系统当中,预先根据常见问题,建立一个候选问题集,该候选问题集中的每个问题关联相应的答案。当用户提交问题后,在候选问题集中匹配与用户提交的问题相似的问题,然后将匹配到的相似度较高的问题所关联的答案推送给用户,其中,常用的查找与用户提交的问题相似的问题的方式为:
从用户提交的问题中提取关键词(或者关键词同义词),在候选问题集中的每个问题中匹配提取到的关键词,如果在候选问题集的问题中匹配的到的关键词越多,确定该问题与用户提交的问题越相似,则该问题与用户提交的问题的相似度越高。
但是,目前的这种匹配相似问题的方式,关键词在不同的语境中可能会有不同的含义,并且仅根据单个问题与单个问题之间的相似度来匹配相似问题,此时,仅根据关键词从候选问题集中匹配到的与用户提交的问题相似度较高的问题可能是错误问题(与用户提问的问题无关),因此,利用这种匹配相似问题的方式为用户推送与用户提交的问题相符的答案正确率较低。
发明内容
现有技术中的基于关键词匹配相似问题的方式,由于关键词在不同的语境中可能会有不同的含义,并且仅根据单个问题与单个问题之间的相似度来匹配相似问题,此时,仅根据关键词从候选问题集中匹配到的与用户提交的问题相似度较高的问题可能是错误问题(与用户提问的问题无关),从而造成为用户推送与用户提交的问题相符的答案的正确率较低。为此,非常需要一种改进的问题匹配方法,来解决现有技术中存在的问题。
在本上下文中,本发明的实施方式期望提供一种问题匹配方法和装置。
在本发明实施方式的第一方面中,提供了一种问题匹配方法,包括:
接收用户提交的问题;
针对预设的每个问题集,计算该问题集与用户提交的问题的相似度;
若所述相似度大于设定相似度阈值,确定该问题集中的待匹配问题与用户提交的问题相匹配;
其中,同一问题集中保存至少两个针对同一答案的待匹配问题。
在本发明实施方式的第二方面中,提供了一种问题匹配装置,包括:
接收模块,用于接收用户提交的问题;
相似度计算模块,用于针对预设的每个问题集,计算该问题集与用户提交的问题的相似度;
确定模块,用于若所述相似度大于设定相似度阈值,确定该问题集中的待匹配问题与用户提交的问题相匹配;
其中,同一问题集中保存至少两个针对同一答案的待匹配问题。
在本发明实施方式的第三方面中,提供了一种问题匹配设备,例如,可以包括存储器和处理器,其中,处理器可以用于读取存储器中的程序,执行下列过程:
接收用户提交的问题;
针对预设的每个问题集,计算该问题集与用户提交的问题的相似度;
若所述相似度大于设定相似度阈值,确定该问题集中的待匹配问题与用户提交的问题相匹配;
其中,同一问题集中保存至少两个针对同一答案的待匹配问题。
在本发明实施方式的第四方面中,提供了一种程序产品,其包括程序代码,当所述程序产品运行时,所述程序代码用于执行以下过程:
接收用户提交的问题;
针对预设的每个问题集,计算该问题集与用户提交的问题的相似度;
若所述相似度大于设定相似度阈值,确定该问题集中的待匹配问题与用户提交的问题相匹配;
其中,同一问题集中保存至少两个针对同一答案的待匹配问题。
根据本发明实施方式的问题匹配方法和装置,预先设置多个问题集,每个问题集中保存至少两个针对同一答案的待匹配问题,将用户提交的问题与问题集进行匹配,相比于现有技术中仅根据关键字进行问题匹配的方式,能够提高问题匹配的准确性和可靠性。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的应用场景示意图;
图2示意性地示出了根据本发明实施方式的问题匹配方法流程示意图;
图3示意性地示出了根据本发明实施方式的计算问题集与用户提交的问题相似度的方法流程示意图;
图4示意性地示出了根据本发明实施方式的计算问题集中每个待匹配问题与用户提交的问题的相似度的方法流程示意图;
图5示意性地示出了根据本发明实施方式的训练得到预设深度学习模型的方法流程示意图;
图6示意性地示出了根据本发明一实施例的问题匹配装置的结构示意图;
图7示意性地示出了根据本发明另一实施例的问题匹配装置的结构示意图;
图8示意性地示出了根据本发明再一实施例的用于问题匹配方法的程序产品示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种问题匹配方法和设备。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,现有技术中的基于关键词匹配相似问题的方式,由于关键词在不同的语境中可能会有不同的含义,并且仅根据单个问题与单个问题之间的相似度来匹配相似问题,此时,仅根据关键词从候选问题集中匹配到的与用户提交的问题相似度较高的问题可能是错误问题(与用户提问的问题无关),从而造成为用户推送与用户提交的问题相符的答案的正确率较低。
为此,本发明提供了一种问题匹配方法和装置,方法可以包括:接收用户提交的问题;针对预设的每个问题集,计算该问题集与用户提交的问题的相似度;若所述相似度大于设定相似度阈值,确定该问题集中的待匹配问题与用户提交的问题相匹配;其中,同一问题集中保存至少两个针对同一答案的待匹配问题。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1,如图1所示,为本发明实施例提供的问题匹配方法的应用场景示意图,包括用户10,用户终端101和服务器102,其中,所述用户终端101中可安装相应的根据用户输入的问题提供相应答案的应用程序。用户10在用户终端101中输入问题并提交,服务器102接收用户提交的问题;针对预设的每个问题集,计算该问题集与用户提交的问题的相似度;若所述相似度大于设定相似度阈值,确定该问题集中的待匹配问题与用户提交的问题相匹配;其中,同一问题集中保存至少两个针对同一答案的待匹配问题。其中,用户终端和服务器可通过因特网进行通信。用户终端可以为手机、平板电脑或者台式电脑等。
示例性方法
下面结合图1的应用场景,参考图2~图5来描述根据本发明示例性实施方式的问题匹配方法。需要注意的是,本发明的实施方式可以应用于适用的任何场景。
图2为本发明提供的一种问题匹配方法的一实施例的流程示意图,主要包括根据用户提交的问题进行相似问题匹配的流程,如图2所示,本发明实施例提供的一种问题匹配方法,包括如下步骤:
步骤201,接收用户提交的问题。
具体实施时,用户在问题输入界面输入其预提问的问题,并进行提交,服务器侧接收用户提交的问题。
步骤202,针对预设的每个问题集,计算该问题集与用户提交的问题的相似度。
具体实施时,预先设置多个问题集,其中,同一问题集中保存至少两个针对同一答案的待匹配问题,比如,问题集A中保存关于账号注册流程的待匹配问题,该问题集A中可保存问题1:账号怎么注册;问题2:账号注册流程是什么;问题3:如何进行账号注册。
本步骤中,计算每个问题集与用户提交的问题的相似度,从而得到用户提交的问题与每个问题集的相似度。
步骤203,判断所述相似度是否大于设定相似度阈值,如果是,执行步骤204,否则,执行步骤205。
具体实施时,预先设置相似度阈值,并判断用户提交的问题与各个问题集的相似度是否大于该相似度阈值。
步骤204,确定该问题集中的待匹配问题与用户提交的问题相匹配。
其中,确定预设的各个问题集中,与用户提交的问题的相似度大于相似度阈值的问题集中的待匹配问题与用户提交的问题相匹配。具体实施时,可将与用户提交的问题相匹配的问题集中的待匹配问题反馈给用户;接收到用户选择其中一个待匹配问题的指令时,将用户选择的该待匹配问题对应的答案反馈给用户。
需要说明的是,与用户提交的问题的相似度大于预设相似度阈值的问题集可能包括多个,也可能仅包括一个,还有可能不存在与用户提交的问题的相似度大于预设相似度阈值的问题集,当包括多个时,可按照与用户提交的问题的相似度由大到小的顺序将该多个问题集反馈给用户,以供用户选择其想要的问题并获取相应的答案。
步骤205,确定该问题集中的待匹配问题与用户提交的问题不匹配。
其中,确定预设的各个问题集中,与用户提交的问题的相似度不大于相似度阈值的问题集中的待匹配问题与用户提交的问题不匹配。
利用图1提供的问题匹配方式,预先设置多个问题集,每个问题集中保存至少两个针对同一答案的待匹配问题,即将针对同一答案的问题的不同提问方式保存到同一问题集中,计算用户提交的问题与问题集的相似度,对用户提交的问题与问题集中的待匹配问题进行匹配,即将用户提交的问题同时与针对同一答案的多个问题进行匹配,相比于现有技术中由于关键词在不同的语境中可能会有不同的含义,并且仅根据单个问题与单个问题之间的相似度来匹配相似问题的方式,能够提高问题匹配的准确性和可靠性,进而在一定程度上提高向用户推送与用户提交的问题相符的答案的正确率。
优选地,针对每个问题集,可按照图3提供的内容,计算该问题集与用户提交的问题的相似度:
步骤301,计算该问题集中每个待匹配问题与用户提交的问题的相似度。
本步骤中,分别该问题集中的每个待匹配问题与用户提交的问题的相似度。具体实施时,可利用现有的相似度计算方式计算待匹配问题与用户提交的问题的相似度,这里不做限定。
步骤302,根据该问题集中每个待匹配问题与用户提交的问题的相似度,计算该问题集与用户提交的问题的相似度。
本步骤中,可计算该问题集中每个待匹配问题与用户提交的问题的相似度的平均值,将该平均值作为该问题集与用户提交的问题的相似度,也可以按照其他方式实施步骤302,这里不做限定。
优选地,针对每个问题集,可采用以下公式,计算该问题集与用户提交的问题的相似度:
其中,probi(Q,Pi)表示问题集Pi与用户提交的问题Q的相似度,M表示问题集Pi中的待匹配问题的个数,probi(Q,Pij)表示问题集Pi中的问题j与用户提交的问题Q的相似度。
优选地,可按照图4提供的内容,计算该问题集中每个待匹配问题与用户提交的问题的相似度:
步骤401,对用户提交的问题进行分词处理,得到用户词序列。
步骤402,针对该问题集中的每个待匹配问题,对该待匹配问题进行分词处理,得到该待匹配问题对应的待匹配词序列。
步骤402和步骤402中,对问题进行分词处理的具体实施方式可参见现有技术,这里不做详述。也可以先执行步骤402,后执行步骤401,或者步骤401和步骤402同时执行,这里不做限定。
步骤403,将用户词序列与该待匹配问题对应的待匹配词序列作为预设深度学习模型的输入,确定所述预设深度学习模型的输出。
本步骤中,预设深度学习模型,将用户词序列与待匹配问题词序列作为该预设深度学习模型的输入参数,根据预设深度学习模型的输入参数计算预设学习模型的输出。
步骤404,将所述预设学习模型的输出作为该待匹配问题与用户提交的问题的相似度。
图4提供的实施例,通过深度学习模型计算待匹配问题与用户提交的问题的相似度,从而为获得用户提交的问题与该待匹配问题所属的问题集的相似度提供前提。
具体的利用预设深度学习模型计算待匹配问题与用户提交的问题的相似度的过程可参考下述过程:
1)输入层处理:输入用户词序列Q1和待匹配词序列Pij1,并将各个词序列转化为词的索引序列,其中,词对应的索引号可根据预设的词典进行查找。例如用户词序列Q1={w1,w2...,wl1},转化为索引序列后为Q11={5,100...,40},同理待匹配词序列Pij1也可处理索引序列。
2)词嵌入层:根据用户词序列对应的索引序列,在词嵌入层取出对应索引序列中索引号的词向量,生成用户问题矩阵。例如用户词序列对应的索引序列为{2,5,6},依次取出词嵌入层矩阵的第2行,第5行和第6行元素,并重新生成3*D矩阵,同理,待匹配词序列Pij1也采用同样的处理方式,用户词序列和待匹配问题词序列Pij1经过词嵌入层后,输出l1*D和l2*D矩阵,其中,l1为用户提交的问题中词语的个数、l2为待匹配问题中词语的个数,其中D为预先设定的值,词嵌入层矩阵为预先设定的矩阵。
3)卷积层:卷积层由Nf(预设值)个H*D矩阵组成,设置卷积步长为1,对从词嵌入层输出的矩阵,使用并列的Nf个H*D矩阵分别进行卷积处理,分别输出Nf个(l1-H+1)*D和(l2-H+1)*D矩阵,从而实现对用户词序列和待匹配问题词序列Pij1的的卷积处理。其中,H小于输入的问题中的词语的个数,卷积层参数需要在深度学习模型训练的过程中确定。
4)池化层:对卷积层输出的Nf个(l1-H+1)*D矩阵中的每个矩阵求出最大值,输出1*Nf向量,同理处理Nf个(l2-H+1)*D矩阵,输出1*Nf向量。
5)线性层1:将池化层输出的2个1*Nf向量拼接1*2Nf,并与线性层1的2Nf*K矩阵相乘,输出1*K向量。其中,线性层参数需要在深度学习模型训练的过程中确定。
6)Sigmoid层1:非线性处理,将线性层1输出的1*K输出1*K维向量。
7)线性层2:将Sigmoid层1输出的1*K维向量与线性层2的K*1矩阵相乘,输出一个数值;
8)sigmoid层2:将线性层2输出的数值处理后,得到待匹配问题Pij与用户提交的问题Q的相似度。
上述处理过程仅为简单的介绍,详细的处理过程以及每一层的具体实施过程可参见现有技术,这里不做详述。
优选地,可按照图5提供的内容,训练得到预设深度学习模型:
步骤501,利用待训练深度学习模型,分别计算样本问题r与各个预设问题集的相似度。
步骤502,将当前样本问题r与各个预设问题集的相似度作为预设损失函数的输入,确定预设损失函数的输出。
步骤503,判断所述预设损失函数的输出是否小于设定损失阈值,如果是,执行步骤505,否则,执行步骤504。
步骤504,根据所述预设损失函数的输出对待训练深度学习模型中的参数进行更新,将所述待训练深度模型替换为参数更新后的待训练深度学习模型,并令r=r+1后,继续执行501。
本步骤中,另r=r+1后,继续执行上述利用待训练深度学习模型,分别计算样本问题r与各个预设问题集的相似度的步骤。
其中,根据所述预设损失函数的输出对待训练深度学习模型中的参数进行更新,具体为对待训练深度学习模型中可在模型训练过程中进行确定的参数进行更新。
步骤505,确定所述待训练深度学习模型为预设深度学习模型。
图5提供的实施例,通过多次迭代训练得到相对稳定的待训练深度学习模型作为预设深度学习模型。
具体实施时,预设损失函数为:
其中,probi(r,Pi)表示问题集Pi与样本问题r的相似度,M表示问题集Pi中的待匹配问题的个数,probi(r,Pij)表示问题集Pi中的问题j与样本问题r的相似度,N表示问题集的个数,ti等于0或1,当ti=0时表明样本问题r为负样本,当ti=1时表明样本问题r为正样本。
示例性设备
在介绍了本发明示例性实施方式的问题匹配方法之后,接下来,参考图6描述本发明示例性实施方式的问题匹配装置。
图6为本发明实施例提供的一种问题匹配装置的结构示意图之一,如图6所示,可以包括如下模块:
接收模块601,用于接收用户提交的问题;
相似度计算模块602,用于针对预设的每个问题集,计算该问题集与用户提交的问题的相似度;
确定模块603,用于若所述相似度大于设定相似度阈值,确定该问题集中的待匹配问题与用户提交的问题相匹配;
其中,同一问题集中保存至少两个针对同一答案的待匹配问题。
优选地,所述相似度计算模块602,包括:
第一计算单元6021,用于计算该问题集中每个待匹配问题与用户提交的问题的相似度;
第二计算单元6022,用于根据该问题集中每个待匹配问题与用户提交的问题的相似度,计算该问题集与用户提交的问题的相似度。
优选地,所述第二计算单元6022采用如下公式,计算该问题集与用户提交的问题的相似度:
其中,probi(Q,Pi)表示问题集Pi与用户提交的问题Q的相似度,M表示问题集Pi中的待匹配问题的个数,probi(Q,Pij)表示问题集Pi中的问题j与用户提交的问题Q的相似度。
优选地,所述第一计算单元6021具体用于:
对用户提交的问题进行分词处理,得到用户词序列;
针对该问题集中的每个待匹配问题,对该待匹配问题进行分词处理,得到该待匹配问题对应的待匹配词序列;
将用户词序列与该待匹配问题对应的待匹配词序列作为预设深度学习模型的输入,确定所述预设深度学习模型的输出;
将所述预设学习模型的输出作为该待匹配问题与用户提交的问题的相似度。
优选地,本发明实施例提供的问题匹配装置,还包括:
模型训练模块604,用于采用如下方式训练得到预设深度学习模型:
利用待训练深度学习模型,分别计算样本问题r与各个预设问题集的相似度;
将当前样本问题r与各个预设问题集的相似度作为预设损失函数的输入,确定预设损失函数的输出;
判断所述预设损失函数的输出是否小于设定损失阈值;
若否,根据所述预设损失函数的输出对待训练深度学习模型中的参数进行更新,将所述待训练深度模型替换为参数更新后的待训练深度学习模型,并令r=r+1后,继续执行上述利用待训练深度学习模型,分别计算样本问题r与各个预设问题集的相似度的步骤;
若是,确定所述待训练深度学习模型为预设深度学习模型。
优选地,所述预设损失函数为:
其中,probi(r,Pi)表示问题集Pi与样本问题r的相似度,M表示问题集Pi中的待匹配问题的个数,probi(r,Pij)表示问题集Pi中的问题j与样本问题r的相似度,N表示问题集的个数,ti等于0或1,当ti=0时表明样本问题r为负样本,当ti=1时表明样本问题r为正样本。
示例性设备
在介绍了本发明示例性实施方式的问题匹配方法和装置之后,接下来,介绍根据本发明的另一示例性实施方式的问题匹配装置。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的问题匹配装置可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的问题匹配方法中的步骤。例如,所述处理单元可以执行如图2中所示的步骤201,接收用户提交的问题,步骤202,针对预设的每个问题集,计算该问题集与用户提交的问题的相似度,步骤203,判断所述相似度是否大于设定相似度阈值,如果是,执行步骤204,否则,执行步骤205,步骤204,确定该问题集中的待匹配问题与用户提交的问题相匹配,步骤205,确定该问题集中的待匹配问题与用户提交的问题不匹配。
下面参照图7来描述根据本发明的这种实施方式的问题匹配装置70。图7显示的问题匹配装置70仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,问题匹配装置70以通用计算设备的形式表现。问题匹配装置70的组件可以包括但不限于:上述至少一个处理单元701、上述至少一个存储单元702、连接不同系统组件(包括处理单元701和存储单元702)的总线703。
总线703表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元702可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)7021和/或高速缓存存储器7022,还可以进一步包括只读存储器(ROM)7023。
存储单元702还可以包括具有一组(至少一个)程序模块7024的程序/实用工具7025,这样的程序模块7024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
问题匹配装置70也可以与一个或多个外部设备704(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与问题匹配装置70交互的设备通信,和/或与使得该问题匹配装置70能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口705进行。并且,问题匹配装置70还可以通过网络适配器706与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器706通过总线703与用于问题匹配的装置70的其它模块通信。应当理解,尽管图中未示出,可以结合问题匹配装置70使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
示例性程序产品
在一些可能的实施方式中,本发明提供的问题匹配方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的问题匹配方法中的步骤,例如,所述计算机设备可以执行如图2中所示的步骤201,接收用户提交的问题,步骤202,针对预设的每个问题集,计算该问题集与用户提交的问题的相似度,步骤203,判断所述相似度是否大于设定相似度阈值,如果是,执行步骤204,否则,执行步骤205,步骤204,确定该问题集中的待匹配问题与用户提交的问题相匹配,步骤205,确定该问题集中的待匹配问题与用户提交的问题不匹配。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图8所示,描述了根据本发明的实施方式的用于问题匹配的程序产品80,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种问题匹配方法,包括:
接收用户提交的问题;
针对预设的每个问题集,计算该问题集与用户提交的问题的相似度;
若所述相似度大于设定相似度阈值,确定该问题集中的待匹配问题与用户提交的问题相匹配;
其中,同一问题集中保存至少两个针对同一答案的待匹配问题;
其中,计算该问题集与用户提交的问题的相似度,包括:
计算该问题集中每个待匹配问题与用户提交的问题的相似度,其中,计算该问题集中每个待匹配问题与用户提交的问题的相似度,具体包括:获得用户词序列和每个待匹配问题的词序列,分别将用户词序列与每个待匹配问题对应的待匹配词序列作为预设深度学习模型的输入,确定所述预设深度学习模型的输出;将所述预设深度 学习模型的输出作为该待匹配问题与用户提交的问题的相似度;
其中,所述深度学习模型中包括输入层、词嵌入层、卷积层、池化层、线性层1、sigmoid层1、线性层2和sigmoid层2;
所述输入层用于分别将所述用户词序列和所述待匹配词序列转化为对应的索引序列;所述词嵌入层用于根据所述用户词序列对应的索引序列生成用户问题矩阵,以及根据所述待匹配词序列对应的索引序列生成待匹配问题矩阵;所述卷积层用于分别对所述用户问题矩阵和所述待匹配问题矩阵进行卷积处理;所述池化层用于分别对经过所述卷积层处理后的所述用户问题矩阵和所述待匹配问题矩阵进行池化处理,以得到对应的向量结果;所述线性层1用于对所述用户问题矩阵对应的向量结果和所述待匹配问题矩阵对应的向量结果进行拼接处理;所述sigmoid层1用于对所述线性层1的输出结果进行非线性处理;所述线性层2用于对所述sigmoid层1的输出结果进行矩阵相乘处理,以得到结果数值;所述sigmoid层2用于对所述结果数值进行非线性处理以得到所述待匹配问题与所述用户提交的问题的相似度;
根据该问题集中每个待匹配问题与用户提交的问题的相似度,计算该问题集与用户提交的问题的相似度;
其中,采用如下公式,计算该问题集与用户提交的问题的相似度:
其中,probi(Q,Pi)表示问题集Pi与用户提交的问题Q的相似度,M表示问题集Pi中的待匹配问题的个数,probi(Q,Pij)表示问题集Pi中的问题j与用户提交的问题Q的相似度。
2.根据权利要求1所述的方法,其中,获得用户词序列和每个待匹配问题的词序列,包括:
对用户提交的问题进行分词处理,得到用户词序列;
针对该问题集中的每个待匹配问题,对该待匹配问题进行分词处理,得到该待匹配问题对应的待匹配词序列。
3.根据权利要求2所述的方法,其中,采用如下方式训练得到预设深度学习模型:
利用待训练深度学习模型,分别计算样本问题r与各个预设问题集的相似度;
将当前样本问题r与各个预设问题集的相似度作为预设损失函数的输入,确定预设损失函数的输出;
判断所述预设损失函数的输出是否小于设定损失阈值;
若否,根据所述预设损失函数的输出对待训练深度学习模型中的参数进行更新,将所述待训练深度学习 模型替换为参数更新后的待训练深度学习模型,并令r=r+1后,继续执行上述利用待训练深度学习模型,分别计算样本问题r与各个预设问题集的相似度的步骤;
若是,确定所述待训练深度学习模型为预设深度学习模型。
5.一种问题匹配装置,包括:
接收模块,用于接收用户提交的问题;
相似度计算模块,用于针对预设的每个问题集,计算该问题集与用户提交的问题的相似度;
确定模块,用于若所述相似度大于设定相似度阈值,确定该问题集中的待匹配问题与用户提交的问题相匹配;
其中,同一问题集中保存至少两个针对同一答案的待匹配问题;
其中,所述相似度计算模块,包括:
第一计算单元,用于计算该问题集中每个待匹配问题与用户提交的问题的相似度,其中,计算该问题集中每个待匹配问题与用户提交的问题的相似度时,第一计算单元具体用于:获得用户词序列和每个待匹配问题的词序列,将用户词序列与每个待匹配问题对应的待匹配词序列作为预设深度学习模型的输入,确定所述预设深度学习模型的输出;将所述预设深度 学习模型的输出作为该待匹配问题与用户提交的问题的相似度;
其中,所述深度学习模型中包括输入层、词嵌入层、卷积层、池化层、线性层1、sigmoid层1、线性层2和sigmoid层2;
所述输入层用于分别将所述用户词序列和所述待匹配词序列转化为对应的索引序列;所述词嵌入层用于根据所述用户词序列对应的索引序列生成用户问题矩阵,以及根据所述待匹配词序列对应的索引序列生成待匹配问题矩阵;所述卷积层用于分别对所述用户问题矩阵和所述待匹配问题矩阵进行卷积处理;所述池化层用于分别对经过所述卷积层处理后的所述用户问题矩阵和所述待匹配问题矩阵进行池化处理,以得到对应的向量结果;所述线性层1用于对所述用户问题矩阵对应的向量结果和所述待匹配问题矩阵对应的向量结果进行拼接处理;所述sigmoid层1用于对所述线性层1的输出结果进行非线性处理;所述线性层2用于对所述sigmoid层1的输出结果进行矩阵相乘处理,以得到结果数值;所述sigmoid层2用于对所述结果数值进行非线性处理以得到所述待匹配问题与所述用户提交的问题的相似度;
第二计算单元,用于根据该问题集中每个待匹配问题与用户提交的问题的相似度,计算该问题集与用户提交的问题的相似度;
其中,所述第二计算单元采用如下公式,计算该问题集与用户提交的问题的相似度:
其中,probi(Q,Pi)表示问题集Pi与用户提交的问题Q的相似度,M表示问题集Pi中的待匹配问题的个数,probi(Q,Pij)表示问题集Pi中的问题j与用户提交的问题Q的相似度。
6.根据权利要求5所述的装置,其中,获得用户词序列和每个待匹配问题的词序列时,所述第一计算单元具体用于:
对用户提交的问题进行分词处理,得到用户词序列;
针对该问题集中的每个待匹配问题,对该待匹配问题进行分词处理,得到该待匹配问题对应的待匹配词序列。
7.根据权利要求6所述的装置,还包括:
模型训练模块,用于采用如下方式训练得到预设深度学习模型:
利用待训练深度学习模型,分别计算样本问题r与各个预设问题集的相似度;
将当前样本问题r与各个预设问题集的相似度作为预设损失函数的输入,确定预设损失函数的输出;
判断所述预设损失函数的输出是否小于设定损失阈值;
若否,根据所述预设损失函数的输出对待训练深度学习模型中的参数进行更新,将所述待训练深度学习 模型替换为参数更新后的待训练深度学习模型,并令r=r+1后,继续执行上述利用待训练深度学习模型,分别计算样本问题r与各个预设问题集的相似度的步骤;
若是,确定所述待训练深度学习模型为预设深度学习模型。
9.一种问题匹配装置,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行权利要求1-4任一所述方法的步骤。
10.一种程序产品,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行权利要求1-4任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611192472.7A CN106815311B (zh) | 2016-12-21 | 2016-12-21 | 一种问题匹配方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611192472.7A CN106815311B (zh) | 2016-12-21 | 2016-12-21 | 一种问题匹配方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106815311A CN106815311A (zh) | 2017-06-09 |
CN106815311B true CN106815311B (zh) | 2021-08-06 |
Family
ID=59109301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611192472.7A Active CN106815311B (zh) | 2016-12-21 | 2016-12-21 | 一种问题匹配方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106815311B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729300B (zh) * | 2017-09-18 | 2021-12-24 | 百度在线网络技术(北京)有限公司 | 文本相似度的处理方法、装置、设备和计算机存储介质 |
CN108021555A (zh) * | 2017-11-21 | 2018-05-11 | 浪潮金融信息技术有限公司 | 一种基于深度卷积神经网络的问句相似度度量方法 |
CN108363743B (zh) * | 2018-01-24 | 2020-06-02 | 清华大学深圳研究生院 | 一种智能问题生成方法、装置和计算机可读存储介质 |
CN108921221B (zh) * | 2018-07-04 | 2022-11-18 | 腾讯科技(深圳)有限公司 | 用户特征的生成方法、装置、设备及存储介质 |
CN109145099B (zh) * | 2018-08-17 | 2021-02-23 | 百度在线网络技术(北京)有限公司 | 基于人工智能的问答方法和装置 |
CN109165286A (zh) * | 2018-09-03 | 2019-01-08 | 深圳前海微众银行股份有限公司 | 自动问答方法、装置及计算机可读存储介质 |
CN108898907A (zh) * | 2018-09-14 | 2018-11-27 | 北京邮电大学 | 一种在线教育方法和系统 |
WO2020133360A1 (zh) * | 2018-12-29 | 2020-07-02 | 深圳市优必选科技有限公司 | 问句文本的匹配方法、装置、计算机设备和存储介质 |
CN110968674B (zh) * | 2019-12-04 | 2023-04-18 | 电子科技大学 | 基于词向量表征的问题评论对的构建方法 |
CN111177379B (zh) * | 2019-12-20 | 2023-05-23 | 深圳市优必选科技股份有限公司 | 低精度问题的归类方法、智能终端及计算机可读存储介质 |
CN111191034B (zh) * | 2019-12-30 | 2023-01-17 | 科大讯飞股份有限公司 | 人机交互方法、相关设备及可读存储介质 |
CN113255351B (zh) * | 2021-06-22 | 2023-02-03 | 中国平安财产保险股份有限公司 | 语句意图识别方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810218A (zh) * | 2012-11-14 | 2014-05-21 | 北京百度网讯科技有限公司 | 一种基于问题簇的自动问答方法和装置 |
CN104834651A (zh) * | 2014-02-12 | 2015-08-12 | 北京京东尚科信息技术有限公司 | 一种提供高频问题回答的方法和装置 |
CN106021572A (zh) * | 2016-05-31 | 2016-10-12 | 北京百度网讯科技有限公司 | 二元特征词典的构建方法和装置 |
-
2016
- 2016-12-21 CN CN201611192472.7A patent/CN106815311B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810218A (zh) * | 2012-11-14 | 2014-05-21 | 北京百度网讯科技有限公司 | 一种基于问题簇的自动问答方法和装置 |
CN104834651A (zh) * | 2014-02-12 | 2015-08-12 | 北京京东尚科信息技术有限公司 | 一种提供高频问题回答的方法和装置 |
CN106021572A (zh) * | 2016-05-31 | 2016-10-12 | 北京百度网讯科技有限公司 | 二元特征词典的构建方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106815311A (zh) | 2017-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815311B (zh) | 一种问题匹配方法和装置 | |
CN110647614B (zh) | 智能问答方法、装置、介质及电子设备 | |
CN111858859B (zh) | 自动问答处理方法、装置、计算机设备及存储介质 | |
US10402433B2 (en) | Method and apparatus for recommending answer to question based on artificial intelligence | |
WO2020182122A1 (zh) | 用于生成文本匹配模型的方法和装置 | |
CN111428010B (zh) | 人机智能问答的方法和装置 | |
CN111898643B (zh) | 一种语义匹配方法及装置 | |
CN112100354B (zh) | 人机对话方法、装置、设备及存储介质 | |
CN107832432A (zh) | 一种搜索结果排序方法、装置、服务器和存储介质 | |
US9984050B2 (en) | Ground truth collection via browser for passage-question pairings | |
CN109858045B (zh) | 机器翻译方法和装置 | |
CN110083819B (zh) | 拼写纠错方法、装置、介质及电子设备 | |
WO2021135455A1 (zh) | 语义召回方法、装置、计算机设备及存储介质 | |
WO2019154411A1 (zh) | 词向量更新方法和装置 | |
CN110083834B (zh) | 语义匹配模型训练方法、装置、电子设备及存储介质 | |
CN110263218B (zh) | 视频描述文本生成方法、装置、设备和介质 | |
CN112712795B (zh) | 标注数据确定方法、装置、介质及电子设备 | |
CN111382270A (zh) | 基于文本分类器的意图识别方法、装置、设备及存储介质 | |
CN113988157B (zh) | 语义检索网络训练方法、装置、电子设备及存储介质 | |
CN112883968A (zh) | 图像字符识别方法、装置、介质及电子设备 | |
CN110738056B (zh) | 用于生成信息的方法和装置 | |
CN110795541A (zh) | 文本查询方法、装置、电子设备及计算机可读存储介质 | |
CN112182255A (zh) | 用于存储媒体文件和用于检索媒体文件的方法和装置 | |
CN112883966A (zh) | 图像字符识别方法、装置、介质及电子设备 | |
CN112347242B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou NetEase Shuzhifan Technology Co.,Ltd. Address before: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU LANGHE TECHNOLOGY Ltd. |
|
CP01 | Change in the name or title of a patent holder |