一种深度检索匹配分类方法、装置及终端设备与流程

文档序号:21408699发布日期:2020-07-07 14:43阅读:230来源:国知局
一种深度检索匹配分类方法、装置及终端设备与流程

本申请属于数据处理技术领域,尤其涉及一种深度检索匹配分类方法、装置及终端设备。



背景技术:

人工客服是典型的劳动密集型行业,工作时间长且工作重复性高,给不少企业增加了大量的人力成本和管理成本。

对于这种情况,人们通过智能客服的方式减少人工客服的工作量,智能客服可以根据用户输入的信息进行搜索匹配,返回预先设置的答案给用户。但是当前的智能客服技术,如关键词匹配的搜索技术和根据文本相关性重排序技术等,均存在匹配精度低,返回结果相关性差的情况。

综上,现有的智能客服技术匹配精度低,返回结果相关性差,极度影响用户的使用体验。



技术实现要素:

有鉴于此,本申请实施例提供了一种深度检索匹配分类方法、装置及终端设备,以解决现有的智能客服技术匹配精度低,返回结果相关性差,极度影响用户的使用体验的问题。

本申请实施例的第一方面提供了一种深度检索匹配分类方法,包括:

获取用户输入的第一问题和所述第一问题的第一类别,将所述第一问题进行分词处理后分别与所述第一类别对应的各个预置的第二问题组成输入问题组;

通过预置的词向量模型将所述输入问题组内所述第一问题和所述第二问题的词语转换成词向量;

将所述第一问题的各个词向量分别与所述第二问题的词向量矩阵点乘,得到所述第一问题的各个词向量对应的点积结果,所述词向量矩阵由所述第二问题的词向量组成;

将各个所述点积结果输入经过训练的深度神经网络模型中,得到所述输入问题组为第一分类标签的第一概率,所述第一分类标签表示所述第一问题与所述第二问题为相似问题;

将所述第一概率最高的输入问题组的第二问题作为所述第一问题的相似问题。

本申请实施例的第二方面提供了一种深度检索匹配分类装置,包括:

处理输入模块,用于获取用户输入的第一问题和所述第一问题的第一类别,将所述第一问题进行分词处理后分别与所述第一类别对应的各个预置的第二问题组成输入问题组;

词向量模块,用于通过预置的词向量模型将所述输入问题组内所述第一问题和所述第二问题的词语转换成词向量;

点积计算模块,用于将所述第一问题的各个词向量分别与所述第二问题的词向量矩阵点乘,得到所述第一问题的各个词向量对应的点积结果,所述词向量矩阵由所述第二问题的词向量组成;

概率计算模块,用于将各个所述点积结果输入经过训练的深度神经网络模型中,得到所述输入问题组为第一分类标签的第一概率,所述第一分类标签表示所述第一问题与所述第二问题为相似问题;

相似问题模块,用于将所述第一概率最高的输入问题组的第二问题作为所述第一问题的相似问题。

本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。

本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。

本申请实施例与现有技术相比存在的有益效果是:

本申请的深度检索匹配分类方法分别将用户输入的第一问题与各个第一类别相同的第二问题组成输入问题组,将输入问题组转成词向量后计算第一问题的各个词向量对应的点积结果,将各个点积结果输入深度神经网络模型进行分类匹配,得到各个输入问题组的第一概率,从而将第一概率最高的输入问题组的第二问题作为第一问题的相似问题,与关键词匹配的搜索技术和根据文本相关性重排序等现有的智能客服技术相比,提高了匹配的精度和返回结果的相关性,解决了现有的智能客服技术匹配精度低,返回结果相关性差,极度影响用户的使用体验的问题。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种深度检索匹配分类方法的实现流程示意图;

图2是本申请实施例提供的一种深度检索匹配分类方法的总体流程图;

图3是本申请实施例提供的一种深度检索匹配分类方法的预测流程图;

图4是本申请实施例提供的训练数据的训练效果图;

图5是本申请实施例提供的验证数据的训练效果图;

