一种内容推送优化方法、内容推送优化装置及电子设备与流程

文档序号:21408707发布日期:2020-07-07 14:43阅读:321来源:国知局
一种内容推送优化方法、内容推送优化装置及电子设备与流程

本申请属于数据处理技术领域,尤其涉及一种内容推送优化方法、内容推送优化装置、电子设备及计算机可读存储介质。



背景技术:

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

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

综上,现有的智能客服技术匹配精度低,返回结果相关性差,难以推送给用户所需要的内容,极度影响用户的使用体验。



技术实现要素:

有鉴于此,本申请提供了一种内容推送优化方法、内容推送优化装置、电子设备及计算机可读存储介质,可进一步提升智能客服向用户推送内容时的准确度。

本申请实施例的第一方面提供了一种内容推送优化方法,包括:

接收用户输入的第一问题及上述第一问题的第一类别;

根据上述第一问题的第一类别,确定所采用的目标梯度提升决策树gbdt模型;

将上述第一问题输入至上述gbdt模型中,得到上述第一问题与上述第一类别下的各个第二类别相匹配的第一概率;

基于上述第一概率,确定上述第一问题的第二类别;

基于上述第一问题的第二类别,推送与上述第一问题相关的问题和/或回答。

本申请实施例的第二方面提供了一种内容优化推送装置,包括:

问题接收单元,用于接收用户输入的第一问题及上述第一问题的第一类别;

gbdt模型确定单元,用于根据上述第一问题的第一类别,确定所采用的目标梯度提升决策树gbdt模型;

第一概率获取单元,用于将上述第一问题输入至上述gbdt模型中,得到上述第一问题与上述第一类别下的各个第二类别相匹配的第一概率;

第二类别确定单元,用于基于上述第一概率,确定上述第一问题的第二类别;

内容推送单元,用于基于上述第一问题的第二类别,推送与上述第一问题相关的问题和/或回答。

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

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

本申请的第五方面提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。

由上可见,通过本申请方案,首先接收用户输入的第一问题及上述第一问题的第一类别,然后根据上述第一问题的第一类别,确定所采用的目标梯度提升决策树gbdt模型,再将上述第一问题输入至上述gbdt模型中,得到上述第一问题与上述第一类别下的各个第二类别相匹配的第一概率,并基于上述第一概率,确定上述第一问题的第二类别,最终基于上述第一问题的第二类别,推送与上述第一问题相关的问题和/或回答。由于gbdt模型预测用户所输入的问题的第二类别的精准确度较高,因而,可通过本方案提升智能客服向用户推送内容时的准确度。

附图说明

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

图1是本申请实施例提供的内容推送优化方法的实现流程示意图;

图2是本申请实施例提供的内容推送优化方法中,对gbdt模型进行训练的实现流程示意图;

图3是本申请实施例提供的另一种内容推送优化方法的实现流程示意图;

图4是本申请实施例提供的drmc模型所采用的深度神经网络模型的架构示意图;

图5是本申请实施例提供的另一种内容推送优化方法中,步骤302的实现流程示意图;

图6是本申请实施例提供的内容推送优化装置的示意图;

图7是本申请实施例提供的电子设备的示意图。

具体实施方式

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

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

实施例一

下面对本申请实施例提供的一种内容推送优化方法进行描述,请参阅图1,本申请实施例中的内容推送优化方法包括:

在步骤101中,接收用户输入的第一问题及上述第一问题的第一类别;

在本申请实施例中,首先接收用户在与智能客服的对话过程中所输入的第一问题及该第一问题的第一类别。可选地,可以预先对用户可能咨询的问题设置多级类别,例如,可以根据类别范围由大至小的顺序,设置三种类别级别,分别为第一类别、第二类别及第三类别。其中,上述第一类别为问题的最大所属类别,上述第三类别为问题的最小所属类别。可以认为,一个第一类别中包含有多个第二类别,而一个第二类别中也可以包含有多个第三类别,通过上述第一类别、第二类别及第三类别,可逐渐缩小问题所属类别的范围。例如,第一类别可以为产品类别,第二类别可以为咨询的方向(如基础知识,app问题等),第三类别为咨询方向的细化(如可将app问题细分为app操作、搭建流程和连接问题等)。

在用户输入需要咨询的第一问题时,用户可通过下拉框、勾选或者手动输入等方式确定上述第一问题的第一类别,即确定上述第一问题所涉及的产品类型。

在步骤102中,根据上述第一问题的第一类别,确定所采用的目标梯度提升决策树gbdt模型;

在本申请实施例中,在得到了上述第一问题的第一类别后,即可确定上述第一类别所对应的梯度提升决策(gradientboostingdecisiontree,gbdt)模型,上述gbdt模型具体为经过训练的gbdt模型。在本申请实施例中,每一种第一类别均对应有各自的gbdt模型,例如,针对第一类别a,其对应有一gbdt模型a;针对第一类别b,其对应有一gbdt模型b。因而,可以根据上述第一问题的第一类别,确定即将采用的gbdt模型;

