物流服务平台中推荐系统的框架设计
2010-04-12李宏基
李宏基
同济大学软件学院,上海 201804
0 引言
物流企业用户对物流服务平台有着不同的功能需求,然而现有的物流管理平台往往对用户提供同样的服务组合方案,用户的需求往往混杂在一些他并不关切的服务中。本文设计物流服务平台中的推荐系统,该统采用基于用户聚类的协同过滤推荐技术,根据用户在浏览、试用物流服务过程中所收集的物流服务评分,将评分相似的用户聚类,在用户目标所在的聚类中查找其最近邻居并根据邻居用户的评分产生推荐,使得物流服务平台能为不同的用户推荐符合其自身需求的物流服务组合方案。
1 基于用户聚类的协同过滤技术
1.1 协同过滤技术概述
协同过滤推荐是目前研究最多、应用最成功的推荐技术。协同过滤推荐技术的优点是能为用户发现新的感兴趣的信息,同时对推荐资源没有特殊的要求。但基于用户的协同过滤推荐需要在整个用户空间上搜索目标用户的最近邻居,随着物流服务平台的系统规模扩大,用户数量的不断增多,在整个用户空间上搜索目标用户的最近邻居将非常耗时,因此,极大影响了推荐系统的实时性[1]。
1.2 基于用户聚类的协同过滤技术
为了提高推荐系统的实时响应速度,缩小目标用户最近邻居的搜索范围,研究者提出了各种不同的推荐系统算法。基于用户聚类的协同过滤技术[2]是通过用户评分的相似性对用户聚类,然后根据聚类中的项目评价生成对应的聚类中心,最后根据已有的用户聚类寻找目标用户最近邻居并产生推荐的方法。和传统基于用户的协同过滤算法不同的是,基于用户聚类的协同过滤技术首先将对物流服务评分相似的用户聚类,在目标用户所在的用户聚类中查找最近邻居。由于相似性用户所在的聚类相对于整个用户空间而言,其搜索范围要小得多,因此能有效提高推荐系统的实时响应速度,提高物流服务平台的运作效率。
2 物流服务平台推荐系统架构设计
推荐系统框架主要分为3个部分:信息输入,数据管理和推荐生成。首先接受用户在物流服务平台页面的浏览请求,服务器记录下用户的访问记录,包括用户访问的页面、时间、用户和物流服务信息等等。然后对Web日志进行预处理,将其加载到元数据库中成为规整数据。根据推荐系统所调用的推荐算法可以提取所需的数据,如用户评分数据、用户信息、服务信息等进行推荐处理。物流服务平台向推荐系统提供当前用户的信息,并请求产生推荐服务。推荐系统接受信息和请求后调用内部推荐算法来产生推荐服务列表,并通过物流服务平台的交互界面将组合后的物流服务推荐给用户。推荐系统工作流程如下:
1)聚类分析:根据用户对物流服务评价的相似度通过K-Means聚类算法[3]对用户进行聚类。聚类过程首先根据修正的余弦相似性度量方法计算用户间的相似性,然后利用K-Means算法选取K个用户初始聚类中心后将相似度高于某一阈值的用户聚为一类。
2)查找最近邻居:通过聚类分析得到该用户所在的聚类,依次计算目标用户与聚类中其他用户的相似度,将那些与目标用户之间相似系数超过设定阈值的用户作为他的最近邻居,形成最近邻居集。
3)预测服务评分:得到用户的最近邻居集后,根据目标用户与邻居用户对已评价过的物流服务的评分来预测计算出目标用户没有评价物流服务的评分。假设用户n对项目I的预测评分为Xn,i,则预测评分公式[4]可表示为:
4)生成推荐结果:推荐系统调用评分数据库和用户数据库信息,根据用户对物流服务评分相似度大小将用户聚成K类,然后目标用户所在的用户类别生成最近邻居,最后通过对邻居用户的物流服务评分进行加权平均来预测未被目标用户评价过的服务评分值从而选择评分值最高的前N个服务组成推荐列表。推荐系统接收物流服务平台发出的推荐请求以及用户信息,经过推荐处理后将生成的服务评分推荐列表发送给平台交互界面,由物流服务平台将组合后的物流服务方案推荐给用户,通过服务功能可配置性为其订制符合其自身需求的物流服务方案。
3 结论
本文中的推荐系统在计算用户对物流服务评分相似性的基础上,对用户进行聚类,在用户目标所在的聚类中查找其最近邻居并根据邻居用户的评分产生推荐。相对于整个用户空间而言,相似性用户所在聚类的搜索范围要小得多,因此能有效提高推荐系统的实时响应速度,从而提高物流服务平台的运作效率。
[1]王辉,高利军,王听忠.个性化服务中基于用户聚类的协同过滤推荐[J].计算机应用,2007,27(5):1001-9081.
[2]潘宇,林鸿飞,杨志豪.基于用户聚类的电子商务推荐系统[J].计算机应用与软件,2008,25(4):25-26.
[3]毛国君,段立娟,王实,等.数据挖掘原理与算法[M].北京:清华大学出版社,2005.
[4]何安.协同过滤技术在电子商务推荐系统中的应用研究[D].浙江:浙江大学计算机学院,2007:15-16.