客户网购行为分析及预测引擎研究
2015-12-21马月坤刘鹏飞
马月坤 刘鹏飞
摘要:近年来,随着电子商务的快速发展,客户网购行为分析及预测成为研究热点。目前的预测模型大多是基于数据驱动的数学模型,在用户行为智能预测方面存在不足。针对这些不足,文中提出了知识驱动的客户网购行为分析及预测引擎。引擎基于本体论构建了电子商务客户网购行为知识图,其中包括电子商务领域知识和客户网购行为知识等。预测引擎将此知识图作为用户行为进行实时预测过程的知识来源,以用户实时行为预测场景为输入完成对用户行为的预测,整个引擎体现了对用户行为的智慧化预测。
关键词:知识图;用户行为预测;电子商务;本体;知识库
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)28-0200-05
The Research on the Engine of Customer Online Behavior Analysis and Predicting
MA Yue-kun,LIU Peng-fei
(College of Information Engineer, North China University of Science and Technology, Tangshan 063000, China)
Abstract:Recently,with the development of e-commerce,the research on the analysis and prediction of customer online shopping behavior has attracted more and more attentions.At present,most of the prediction models are based on data driven,and they cant provide the intelligent forecasting for user behavior,exists many shortcoming.Refer to solve these problems,this paper puts forward a knowledge driven engine of customer online shopping behavior analysis and predicting.The engine construct a knowledge graph of e-commerce domain based on ontology ,which consist of the knowledge on the domain of e-commerce and user behavior.This knowledge graph is considered as the knowledge source,when the engine predict the user behavior based on the predicting scene of user real-time behavior. The engine reflects the intelligent prediction of user's behavior.
Key words: knowledge graph; user behavior predicting; e-commerce; ontology; knowledge base
近年来,随着电子商务的蓬勃发展以及在互联网经济中和人们生活中所占地位的提高,越来越多的学者加入到电子商务相关方向的研究中。其中用户行为分析及预测成为研究热点之一。其中,Bucklin,Sismeir[1]运用记录在服务器日志文件上的点击流数据,并通过使用二元概率模型对用户行为进行建模的方式预测用户的购买行为。Moe,Fader[2]通过使用点击流数据对电子商务用户的在线访问及购买行为进行研究,构建了用户行为转换模型对用户购买行为进行预测。Pavlov和 Manavoglu[3,4]提出了基于概率序列模型的用户行为建模方法,依据日志中的用户历史行为序列,构建出购买者的行为矩阵模型;然后以此作为析客户在整个或者部分属性空间中的相似行为的基础,获得用户购买行为规则;当需要时,就可以利用这些规则对顾客行为进行分析及预测。王毅,王锁柱,杜华[5]提出了采用马尔科夫链模型,结合访问日志和后台交易数据的方法进行用户行为预测。党小超,郝占军等[6]提出了基于模糊加权Markov链模型,通过分析用户行为特征和最优状态分类的方法,预测网络用户行为。上述几种方法在用户行为预测方面存在一定的准确性,但是均是基于单一的模型对用户进行预测,没有充分考虑到用户之间的异质性以及用户每次购物所处场景得差异性,并且由于这些模型均是基于用户的个人历史数据对用户进行预测,没有考虑到用户实时的购物需求,因此在用户的实时行为预测方面表现出不足。针对上述不足,本文提出了基于知识的客户网购行为分析及预测引擎(The Engine for Customers online Shopping behavior Analysis and Prediction Based on Knowledge,简称ECSBAPK),ECSBAPK根据用户的实时浏览行为数据以及个人信息,构建客户实时动态购物场景。然后基于构建的用户行为预测场景,利用引擎知识库中已有的知识,通过知识推理的方式构建合适的动态预测模型完成对客户网购行为的实时预测。本引擎在考虑了用户异质性、用户所处场景得差异性的同时又满足了用户行为预测的实时性,体现了对用户行为的智慧化预测。
为了能够更好地适应各种用户场景得变化,我们将ECSBAPK设定为一个永不停止学习的预测引擎,并在引擎中构建了一个能够存储大规模知识的电子商务领域知识库(基于陶瓷电子商务),用以为存储引擎学习所得的知识以及为用户行为预测提供知识支撑。知识库中记忆着从多种数据源中学习而来的知识,包括日志数据、交易数据、现有知识库等,由于从这些数据源获得知识中包含了大量的关系信息,因此我们采用知识的图表示方式。知识的图表示方式是知识领域进行知识组织的一个良好的解决方案,具有丰富的表达能力。目前已经出现了许多有关知识图成功应用,比如谷歌的知识图谱[7]、搜狗的知识立方、RoboBrain[8]。其中谷歌的知识图谱、搜狗的知立方是针对日常问题的,并不是面向电子商务领域的,而RoboBrain是面机器人领域的。这些知识库在各自的领域都取得了良好的应用效果,体现了强大的解决问题的能力。
1 综述
本文描述了基于知识驱动的客户网购行为分析及预测引擎(Knowledge Driven Based Customers Online Shopping Behavior Analysis and Prediction System,简称KDBCBAPS)。KDBCBAPS是一个模拟人脑解决问题模式,不断的“学习”知识,并运用习得的知识实时预测用户在未来某段时间内购物行为的系统。从提高系统运行效率的角度,本引擎主要由相互联系的三部分组成:第一部分解决的是知识学习问题,即引擎中知识库的知识获取问题。我们通过使用多种数据挖掘方法对多种数据源进行挖掘分析来获得我们需要的知识,我们称之为知识获取过程。在这个过程中所分析的数据是经时间积累而成的海量数据,因为海量数据中蕴含含着丰富的知识供我们去挖掘,而某一时刻的少量的数据中所蕴含的知识是片面的,准确度不高的知识。因此整个知识获取过程是不定期执行的,我们称整个知识获取过程为离线部分;第二部分主要完成对用户行为的实时预测。在实现对网购用户的实时预测过程中,通过分析用户的个人信息数据、此次购物过程中产生的浏览数据动态构建用户行为预测场景,然后根据预测场景,通过知识推理来动态选择预测模型完成对用户的实时预测,整个预测过程的执行条件是用户正在电商网站产生购物行为,因此我们称这部分为实时预测部分。第三部分主要是为引擎中其他要素提供知识支撑,由于这一部分与离线部分、实时预测部分都有交互,所以我们将这部分独立出来,我们称之为知识服务部分。下面我们分别从这三个方面描述本引擎的工作原理以及相关计算模型。
1.1 知识获取部分
离线部分的主要工作是进行知识学习,完成知识库的创建与更新。知识库是我们引擎的大脑,由电子商务领域知识、用户行为知识、算法参数,推理规则等部分组成,为系统中的其他要素提供知识服务。为了将这些知识有效的组织在一起,本系统知识库采用知识图的作为知识表示方式,基于本体论构建了电子商务领域知识图。下面我们讨论有关知识图的相关内容。
1)知识图创建
我们通过知识重构、机器学习等方法从多种数据源学习并获得知识,这些数据源包括用户历史数据(用户浏览日志数据、用户交易数据、用户个人信息)、UNSPSC(联合国标准产品与服务分类代码)、(用户行为知识相关文献)、现有领域专家知识库等,其中用户历史数据中蕴含着丰富的用户共性行为特征等知识,我们通过数据挖掘方法来学习并获取这些知识。另外通过知识重构的方式从UNSPSC、现有领域专家知识库、(用户行为知识相关文献)等知识源抽取领域相关知识来作为知识图知识来源的一部分,并对所抽取的知识进行适当的调整和修剪以满足我们系统的需求。
UNSPSC-China: UNSPSC-China 是UNSPSC(联合国标准产品与服务代码)的中文版本,是电子商务领域产品与服务的分类标准,为引擎提供了所需的产品知识,提供了产品分类参考,是我们构建电子商务领域知识图的基础之一。
产品数据库:主要提供具体产品项及产品相关属性。
用户行为数据:用户历史行为数据包括用户浏览日志数据、用户交易数据、用户个人信息数据。这些海量的用户行为数据中蕴含着大量的用户行为知识,我们通过机器学习、统计等数据挖掘方法对其进行分析挖掘来获得其中蕴含的知识。这些知识作为共性化知识加入到知识图中。
用户个人历史数据:用户个人历史数据包括个人购买历史数据、浏览数据。引擎通过对这部分数据的挖掘分析来获取用户个人相关属性信息,包括用户购买力、收入等。
现有领域知识库、专家知识:目前有许多关于电子商务知识挖掘的研究,也出现了很多有价值的电子商务领域知识库。因此我们可以从这些现有知识库中获取相关知识。
2)知识图定义
在知识库中,我们将知识图表示成一个有向图G=(V,E),例子见图1。其中顶点表示多种类型数据:包括电子商务领域相关概念、商品项及其相关特征知识、数据挖掘所得知识、用户行为相关概念等,由于顶点所表示的数据存在多样性,图中顶点的内部结构可以有多种表现形式,例如图、key/value键值对集合等,关于顶点的具体定义如下:
Node={node_id,node_type,
其中node_id,node_type是每个定点所固有的属性,property为每个节点所特有的属性,均以
边E∈V×V×C(C是表示边的类型的一个集合)连接两个顶点,表示顶点之间的关系,每一条边是单向的。边的定义如下:
Edge={nodeA,nodeB,node_id,edge_type,
表示图中节点A到节点B之间的一条边,其中Edge_id,edge_type是每条边的固有属性,property是每条边自身所特有的属性,以
由于知识图当中的很多知识是我们使用数据挖掘方法在海量电子商务相关数据当中学习而得,并不是确定正确的真理,在后续的学习过程中可能是不断变化的,因此我们定义了一系列的可信度函数R(α),例如数据挖掘中的置信度、支持度等,来表示目前相关概念以及关系的正确性,其中α可以是顶点、边等。这些可信度函数可以以顶点的属性、边上的值或者边的属性等形式存储在知识图当中。
1.2 实时预测部分
1)用户场景构建
客户需求场景知识刻画了预测客户在某段时间内多维度购物需求的相关因素,是进行用户行为预测的先驱条件。本系统通过对客户动态行为数据[6]、用户个人信息、用户历史数据进行综合分析来确定场景中所包含的要素。当然,场景中的要素在预测时并不是全部需要的,而是在对用户进行预测时,根据预测目的,智能选取场景中的部分相关要素作为预测引擎的输入,从而完成对用户的预测。随着研究的不断进行,场景中的要素会不断完善。在表3中列出了场景知识中的部分构成要素。
个人信息数据:包括用户相关个人信息,包括性别、年龄等。
动态行为数据:动态行为数据是用户的此次浏览电子商务网站所产生的行为数据,其中蕴含着大量能够表明用户此次浏览目的的相关信息。因此将动态行为数据作为预测引擎的主要输入之一。
用户个人历史数据:用户个人历史数据当中蕴含可以对预测用户行为产生影响的知识。比如,在知识图中有这样一条规则年龄( X,20 ~ 35 岁),年薪( X,60000~80000元) →( 购买( X,摄像机) ),但是大多数客户往往不会在个人信息当中填写自己的年龄、收入、购买力、教育水平等,这就需要我们通过分析用户个人历史信息数据来获得用户的这些信息。
2)预测引擎
预测引擎是预测子系统的核心组成部分,他接受预测子系统传输的用户场景对用户行为进行预测。具体工作原理如下:预测子系统接受用户行为数据并对其进行预处理,参考存储在HBase中的用户场景要素表,获取场景要素相对应的数据,从而构建用户场景;预测子系统将构建好的用户场景以及预测意图传输给预测引擎,预测引擎推理获得此次的预测意图,根据此次的预测意图推理匹配获得最适合的预测模型,这里的预测模型可能是一个设计好的预测模型,也可能是一系列的规则集合,这要根据所设计的匹配函数(公式)的值来确定,通过对模型的计算获得 最终的预测结果。这里所有的推理、函数和公式的获取等都是与知识图交互的结果。
1.3 体系结构
KDBCBAPS平台的体系结构图如图3所示:
综上所述,下面我们分别从知识服务、预测模块、大数据计算与存储模块三方面对本系统进行描述。
知识重构相关组件。知识重构相关组件主要功能是知识的构建以及知识库的学习更新。再开构建阶段对选取的知识库通过相关算法、工具进行知识修剪和调整以满足本系统的需求,为了最大程度的保证修剪和调整的重要性,我们会适当采用专家干预的方式,保证核心本体的正确性。由于本系统的知识库是不断学习的,因此知识重构相关组件既包含构建组件,又包含知识学习跟新组件。
数据预处理组件。数据预处理组件主要是针对日志数据进行预处理工作,包括缺失值处理、噪声数据处理等工作。
Hbase日志数据库。主要用来存储用户行为日志的预处理结果。
数据仓库构建组件。构建符合我们应用要求的数据仓库是后期数据分析的关键。考虑到电商行业相关数据都是海量数据文件,本系统基于Hive构建数据仓库,因此数据仓库构建组件包括的内容很多,除了传统数据仓库构建的相关组件,包括前期的数据清理、数据变换、装入等。还有一些与Hive相关的内容需要考虑。
Hive数据仓库。电子商务交易数据仓库,主要作为后续的数据挖掘分析的数据来源之一。
知识获取组件。对电子商务网站产生的相关数据进行挖掘分析,获取蕴含在其中的相关知识,加入到知识缓存数据库中。
知识缓存数据库。用于暂时存储知识获取组件和知识重构组件学习而来的知识,起到一个缓存的功能,知识缓存数据库作为知识图的唯一知识来源。
知识电子商务领域知识图。对引擎获取的知识进行有效的组织和管理,并作为引擎对用户行为进行预测的唯一知识源。
知识融合组件。将知识缓存数据库中的知识加入到知识图中。
知识库检索组件。作为知识图外与外界应用交互的唯一接口。完成对知识图的增删改查等操作,增强模块见独立性的同时,也能增加安全性。
用户场景构建。根据用户的实时浏览行为构建用户此时的用户需求。
预测引擎。根据用户预测场景,从知识图中获取知识来完成对用户行为的预测
2 应用
本系统旨在提供对电子商务客户实时多维度行为预测,比如预测用户下一步可能访问的网页、预测用户能够接受的商品价格、预测用户要买哪一类商品等等。本部分选取预测用户将要买哪一类商品这一行为维度来说明KDBCBAPS的工作原理。
本文实时获取了用户在N分钟内对本项目所依托的陶瓷电商网站的浏览行为,在这N分钟内,此用户进行了共计20次的网页浏览动作。针对我们要预测用户将要买哪一类商品这一行为,我们对20次浏览过程中所涉及网页进行预处理,预测子系统根据存储在数据库HBASE中的场景要素表浏览数据中提取了相应的场景构造数据,本实验所构建的用户场景见表4,由于本系统作为电商网站的后台应用,因此有关商品的分类可以直接提取。
预测引擎根据相关知识获得本次预测的意图,判断意图规则如下:
上述规则表明:如果意图x和知识图中类Intention的意图子类y名称相似度(相似度计算为公式1)为1,即名称相同。由于输入预测引擎的意图名称、用户场景中的要素名称在知识图中都有一致的,无重复的节点与之相对应,因此采用名称相似度作为节点映射的方法,在这里我们取相似度得值为1节点。相似度公式如下:
其中
通过规则1,预测引擎获得了此次的预测意图y,y中包含多个预测模型,我们定义了匹配函数(match_function,见公式2),匹配函数的作用是用来计算用户场景要素与模型变量的差异性,我们选择差异性最小,也就是匹配函数最小的的模型来作为本次预测的预测模型。并根据模型中的变量种类选择模型的变量的输入。
本次预测所选取的预测模型中采用兴趣度的概念来反映用户此次购买意图,参考文献[9]并使用数据挖掘方法挖掘分析用户对商品的浏览时间T、浏览次数N之间与用户对此商品兴趣度之间的关系,我们得出了如下模型:
其中公式(1)是用户对单个商品的兴趣模型,公式(2)是用户对某类商品的兴趣模型,通过上述公式的计算我们预测此用户想要购买紫砂茶具。通过对用户此次购买过程的跟踪,发现此用户此次确实购买了紫砂茶具中宜兴紫砂套装<富贵在天>。
3 结论
文中针对目前用户行为分析及预测方面不足,提出了基于知识驱动的用户行为分析及预测引擎,实现了对用户行为的智慧化预测。由于目前计算机网络的迅速发展,电商网站的用户行为数据已成大数据级别,文中尚未对引擎中的大数据处理做详细介绍,将在后续的文章中进行详细的介绍。
参考文献:
[1] Sismeiro C, Randolph E. Bucklin. Modeling purchase Behavior at an E-Commerce website[J]. A Conditional Probability Approach,2002.
[2] Wendy W. Moe, Peter S. Fader. Dynamic Conversion Behavior at E-Commerce Sites[J]. Marketing at the University of Texas,2003(5).
[3] Manavoglu E, Pavlov D, Giles C.L. Probabilistic User Behavior Models[C]. Proc. of the 3rd IEEE International Conference on Data Mining (ICDM). Melbourne, IEEE, 2003:203-210.
[4] Pavlov D. Sequence Modeling with Mixtures of Conditional Maximum Entropy Distributions[C].Proc. of the 3rd IEEE International Conference on Data Mining (ICDM). Melbourne, IEEE, 2003:251-258.
[5] 王毅, 王锁柱, 杜华. 基于马尔可夫链的电子商店顾客行为预测模型[J].计算机工程与设计,2009,30(4):906-908.
[6] 党小超, 郝占军, 王筱娟. 模糊加权Markov链的用户行为预测[J]. 兰州大学学报,2011(2):110-115.
[7] Dong X L, Strohmann T, Sun S, et al. Knowledge vault: Aweb-scale approach to probabilistic knowledge fusion[C]. In KDD, 2014.
[8] Ashutosh Saxena, Ashesh Jain, Ozan Sener. RoboBrain:Large-Scale Knowledge Engine for Robots[J]. arXiv:1412.0691v1 [cs.AI],2014(12).