在步骤103中,将上述第一问题输入至上述gbdt模型中,得到上述第一问题与上述第一类别下的各个第二类别相匹配的第一概率;

在本申请实施例中,将上述第一问题输入至上述梯度提升决策模型中,通过该gbdt模型,可以计算得到上述第一问题属于该第一类别下的各个第二类别的第一概率。例如,第一类别a包含有第二类别a1、第二类别a2、第二类别a3这三种不同的第二类别;假定用户向智能客服输入了问题q1,并手动选择该问题q1的第一类别为a,则可以将上述问题q1输入至该第一类别a所对应的gbdt模型a中,该gbdt模型a将输出上述问题q1与第二类别a1相匹配的第一概率p1(a1),上述问题q1与第二类别a2相匹配的第一概率p1(a2)及上述问题q1与第二类别a3相匹配的第一概率p1(a3)。

在步骤104中,基于上述第一概率,确定上述第一问题的第二类别;

在本申请实施例中,在得到了上述第一问题与上述第一类别下的各个第二类别相匹配的第一概率后,将其中第一概率最大值所对应的第二类别确定为上述第一问题的第二类别。例如,假定上述p1(a1)的值为0.3,上述p1(a2)的值为0.4,上述p1(a3)的值为0.7,则可知上述问题q1与上述第二类别a3相匹配的第一概率最高,此时,可以将上述第二类别a3作为该问题q1的第二类别。

在步骤105中,基于上述第一问题的第二类别,推送与上述第一问题相关的问题和/或回答。

可选地,上述内容推送优化方法还包括对上述gbdt模型的训练,请参阅图2,上述对上述gbdt模型的训练包括:

在步骤201中,从待处理的客服问答数据中,提取得到两个以上的问题;

在步骤202中,针对属于同一第一类别的每一问题,对上述问题进行分词,并根据上述问题的分词结果,构建得到上述第一类别下的gbdt训练数据集;

在本申请实施例中,针对属于同一第一类别的每一问题,可对这些问题进行分词处理,以将上述这些问题分成多个词语,并删除词语中的停用词和标点符号等,如删除一些简单的连接词和语气助词等,以减少无意义词对有意义词的影响。可选地,在对上述问题进行分词后,可以将对分词后的结果转换为数字化的表达,再构建得到上述第一类别下的gbdt训练数据集,其中,上述gbdt训练数据集中有两个以上gbdt训练数据,上述gbdt训练数据的特征为上述问题的分词结果,上述gbdt训练数据的标签为上述问题的第二类别。此处以具体实例对上述gbdt训练数据集的构建进行说明:

假定提取得到了问题q2,具体为“我是一名老师”,同时提取得到了该问题q2的相似问题q3,具体为“我是教师”,上述q2及q3均属于第一类别“人”及第二类别“教师”。对上述问题进行分词处理后,得到的q2的分词结果为[我,是,一名,老师],q3的分词结果为[我,是,教师];基于此,所构建的词典为[我,是,一名,老师,教师],其中,“我”在所构建的词典中的index值为0,“是”在所构建的词典中的index值为1,“一名”在所构建的词典中的index值为2,“老师”在所构建的词典中的index值为3,“教师”在所构建的词典中的index值为4。假定上述第一类别“人”除了包括有第二类别“教师”之外,还包括有第二类别“医生”及第二类别“军人”,则预先设定上述第二类别的数字化表达分别是“教师”对应数字0,“医生”对应数字1,“军人”对应数字2;则上述q2转换为数字化表达后为((0,1,2,3),0),q3转换为数字化表达后为((0,1,4),0)。在对属于上述第一类别下的每一问题都转换为上述数字化表达后,将数字化表达的各个数字化的训练数据存放于同一集合中,作为上述第一类别下的gbdt训练数据集;

在步骤203中,基于上述gbdt训练数据集,对与上述gbdt训练数据集相关联的第一类别的gbdt模型进行训练。

在本申请实施例中,将上述gbdt训练数据集输入至对应的gbdt模型中进行训练,例如,在步骤202的例子中,得到了两个训练数据((0,1,2,3),0)及((0,1,4),0),且上述两个训练数据均与第一类别“人”相关联,则此时,可以将上述两个训练数据输入至与第一类别“人”相关的gbdt模型中进行训练。也即是说,针对每一第一类别,均对应有一gbdt模型;针对每一gbdt模型,在进行gbdt模型的训练时,都对应有一训练数据集,该训练数据集中有若干个训练数据,每个训练数据都由属于该第一类别的问题的分词结果及问题的第二类别而生成。

可选地,上述步骤103还包括:

a1、获取上述第一类别下的第二类别的数量;

a2、基于上述第一类别下的第二类别的数量,对gbdt模型的输出结果进行均值化处理;