图6是本申请实施例提供的测试数据的测试精度图;

图7是本申请实施例提供的测试数据的召回率图;

图8是本申请实施例提供的一种深度检索匹配分类装置的示意图;

图9是本申请实施例提供的终端设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

具体实现中,本申请实施例中描述的移动终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,上述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。

在接下来的讨论中,描述了包括显示器和触摸敏感表面的移动终端。然而,应当理解的是,移动终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。

移动终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。

可以在移动终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。

另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

实施例一:

下面对本申请实施例一提供的一种深度检索匹配分类方法进行描述,请参阅附图1,本申请实施例一中的深度检索匹配分类方法包括:

步骤s101、获取用户输入的第一问题和所述第一问题的第一类别,将所述第一问题进行分词处理后分别与所述第一类别对应的各个预置的第二问题组成输入问题组;

用户咨询的问题可以设置多级分类,例如可以设置三级分类,第一类别为产品类别,第二类别为咨询的方向(如基础知识,app问题等),第三类别为咨询方向的细化(如app问题可细分为app操作、搭建流程和连接问题等)。

当用户输入需要咨询的第一问题时,可通过下拉框或者勾选等方式选择第一问题的第一类别。

获取到用户输入的第一问题后,对第一问题进行分词处理,将第一问题分成多个词语。

分词后将第一问题分别与用户选择的第一类别对应的各个预置的第二问题组成输入问题组,输入问题组的形式可表示为(第一问题,第二问题),该第一类别下有多少个第二问题就可组成多少个输入问题组,例如第一类别下有三个第二问题,则可以组成3个输入问题组。

步骤s102、通过预置的词向量模型将所述输入问题组内所述第一问题和所述第二问题的词语转换成词向量;

得到输入问题组后,可以通过预置的词向量模型将输入问题组内第一问题和第二问题的词语转换成词向量,将词语以向量的形式进行表示,词向量的维度可以设置为300维。

步骤s103、将所述第一问题的各个词向量分别与所述第二问题的词向量矩阵点乘,得到所述第一问题的各个词向量对应的点积结果,所述词向量矩阵由所述第二问题的词向量组成;

第二问题的各个词向量可以组成词向量矩阵,第一问题中各个词向量分别与该词向量矩阵进行点乘,得到第一问题的各个词向量对应的点积结果。

假设q1=(x1,x2,x3,...,xm)和q2=(y1,y2,y3,...,yn)分别为第一问题和第二问题转变为词向量后的表示形式,则计算过程可以表示为:

其中,m为第一问题分词后的长度,即第一问题分词后的词语数;n为第二问题分词后的分词后的长度;xi表示第一问题中第i个词对应的词向量;yi表示第二问题中第i个词对应的词向量;为点乘符号;表示第一问题中第i个词向量对应的点积结果;f表示mapping函数。

步骤s104、将各个所述点积结果输入经过训练的深度神经网络模型中,得到所述输入问题组为第一分类标签的第一概率,所述第一分类标签表示所述第一问题与所述第二问题为相似问题;

将各个点积结果输入经过训练的深度神经网络模型之后,深度神经网络模型可以对点积结果进行特征提取和分类计算,得到输入问题组为第一分类标签的概率,第一分类标签表示第一问题与第二问题为相似问题的概率。

输入问题组的类别可以根据实际情况进行设置,例如,可以设置为第一分类标签、第二分类标签和第三分类标签,第一分类标签表示第一问题与第二问题为相似问题;第二分类标签表示第一问题与第二问题的第一类别相同且第一问题与第二问题的第二类别相同,但是第一问题与第二问题并非是相似问题;第三分类标签表示第一问题与第二问题为只有第一类别相同的非相似问题。

步骤s105、将所述第一概率最高的输入问题组的第二问题作为所述第一问题的相似问题。

得到各个输入问题组的第一概率之后,选择第一概率最高的输入问题组的第二问题作为第一问题的相似问题。

