论文部分内容阅读
摘要:针对一般小型系统,要完成个性化推荐,为了降低系统的复杂度,完全可以避免采用那些复杂的方法如基于人口统计学的推荐、基于内容的推荐、协同过滤推荐等推荐策略。这些推荐策略中都会用到复杂的算法,对于一个初学者来说,想搞懂任何一种算法都不会太容易。针对所做的ICON项目来说,提出了一个简单的推荐策略,就是针对某个关键点来来查找相似用户或相似内容,来简单实现“协同过滤算法”。
关键词:个性化推荐;icon;协同过滤算法;权值;关键点;
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)03-0250-03
1 概述
随着信息时代的不断发展,网络给人们的生活带来了翻天覆地的变化,人们可以足不出户就能够在网络上购买到自己想要的任何商品。网络的便利,使得人们的购物方式得到了改变,同时也滋生了很多购物平台的产生。无论大型还是小型的电子商务平台,都会存在着一些弊端,信息过载问题,就是商品的种类太过于丰富多样性,以至于用户不能很快地查找到自己喜欢的商品。所以平台开发商们就会想尽办法来避免这种情况,个性化推荐应运而生,个性化推荐就是在正确的时间把正确的商品推荐给正确的用户,来拉拢用户,防止用户的流失,从而提升自己平台的竞争力。
1.1课题背景及研究的目的
当今时代是信息的时代,每天人们都会被不同的海量数据所围绕,如何从这些繁杂的数据中找到自己想要的数据,是我们每个人都迫切需要的。我们都希望每个平台系统都能给我们展示出契合我么自己的数据,这样我们就不需要花费太多的精力在寻找数据上。
基于和老师同学们一起做的这个ICON项目(一个类似图片交际购物系统),因为用户的不断增加,所上传的图片也越来越多,为了满足用户查找数据的方便,就打算给系统添加一个个性化推荐策略。由于自己对推荐这一块比较陌生,阅读了多篇关于推荐系统的论文及报告,大多都会涉及诸多复杂的算法,就想到针对我们这个系统来设计一个较为简单的个性化推荐。
1.2 本文主要研究的内容和组织架构
1.2.1 本文主要工作
本文主要探讨了一下个人设计的简单个性化推荐策略及相关工作。介绍了该推荐策略的研究背景和目的,然后又详细地介绍了该策略算法。最后就该研究成果在ICON项目中的应用效果进行了展示,说明了我们算法的可行性。
1.2.2 本文的组织架构
第一章是绪论部分,介绍了个性化推荐系统的背景,以及研究目的。简单个性化推荐策略的由来。
第二章是算法简述部分,大概地介绍了一下算法。
第三章是算法详解部分,在本章节中详细介绍了算法的构成。
第四章是指标的权重计算部分,介绍了算法中一个比较重要的权重计算方法,并计算出了算法中各个特性的权重值。
第五章是结果分析部分,对推荐前后用户滞留系统的时间和点击look的数量进行观察比较,得出分析结果。
2 算法简述
1) 找出平台关键点;
2) 统计关键点数据;
3) 画出涉及关键点的表格;
4) 整理分析,推荐图片;
5) 通过图片推荐给用户商品。
3 算法详解
3.1 找出平台关键点
用户发表一个look(即图片),都会给这个look选择一个性别、季节、品牌、风格等,其中风格包含有正装、暗黑、韩国风、运动、嘻哈等多达20多种的不同风格,其中肯定会有一种是你发表的look风格。性别和风格是主要的,从这两个特性中我们就能看出你平时穿衣打扮,因为发表的每一张look都是对自己平时的一个真实写照。用户发表的每一张look都是对应自己所购买的衣服,从而我们就可以从look中对应到相应的商品中。
抛开性别这个普遍的共性来分析,我们可以根据用户平时发表的look的风格来观察该用户的穿衣习惯,从而得到用户可能喜欢的商品类型,继而向用户推荐他们想要看到或者想要购买的衣服。
在icon的系统中,用户看见自己喜欢的look时,可以对其进行点赞或者收藏。用户也可以关注其他的用户,成为他的粉丝,随时关注他(她)发表的look,你们之间也可以相互交流探讨穿衣打扮的技巧。
在认真观察项目后,可以看出用户发表look的风格就是所谓的关键点。
3.2 統计关键点数据
用户发表的look,关注的look,点赞的look,以及收藏的look我们都统一存到了数据库中。平台是用mybatis连接的数据库,所以,数据我们可以写sql语句直接获取到,而不用去分析历史数据或者网络爬虫去解析用户浏览行为等。
这个算法,我要求只需要能获取到用户偏重的前三个就行,所以常用到的mysql中的limit关键字,limit接受一个或两个数字参数,参数必须是一个整数常量,如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。在使用limit时,要先判断查询到的数据集的数目有多少,防止查询的时候出错。
举个例子,通过tbl_look表和tbl_user_likes表来查找id为131的用户点赞的look风格的前三个的mysql语句:
SELECT tul.id,tul.uid,tul.lookid,tl.style,COUNT(tl.style) AS sc FROM tbl_user_likes tul ,tbl_looks tl WHERE tul.uid=131 and tl.id=tul.lookid GROUP BY tl.style ORDER BY sc DESC LIMIT 3
3.3 画出涉及关键点的表格 为了更形象的观察用户的自己的风格以及自己和其他人的风格,我们将查询的数据用表格的形式展示出来。这样就可以一目了然的通过观察表格得出合理的结论。
3.4 整理分析,推荐内容
分析表1,因为用户发表、点赞和收藏的数量差别可能比较大,所以我们就按照表格中展示的三项以及它们的权值来计算每个用户表侧重的风格。
每个用户的风格评分计算如下:
[fur=i=03wiri]
[fur]表示u用户r风格的评分,其中[wi]表示每个i指标的权值,会在第四章详细介绍权值算法;[ri]表示u用户r风格是否存在i指标的参数,存在为1,不存在为0。
经过计算,我们得出甲用户和丁用户都比较侧重ABC折三种风格,并且甲和丁也互相关注了,那么我们完全就可以认为甲和丁用户风格类似,可以看成是相似用户。按照基于用户的协同过滤算法来考虑的话,我们可以把E风格的服饰推荐给丁用户,而把G风格的服饰推荐给甲用户。
我们还可以得出,BC风格总是在一起,EF风格总是在一起,我们就可以这样认为,喜欢B风格服饰的人通常也会喜欢C风格的服饰,喜欢E风格服饰的人通常也会喜欢F风格服饰的人,反过来也一样。按照基于内容的系统过滤算法考虑的话,我们就可以把B风格的服饰推荐给乙用户。
3.5 通过图片推荐给用户商品
整个系统的模式是这样的,通过用户的各项特征找到一个关键点,再由该关键点给用户推荐look,最后由推荐的look来决定用户可能喜欢的商品(服装)。如图1所示:
4 指标的权重计算
各项指标的权重根据定量统计法算法计算得出。
定量统计计算权重的步骤如下:
1) 按照没有关联、有点关联、关联和非常关联四个等级绘制出统计表格。
2) 以67%(2/3)位界限,若选择“关联”和“非常关联”的比例合计小于67%,就删除该指标,不予考虑。
3) 分别把没有关联赋值为1,有点关联赋值为2,关联赋值为3,非常关联赋值为4,选择出没有关联之外以上数据都进入统计,那么三种选项的权重分别为[w′1]=2/(2 3 4)=0.22;[w′2]=3/(2 3 4)=0.33;[w′3]=4/(2 3 4)=0.45。
4)指标权重计算:
[wi=pii=13pi]
其中[pi]为指标i的统计权值和:
[pi=j=13w′iaij]
其中,[aij]表示i指标除没有关联外的其他关联度的统计数,[a11]就表示指标1有点关联的统计人数,[a32]就表示指标3关联的统计人数。
我们对使用该系统的用户进行了一次统计,随机抽出统计过的100名用户来计算权值。
首先画出统计的表格如下:
分别代表用户发表、点赞和收藏look的风格权值。通过计算得到的数值可明显看出,用户发表和收藏的look风格所占比重比较大,点赞风格所占比重较小。所以,发表和收藏风格的特性能较大反映出用户的风格类型,而点赞风格的特性稍次于发表和收藏特性。
5 结果分析
项目中我们引入了cnzz流量统计、网络分析数据专家,可以通过cnzz来获取到用户滞留平台的时间和点击各个look的数量。
为了验证该个性化推荐策略的可行性,我们随机抽取了四名用户,利用cnzz获取到在推荐系统应用的前后,用户滞留系统的时间(从进入系统到退出系统的滞留时间),以及用户点击look的数量,描绘成线形图如下:
通過这两个柱状图,可以明显的观察到推荐策略应用前后的效果,证明了我们所做的工作的可行性。
参考文献:
[1] 丁宏飞,黄战.个性化电子商务系统中用户兴趣模型的研究[D].广州:暨南大学,2008.
[2] 王国霞,刘贺平.个性化推荐系统综述[J].计算机工程与应用,2012(9).
[3] 刘玮.电子商务系统中的信息推荐方法研究[J].情报科学,2006(4).
[4] 米鹏,段建勇,付晓宇.面向社区用户的推荐策略研究[D].北京:北方工业大学,2016.
[5] 曾春,邢春晓,周立柱.个性化服务技术综述[J].软件学报,2002(5).
[6] 于波,陈庚午,王爱玲,等.一种结合项目属性的混合推荐算法[J].计算机技术应用,2017(5).
[7] 王梦恬,魏晶晶,廖祥文,等.融合评论标签的个性化推荐算法[J].计算机科学与探索,2016(4).
[8] 张曌,夏国平,李雪峰.基于案例推理的电子商务个性化推荐系统[J].计算机工程,2007(5).
关键词:个性化推荐;icon;协同过滤算法;权值;关键点;
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)03-0250-03
1 概述
随着信息时代的不断发展,网络给人们的生活带来了翻天覆地的变化,人们可以足不出户就能够在网络上购买到自己想要的任何商品。网络的便利,使得人们的购物方式得到了改变,同时也滋生了很多购物平台的产生。无论大型还是小型的电子商务平台,都会存在着一些弊端,信息过载问题,就是商品的种类太过于丰富多样性,以至于用户不能很快地查找到自己喜欢的商品。所以平台开发商们就会想尽办法来避免这种情况,个性化推荐应运而生,个性化推荐就是在正确的时间把正确的商品推荐给正确的用户,来拉拢用户,防止用户的流失,从而提升自己平台的竞争力。
1.1课题背景及研究的目的
当今时代是信息的时代,每天人们都会被不同的海量数据所围绕,如何从这些繁杂的数据中找到自己想要的数据,是我们每个人都迫切需要的。我们都希望每个平台系统都能给我们展示出契合我么自己的数据,这样我们就不需要花费太多的精力在寻找数据上。
基于和老师同学们一起做的这个ICON项目(一个类似图片交际购物系统),因为用户的不断增加,所上传的图片也越来越多,为了满足用户查找数据的方便,就打算给系统添加一个个性化推荐策略。由于自己对推荐这一块比较陌生,阅读了多篇关于推荐系统的论文及报告,大多都会涉及诸多复杂的算法,就想到针对我们这个系统来设计一个较为简单的个性化推荐。
1.2 本文主要研究的内容和组织架构
1.2.1 本文主要工作
本文主要探讨了一下个人设计的简单个性化推荐策略及相关工作。介绍了该推荐策略的研究背景和目的,然后又详细地介绍了该策略算法。最后就该研究成果在ICON项目中的应用效果进行了展示,说明了我们算法的可行性。
1.2.2 本文的组织架构
第一章是绪论部分,介绍了个性化推荐系统的背景,以及研究目的。简单个性化推荐策略的由来。
第二章是算法简述部分,大概地介绍了一下算法。
第三章是算法详解部分,在本章节中详细介绍了算法的构成。
第四章是指标的权重计算部分,介绍了算法中一个比较重要的权重计算方法,并计算出了算法中各个特性的权重值。
第五章是结果分析部分,对推荐前后用户滞留系统的时间和点击look的数量进行观察比较,得出分析结果。
2 算法简述
1) 找出平台关键点;
2) 统计关键点数据;
3) 画出涉及关键点的表格;
4) 整理分析,推荐图片;
5) 通过图片推荐给用户商品。
3 算法详解
3.1 找出平台关键点
用户发表一个look(即图片),都会给这个look选择一个性别、季节、品牌、风格等,其中风格包含有正装、暗黑、韩国风、运动、嘻哈等多达20多种的不同风格,其中肯定会有一种是你发表的look风格。性别和风格是主要的,从这两个特性中我们就能看出你平时穿衣打扮,因为发表的每一张look都是对自己平时的一个真实写照。用户发表的每一张look都是对应自己所购买的衣服,从而我们就可以从look中对应到相应的商品中。
抛开性别这个普遍的共性来分析,我们可以根据用户平时发表的look的风格来观察该用户的穿衣习惯,从而得到用户可能喜欢的商品类型,继而向用户推荐他们想要看到或者想要购买的衣服。
在icon的系统中,用户看见自己喜欢的look时,可以对其进行点赞或者收藏。用户也可以关注其他的用户,成为他的粉丝,随时关注他(她)发表的look,你们之间也可以相互交流探讨穿衣打扮的技巧。
在认真观察项目后,可以看出用户发表look的风格就是所谓的关键点。
3.2 統计关键点数据
用户发表的look,关注的look,点赞的look,以及收藏的look我们都统一存到了数据库中。平台是用mybatis连接的数据库,所以,数据我们可以写sql语句直接获取到,而不用去分析历史数据或者网络爬虫去解析用户浏览行为等。
这个算法,我要求只需要能获取到用户偏重的前三个就行,所以常用到的mysql中的limit关键字,limit接受一个或两个数字参数,参数必须是一个整数常量,如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。在使用limit时,要先判断查询到的数据集的数目有多少,防止查询的时候出错。
举个例子,通过tbl_look表和tbl_user_likes表来查找id为131的用户点赞的look风格的前三个的mysql语句:
SELECT tul.id,tul.uid,tul.lookid,tl.style,COUNT(tl.style) AS sc FROM tbl_user_likes tul ,tbl_looks tl WHERE tul.uid=131 and tl.id=tul.lookid GROUP BY tl.style ORDER BY sc DESC LIMIT 3
3.3 画出涉及关键点的表格 为了更形象的观察用户的自己的风格以及自己和其他人的风格,我们将查询的数据用表格的形式展示出来。这样就可以一目了然的通过观察表格得出合理的结论。
3.4 整理分析,推荐内容
分析表1,因为用户发表、点赞和收藏的数量差别可能比较大,所以我们就按照表格中展示的三项以及它们的权值来计算每个用户表侧重的风格。
每个用户的风格评分计算如下:
[fur=i=03wiri]
[fur]表示u用户r风格的评分,其中[wi]表示每个i指标的权值,会在第四章详细介绍权值算法;[ri]表示u用户r风格是否存在i指标的参数,存在为1,不存在为0。
经过计算,我们得出甲用户和丁用户都比较侧重ABC折三种风格,并且甲和丁也互相关注了,那么我们完全就可以认为甲和丁用户风格类似,可以看成是相似用户。按照基于用户的协同过滤算法来考虑的话,我们可以把E风格的服饰推荐给丁用户,而把G风格的服饰推荐给甲用户。
我们还可以得出,BC风格总是在一起,EF风格总是在一起,我们就可以这样认为,喜欢B风格服饰的人通常也会喜欢C风格的服饰,喜欢E风格服饰的人通常也会喜欢F风格服饰的人,反过来也一样。按照基于内容的系统过滤算法考虑的话,我们就可以把B风格的服饰推荐给乙用户。
3.5 通过图片推荐给用户商品
整个系统的模式是这样的,通过用户的各项特征找到一个关键点,再由该关键点给用户推荐look,最后由推荐的look来决定用户可能喜欢的商品(服装)。如图1所示:
4 指标的权重计算
各项指标的权重根据定量统计法算法计算得出。
定量统计计算权重的步骤如下:
1) 按照没有关联、有点关联、关联和非常关联四个等级绘制出统计表格。
2) 以67%(2/3)位界限,若选择“关联”和“非常关联”的比例合计小于67%,就删除该指标,不予考虑。
3) 分别把没有关联赋值为1,有点关联赋值为2,关联赋值为3,非常关联赋值为4,选择出没有关联之外以上数据都进入统计,那么三种选项的权重分别为[w′1]=2/(2 3 4)=0.22;[w′2]=3/(2 3 4)=0.33;[w′3]=4/(2 3 4)=0.45。
4)指标权重计算:
[wi=pii=13pi]
其中[pi]为指标i的统计权值和:
[pi=j=13w′iaij]
其中,[aij]表示i指标除没有关联外的其他关联度的统计数,[a11]就表示指标1有点关联的统计人数,[a32]就表示指标3关联的统计人数。
我们对使用该系统的用户进行了一次统计,随机抽出统计过的100名用户来计算权值。
首先画出统计的表格如下:
分别代表用户发表、点赞和收藏look的风格权值。通过计算得到的数值可明显看出,用户发表和收藏的look风格所占比重比较大,点赞风格所占比重较小。所以,发表和收藏风格的特性能较大反映出用户的风格类型,而点赞风格的特性稍次于发表和收藏特性。
5 结果分析
项目中我们引入了cnzz流量统计、网络分析数据专家,可以通过cnzz来获取到用户滞留平台的时间和点击各个look的数量。
为了验证该个性化推荐策略的可行性,我们随机抽取了四名用户,利用cnzz获取到在推荐系统应用的前后,用户滞留系统的时间(从进入系统到退出系统的滞留时间),以及用户点击look的数量,描绘成线形图如下:
通過这两个柱状图,可以明显的观察到推荐策略应用前后的效果,证明了我们所做的工作的可行性。
参考文献:
[1] 丁宏飞,黄战.个性化电子商务系统中用户兴趣模型的研究[D].广州:暨南大学,2008.
[2] 王国霞,刘贺平.个性化推荐系统综述[J].计算机工程与应用,2012(9).
[3] 刘玮.电子商务系统中的信息推荐方法研究[J].情报科学,2006(4).
[4] 米鹏,段建勇,付晓宇.面向社区用户的推荐策略研究[D].北京:北方工业大学,2016.
[5] 曾春,邢春晓,周立柱.个性化服务技术综述[J].软件学报,2002(5).
[6] 于波,陈庚午,王爱玲,等.一种结合项目属性的混合推荐算法[J].计算机技术应用,2017(5).
[7] 王梦恬,魏晶晶,廖祥文,等.融合评论标签的个性化推荐算法[J].计算机科学与探索,2016(4).
[8] 张曌,夏国平,李雪峰.基于案例推理的电子商务个性化推荐系统[J].计算机工程,2007(5).