在本申请实施例中,根据第一类别下所包含的第二类别的数量的不同,所获得的第一概率的值会产生变化。因而,为了忽略第二类别的数量对第一概率的影响,可以基于上述第一类别下的第二类别的数量,对gbdt模型的输出结果进行均值化处理,具体地,所采用的均值化处理的公式(1)如下所示:

y=1/exp-(m-1/n)/(1/n)(1)

其中,y为第一概率均值化处理结果,n为上述第一问题的第一类别中的第二类别的数量,m为gbdt模型所输出的第一概率。

a3、通过预设的激活函数对均值化处理后的输出结果进行激活,得到上述第一问题与上述第一类别下的各个第二类别相匹配的第一概率。

在本申请实施例中,在进行了上述均值化处理后,所得到的第一概率的取值区间将被限定,也即,无法处于正常的概率区间范围内。基于此,可以采用预设的sigmoid激活函数对上述均值化处理后的输出结果进行激活,以最终得到上述第一问题与上述第一类别下的各个第二类别相匹配的第一概率,此时,在上述激活函数的激活下,上述第一概率的取值区间将在[0.5,1)的区间范围内。

由上可见,通过本申请实施例,首先接收用户输入的第一问题及上述第一问题的第一类别,然后根据上述第一问题的第一类别,确定所采用的目标梯度提升决策树gbdt模型,再将上述第一问题输入至上述gbdt模型中,得到上述第一问题与上述第一类别下的各个第二类别相匹配的第一概率,并基于上述第一概率,确定上述第一问题的第二类别,最终基于上述第一问题的第二类别,推送与上述第一问题相关的问题和/或回答。由于gbdt模型预测用户所输入的问题的第二类别的精准确度较高,因而,可通过本方案提升智能客服向用户推送内容时的准确度。

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

实施例二

在上述实施例一的基础上,下面对本申请实施例提供的另一种内容推送优化方法进行描述,请参阅图3,本申请实施例中的内容推送优化方法包括:

在步骤301中,接收用户输入的第一问题及上述第一问题的第一类别;

在本申请实施例中,上述步骤301与上述步骤101相同或相似,具体可参见上述步骤101的相关描述,在此不再赘述。

在步骤302中,将上述第一问题分别与属于上述第一类别的各个预设的第二问题组成问题组,并将上述问题组输入至深度检索匹配分类drmc模型中,得到各个问题组所对应的第一分类标签的第二概率;

在本申请实施例中,在获取到用户输入的第一问题和上述第一问题的第一类别后,可将上述第一问题分别与上述第一类别对应的各个预设的第二问题组成问题组,其中,问题组的形式可表示为(第一问题,第二问题),上述第二问题可以为用户常用问题,上述第一类别中对应有多少个第二问题,就可以组成多少个问题组。例如,若上述第一类别中对应有4个第二问题,则可以组成4个问题组。

在组成问题组后,将所组成的问题组分别输入至训练后的深度检索匹配分类drmc模型中,可得到上述drmc模型输出的各个问题组所对应的第一分类标签以及上述第一分类标签的第二概率,也即是说,可得到问题组a所对应的第一分类标签为a,并且可得到该问题组a对应至该第一分类标签a的第二概率为p2(a);再例如,可得到问题组b所对应的第一分类标签为b,并且可得到该问题组b对应至该第一分类标签b的第二概率为p2(b);再例如,可得到问题组c所对应的第一分类标签为c,并且可得到该问题组c对应至该第一分类标签c的第二概率为p2(c),等等。其中,上述第一分类标签可以为4、3、2、1和0中的任一值,上述第二概率用于衡量上述drmc模型对其判断结果的确定程度,如上述drmc模型确定问题组a所对应的第一分类标签为4时的确定程度。

具体地,上述第一分类标签用于表示问题组中的第一问题与第二问题之间的相似性,若问题组a所对应的第一分类标签为4,则表示问题组a中的第一问题与第二问题为相似问题,即问题组a中的第一问题和第二问题所表述的内容极为相似,仅仅是提问方式稍微不同;若问题组b所对应的第一分类标签为3,则表示问题组b中的第一问题与第二问题的第一类别、第二类别以及第三类别均相同;若问题组c所对应的第一分类标签为2,则表示问题组c中的第一问题与第二问题的第一类别和第二类别相同;如问题组d中的第一分类标签为1的话,则表示问题组d中的第一问题与第二问题的第一类别相同;其他情况下,则可将问题组所对应的第一分类标签设置为0。由上可见,上述第一分类标签由大至小变化时,该问题组中的第一问题与第二问题之间的相关程度也呈现由大至小变化的趋势,也即,当问题组的第一分类标签为4时,该问题组中的第一问题及第二问题非常相关;而当问题组的第一分类标签为0时,该问题组中的第一问题及第二问题几乎不相关。

在步骤303中,根据上述第一问题的第一类别,确定所采用的目标梯度提升决策树gbdt模型;