之后可以将该第二问题返回给用户,例如,用户输入第一问题是“机器人是啥”,返回第一概率最高的第二问题给用户“您是否想问(什么是机器人)”,根据用户的确认指令将该第二问题的预置答案返回给用户。

或者也可以在选择第一概率最高的输入问题组的第二问题作为第一问题的相似问题之后,直接返回该第二问题的预置答案给用户。

进一步地,步骤s103具体包括:

a1、将各个所述点积结果输入经过训练的深度神经网络模型中,在所述深度神经网络模型的隐藏层对所述点积结果进行特征提取,将特征提取得到的特征向量输入所述深度神经网络模型的输出层中;

将各个点积结果输入经过训练的深度神经网络模型之后,深度神经网络模型的隐藏层会对点积结果进行特征提取,并将特征提取得到的特征向量输入输出层中,由输出层进行分类和概率计算。

深度神经网络隐藏层的特征提取过程可以表示为:

其中,表示第l层隐藏层中第i个点积结果对应的特征向量;relu为激活函数;w(l)表示第l层隐藏层的权重矩阵;bl表示第l层隐藏层的偏置矩阵;l为隐藏层的层数。

a2、将所述第一问题的各个词向量输入经过训练的浅层神经网络模型中,得到所述第一问题的各个词向量对应的权重值;

第一问题中各个词可能具有不同的重要性,例如,第一问题分词后为(机器人、是、啥),其中词语“机器人”应当比“是”和“啥”更为重要。

深度神经网络模型进行匹配计算的过程中,可能因为未区分各个词的重要性导致匹配出错的情况,例如,假设第二问题a为(风扇、是、啥),第二问题b为(机器人、是、什么),如果不区分各个词的重要性,可能深度神经网络模型输出的第二问题a对应的第一概率大于第二问题b对应的第一概率,从而错误地将第二问题a作为第一问题的相似问题。

因此,可以通过经过训练的浅层神经网络模型为第一问题中的各个词向量计算对应的权重值,以权重值区分第一问题中各个词的重要性。

同时,采用浅层神经网络可以提高数据处理的速度,在较短的时间内计算出各个词向量对应的权重值。

a3、将所述权重值输入所述深度神经网络模型的输出层中,分别赋予各个所述点积结果的特征向量对应的权重值;

将权重值输入深度神经网络模型的输出层中,分别赋予各个点积结果的特征向量对应的权重值,例如词语a的词向量为a1,词向量a1计算得到的点积结果为a2,词向量a1的权重值为a3,点积结果a2特征提取得到的特征向量为a4,则与特征向量a4对应的权重值为a3。

赋予各个点积结果的特征向量对应的权重值可以表示为:

其中,hi表示第i个特征向量对应的权重值。

a4、所述深度神经网络模型的输出层根据各个所述点积结果的特征向量和各个所述特征向量对应的权重值进行计算,得到所述输入问题组为第一分类标签的第一概率,所述第一分类标签表示所述第一问题与所述第二问题为相似问题。

深度神经网络模型的输出层根据各个点积结果的特征向量和对应的权重值计算输入问题组为第一分类标签的第一概率,从而根据第一概率判断第一问题和第二问题是否为相似问题。

深度神经网络模型的输出层根据各个点积结果的特征向量和各个特征向量对应的权重值进行计算的过程可以表示为:

o=w(l+1)s+b(l+1)

其中,o=(o1,o2,...,oc),c为类别数,oi表示第i类别的输出值;w(l+1)表示输出层的权重矩阵;b(l+1)表示输出层的偏置矩阵。

输出层计算各个类别的概率可采用softmax函数。

进一步地,在得到所述第一问题的各个词向量对应的点积结果之后还包括:

b1、从大到小筛选保留预置数量的点积结果。

当输入的第一问题含有过多的词语时,会得到众多的点积结果,此时可以从大到小筛选保留预置数量的点积结果,既能筛选出关键的词又能使得第一问题的长度变为固定长度,筛选过程可以使用topk的mapping函数。

