发明内容
鉴于上述,本公开提供了一种用于向用户推荐咨询问题的方法及装置,利用该方法和装置,能够同时准确地预测出用户想要提出的多个咨询问题,从而将相应的咨询问题推荐给用户,以提高客服效率。
根据本公开的一个方面,提供了一种用于向用户推荐咨询问题的方法,包括:基于用户的用户特征数据,使用问题预测模型来预测所述用户的至少一个咨询问题;以及将所预测出的至少一个咨询问题推荐给所述用户。其中,所述问题预测模型是使用多标记样本训练的,所述多标记样本包括用户特征数据和问题标记数据,所述问题标记数据包括至少两个针对不同类别的咨询问题的问题标记。
可选地,在一个示例中,所述多标记样本可以是基于所述用户针对候选咨询问题集的至少两个历史点击数据生成的。
可选地,在一个示例中,所述历史点击数据可以是给定时间段内的历史点击数据。
可选地,在一个示例中,所述问题预测模型可以包括多标记神经网络模型,所述多标记神经网络模型的输出层节点数量与所述问题标记数据的类别数量相同。
可选地,在一个示例中,在训练所述问题预测模型时,所使用的损失函数可以被设置为使得针对不同类别问题标记的预测结果之间是非互斥的。
可选地,在一个示例中,所述损失函数可以为以下中的任意一种:交叉熵损失函数;汉明损失函数;或平方损失函数。
可选地,在一个示例中,所述用户特征数据可以包括以下中的至少一者:所述用户对待选择用户问题语句的历史选择数据;和/或基于所述用户提出的历史问题语句而提取的用户特征数据。
根据本公开的另一方面,还提供一种用于向用户推荐咨询问题的装置,包括:问题预测单元,被配置为基于用户的用户特征数据,使用问题预测模型来预测所述用户的至少一个咨询问题;以及问题推荐单元,被配置为将所预测出的至少一个咨询问题推荐给所述用户。其中,所述问题预测模型是使用多标记样本训练的,所述多标记样本包括用户特征数据和问题标记数据,所述问题标记数据包括至少两个针对不同类别的咨询问题的问题标记。
可选地,在一个示例中,所述多标记样本可以是基于所述用户针对候选咨询问题集的至少两个历史点击数据生成的。
可选地,在一个示例中,所述历史点击数据可以是给定时间段内的历史点击数据。
可选地,在一个示例中,所述问题预测模型可以包括多标记神经网络模型,所述多标记神经网络模型的输出层节点数量与所述问题标记数据的类别数量相同。
可选地,在一个示例中,在训练所述问题预测模型时,所使用的损失函数可以被设置为使得针对不同类别问题标记的预测结果之间是非互斥的。
可选地,在一个示例中,所述损失函数可以为以下中的任意一种:交叉熵损失函数;汉明损失函数;或平方损失函数。
根据本公开的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的方法。
根据本公开的另一方面,还提供一种非暂时性机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的方法。
利用本公开的方法及装置,通过使用由多标记样本训练的问题预测模型来对用户的用户特征数据进行预测,从而在预测过程中,问题预测模型同等地关注所有类别的咨询问题,因而能够准确地同时预测出用户可能提出的至少一个咨询问题,将由此预测出的咨询问题推荐给用户,能够使用户及时得到想要的答案,以提高客服效率。
利用本公开的方法及装置,通过基于用户针对候选咨询问题集的至少两个历史点击数据生成多标记样本,可以合并用户针对候选咨询问题集的点击历史数据以作为训练问题预测模型的训练样本,从而不仅能提高样本收集效率,还能够提高所训练的问题预测模型的预测准确性。
利用本公开的方法及装置,通过利用给定时间段内的历史点击数据来生成多标记样本,从而能够使得所收集的多标记样本更贴近于用户的真实情况,以提高预测准确性。
利用本公开的方法及装置,利用多标记神经网络模型来实现问题预测模型,能够提高问题预测模型的可扩展性和灵活性。
利用本公开的方法及装置,通过将训练所述问题预测模型时所使用的损失函数设置为使得针对不同类别问题标记的预测结果之间是非互斥的,从而能够保证各个类别的咨询问题被独立地预测,从而能够准确地预测出用户可能提出的至少一个咨询问题。
具体实施方式
以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。
现在结合附图来描述本公开的用于向用户推荐咨询问题的方法及装置。
图1是根据本公开的一个实施例的用于向用户推荐咨询问题的方法的流程图。
如图1所示,在块120,基于用户的用户特征数据,使用问题预测模型来预测所述用户的至少一个咨询问题。本公开中使用的问题预测模型为多标记分类模型,该多记分类模型可以基于神经网络、随机森林、KNN、最大熵模型、岭回归等实现。问题预测模型是使用多标记样本训练的,多标记样本包括用户特征数据和问题标记数据,问题标记数据包括至少两个针对不同类别的咨询问题的问题标记。例如,多标记样本可以表示为(Xi,Yi),Xi表示基于用户特征数据生成的用户特征向量,Yi表示相应用户的标记向量。
用户特征数据例如可以是用户的行为数据、用户基本信息、用户所提出的历史问题等数据。在一个示例中,用户特征数据可以包括用户对待选择用户问题语句的历史选择数据。在这种情形下,当用户进入客服系统(例如用户点击“我的客服”或“店铺客服”等而进入客服系统)时,可以将待选择用户问题语句提供给用户,从而用户可以从列表中选择自己想要知道的问题。根据用户对待选择用户问题语句的历史选择数据,能够预测该用户可能提出的咨询问题。例如,如果用户经常从待选择用户问题语句中选择关于物流信息的用户问题语句,则根据这样的历史选择数据可以预测出用户想要提出的咨询问题是与物流相关的问题。
在一个示例中,用户特征数据可以是到预定时刻为止样本用户的用户特征数据。问题标记数据可以是基于该样本用户在该预定时刻之后针对待选择用户问题语句的历史点击数据生成的。预定时刻可以为样本用户发出历史客服请求的时刻。例如可以是用户进入客服系统(例如用户点击“我的客服”或“店铺客服”等而进入客服系统)的时刻。例如,针对某用户,可以取到八点为止的特征数据来生成多标记样本中的用户特征数据,并将该样本用户在八点之后针对待选择用户问题语句的点击数据作为该多标记样本的问题标记数据。因而,即使对于同一样本用户,如果所选取的预定时刻不同,也会生成不同的多标记样本。在该示例中,可以将样本用户在该预定时刻之前对待选择用户问题语句的历史选择数据作为训练样本中的用户特征数据。相应地,在进行预测时,可以该预测用户的用户特征数据可以包括待预测用户预定时刻前针对待选择用户问题语句的历史选择数据。
历史选择数据可以是用户选择的具体用户问题语句,也可以是用户是否点击了某一用户问题语句。
此外,用户特征数据还可以包括基于用户提出的历史问题语句而提取的特征数据。在该示例中,可以收集用户曾经提出的历史问题语句,并利用特征提取模型对这些历史问题语句进行特征提取。由此提取的特征有助于预测出用户可能提出的咨询问题的类别。
待预测的咨询问题的类别可以基于各个用户提出的历史问题语句样本总结得出,或利用分类模型对历史问题语句样本进行分类而得出。作为示例,假设咨询问题的类别数量为10,Yi可以是一段长度为10的向量,该向量的每一位表示一个类别的用户咨询问题。每一位取值可以为1或0,1表示用户提出过该类别的咨询问题,0表示未提出过。例如,假设某用户的标记向量被表示为Yi=(1,1,1,0,0,0,0,0,0,1),则意味着该用户提出过第1、2、3、10这几个类别的咨询问题。
在一个示例中,多标记样本可以是基于用户针对候选咨询问题集的至少两个历史点击数据生成的。在该示例中,可以将用户针对每个类别的候选咨询问题的点击数据作为一个标签,然后合并该用户的所有点击数据以作为该用户的标记向量。历史点击数据可以是给定时间段内的历史点击数据。此时,可以合并在该给定时间段内的历史点击数据以生成用户的标记向量。由此,能够站在用户角度看待用户的点击数据,从而生成多标记样本。
在预测得出咨询问题后,在块140,将所预测出的至少一个咨询问题推荐给用户。例如,问题预测模型可以预测出用户可能提出各个类别的咨询问题的概率,进而把概率高于预定阈值(例如0.5)的类别的咨询问题推荐在用户。每个类别可以包括一个或多个具体的咨询问题。如果所预测的结果中只有一个类别的概率高于预定阈值,则可以只向用户推荐一个类别的咨询问题。每个咨询问题可以配置有至少一个答案,从而用户只需要从推荐的咨询问题列表中选择与自己需要提出的问题相匹配的选项即可得知答案,而不需要等待客服响应。
向用户推荐的咨询问题也可以是利用多分类模型预测得出的。在该情形下,多分类模型是使用具有单一标记的标记特征样本进行训练的。各个标记代表相应类别的咨询问题。在利用多分类模型预测用户可能提出的咨询问题时,模型倾向于预测出用户最有可能提出的一个问题,而忽略用户可能提出的其它问题。然而在现实应用场景中,用户有可能同时提出多个咨询问题。因而,采用具有单一标记的标记样本训练的多分类模型不能同时准确地向用户推荐其需要的多个问题。因而用户可能需要多次跟客户沟通才能是到自己想要的答案。这不利于提高客服处理效率。
然而在本实施例中,利用多标记样本来训练多标记分类模型,进而利用经过训练的多标记分类模型来预测用户可能提出的咨询问题。由此,在预测过程中,各个类别被同等独立地预测,不会因过度关注某一类别而忽略其它类别,因而能够同时准确地预测出用户可能提出的多个咨询问题。
图2是根据本公开的一个实施例的用于向用户推荐咨询问题的方法中使用的问题预测模型的示意图。
图2是利用多标记神经网络模型实现问题预测模型的一个示例。如图2所示,用户特征向量Xi为神经网络的输入,多标记神经网络的输入层节点数量与用户特征向量的维度相等,输出节点数量与咨询问题的类别数量相等。例如,如果有10个类别的咨询问题,则多标记神经网络的输出节点为10个,每个节点对应一个类别。多标记神经网络模型具有很好的可扩展性,当咨询问题的类别增加或减少时,可以只通过增加或减少输出节点的数量来使模型适应新的情形。因而,利用多标记神经网络模型来实现问题预测模型能够提高问题预测模型的可扩展性和灵活性。虽然图2中示出的多标记神经网络模型的隐层为两个,但实践中可以设计任意个数的隐层。
在训练问题预测模型时,所使用的损失函数可以被设置为使得针对不同类别问题标记的预测结果之间是非互斥的。在如上所述的多分类模型的情形中,由于每个训练样本只有一个标记,在训练模型时,模型倾向于学习到每个用户的用户特征数据仅对应于一个标记,因而所训练出的模型针对各个类别的预测结果之间是互斥的。例如,如果模型输出的是用户可能选择各个类别的概率,那么将会只有一个类别的概率能够达到1或接近于1,而其它类别的概率较小。
在本公开中,通过将训练过程中使用的损失函数设置为使得针对不同类别问题标记的预测结果之间是非互斥的,能够使所训练出的问题识别模型独立地针对各个类别的咨询问题进行预测。当模型的预测结果为用户可能提出各个类别的咨询问题的概率时,针对各个类别的概率均有可能达到1,各个类别的预测结果之间互不排斥,因而能够准确预测出用户可能提出的多个咨询问题。损失函数例如可以是交叉熵损失函数、汉明损失函数、平方损失函数等中的任意一种。
以多标记神经网络和交叉熵损失函数为例,损失函数可以表示为如下式所示:
其中,n表示多标记训练样本的数量,m表示每个多标记训练样本中的标记数量,Y
ij表示用户i的第j个标记值,
表示针对用户i的第j个标记的预测值,L为模型的预测损失。
由此,问题预测模型模型在训练过程中可以独立地针对每个类别进行学习,从而针对用户的每个标记的预测值均有可能接近于最大值,而不是针对其中一个类别预测出一个最大值,而使其它类别的预测值较小。
图3是根据本公开的一个实施例的咨询问题推荐装置300的结构框图。如图3所示,咨询问题推荐装置300包括问题预测单元310和问题推荐单元320。
问题预测单元310被配置为基于用户的用户特征数据,使用问题预测模型来预测用户的至少一个咨询问题。问题推荐单元320被配置为将所预测出的至少一个咨询问题推荐给用户。其中,问题预测模型是使用多标记样本训练的,多标记样本包括用户特征数据和问题标记数据,问题标记数据包括至少两个针对不同类别的咨询问题的问题标记。
多标记样本可以是基于所述用户针对候选咨询问题集的至少两个历史点击数据生成的。历史点击数据可以是给定时间段内的历史点击数据。
在一个示例中,问题预测模型可以包括多标记神经网络模型,多标记神经网络模型的输出层节点数量与所述问题标记数据的类别数量相同。
此外,在训练问题预测模型时,所使用的损失函数可以被设置为使得针对不同类别问题标记的预测结果之间是非互斥的。损失函数可以为以下中的任意一种:交叉熵损失函数;汉明损失函数;或平方损失函数。
以上参照图1到图3,对根据本公开的用于向用户推荐咨询问题的方法及装置的实施例进行了描述。在以上对方法实施例的描述中所提及的细节,同样适用于本公开的装置的实施例。
本公开的用于向用户推荐咨询问题的装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。在以上对方法实施例的描述中所提及的细节,同样适用于本公开的装置的实施例。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见。
本公开的用于向用户推荐咨询问题的装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。在本公开中,用于向用户推荐咨询问题的装置例如可以利用计算设备实现。
图4是根据本公开的一个实施例的用于实现用于向用户推荐咨询问题的方法的计算设备的结构框图。根据一个实施例,计算设备400可以包括至少一个处理器410,该至少一个处理器410执行在计算机可读存储介质(即,存储器420)中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器420中存储计算机可执行指令,其当执行时使得至少一个处理器410:基于用户的用户特征数据,使用问题预测模型来预测所述用户的至少一个咨询问题;以及将所预测出的至少一个咨询问题推荐给所述用户。
应该理解,在存储器420中存储的计算机可执行指令当执行时使得至少一个处理器610进行本公开的各个实施例中以上结合图1-3描述的各种操作和功能。
根据一个实施例,提供了一种例如非暂时性机器可读介质的程序产品。非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-3描述的各种操作和功能。
具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
以上结合附图详细描述了本公开的实施例的可选实施方式,但是,本公开的实施例并不限于上述实施方式中的具体细节,在本公开的实施例的技术构思范围内,可以对本公开的实施例的技术方案进行多种简单变型,这些简单变型均属于本公开的实施例的保护范围。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。