在步骤304中,将上述第一问题输入至上述gbdt模型中,得到上述第一问题与上述第一类别下的各个第二类别相匹配的第一概率;

在步骤305中,基于上述第一概率,确定上述第一问题的第二类别;

在本申请实施例中,上述步骤303、304及305分别与上述步骤102、103及104相同或相似,具体可参见上述步骤102、103及104的相关描述,在此不再赘述。

在步骤306中,获取各个问题组中第二问题的第二类别;

在步骤307中,根据各个问题组中第二问题的第二类别与上述第一问题的第二类别,调整各个问题组所对应的第一分类标签的第二概率;

在步骤308中,根据调整后的第二概率,推送与上述第一问题相关的问题或回答。

在本申请实施例中,各个问题组中的第二问题均包括第一类别、第二类别以及第三类别,且各个问题组中的第二问题的第一类别、第二类别以及第三类别均已知,因而,在确定了与上述第一问题的第一类别相同的各第二问题,并将上述第一问题与各第二问题组成各个问题组后,可进一步获取各个问题组内第二问题的第二类别。而在得到上述gbdt模型输出的上述第一问题的第二类别之后,即,在得到上述gbdt模型预测的上述第一问题的第二类别后,可将各个问题组内第二问题的第二类别与gbdt模型所预测的上述第一问题的第二类别进行比较,以根据比较结果,来调整各上述问题组所对应的第一类别标签的第二概率,例如,将问题组a内的第二问题a的第二类别与上述第一问题的第二类别进行比较,以根据比较结果调整问题组a所对应的第一类别标签的第二概率。

可选地,上述步骤307具体包括:

b1、判断上述第二问题的第二类别与上述第一问题的第二类别是否相同;

b2、若上述第二问题的第二类别与上述第一问题的第二类别相同,则根据预设的奖励系数对上述问题组所对应的第一分类标签的第二概率进行加权处理;

b3、若上述第二问题的第二类别与上述第一问题的第二类别不相同,则根据预设的惩罚系数对上述问题组所对应的第一分类标签的第二概率进行惩罚处理。

在本申请实施例中,在得到各个问题组中的第二问题的第二类别和gbdt模型所预测的上述第一问题的第二类别后,可判断各个问题组中的第二问题的第二类别是否与上述第一问题的第二类别相同,若相同,则可对该第二问题所在问题组所对应的第一分类标签的第二概率进行加权处理,即,可将该问题组的第二概率乘以预设的奖励系数;若不同,则可对该第二问题所在问题组所对应的第一分类标签的第二概率进行惩罚处理,即,可将该第二概率乘以预设的惩罚系数。例如,若问题组a中的第二问题的第二类别与上述第一问题的第二类别不相同,则将问题组a所对应的第一分类标签的第二概率p2(a)乘以预设的惩罚系数,实现对其的惩罚处理;再例如,若问题组b中的第二问题的第二类别与上述第一问题的第二类别相同,则将问题组b所对应的第一分类标签的第二概率p2(b)乘以预设的奖励系数,实现对其的加权处理。具体地,上述预设的奖励系数大于上述预设的惩罚系数。

可选地,本申请实施例中,还可以在得到上述drmc模型输出的各个问题组所对应的第一分类标签的第二概率后,根据上述第一分类标签对上述问题组进行排序,例如,按照第一分类标签为4、3、2、1、0的顺序对上述各个问题组进行降序排序,使得第一分类标签为4的问题组排序靠前,第一分类标签为0的问题组排序靠后;当第一分类标签相同时,则可根据第二概率来进行降序排序,也即在第一分类标签相同的情况下,使得第二概率大的问题组排序靠前,第二概率小的问题组排序靠后,以此得到降序排列的问题组。在执行上述b1的步骤时,就可以仅取排序在前的预设数量的问题组进行比较,以减少比较数量,提高匹配速度和匹配效率,如选取排序在前的50个问题组进行比较;或者,仅选取第一分类标签为4的问题组进行比较;又或者,选取第一分类标签为4和3的问题组进行比较,此处不作限定。

可选地,上述步骤308包括:

c1、检测调整后的第二概率中,是否存在位于预设的第一区间内的第二概率;

c2、若存在位于上述第一区间内的第二概率,则基于位于上述第一区间内的第二概率所对应的问题组中的第二问题及其答案进行推送;

c3、若不存在位于上述第一区间内的第二概率,则检测调整后的第二概率是否存在位于预设的第二区间内的第二概率;

c4、若存在位于上述第二区间内的第二概率,则基于位于上述第二区间内的第二概率所对应的问题组中的第二问题进行推送;

c5、若不存在位于上述第二区间内的第二概率,则推送提醒消息,用以提醒用户上述第一问题无法被识别。