预置数量可以根据实际情况进行选择,例如可以将预置数量设置为5,则只保留最大的五个点积结果。

进一步地,所述经过训练的深度神经网络模型通过以下方法训练得到:

c1、获取训练问题组,所述训练问题组包括第三问题、第四问题和分类标签;

当进行深度神经网络模型的训练时,需要构建训练问题组,训练问题组包括第三问题、第四问题和分类标签。

训练问题组中的第三问题和第四问题可以通过对历史客服问答数据进行整理得到,同时通过工作人员的思维扩展进行问题扩充,增加问题的数量。

不同的问题可以相互组成不同的训练问题组,训练问题组的表现形式可以为(分类标签,第三问题,第四问题)。

c2、将所述训练问题组输入初始的深度神经网络模型中进行训练,得到经过训练的深度神经网络。

将训练问题组输入初始的深度神经网络模型中进行训练,即可得到经过训练的深度神经网络。

训练过程中输出层可以使用多分类损失函数计算损失函数值,通过adam算法等梯度优化算法对深度神经网络模型各层网络的权重矩阵和偏置矩阵进行更新。

进一步地,所述预置的词向量模型通过以下方法训练得到:

d1、对历史客服问答数据进行处理得到客服语料;

对历史客服问答数据进行处理,处理方式可以包括图片检测、敏感词禁用词识别、繁简体转换、表情识别替换和拼音检测等处理方式,从而得到客服语料。

d2、通过所述客服语料对经过训练的外部词向量模型进行再次训练,得到所述预置的词向量模型。

由于客服语料较小,可以先获取经过训练的外部词向量模型,例如经过120g语料训练的外部词向量模型,然后通过客服语料对该外部词向量模型进行再次训练,使得预置的词向量模型不仅能够使用客服语料中各个词之间的关系,还能保证常用词的通用性。

进一步地,步骤s101具体包括:

e1、所述获取用户输入的第一问题和所述第一问题的第一类别,将所述第一问题进行分词处理并删除所述第一问题的词语中的停用词和标点符号;

对第一问题进行分词处理之后,还可以删除第一问题的词语中的停用词和标点符号,减少无意义的词对有意义的词的影响,例如删除停用词可以删除一些简单的连接词和语气助词等。

e2、将进行了分词处理并删除了停用词和标点符号后的第一问题分别与所述第一类别对应的各个预置的第二问题组成输入问题组。

以下通过图2和图3对上述深度检索匹配分类(drmc)方法进行举例说明,请参阅图2,将深度检索匹配分类方法分为训练部分和预测部分,训练部分的过程如下:

1、在训练部分对客服数据进行处理,整理专业词,构建客服语料,例如对1008条主问题及7011条相似问题进行处理,整理专业词,构建客服语料。

2、此时还可以对客服语料去停用词及标点符号,减少无意义的词对有意义的词的影响。

3、构建drmc训练数据(训练问题组)、验证数据和测试数据,原数据中不仅仅包括主问题、相似问题,还包括对该问题的第一类别(1级类别)和第二类别(2级类别)。

如图3中所示,将主问题,相似问题列为类别2(第一分类标签),构成第一类三元组;将主问题,相同1、2级类别的主问题或相似问题设为类别1(第二分类标签),构成第二类三元组;将主问题,其它的主问题或相似问题设为类别0(第三分类标签),构建第三类三元组,以此构建了144090对三元组数据,其中分成训练数据6454对,验证数据28818对,测试数据28818对。

4、对外部词向量模型进行重训练,外部词向量模型可选择经过120g中文数据训练过的词向量模型,使得重训练后的词向量模型不仅能适应客服语料中各个词相互之间的关系,还能保证常用词的通用性。

5、将构建的训练数据输入初始的深度神经网络模型中,通过损失函数值和adam算法对初始的深度神经网络模型进行模型参数的训练更新,得到经过训练的深度神经网络模型(drmc模型)。

