一种基于数据驱动预测用户问题的方法及装置与流程

文档序号:11708155阅读:347来源:国知局
一种基于数据驱动预测用户问题的方法及装置与流程

本发明属于数据处理技术领域,尤其涉及一种基于数据驱动预测用户问题的方法及装置。



背景技术:

用户在使用产品或者服务的时候经常会遇到自己无法处理的问题,进而会寻求客服帮助。通常客服人员需要和用户经过多轮对话才能确定用户遇到的是什么问题,这样需要投入大量的人力成本。如果能够提前对用户可能遇到的问题做出预测,则可以智能推送相关答案或帮助客服人员更有效的定位用户问题。

提前对用户可能遇到的问题做出预测是一个典型的多分类问题,通常由特征选择和模型建模两个部分组成。在已有的方法中,特征选择端提取特征时,通常由人为设定一些规则,这些规则从经验上被认为与用户可能提问的问题相关,如该用户是否开通了某种服务、在过去几天内是否有过消费记录等。通过与这些规则的匹配可以得到描述该用户提问前状态的特征。而后采用逻辑回归的技术对这些特征进行建模,得到分类器并用于进行新特征的预测。

在现有技术中,由人为设定一些经验上被认为与用户可能遇到问题相关的规则,通过与这些规则的匹配得到描述该用户提问前状态的特征。这存在两个问题:1.并非数据驱动,而是需要强烈的人为干预,并要求干预者充分了解和熟悉相应产品或业务,在产品变动频繁或业务覆盖范围扩展时会引入许多不便,可扩展性不强。2.未能考虑到用户在寻求客服人员帮助前短时间内的行为与该用户问题之间的关系,通常用户在寻求客服人员帮助前短时间内(例如2小时内)会有一系列的行为,这些行为包括但不限于手机、平板客户端点击、pc网页浏览以及其它由该用户进行的操作, 这其中包含了用户在提问前的行为轨迹信息,理论上这些行为轨迹与用户后续求助存在强烈关联。



技术实现要素:

本发明的目的是提供一种基于数据驱动预测用户问题的方法及装置,用于在已知一些用户信息和操作的情况下,在用户未描述问题前尽可能准确的预测用户遇到的问题,能够避免现有技术人为干预的影响,提高了分类预测的准确性。

为了实现上述目的,本发明技术方案如下:

一种基于数据驱动预测用户问题的方法,所述预测用户问题的方法包括:

当收到用户提出的问题时,采集用户行为数据并进行预处理;

从预处理后的用户行为数据中截取对用户提出的问题有贡献的待选行为数据;

通过设定的目标行为数据集合对待选行为数据进行筛选,从待选行为数据中筛选出目标行为数据集合包含的待选行为数据,将筛选出的待选行为数据输入训练好的分类器模型,预测出用户提出的问题所属的类别。

进一步地,所述训练好的分类器模型,训练过程包括如下步骤:

采集用户反馈的问题及其对应的行为数据,对采集的用户行为数据进行预处理;

从预处理后的用户行为数据中截取对用户反馈的问题有贡献的行为数据作为待选行为数据;

根据所有用户反馈的问题及其对应的待选行为数据,采用数据驱动的方法对每一个用户反馈的问题对应的待选行为数据进行打分,并筛选出符合设定条件的目标行为数据,对所有用户反馈的问题对应的目标行为数据取并集构成筛选出的目标行为数据集合;

根据每一个用户反馈的问题及目标行为数据集合,训练得到分类器模型。

进一步地,所述预处理包括:

去除频次低于设定的频次阈值的干扰行为数据。

所述预处理还包括:

对用户行为数据进行数字化标识。对行为数据进行数字化标识,是为了便于后续步骤中直接以该数字化标识来进行处理,从而不需要根据行为数据的具体数据例如网址或api名等长字符串数据进行处理,处理起来更加简单。

进一步地,本发明从预处理后的用户行为数据中截取对用户提出的问题有贡献的待选行为数据采用加窗截断的方法,所述加窗截断包括:

截取在发生问题前最近一段时间内的用户行为数据。

进一步地,所述对所有用户反馈的问题对应的目标行为数据取并集构成筛选出的目标行为数据集合之后,还包括:

重新对目标行为数据集合中的目标行为数据进行数字化标识。

进一步地,所述训练得到分类器模型之前,还包括步骤:

对目标行为数据集合中的目标行为数据进行矢量化处理。

进一步地,所述将筛选出的待选行为数据输入训练好的分类器模型之前,还包括:

对待选行为数据进行矢量化处理。矢量化后的用户行为数据可直接训练分类器模型和用于实际预测,计算更加简便。