在本申请实施例中,上述第一区间和上述第二区间可根据具体业务需求进行确定,例如,可将上述第一区间确定为[0.8,1],可将第二区间确定为[0.6,0.8)。此处以具体实例说明上述步骤c1至c5:在得到调整后的第二概率后,可判断调整后的第二概率中是否存在位于第一阈值区间[0.8,1]内的第二概率,假定调整后的第二概率中,存在有第二概率的值为0.9,此时可首先确定调整后的第二概率0.9所对应的问题组,例如,假定该调整后的第二概率0.9所对应的问题组为问题组a,则可将问题组a中的第二问题所对应的预置答案推送给用户;若调整后的第二概率不存在位于第一区间[0.8,1]内的第二概率,但存在位于第二阈值区间[0.6,0.8)的第二概率,如调整后的第二概率有0.61、0.7、0.73以及0.75,则可以首先确定出调整后的第二概率0.61所对应的问题组、调整后的第二概率0.7所对应的问题组、调整后的第二概率0.73所对应的问题组以及调整后的第二概率0.75所对应的问题组,假定上述几个调整后的第二概率分别对应问题组b、问题组c、问题组d以及问题组e,则可进一步获取问题组b中的第二问题b、问题组c中的第二问题c、问题组d中的第二问题d以及问题组e中的第二问题e,并将第二问题b、第二问题c、第二问题d以及第二问题e推送给用户。进一步地,假定调整后的第二概率既不存在位于第一区间[0.8,1]内的第二概率,也不存在位于第二区间[0.6,0.8)的第二概率时,则可以认为无法对上述第一问题进行识别,即用户所输入的第一问题不符合规范,或者无法找到该第一问题的回复结果,此时,即可向用户推送提醒消息,用以提醒用户上述第一问题无法被识别;例如,如向用户返回“抱歉,我没有理解您的意思,麻烦您换个问法试试”,等等。

其中,在发送第二问题给用户时,可将第二问题按照调整后的第二概率进行降序排列后再发送给用户,如可将降序排序后得到的(第二问题e,第二问题d,第二问题c,第二问题b)返回给用户,以使得与上述第一问题最相似的第二问题排序在前,从而方便用户快速找到所想要的回复内容,提高返回结果的相关性,提升用户的使用体验。

可以理解的是,当位于第二阈值区间[0.6,0.8)的第二概率比较多,而造成所确定的第二问题较多时,则可对所确定的第二问题进行降序排列后,从降序排列的第二问题中选择预设数量的第二问题返回给用户。例如,当对所确定的第二问题进行降序排列后为(第二问题e,第二问题d,第二问题c,第二问题b,第二问题f,第二问题g,第二问题a,第二问题h),而根据实际情况所确定的预设数量为5时,则可选择出(第二问题e,第二问题d,第二问题c,第二问题b,第二问题f)返回给用户。

可选地,在本申请实施例中,上述内容推送优化方法还可以包括:

根据上述第一概率、上述第二概率以及预设的阈值区间,确定上述预设的奖励系数及上述预设的惩罚系数。

在本申请实施例中,在得到上述drmc模型输出的各个问题组所对应的第一分类标签的第二概率(即步骤302),并且还得到上述gbdt模型输出的上述第一问题的第二类别所对应的第一概率(即步骤304)后,可以根据业务需求确定一预设的阈值区间后,并根据上述第一概率、上述第二概率和上述预设阈值区间确定出上述奖励系数和上述惩罚系数。其中,在确定上述奖励系数和上述惩罚系数时,所选择的第二概率可以为各上述问题组所对应的第一分类标签的第二概率中值最大的第二概率。

以下以具体应用场景作出说明:

假定根据具体业务需求所,确定上述预设的阈值区间为:第一预设阈值区间为[0.8,1],第二预设阈值区间为[0.6,0.8)时,则可根据下述公式(2)、(3)、(4)确定上述预设奖励系数和上述预设惩罚系数:

其中,y为第一概率均值化处理结果,r为第二概率,x1为预设奖励系数,x2为调和系数,x3为预设惩罚系数,调和系数可用作基准,以协助确定预设奖励系数和预设惩罚系数.

可选地,图4示出了drmc模型所采用的深度神经网络模型的架构,以下结合具体的实现流程进行说明。请参阅图5,上述步骤302包括:

在步骤501中,将上述第一问题进行分词处理后,分别与上述第一类别对应的各个预设的第二问题组成问题组;

在本申请实施例中,在获取到用户输入的第一问题后,可对上述第一问题进行分词处理,以将上述第一问题分成多个词语,并删除词语中的停用词和标点符号等,如删除一些简单的连接词和语气助词等,以减少无意义的词对有意义词的影响。而分词处理后,则可将分词后的第一问题与上述第一类别对应的各个预设的第二问题组成问题组。

在步骤502中,通过预设的词向量模型,将各上述问题组中的第一问题及第二问题的词语转换为词向量;