使用训练数据进行训练的训练效果如图4所示,使用验证数据进行训练的训练效果如图5所示,使用测试数据对经过训练的深度神经网络模型进行测试得到的测试精度如图6所示,召回率如图7所示。

6、保存经过训练的深度神经网络模型的模型参数。

请参阅图2和3,预测部分的过程如下:

1、用户可以在选中第一类别(例如:机器人)后输入需要咨询的问题(query1),将输入的第一问题分词、去停用词和标点符号。

2、根据选中的第一类别获取第二问题(query2),例如,用户选中的第一类别是机器人,则筛选相同第一类别下的所有问题作为第二问题,将第一问题和第二问题构建输入问题组(预测数据)。

3、之后通过如图3所示的drmc模型对输入问题组进行处理,在embedding层将输入问题组中的第一问题和第二问题的词语转变为d维的词向量,在dot层计算第一问题的各个词向量对应的点积结果,在mappingtopk层从大到小筛选预置数量的点积结果,将点积结果输入深度神经网络模型的输出层并赋予projection模型(浅层神经网络模型)计算的权重值,深度神经网络模型的输出层预测输入问题组的类别标签及自信度(概率)。

此外,还可以进行扩展测试,扩展测试的过程如下:

1、更换人员对原1008条主问题进行扩展,每个主问题扩展三条相似问题,即得到3024条相似问题,重复上述步骤进行测试,测试结果如下:

表1.扩展测试结果

通过表1的数据可知,虽然扩展测试中的drmc模型仍具有较高的通过率(测试精度),但是与上述扩展了7011条相似问题的drmc模型相比,测试精度有所下降,可知当扩展的相似问题较少时,容易因为扩展问题的侧重点不同影响drmc模型的测试精度,随着扩展问题的增加,可以提高drmc模型测试精度。

本实施例一提供的深度检索匹配分类方法中,使用深度神经网络模型进行第一问题的检索匹配,与关键词匹配的搜索技术和根据文本相关性重排序等现有的智能客服技术相比,提高了匹配的精度和返回结果的相关性,解决了现有的智能客服技术匹配精度低,返回结果相关性差,极度影响用户的使用体验的问题。

同时设置了浅层神经网络模型计算第一问题中各个词向量对应的权重值,在关注词间的匹配的同时也关注了字词的权重性因素,不仅能够有效地解决非核心词匹配度高导致检索质量差的情况而且词向量也能更加关注词间语义的关系,有效地提高了返回结果的质量。

将第一问题转变为词向量的形式后,计算各个词向量对应的点积结果,从大到小筛选保留预置数量的点积结果,既可以筛选出关键的词又能使第一问题的长度变为预置的固定长度。

预置的词向量模型可以由客服语料对经过训练的外部词向量模型重训练得到,使得预置的词向量模型不仅能够使用客服语料中各个词之间的关系,还能保证常用词的通用性。

对第一问题进行分词处理时,可以删除第一问题的词语中的停用词和标点符号,减少无意义的词对有意义的词的影响。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

实施例二:

本申请实施例二提供了一种深度检索匹配分类装置,为便于说明,仅示出与本申请相关的部分,如图8所示,深度检索匹配分类装置包括,

处理输入模块201,用于获取用户输入的第一问题和所述第一问题的第一类别,将所述第一问题进行分词处理后分别与所述第一类别对应的各个预置的第二问题组成输入问题组;

词向量模块202,用于通过预置的词向量模型将所述输入问题组内所述第一问题和所述第二问题的词语转换成词向量;

点积计算模块203,用于将所述第一问题的各个词向量分别与所述第二问题的词向量矩阵点乘,得到所述第一问题的各个词向量对应的点积结果,所述词向量矩阵由所述第二问题的词向量组成;

概率计算模块204,用于将各个所述点积结果输入经过训练的深度神经网络模型中,得到所述输入问题组为第一分类标签的第一概率,所述第一分类标签表示所述第一问题与所述第二问题为相似问题;

