一种基于贝叶斯分类算法的用户行为分析方法与流程

文档序号:16470946发布日期:2019-01-02 23:05阅读:1358来源:国知局
一种基于贝叶斯分类算法的用户行为分析方法与流程

本发明涉及数据分析技术领域,具体涉及一种基于贝叶斯分类算法的用户行为分析方法



背景技术:

当今的服务业非常重视服务流程的优化,其中常会利用到用户行为分析的结果作为优化的依据。

传统做用户行为分析多数靠人工进行分析,效率低下,在用户行为数据量较小的时候,尚能满足需求,但同时也带来了结果不够精确的问题;然而随着我国电子商务的发展,越来越多的用户采取通过网页、手机app等便捷形式接受服务,这其行为数据也更容易被获取和记录,这就使得用户行为数据的来源以及数据量都得以海量增加,而人工分析的方式根本无法很好的利用好大量数据样本,现亟需可以充分发挥大量数据样本的优势,提高分析效率和分析准确性的用户行为分析方法。



技术实现要素:

本发明意在提供一种用户行为分析方法,发挥大量数据样本的优势,提高分析效率和分析准确性。

本发明中的基于贝叶斯分类算法的用户行为分析方法,包括以下内容:

s1采集用户操作记录;

s2分析用户操作记录,计算各个用户操作的发生概率以及各个用户操作间的条件概率,以训练用于根据当前用户操作判断用户的下一操作的贝叶斯分类器;

s3向贝叶斯分类器所述输入一用户当前操作判断用户的下一操作;

s4以所述用户的下一操作为用户当前操作,重复步骤s3,直至用户下一操作为指定结束操作,得到用户行为序列。

通过本方法,以已知的用户操作行为作为样本,可以计算出每个用户操作的发生概率和条件概率,这两类概率是贝叶斯分类器用于预测用户下一操作的基础,本专利中的“训练”即通过对所有样本的概率计算最终得到贝叶斯分类器,该分类器可以在得知当前概率的情况下计算出接下来可能发生的所有操作的概率,而概率最高者则作为分类器的预测输出,利用训练好的分类器,可以输入一个起始的用户操作,预测出其下一操作,再以该下一操作作为当前操作进行预测,以此类推,当预测出的下一操作是一个可以视为结束的操作时,停止预测,如此便可以得到一个完整的用户行为序列,采取不同的起点和终点,可以得到多条用户行为序列,用于帮助如服务流程优化等依赖于用户行为预测的工作。

本发明通过训练贝叶斯分类器发挥大量数据样本的优势,提高分析准确性,可以通过计算机系统智能的执行,算法简单易行,减少了人工介入,从而提高了分析效率。

进一步,步骤s1中,通过应用性能管理系统调取用户使用应用程序时所调取的接口,以表征用户操作记录。

应用性能管理(apm)系统,对线上运行的应用进行了全方位的监控,特别是记录了用户每次操作所调用的接口,每一接口在应用程序中则对应有特定的操作功能,于是通过识别调用的结果就可以得知用户进行了何种操作,是一种方便易行的且高效的获取用户操作记录的方法。

进一步,步骤s2中,通过分析同一组别的数据中的所述用户操作记录,得到用户操作行为队列,并以该队列中的操作及该操作的下一操作计算用户操作概率。

本方法需要采集用户连续的多个操作才可更为准确的训练分类器,而用户连续的多个接口调用在apm系统中会通过同一个组别(groupid)来标识,应此通过组别来获取用户操作行为队列比较可靠,有利于分类器的训练。

进一步,所述贝叶斯算法采用高斯贝叶斯算法。

高斯贝叶斯算法,也称贝叶斯算法的高斯表示,对于连续概率值的预测更为准确,适合于本发明的应用场景。

进一步,所述用户操作行为队列通过mysql,hadoop,hive,redis中的一种或多种数据库进行存储。

apm系统通常会使用自己的数据库形式往往采用es等非关联关系类的数据库,将其转存为mysql,hadoop,hive,redis中的一种或多种关联关系类数据库,方便数据调取的计算。

进一步,在s2中还包括,去掉预先定义为无效的用户操作记录。

用户的一些异常操作往往也会被采集下来,例如登录后即可离开等,此类操作有碍于概率的准确计算,在进行概率计算前将其去掉,得到的分类器更为准确。

进一步,还包括,持续采集用户操作记录,并用扩充后的用户操作记录更新贝叶斯分类器的步骤。

随着数据量的增加,预测概率更为准确。

附图说明

图1为本发明实施例中的基于贝叶斯分类算法的用户行为分析方法的流程示意图。

具体实施方式

下面通过具体实施方式进一步详细说明:

实施例基本如附图1所示:

首先通过应用性能管理系统调取用户使用应用程序时所调取的接口,以表征用户操作记录。应用性能管理(apm)系统,对线上运行的应用进行了全方位的监控,特别是记录了用户每次操作所调用的接口,每一接口在应用程序中则对应有特定的操作功能,于是通过识别调用的结果就可以得知用户进行了何种操作,是一种方便易行的且高效的获取用户操作记录的方法。

用户操作记录从apm系统的es数据库中被抽出,通过分析同一组别的数据中的所述用户操作记录,得到用户操作行为队列。本实施例需要采集用户连续的多个操作才可更为准确的训练分类器,而用户连续的多个接口调用在apm系统中会通过同一个组别(groupid)来标识,应此通过组别来获取用户操作行为队列比较可靠,有利于分类器的训练。

得到所有的用户操作行为队列后,首先去掉预先定义为无效的用户操作记录。用户的一些异常操作往往也会被采集下来,例如登录后即可离开等,此类操作有碍于概率的准确计算,在进行概率计算前将其去掉,得到的分类器更为准确。

经处理后的用户操作行为队列被转换为关联型数据格式存放在关联型数据库,可采用mysql,hadoop,hive,redis中的一种或多种数据库;

通过这些已知的操作作为样本,计算各个用户操作的发生概率以及各个用户操作间的条件概率,这两类概率是贝叶斯分类器用于预测用户下一操作的基础,通过对所有样本的概率计算最终得到贝叶斯分类器,该分类器可以在得知当前概率的情况下计算出接下来可能发生的所有操作的概率,而概率最高者则作为分类器的预测输出。

本实施里中的贝叶斯算法采用高斯贝叶斯算法。

高斯贝叶斯算法,也称贝叶斯算法的高斯表示,对于连续概率值的预测更为准确,适合于本发明的应用场景。

需要进行预测时,向训练好的贝叶斯分类器输入一用户当前操作,以判断用户的下一操作;然后以所述用户的下一操作用户当前操作,重复步骤s3,直至用户下一操作为指定结束操作,得到用户的行为序列。

通过本方法,以已知的用户行为作为样本,计算出可以每个用户操作的发生概率和条件概率,这两类概率是贝叶斯分类器用于预测用户下一操作的基础,通过对所有样本的概率计算最终得到贝叶斯分类器,该分类器可以在得知当前概率的情况下计算出接下来可能发生的所有操作的概率,而概率最高者则作为分类器的预测输出,利用训练好的分类器,可以输入一个起始的用户操作,预测出其下一操作,再以该下一操作作为当前操作进行预测,以此类推,当预测出的下一操作是一个可以视为结束的操作时,停止预测,如此便可以得到一个完整的用户行为序列,采取不同的起点和终点,可以得到多条用户行为序列,用于帮助如服务流程优化等依赖于用户行为预测的工作。

例如,以一个手机银行app为例,以用户“登录”操作为起点,预测下一操作为“我的账户”,再下一个为“转账”,再下一个操作为“退出”,而“退出”是本次于此事先指定的终点操作,于是得到了一个行为序列“登录”→查看“我的账户”→“转账”→“退出”,如同前文所述,这些操作是根据其调用的特定接口被界定出来的。

随着应用程序的不断被使用,还需持续采集用户操作记录,并用扩充后的用户操作记录更新贝叶斯分类器。随着数据量的增加,预测概率也更为准确。通过设定一个更新时间,可以保证每次进行预测的都是用的最新的分类器进行预测。

在本发明的另一些实施例中,还包含了将预测的结果应用于用户操作的过程中的步骤,仍然以一个手机银行app为例,用户点击了某一操作后,需要填写相关信息,如账号信息等;此时利用之前已经预测好的用户行为序列,同时读取当前设备的资源空闲情况;如果当前设备的资源空闲程度高于设定的比例,则在后台直接调用下一步骤的接口,预先读取需要的数据,在用户点击进入下一操作前做好能够做好的准备,读取那些不需要用户再次手动输入的数据;当用户点击下一操作,且正好所预测的操作时,所有准备工作已经就绪,由于采用预先操作的形式,利用了设备的空闲资源以及用户输入信息的时间,相比原来的等待用户点击下一操作再作出响应的方式,大大的缩短了用户的等待时间,设备的资源利用率也得以提高。

事先预测好的多个用户行为序列可被存储在用户端并定期更新,由于用户的第一个操作通常是登录,所以首次使用的用户行为序列必定是已登录操作为起点的序列,当用户的下一步操作不再是这一序列上所保存的下一操作时,则重新读取以当前操作为起点的序列,达到及时纠偏的效果。

以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

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