在本申请实施例中,得到问题组后,可以通过预设的词向量模型将问题组内的第一问题和各第二问题的词语转换成词向量,以将词语以向量的形式进行表示,其中,词向量的维度可以设置为300维。

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

在本申请实施例中,上述第二问题的各个词向量可以组成词向量矩阵,上述第一问题的各个词向量可分别与该词向量矩阵进行点乘,得到上述第一问题的各个词向量所对应的点积结果。

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

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

在步骤504中,将得到的各个点积结果输入至上述drmc模型中,得到各个问题组所对应的第一分类标签的第二概率。

在本申请实施例中,将各个点积结果输入至训练后的深度神经网络模型之后,上述深度神经网络模型可以对点积结果进行特征提取和分类计算,得到各上述问题组中所对应的第一分类标签以及第一分类标签的第二概率。

可选地,上述步骤504包括:

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

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

其中,上述深度神经网络模型的隐藏层的特征提取过程可以表示为:

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

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

在本申请实施例中,上述第一问题中的各个词语可能具有不同的重要性,例如,第一问题分词后为(机器人、是、什么),其中词语“机器人”应当比“是”和“什么”更为重要。因而在上述深度神经网络模型进行匹配计算的过程中,可能因为未区分各个词的重要性而导致匹配出错的情况,从而错误地确定各问题组所对应的第一分类分类标签以及错误地计算第一分类标签的第二概率。

基于此,可以通过经过训练的浅层神经网络模型为上述第一问题中的各个词向量计算对应的权重值,以权重值区分上述第一问题中各个词语的重要性。同时,采用浅层神经网络模型可以提高数据处理的速度,可在较短的时间内计算出各个词向量对应的权重值。

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

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

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

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

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

在本申请实施例中,在上述深度神经网络模型的输出层中,可以根据各个点积结果的特征向量和对应的权重值计算各上述问题组所对应的第一分类标签的第二概率。其中,根据各个点积结果的特征向量和各个特征向量对应的权重值进行计算的过程可以表示为:

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

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

具体地,在输出层计算第一分类标签的第二概率时可采用softmax函数。

可选地,在得到上述第一问题的各个词向量对应的点积结果之后,还可以包括:从大到小筛选保留预置数量的点积结果。例如,当输入的第一问题含有过多的词语时,会得到众多的点积结果,此时可以从大到小筛选保留预置数量的点积结果,既能筛选出关键的词语又能使得第一问题的长度变为固定长度,其中,筛选过程可以使用topk的mapping函数。其中,预置数量可以根据实际情况进行选择,例如可以将预置数量设置为10,则只保留最大的10个点积结果。

可选地,上述内容推送优化方法还包括对上述drmc模型的训练,包括:

f1、采集训练问题,并对上述训练问题进行扩展,得到多个相似问题;

本申请实施例中,可以获取客服问答数据,并通过对客服问答数据进行预处理,从预处理后的客服问答数据中采集得到用户常用问题,以作为训练用的训练问题,其中,预处理方式可以包括图片检测、敏感词禁用词识别、繁简体转换、表情识别替换、拼音检测等处理方式。在得到用户常用问题后,还可以对用户常用问题进行扩展,即对上述训练问题进行扩展,得到与各上述训练问题相似的多个相似问题,以扩展训练用的数据样本,从而提高训练精度和准确率等。

f2、分别根据各上述训练问题与各上述相似问题之间的相似性,对上述训练问题与对应的相似问题进行第二分类标签的标注;

本申请实施例中,在扩展得到多个相似问题后,可根据各上述训练问题分别与各上述相似问题之间的相似性,进行第二分类标签的标注,如训练问题s1和相似问题t1所表述的内容极其相似,仅是表达方式稍微不同时,则可将训练问题s1和相似问题t1之间的第二分类标签标注为4;又如,训练问题s2与相似问题t2的第一类别、第二类别以及第三类别均相同时,则可将训练问题s2与相似问题t2之间的第二分类标签标注为3;又如训练问题s3与相似问题t3的第一类别、第二类别相同时,则可将训练问题s3与相似问题t3之间的第二分类标签标注为2;再如,训练问题s4与相似问题t4的第一类别相同时,则可将训练问题s4与相似问题t4之间的第二分类标签标注为1;其他情况,则可将训练问题与相似问题之间的第二分类标签标注为0。

f3、将上述训练问题、上述相似问题以及对应的第二分类标签组成训练问题组,并将上述训练问题组输入至初始的深度检索匹配分类模型中进行训练,得到训练后的深度检索匹配分类模型。

本申请实施例中,在得到各上述训练问题与各上述相似问题之间的第二分类标签后,则可分别将上述训练问题、上述相似问题以及两者之间所对应的第二分类标签组成训练问题组,其中,训练问题组的形式可表示为(第二分类标签,训练问题,相似问题),并可将各训练问题组分别输入至初始的深度检索匹配分类模型中进行训练,得到训练后的深度检索匹配分类模型。

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