本发明还提出了一种基于数据驱动预测用户问题的装置,所述预测用户问题的装置包括:

预处理模块,用于当收到用户提出的问题时,采集用户行为数据并进行预处理;

截取模块,用于从预处理后的用户行为数据中截取对用户提出的问题有贡献的待选行为数据;

预测模块,用于通过设定的目标行为数据集合对待选行为数据进行筛选,从待选行为数据中筛选出目标行为数据集合包含的待选行为数据,将筛选出的待选行为数据输入训练好的分类器模型,预测出用户提出的问题所属的类别。

进一步地,所述装置还包括模型训练模块,用于训练分类器模型,所 述模型训练模型在训练分类器模型时,执行如下操作:

采集用户反馈的问题及其对应的行为数据,对采集的用户行为数据进行预处理;

从预处理后的用户行为数据中截取对用户反馈的问题有贡献的行为数据作为待选行为数据;

根据所有用户反馈的问题及其对应的待选行为数据,采用数据驱动的方法对每一个用户反馈的问题对应的待选行为数据进行打分,并筛选出符合设定条件的目标行为数据,对所有用户反馈的问题对应的目标行为数据取并集构成筛选出的目标行为数据集合;

根据每一个用户反馈的问题及目标行为数据集合,训练得到分类器模型。

本发明所述预处理模块在对采集的用户行为数据进行预处理时,执行如下步骤:

去除频次低于设定的频次阈值的干扰行为数据。

所述预处理模块还用于对用户行为数据进行数字化标识。

进一步地,所述截取模块在从预处理后的用户行为数据中截取对用户提出的问题有贡献的待选行为数据时,采用加窗截断的方法,所述加窗截断包括:

截取在发生问题前最近一段时间内的用户行为数据。

进一步地,所述模型训练模块对所有用户反馈的问题对应的目标行为数据取并集构成筛选出的目标行为数据集合之后,还用于重新对目标行为数据集合中的目标行为数据进行数字化标识。

进一步地,所述模型训练模块在训练得到分类器模型之前,还用于对目标行为数据集合中的目标行为数据进行矢量化处理。

进一步地,所述预测模块在将筛选出的待选行为数据输入训练好的分类器模型之前,还用于对待选行为数据进行矢量化处理。

本发明提出的一种基于数据驱动预测用户问题的方法及装置,利用用户短时间内的行为轨迹信息进行用户问题的分类预测以提升分类准确率,显著提升未包含这些信息的模型预测效果。

附图说明

图1为本发明训练分类器模型的流程图;

图2为本发明基于数据驱动预测用户问题的方法流程图;

图3为本发明基于数据驱动预测用户问题的装置结构示意图。

具体实施方式

下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。

本发明的总体思想是采用训练数据训练出分类器模型,根据训练的分类器模型对用户行为数据进行分析,来预测用户遇到的问题。

如图1所示,本实施例采用训练数据训练出分类器模型的过程如下:

f1、采集用户反馈的问题及其对应的行为数据,对采集的用户行为数据进行预处理,预处理包括去除干扰行为数据,以及对行为数据进行数字化标识。

对于任何用户反馈的问题,都采集该用户的行为数据,从而得到大量的行为数据。行为数据是一些用户操作,包括手机、平板客户端点击、pc网页浏览以及其它由该用户进行的操作,这些操作以网址或api名表示,其前冠以unix时间戳。例如一个用户x在过去一段时间的行为可以表示为:

1438661879:alipay.mappprod.shop.querypage

1438661885:alipay.client.mobileapp.checkresult

1438661889:alipay.commerce.category.querybycategoryid

1438661899:alipay.siteprobe.sync.querywifis

1438661909:alipay.charity.mobile.donate.deduct.unsign

…..

…..

1438661999:https://couriercore.alipay.com/errorrepeatsubmit.htm

1438662999:https://cshall.alipay.com/lab/question.htm

为了更加准确和便于后续的处理,本实施例预处理包括去除干扰行为数据,以及对行为数据进行数字化标识。

其中去除干扰行为数据,是指出现的频次极低的行为数据,例如低于设定的频次阈值。这些出现频次极低的行为数据造成用户反馈的问题的可能比较低,本实施例不予考虑,从而排除出现频次极低的行为数据带来的干扰。

其中对行为数据进行数字化标识,是为了便于后续步骤中直接以该数字化标识来进行处理,从而不需要根据行为数据的具体数据例如网址或api名等长字符串数据进行处理,处理起来更加简单。

对行为数据进行数字化标识,可以将以上行为数据的网址或api按照事先准备好的映射表进行数字化标识;或通过对行为数据出现的频次进行统计,按照频次数量的大小进行排序编号,以该编号作为行为数据的数字化标识;或者根据行为数据的具体内容通过hash计算得到其对应的数字化标识。数字化标识后的行为数据变为:

1438661879:2

1438661885:65

1438661889:11

1438661899:6

1438661909:18

…..

…..

1438661999:108

1438662999:111

在后续步骤中直接以该数字化标识来进行筛选和处理。

f2、从预处理后的用户行为数据中截取对用户提出的问题有贡献的待选行为数据。

对于大量的用户行为数据,真正对用户反馈的问题带来影响的往往是用户在发生问题前最近一段时间内的行为数据。即对用户反馈的问题有贡献的行为数据是用户最近时间的行为数据,历史行为数据可以忽略其影响。 因此本实施例需要截取用户行为数据,选择用户最近时间的行为数据作为待选行为数据。

具体地,通过加窗来进行截取,可以选择固定窗长或可变窗长。固定窗长例如30-120个行为数据,即从当前行为数据往前选取30-120个行为数据;可变窗长是从当前行为数据往前选取一定时长的行为数据,例如当前时间往前0.5小时-2小时内的行为数据。

例如,对于上述行为数据,加窗截断时从最后一个行为数据,即1438662999:111往前回溯,长度固定窗长(30-120个数据)或可变窗长(0.5小时-2小时,通过unix时间戳确定)。假设通过加窗截断后数据变为:

1438661885:65

1438661889:11

1438661899:6

1438661909:18

…..

…..

1438661999:108

1438662999:111

从而得到对用户反馈的问题有贡献的待选行为数据,遍历每一个用户反馈的问题对应的行为数据,得到每一个用户反馈的问题对应的待选行为数据。

f3、根据所有用户反馈的问题及其对应的待选行为数据,采用数据驱动的方法对每一个用户反馈的问题对应的待选行为数据进行打分,并筛选出符合设定条件的目标行为数据,对所有用户反馈的问题对应的目标行为数据取并集构成筛选出的目标行为数据集合。

本实施例将所有用户反馈的问题作为文件集,每一个用户反馈的问题作为一个文件。本实施例数据驱动的方法为tf-idf方法,tf-idf方法是一种用于信息检索与数据挖掘的常用加权技术统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出 现的频率成反比下降。对于本实施例来说,字词相当于待选行为数据,所有用户反馈的问题作为文件集,每一个用户反馈的问题作为一个文件,通过tf-idf对每一个用户反馈的问题对应的待选行为数据进行打分。

tf-idf的主要思想是:如果某个词或短语在一篇文章中出现的频率tf高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。tfidf实际上是:tfxidf,tf词频(termfrequency),idf逆文档频率(inversedocumentfrequency)。tf表示词条,在文档d中出现的频率。idf的主要思想是:如果包含词条t的文档越少,也就是n越小,idf越大,则说明词条t具有很好的类别区分能力。如果某一类c.中包含词条t的文档数为m,而其它类包含t的文档总数为k,显然所有包含t的文档数n=m+k,当m大的时候,n也大,按照idf公式得到的idf的值会小,就说明该词条t类别区分能力不强。

详细算法如下:

第一步,计算词频。

第二步,计算逆文档频率。

第三步,计算tf-idf。

tf-idf=词频(tf)×逆文档频率(idf)

用户行为数据从某种程度上可以看作是字词,字词对于一个文件集或一个语料库中的其中一份文件的重要程度,将tf-idf技术借鉴过来,应用于行为数据的筛选,筛选出适合用来分类的行为数据,将这些筛选出的行为数据称为目标行为数据,

本实施例通过对每一个用户反馈的问题取打分最高的前n(50-200)个或高于一定阈值的行为数据,作为目标行为数据。并对所有用户反馈的问题对应的目标行为数据取并集构成筛选出的目标行为数据集合,该集合包含的行为数据数量远小于所有训练数据中的行为数据数量。

例如问题a对应的行为数据为(以数字化标识来表示):

61819779869………………….

………………………………8818987

对所有的数字化标识进行tf-idf打分,并从高到低取对问题a最重要的topn(如50),可以得到对问题a最重要的行为数据:

a:1118……..108…….

取所有问题对应的数字化标识集合的并集即构成了目标行为数据集合,可见当上述用户反馈的问题经过识别为已知的问题时,上述目标行为数据集合包含了所有已知问题的目标行为数据。

进一步地,还对目标行为数据集合中的目标行为数据进行重新数字化标识,使得该集合更加简单,便于进行后续处理。

f4、根据每一个用户反馈的问题及目标行为数据集合,训练得到分类器模型。

