辛勤芳
(泉州师范学院 应用科技学院,福建 泉州362000)
基于数据挖掘的电子商务个性化系统设计
辛勤芳
(泉州师范学院 应用科技学院,福建 泉州362000)
本文介绍了一个电子商务个性化推荐系统的设计研究,详细描述了各个子系统功能设计,利用数据挖掘技术实现个性化推荐的过程。为现实的电子商务个性化系统提供了一种参考的设计方案。
个性化推荐;电子商务;数据挖掘
电子商务个性化是指电子商务企业向客户提供个性化的服务。因此诞生的电子商务个性化系统可以使不同的客户同时浏览同一网页时根据客户特征有可能会看到内容不同的商务资讯。电子商务个性化推荐系统模拟现实中的销售人员向客户介绍商品信息和提供建议,推荐用户决定购买何种商品,并协助用户完成购买的过程。
电子商务个性化系统对电子商务活动的促进作用主要表现在以下三个方面:
(1)通过预测用户的购买行为,主动为用户提供用户感兴趣的商品信息,促成电子商务交易。可以将更多的电子商务网站浏览者转变为商品的购买者。
(2)提高用户对电子商务网站的忠诚度。电子商务个性化系统使用户从繁杂的网络资源和商品世界中解脱出来,大大节约了用户浏览、寻找商品的时间,因此用户将更信任这个站点。
(3)提高电子商务网站的交叉销售能力,为电子商务企业赢得了更多的商机。例如,有用户购买了笔记本,网站会为该用户推荐合适的笔记本包、笔记本锁和笔记本保护膜等配套商品。
数据挖掘技术可以为电子商务提供网上商品推荐、个性化网页、自适应网站等个性化服务。本文将数据挖掘技术很好地应用于电子商务个性化推荐系统,并为此设计了一个基本框架,完成通用流程,为现实的电子商务个性化系统提供了一种参考方案。
图1 :电子商务个性化系统体系结构
2.1 智能人机接口
智能人机接口是电子商务个性化系统直接与用户交流的子系统,它应该具有合理的界面布局。一个设计科学的用户界面能够在很大程度上影响用户对于系统的满意度。人机接口的信息来源是由信息采集系统和推荐任务处理系统提供,响应用户推荐请求,向用户展示推荐结果,同时负责采集各种背景信息(如项目的信息、用户对项目的评分等),收集用户的反馈。
2.1.1 设计原则
在电子商务个性化系统的研究中,很多学者对智能人机接口的设计进行了探索,提出了一些智能人机接口设计的思想[1]:
(1)达到“人机共栖”。一个“人机共栖”的智能人机接口能够使用户在与电子商务个性化系统的交互过程中得到持续有价值的商品信息介绍,且感到十分的自然和舒适,使得电子商务个性化系统真正成为客户在电子商务活动中选择有用商品的参谋与助手。实际上,“人机共栖”也是一种人机互相激发,优势互补,共同寻求问题解答的有效途径。因此,人机共栖接口强调的是,客户和电子商务系统的自然和谐。
(2)基于知识的人机接口。在传统的电子商务个性化系统中,为获得友好的接口,人们使用了联机帮助,多种多样的对话风格,例如问答方式、命令驱动、菜单驱动、表格输入、图形界面等技术,但是从本质上说,这些技术都是静态的,在设计时就已经固化在系统中,用户在运行时不能改变这些对话方式。基于知识的接口通过使用用户知识、自身知识、领域知识来协调用户与系统的交互,接口具有一定智能,用户的反馈能够反应到接口,人机接口主动调节。同时,在运行时指导用户进行操作,减轻用户负担,提高接口的友好性。例如自然语言接口就是一种基于知识的人机接口,它能够理解用户自然语言对问题的描述,并且用自然语言输出。
2.1.2 接口功能
根据以上“人机共栖”和基于知识的思想,在设计个性化电子商务系统的一个智能人机接口时应该能够实现以下几点功能:
(1)提供符合用户使用习惯,用户感觉舒适、方便的数据采集接口。
(2)为用户提供友好、易用的用户界面和反馈渠道,为用户提供快速(即时输出)、信息有效性高的推荐结果。
(3)在响应用户推荐请求时,针对不同用户输出个性化推荐结果。这需要使用一个用户模型知识库来实现。该模型知识库必须不断地丰富和修正,主要是利用接口与用户交互获得的用户知识,以及数据挖掘算法所得的自身知识来实现的。
(4)根据用户对推荐结果的满意度反馈,自动对所使用的推荐算法继续进行学习和调整,使系统针对特定用户所做的推荐越来越“个性化”,真正成为“人机共栖”的私人助手。
(5)自动采集用户的各种反馈信息,按信息类型相应提取出显式评分、隐式评分和用户特征等知识,并存入知识库供推荐算法使用。
2.1.3 实现技术介绍
随着电子商务的蓬勃发展,面对大量的电子商务信息,系统采用Web2.0和数据库相关技术进行设计研究,应用web数据挖掘技术实现电子商务个性化推荐功能的实现研究。Web2.0是从2005年直到现在一直是电子商务系统设计流行的技术。Web 2.0是以Flickr、Craigslist、Linkedin、Tribes、Ryze、Friendster、Del.icio.us、43Things.com等网站为代表,以Blog(博客/网志)、TAG(网页书签)、SNS(社会网络)、RSS(站点摘要)、wiki(百科全书)等应用为核心,依据六度分隔、xml、Ajax等新理论和技术实现的互联网新一代模式。Web2.0时代的显著特征是个性化、互动性、大众化和去中心,旨在给用户提供更人性化的服务。每个普通用户既是信息的获取者,也是信息的提供者。Web用户可以用自己的方式、喜好来个性化定制自己的互联网应用。
使用Web2.0技术实现电子商务系统,赋予用户最大的自由度,同时给予有心商家有待发掘的高含金量信息数据。通过对Web用户自建的Blog、RSS等Web2.0功能模块下客户信息的收集统计分析,能够帮助运营商以较低成本获得准确度较高的客户兴趣倾向、个性化需求以及新业务发展趋势等信息。
Web数据挖掘在电子商务个性化推荐系统中的应用是一个将信息、数据转化为商业知识的过程。系统建立在数据库技术的基础上,采用分类、聚类、关联规则等数据挖掘技术实现个性化推荐。
2.2 信息采集子系统
2.2.1 主要功能
信息采集子系统的设计目的是为数据挖掘算法的实现进行必须的数据准备和预处理,主要有以下三个功能:
(1)采集用户对项目的评分
一个智能化的电子商务个性化系统应该放弃强制用户对项目评分的想法,但是采集用户对项目评分又能够极大的提高推荐效果,是必不可少的一个流程,所以在这个子系统实现用户对项目评分采集。
(2)收集商品的评论、对推荐商品的反馈情况、用户浏览商品后的行为记录、以及相关背景知识等
用户对推荐结果的反馈,能够指导推荐算法的改进。用户对项目的评论(非评分),是指用户对推荐商品优劣、特性的文本描述,也是一种很重要的参考信息。系统对这类评论有两种利用方式:直接返回给商品浏览者(电子商务网站通常都提供了用户对商品的功能,并可以查看其他用户的评论内容);或是更加智能地对所有用户的评论进行文本挖掘,收集其中能够反映项目内容的特征值进行量化存储,丰富系统的基础数据库信息。最后,用户行为记录也是一种很重要的信息来源,收集用户行为过程,并进行量化存储。由于显式评分的烦琐,导致许多用户很少向系统提交对项目的评分;用户的浏览商品历史记录、消费购买记录是用户对商品偏好有直接相关价值的数据,利用WEB数据挖掘技术,从中获得很有价值的隐式评分,是实现本系统的另一个研究重点。关于商品、用户的各种背景数据对于电子商务个性化推荐系统的智能推荐结果是很重要的,要求后台程序进行收集和整理。这部分数据是数据挖掘数据训练集预处理的一个重要组成部分。
(3)对收集到的各种信息进行量化处理,存储用户特征数据
收集到相关信息,争取最大化发挥信息的作用。一个智能化的商务推荐系统,要求能够对这些信息进行深度整理挖掘,从中得出对系统有用的知识:如用户特征、隐式评分等。按照智能人机接口的严格定义,这个子系统是智能人机接口的一个重要数据底层支撑。以上所分析的功能的独特性、重要性是不可或缺的,系统设计时将其分离出来形成独立的子系统;功能所处理的数据都是推荐系统所需的重要信息点,功能之间有很强的耦合度,集成一个独立的信息采集子系统。
信息系统采集到相关信息和知识后,进行两种处理:
(1)直接将量化后的数据存入相应的数据库、用户模型库中,供推荐算法使用。
(2)对于隐式评分数据的信息,在存入数据库的同时,也触发系统内部的量化处理程序,并将量化结果也存入相应的数据库中。调用推荐算法,基于新的信息来修改用户模型库中的推荐模型。
2.2.2 实现方法
该子系统用户评价信息数据源的收集直接由web技术和数据库技术的结合实现,用户隐性行为数据源采集的可以有两种方式:
(1)Web服务器的日志
Web服务器日志有用户访问该站点每个页面请求所产生的记录数据。在具体实现时可以利用应用服务器上的应用程序、服务器脚本程序来跟踪记录用户的个人行为信息和以自定义的格式动态记录用户的浏览信息。
(2)客户端采集
客户端采集用户行为信息比服务器端采集更准确。使用客户端远程代理的方式来实现客户端采集。这种方法由客户端远程代理将用户的浏览路径和浏览时间实时地直接发送给服务器。主要的技术有Java Applet,JavaScript,VBScript,插件技术以及使用特制的浏览器等。
数据预处理是把用户隐性行为量化保存成系统实现数据挖掘所需要的数据格式。主要步骤包括数据清理、用户识别、会话识别、事务识别。实现个性化推荐可以采用不同的数据挖掘算法,于是对于数据预处理的要求、过程和结果也不相同。
下面就主要以Web日志数据的预处理为例来进行阐述。
(1)数据清理
数据清理目的是根据挖掘算法的需要,去除没有用的数据项,如不是用户产生的数据,特别是由浏览器自动“请求”而产生的访问记录。主要有:1)URL中文件扩展名为GIF,JPG,SWF,MIDI,MP3等的记录;2)弹出式广告的记录;3)框架网页中的子网页的请求记录;4)搜索引擎Robot和离线浏览软件对网站的访问所产生的访问记录;5)产生错误的访问记录。
(2)用户识别
用户识别一般是根据访问者的IP地址、用户代理(Agent)来将访问记录归类给某一个用户(UID)。但是,由于缓存、代理服务器、防火墙的使用,使得要100%准确识别用户变得不太可能。一般的准则是在一定的时间范围内,相同的IP和Agent就可以认为是同一个用户。经过用户识别,给每一个访问记录加上一个用户标识uid,访问记录的格式变为:< uid,url,time>。
(3)会话识别
首先对经过数据清理和用户识别以后的数据以用户号uid作主关键词,访问时间time为次关键词进行排序。然后根据以下准则进行会话识别:1)不同的用户访问的页面属于不同的会话;2)对于同一个用户访问的页面,如果连续的两个访问页面的时间差超过了设定的时间值C,则认为用户开始了一个新的会话。C的取值一般为20~30分钟。
由于浏览器会使用本地缓存,用户在浏览器中的部分操作(如“后退”)不被服务器记录;如果用户使用了代理服务器,用户的部分请求,代理服务器会直接使用其缓存而不向Web服务器发送,所以Web服务器日志中记录的信息并不能完全代表用户的访问行为。这样就导致了生成的会话在实际应用环境下是“不合理”的。此时,就需要进行路径补充。路径补充是根据网站的拓扑结构,将会话中缺失的请求页面补充进来。
(4)事务识别
用户会话对数据挖掘来说显得粗糙,不够精确,把会话分割成具有一定语义的事务,如顾客查询某一个特定商品的浏览过程。主要有三种事务识别分割算法:引用长度、最大向前引用和时间窗口。其中,最大向前引用最能从语义上体现“事务”的含义,一个最大向前引用路径就相当于一个事务。向后引用意味着一个用户再次请求其浏览过的页面 (如用户点击“返回”按钮)。当一个向后引用发生时,说明向前引用终止,则得到的向前引用路径即是一个最大向前引用;或者当这个用户会话结束时,也获得一个最大向前引用。例如,用户会话为ABACD,则以A为起点,最大向前引用路径为AB,ACD,该会话也就分割成这两个事务。
2.3 推荐算法求解系统
事实上,不同的用户由于受教育水平、工作环境等因素的不同而具有鲜明的个性,希望搜索引擎能够提供个性化服务,使得查询结果符合用户的个性需求。用户如果输入相同的查询条件,要求搜索引擎根据用户的特征返回不同的结果。因此,提高推荐搜索引擎检索结果的精度并向用户提供个性化服务成为推荐搜索引擎技术是系统要实现的重点。系统设计了推荐求解系统,产生推荐算法求解库供不同的推荐任务使用。
推荐算法求解系统的设计步骤如下[2]:
(1)选择训练经验
第一个设计解决的问题是选择训练经验的类型,使系统从中进行学习。给学习器提供的训练经验对成败有很大影响。训练经验有三个关键属性。第一个关键属性是训练经验能否为系统的决策提供直接或间接的反馈。对于间接反馈,每一个反馈对最终结果的贡献程度关系到间接信息的信用分配。第二个重要属性是学习器可以在多大程度上控制训练样例序列。例如,学习器是否完全依赖于现有样例,还是可以与用户交互获得新的样例,或是自己完全控制训练样例。第三个重要属性是,训练样例的分布表示实例分布的效果情况,通过样例来衡量最终系统的性能。当训练样例的分布和将来的测试样例的分布相似时,学习具有最大的可信度。很多机器学习理论都是基于训练样例与测试样例分布一致这一假设。
(2)选择目标函数
第二个设计解决的问题是要学习知识的确切类型和执行程序使用这些知识。在机器学习中,一般将提高任务T的性能问题,简化为学习特定的目标函数。在这种情况下,学习任务被简化成发现一个理想目标函数V的可操作描述。通常完美地学习这样一个V的可操作形式是不太可能的,我们仅希望学习算法得到近似的目标函数。用V来表示程序中实际学习到的函数。
(3)选择目标函数的表示。确定了理想的目标函数V后,选择一个表示方法,让学习程序描述要学习的函数。这种表示方法的选择是一个重要的权衡过程。需要考虑函数的逼近精确度与训练复杂度、训练样本量之间的权衡,也要考虑逼近精度与过拟合情况之间的均衡。
(4)选择函数逼近算法。很多情况下,选定目标函数表示的同时,就选定了函数逼近算法。
2.4 推荐任务处理子系统
推荐任务处理子系统,需要实现两个功能:
第一,分析推荐问题场景,将智能人机接口传来的推荐请求,转化为可以直接由各种推荐算法按照客观评判准则求解的问题,然后发送给推荐算法求解系统。
第二,把推荐算法求解系统返回的算法结果,组合为对用户请求的解答,返回给智能人机接口。智能人机接口接受到用户的推荐请求后,将此请求提交给推荐任务处理系统。这种请求一般是包含了很强主观性的,模糊的推荐任务;对于这样的推荐问题,唯一的评判准则是用户满意度。推荐任务处理系统的作用,就是按照用户特征和推荐场景,为推荐算法求解搭建一个客观的数据集平台。推荐算法求解系统求解后,推荐任务处理系统将其计算结果组合为对推荐请求的解答,返回智能人机接口。
需要注意的是,推荐任务处理系统会根据与用户不断的交流(为用户做出推荐,接受传回的反馈信息),持续修正其对用户特征的判断,并将这种用户特征知识储存在用户模型库中,供后续推荐使用。
2.5 系统数据库
整个商务推荐系统中,涉及到了四个主要的数据库或数据仓库(视系统规模不同而采用不同技术):
(1)推荐场景库:存放当前系统能够实现的不同场景信息,为推荐任务处理系统按照场景分解任务提供信息。
(2)用户模型库:存放关于每个系统注册用户的特征模型,包括一些个人基本信息,个人偏好信息,以及系统为其构建好的可以直接调用的推荐模型。
(3)推荐算法库:存放各种可用的推荐算法,各种推荐算法组合方式的知识等,为推荐算法求解系统提供信息。
(4)基本信息库:存放关于各个待推荐项目的基本信息,用户对项目评分情况等推荐系统所依赖的基本数据集。
以上各个子系统和数据库一起,组成了一个电子商务个性化推荐系统框架,能够完成为注册用户和非注册用户提供个性化推荐的任务。如果要高效的完成推荐任务,实现电子商务个性化系统的促进销售和提升品牌价值这两个目标,则必须依赖于所开发的系统中精确的推荐算法实现、与用户个性匹配的推荐任务分解,以及友好的人机交互界面等各种认真细致的系统设计。
当今电子商务处于飞速发展中,本文设计出一个个性化推荐系统框架,对提高电子商务的效率具有十分重要的价值。利用推荐系统,电子商务网站一方面可以根据现有客户属性,寻找市场上具有相似需求的客户,积极开拓新市场;另一方面,根据客户需求进行进一步的市场细分,有针对性地推出更能满足客户需求的新商品,实现客户与商家的双赢。
[1]郦永达,薛华成.智能决策支持系统的人机接口初探[J].系统工程理论与实践,1995,(12):29-33.
[2]Mitchell,T.M.Machine Learning[J].The McGraw-Hill Companies,Inc,1997.
[3]邹显春,谢中,周彦晖.电子商务与web数据挖掘[J].计算机应用,2001,21(5):21-23.
[4]胡慧蓉.电子商务个性化推荐系统分析与设计[J].科技创新导报,2009.