进一步地,本申请实施例中,在整理得到客服问答数据后,还可以通过客服问答数据对经过训练的外部词向量模型进行重训练,以得到上述预设的词向量模型,即可先获取经过训练的外部词向量模型,例如先获取经过120g语料训练的外部词向量模型,然后通过整理得到的客服问答数据来对上述外部词向量模型进行再次训练,以更加真实地表达出词语之间的关系,使得预设的词向量模型不仅能够使用问答数据中各个词语之间的关系,还能保证常用词的通用性。

由上可见,通过本申请实施例,通过融合drmc模型和gbdt模型来进一步准确确定客户的咨询结果,更加提高了智能客服的回复准确率,大大减少客服人员的工作量,解决了现有智能客服技术中匹配精度低、返回结果相关性差、回复准确率低的问题,提升了用户的使用体验。

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

实施例三

本申请实施例三提供了一种问内容推送优化装置,上述内容推送优化装置可集成于电子设备中,如图6所示,本申请实施例中的内容推送优化装置600包括:

问题接收单元601,用于接收用户输入的第一问题及上述第一问题的第一类别;

gbdt模型确定单元602,用于根据上述第一问题的第一类别,确定所采用的目标梯度提升决策树gbdt模型;

第一概率获取单元603,用于将上述第一问题输入至上述gbdt模型中,得到上述第一问题与上述第一类别下的各个第二类别相匹配的第一概率;

第二类别确定单元604,用于基于上述第一概率,确定上述第一问题的第二类别;

内容推送单元605,用于基于上述第一问题的第二类别,推送与上述第一问题相关的问题和/或回答。

可选地,上述内容推送优化装置600还包括:

gbdt模型训练单元,用于从待处理的客服问答数据中,提取得到两个以上的问题;针对属于同一第一类别的每一问题,对上述问题进行分词,并根据上述问题的分词结果,构建得到上述第一类别下的gbdt训练数据集,其中,上述gbdt训练数据集中有两个以上gbdt训练数据,上述gbdt训练数据的特征为上述问题的分词结果,上述gbdt训练数据的标签为上述问题的第二类别;基于上述gbdt训练数据集,对与上述gbdt训练数据集相关联的第一类别的gbdt模型进行训练。

可选地,上述第一概率获取单元603包括;

第二类别数量获取子单元,用于获取上述第一类别下的第二类别的数量;

均值化处理子单元,用于基于上述第一类别下的第二类别的数量,对gbdt模型的输出结果进行均值化处理;

激活子单元,用于通过预设的激活函数对均值化处理后的输出结果进行激活,得到上述第一问题与上述第一类别下的各个第二类别相匹配的第一概率。

可选地,上述内容推送优化装置600还包括:

第二概率获取单元,用于将上述第一问题分别与属于上述第一类别的各个预设的第二问题组成问题组,并将上述问题组输入至深度检索匹配分类drmc模型中,得到各个问题组所对应的第一分类标签的第二概率;

相应地,上述内容推送单元605包括:

第二类别获取子单元,用于获取各个问题组中第二问题的第二类别;

第二概率调整子单元,用于根据各个问题组中第二问题的第二类别与上述第一问题的第二类别,调整各个问题组所对应的第一分类标签的第二概率;

相关内容推送子单元,用于根据调整后的第二概率,推送与上述第一问题相关的问题或回答。

可选地,上述第二概率获取单元包括:

分词子单元,用于将上述第一问题进行分词处理后,分别与上述第一类别对应的各个预设的第二问题组成问题组;

词向量转换子单元,用于通过预设的词向量模型,将各上述问题组中的第一问题及第二问题的词语转换为词向量;

词向量点乘子单元,用于将上述第一问题的各个词向量分别与上述第二问题的词向量矩阵点乘,得到上述第一问题的各个词向量对应的点积结果,其中,上述词向量矩阵由上述第二问题的词向量组成;

第二概率确定子单元,用于将得到的各个点积结果输入至上述drmc模型中,得到各个问题组所对应的第一分类标签的第二概率。

可选地,上述相关内容推送子单元包括:

第一区间检测子单元,用于检测调整后的第二概率中,是否存在位于预设的第一区间内的第二概率;

第一推送子单元,用于若存在位于上述第一区间内的第二概率,则基于位于上述第一区间内的第二概率所对应的问题组中的第二问题及其答案进行推送;

第二区间检测子单元,用于若不存在位于上述第一区间内的第二概率,则检测调整后的第二概率是否存在位于预设的第二区间内的第二概率;

第二推送子单元,用于若存在位于上述第二区间内的第二概率,则基于位于上述第二区间内的第二概率所对应的问题组中的第二问题进行推送;

第三推送子单元,用于若不存在位于上述第二区间内的第二概率,则推送提醒消息,用以提醒用户上述第一问题无法被识别。