相似问题模块205,用于将所述第一概率最高的输入问题组的第二问题作为所述第一问题的相似问题。

进一步地,概率计算模块204具体包括:

输入子模块,用于将各个所述点积结果输入经过训练的深度神经网络模型中,在所述深度神经网络模型的隐藏层对所述点积结果进行特征提取,将特征提取得到的特征向量输入所述深度神经网络模型的输出层中;

权值子模块,用于将所述第一问题的各个词向量输入经过训练的浅层神经网络模型中,得到所述第一问题的各个词向量对应的权重值;

赋值子模块,用于将所述权重值输入所述深度神经网络模型的输出层中,分别赋予各个所述点积结果的特征向量对应的权重值;

相似子模块,用于所述深度神经网络模型的输出层根据各个所述点积结果的特征向量和各个所述特征向量对应的权重值进行计算,得到所述输入问题组为第一分类标签的第一概率,所述第一分类标签表示所述第一问题与所述第二问题为相似问题。

进一步地,所述装置还包括:

筛选模块,用于从大到小筛选保留预置数量的点积结果。

进一步地,所述装置还包括:

问题组模块,用于获取训练问题组,所述训练问题组包括第三问题、第四问题和分类标签;

网络训练模块,用于将所述训练问题组输入初始的深度神经网络模型中进行训练,得到经过训练的深度神经网络。

进一步地,所述装置还包括:

语料处理模块,用于对历史客服问答数据进行处理得到客服语料;

再次训练模块,用于通过所述客服语料对经过训练的外部词向量模型进行再次训练,得到所述预置的词向量模型。

进一步地,处理输入模块201具体包括:

分词子模块,用于所述获取用户输入的第一问题和所述第一问题的第一类别,将所述第一问题进行分词处理并删除所述第一问题的词语中的停用词和标点符号;

组合子模块,用于将进行了分词处理并删除了停用词和标点符号后的第一问题分别与所述第一类别对应的各个预置的第二问题组成输入问题组。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

实施例三:

图9是本申请实施例三提供的终端设备的示意图。如图9所示,该实施例的终端设备3包括:处理器30、存储器31以及存储在所述存储器31中并可在所述处理器30上运行的计算机程序32。所述处理器30执行所述计算机程序32时实现上述深度检索匹配分类方法实施例中的步骤,例如图1所示的步骤s101至s105。或者,所述处理器30执行所述计算机程序32时实现上述各装置实施例中各模块/单元的功能,例如图8所示模块201至205的功能。

示例性的,所述计算机程序32可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器31中,并由所述处理器30执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序32在所述终端设备3中的执行过程。例如,所述计算机程序32可以被分割成处理输入模块、词向量模块、点积计算模块、概率计算模块以及相似问题模块,各模块具体功能如下:

获取用户输入的第一问题和所述第一问题的第一类别,将所述第一问题进行分词处理后分别与所述第一类别对应的各个预置的第二问题组成输入问题组;

通过预置的词向量模型将所述输入问题组内所述第一问题和所述第二问题的词语转换成词向量;

将所述第一问题的各个词向量分别与所述第二问题的词向量矩阵点乘,得到所述第一问题的各个词向量对应的点积结果,所述词向量矩阵由所述第二问题的词向量组成;

将各个所述点积结果输入经过训练的深度神经网络模型中,得到所述输入问题组为第一分类标签的第一概率,所述第一分类标签表示所述第一问题与所述第二问题为相似问题;

将所述第一概率最高的输入问题组的第二问题作为所述第一问题的相似问题。

所述终端设备3可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器30、存储器31。本领域技术人员可以理解,图9仅仅是终端设备3的示例,并不构成对终端设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器30可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器31可以是所述终端设备3的内部存储单元,例如终端设备3的硬盘或内存。所述存储器31也可以是所述终端设备3的外部存储设备,例如所述终端设备3上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器31还可以既包括所述终端设备3的内部存储单元也包括外部存储设备。所述存储器31用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1