利用已知问题及其对应的目标行为数据训练出分类器模型,通过该分类器模型,从而当有用户反馈了一个问题时,能够通过对用户的行为数据进行分析,预测出该问题可能是哪一个已知的问题,从而便于客服回答用户的问题,并给出解决办法。

分类器模型包括但不限于逻辑回归模型、深度神经网络模型、支持向量机模型、递归神经网络模型等。鉴于现有技术根据训练数据进行训练得到模型的方法比较多,这里不再赘述。

如图2所示,本实施例一种基于数据驱动预测用户问题的方法,包括:

步骤s1、当收到用户提出的问题时,采集用户行为数据并进行预处理。

步骤s2、从预处理后的用户行为数据中截取对用户反馈的问题有贡献的行为数据作为待选行为数据。

客服接收到用户提出的问题后,则可以抓取用户行为数据进行预处理,关于预处理的具体办法以及如何进行加窗截断,在上文训练分类器模型时已经描述,这里不再赘述。

步骤s3、通过设定的目标行为数据集合对待选行为数据进行筛选,从待选行为数据中筛选出目标行为数据集合包含的待选行为数据,将筛选 出的待选行为数据输入训练好的分类器模型,预测出用户提出的问题所属的类别。

例如,用户x的行为数据通过目标行为数据集合的筛选后即变为:

1438661889:11

1438661909:18

…..

…..

1438661999:108

假设目标行为数据集合中不包括1438661885:65,1438661899:6,1438662999:111,则该三条数据会被去掉,因为其不包含在目标行为数据集合中。

由于前面已经通过筛选得到了目标行为数据集合,并训练得到了分类器模型。因此在有用户向客服提交问题时,客服就能够将用户的待选行为数据提交给训练好的分类器模型,分类器模型计算出用户提出的问题具体是哪一类的问题,输出对应于不同问题的概率,选择概率最高的问题作为用户提出的问题所属的类别。

进一步地,为了便于训练分类器模型,以及后续的预测,本实施例一种基于数据驱动预测用户问题的方法,还分别对目标行为数据集合中的目标行为数据进行矢量化处理,以及对待选行为数据进行矢量化处理。进行矢量化处理

矢量化处理分为二值化和数量化,二值化指出现则在对应矢量位置置1,不出现置0;数量化指在对应矢量位置该行为出现的次数。矢量化后的用户行为数据可直接训练分类器模型和用于实际预测,也可以和原有特征结合训练分类器模型和用于实际预测。

如图3所示,与上述方法对应地,本发明还提出了一种基于数据驱动预测用户问题的装置,该装置包括:

预处理模块,用于当收到用户提出的问题时,采集用户行为数据并进行预处理;

截取模块,用于从预处理后的用户行为数据中截取对用户提出的问题 有贡献的待选行为数据;

预测模块,用于通过设定的目标行为数据集合对待选行为数据进行筛选,从待选行为数据中筛选出目标行为数据集合包含的待选行为数据,将筛选出的待选行为数据输入训练好的分类器模型,预测出用户提出的问题所属的类别。

本实施例预测用户问题的装置还包括模型训练模块,用于训练分类器模型,模型训练模型在训练分类器模型时,执行如下操作:

采集用户反馈的问题及其对应的行为数据,对采集的用户行为数据进行预处理;

从预处理后的用户行为数据中截取对用户反馈的问题有贡献的行为数据作为待选行为数据;

根据所有用户反馈的问题及其对应的待选行为数据,采用数据驱动的方法对每一个用户反馈的问题对应的待选行为数据进行打分,并筛选出符合设定条件的目标行为数据,对所有用户反馈的问题对应的目标行为数据取并集构成筛选出的目标行为数据集合;

根据每一个用户反馈的问题及目标行为数据集合,训练得到分类器模型。

本实施例预处理模块在对采集的用户行为数据进行预处理时,执行如下步骤:

去除频次低于设定的频次阈值的干扰行为数据。

进一步地,预处理模块还用于对用户行为数据进行数字化标识。

本实施例截取模块在从预处理后的用户行为数据中截取对用户提出的问题有贡献的待选行为数据时,采用加窗截断的方法,所述加窗截断包括:

截取在发生问题前最近一段时间内的用户行为数据。

与上述方法对应地,本实施例模型训练模块对所有用户反馈的问题对应的目标行为数据取并集构成筛选出的目标行为数据集合之后,还用于重新对目标行为数据集合中的目标行为数据进行数字化标识。

本实施例模型训练模块在训练得到分类器模型之前,还用于对目标行 为数据集合中的目标行为数据进行矢量化处理。

与上述方法对应地,本实施例预测模块在将筛选出的待选行为数据输入训练好的分类器模型之前,还用于对待选行为数据进行矢量化处理。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

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