由上可见,通过本申请实施例,内容推送优化装置通过融合drmc模型和gbdt模型来进一步准确确定客户的咨询结果,更加提高了智能客服的回复准确率,大大减少客服人员的工作量,解决了现有智能客服技术中匹配精度低、返回结果相关性差、回复准确率低的问题,提升了用户的使用体验。

实施例四

本申请实施例四提供了一种电子设备,请参阅图7,本申请实施例中的电子设备7包括:存储器701,一个或多个处理器702(图7中仅示出一个)及存储在存储器701上并可在处理器上运行的计算机程序。其中:存储器701用于存储软件程序以及模块,处理器702通过运行存储在存储器701的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取上述预设事件对应的资源。具体地,处理器702通过运行存储在存储器701的上述计算机程序时实现以下步骤:

接收用户输入的第一问题及上述第一问题的第一类别;

根据上述第一问题的第一类别,确定所采用的目标梯度提升决策树gbdt模型;

将上述第一问题输入至上述gbdt模型中,得到上述第一问题与上述第一类别下的各个第二类别相匹配的的第一概率;

基于上述第一概率,确定上述第一问题的第二类别;

基于上述第一问题的第二类别,推送与上述第一问题相关的问题和/或回答。

假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,处理器702通过运行存储在存储器701的上述计算机程序时还实现以下步骤:

从待处理的客服问答数据中,提取得到两个以上的问题;

针对属于同一第一类别的每一问题,对上述问题进行分词,并根据上述问题的分词结果,构建得到上述第一类别下的gbdt训练数据集,其中,上述gbdt训练数据集中有两个以上gbdt训练数据,上述gbdt训练数据的特征为上述问题的分词结果,上述gbdt训练数据的标签为上述问题的第二类别;

基于上述gbdt训练数据集,对与上述gbdt训练数据集相关联的第一类别的gbdt模型进行训练。

在上述第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述将上述第一问题输入至上述gbdt模型中,得到上述第一问题与上述第一类别下的各个第二类别相匹配的的第一概率,包括:

获取上述第一类别下的第二类别的数量;

基于上述第一类别下的第二类别的数量,对gbdt模型的输出结果进行均值化处理;

通过预设的激活函数对均值化处理后的输出结果进行激活,得到上述第一问题与上述第一类别下的各个第二类别相匹配的第一概率。

在上述第一种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,在上述基于上述第一问题的第二类别,推送与上述第一问题相关的问题和/或回答之前,处理器702通过运行存储在存储器701的上述计算机程序时还实现以下步骤:

将上述第一问题分别与属于上述第一类别的各个预设的第二问题组成问题组,并将上述问题组输入至深度检索匹配分类drmc模型中,得到各个问题组所对应的第一分类标签的第二概率;

相应地,上述基于上述第一问题的第二类别,推送与上述第一问题相关的问题或回答,包括:

获取各个问题组中第二问题的第二类别;

根据各个问题组中第二问题的第二类别与上述第一问题的第二类别,调整各个问题组所对应的第一分类标签的第二概率;

根据调整后的第二概率,推送与上述第一问题相关的问题或回答。

在上述第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,上述将上述第一问题分别与属于上述第一类别的各个预设的第二问题组成问题组,并将上述问题组输入至深度检索匹配分类drmc模型中,得到各个问题组所对应的第一分类标签的第二概率,包括:

将上述第一问题进行分词处理后,分别与上述第一类别对应的各个预设的第二问题组成问题组;

通过预设的词向量模型,将各上述问题组中的第一问题及第二问题的词语转换为词向量;

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

将得到的各个点积结果输入至上述drmc模型中,得到各个问题组所对应的第一分类标签的第二概率。

在上述第四种可能的实施方式作为基础而提供的第六种可能的实施方式中,上述根据调整后的第二概率,推送与上述第一问题相关的问题或回答,包括:

检测调整后的第二概率中,是否存在位于预设的第一区间内的第二概率;

若存在位于上述第一区间内的第二概率,则基于位于上述第一区间内的第二概率所对应的问题组中的第二问题及其答案进行推送;

若不存在位于上述第一区间内的第二概率,则检测调整后的第二概率是否存在位于预设的第二区间内的第二概率;

若存在位于上述第二区间内的第二概率,则基于位于上述第二区间内的第二概率所对应的问题组中的第二问题进行推送;

若不存在位于上述第二区间内的第二概率,则推送提醒消息,用以提醒用户上述第一问题无法被识别。

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

存储器701可以包括只读存储器和随机存取存储器,并向处理器702提供指令和数据。存储器701的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器701还可以存储设备类型的信息。

由上可见,通过本申请实施例,电子设备通过融合drmc模型和gbdt模型来进一步准确确定客户的咨询结果,更加提高了智能客服的回复准确率,大大减少客服人员的工作量,解决了现有智能客服技术中匹配精度低、返回结果相关性差、回复准确率低的问题,提升了用户的使用体验。

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

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

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

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

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

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

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

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