基于商品类目结构的自适应推荐系统 (6571)

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 61

浙江大学研究生学位论文独创性声明

本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的

研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发

表或撰写过的研究成果,也不包含为获得迸姿盘鲎或其他教育机构的学位或
证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文

中作了明确的说明并表示谢意。

学位论文作者签名: 签字日期: 年 月 日

学位论文版权使用授权书

本学位论文作者完全了解逝婆盘堂 有权保留并向国家有关部门或机构
送交本论文的复印件和磁盘,允许论文被查阅和借阅。本人授权滥’江盘堂可
以将学位论文的全部或部分内容编入有关数据库进行检索和传播,可以采用影印、
缩印或扫描等复制手段保存、汇编学位论文。

(保密的学位论文在解密后适用本授权书)

学位论文作者签名: 导师签名:

签字日期: 年 月 日 签字日期: 年 月 日
浙江大学硕士学位论文 第l章绪论

第1章绪论

1.1课题背景
近年来,随着互联网的快速发展,信息超载(information overload)问题让

用户无法快速地获取自己感兴趣的信息。互联网用户开始越来越多地使用搜索引

擎、推荐系统或门户网站,来达到更快更准确获取自己所需信息的目的。搜索引

擎和推荐系统在互联网用户的工作生活中起着越来越重要的作用。搜索引擎和推

荐系统这两者之间最大的区别是推荐系统还研究用户,包括用户的个性特点、用

户的行为,而搜索引擎更多地依赖于用户输入的关键字。

在推荐系统的各项应用中,电子商务购物推荐是一个非常重要的方面。随着

物流、支付等之前一直遏制电子商务发展的环节在近些年被疏通和解决,越来越

多的电子商务平台蓬勃发展起来了。不同于以往传统地面销售渠道,促销员可以

通过和终端顾客间面对面的沟通来获取顾客已有或潜在的购物需求。电子商务平

台虽然直接面对终端顾客,如若没有后台强有力的数据分析和人工智能,电子商

品平台是无法得知此时此刻正在浏览页面的顾客潜在的购物需求。在这种情况下,

拥有大量数据分析和人工智能的推荐系统就变得必不可少了。几乎所有大型的电

子商务平台,例如amazon,ebay,国内的taobao,都不同程度地使用了各种彤

式的推荐系统。随着综合性B2C网站的发展和推动(类似于aLIllazon),各种垂直

B2C网站也渐渐发展起来了,例如专门卖钻石却仍有着很多忠实用户的bluenile,

专门卖鞋子的zappos等。因为这些垂直B2C网站可以根据它们所销售的特有品

类给用户提供更为专业、更加个性化的服务,它们也有了自己的生存空间和活跃

舞台。随着这些垂直B2C电子商务平台的发展,特别是销量、用户和商品数量增

大到一定程度的时候,推荐系统对它们的重要性也就体现出来了。应用在这些垂

直的B2平台上的推荐系统跟综合性B2C电子商务平台的会有一些不同的地方,

例如:垂直的B2C网站不像综合类网站有庞大的商品数量,而且推荐结果的对象

和对象之间可能会存在互斥性问题。如果垂直的B2C平台完全袭用综合性B2C平
浙江人学硕十学位论文 第l章绪论

台的推荐算法,就不能利用垂直B2C平台所特有的属性,对应用在它上面的推荐

系统做出相应的优化,也就不可能有更好的推荐效果了。

本文将会提出一种适合垂直B2C电子商务平台的推荐系统。此推荐系统将会

利用B2C电子商务平台自身就已经维护有的一套商品类目结构来优化推荐结果,

也会结合垂直B2C电子商务平台不同于综合性B2C电子商务平台的特点来使推荐

系统的结果能做到更优,同时,此推荐系统还会随着电子商务平台的用户数据不

断积累,推荐的效果会越来越好。

1.2本文的工作
本文结合垂直B2C电子商务平台的特性,其中包括:1)维护有一套商品类目

结构;2)有主商品、附属商品的关联关系;3)商品种类不多;4)推荐列表并

不是序列,而是有固定窗口大小的集合;5)附属商品之间存在互斥性,提出一

种适合垂直B2C电子商务平台上的推荐算法。并依托一个真实的专业做手机的垂

直B2C电子商务平台做实验,验证本文所提出的算法的效果。

1.3研究的意义
电子商务的蓬勃发展,让推荐系统拥有了不可限量的商业价值,特别是在中

国,C2C、B2C、B2B各类形式的电子商务都涌现出来了。调查显示:中国的电子

商务交易额,自2006年突破万亿元大关以来,每年以高于70%的速度持续增长,

预计2010年将达15万亿元,电子商务已经成为我国社会经济的重要组成部分。

B2C电子商务平台作为电子商务中最被关注的形式,近年也有了高速地发展。不

仅仅是类似于amazon的综合性B2C电子商务平台,很多专业的垂直B2C电子商

务平台也发展起来了。最近一次的电子商务会议上,我们发现有成千上万家垂直

B2C电子商务平台发展起来了。

如何让用户在浏览垂直B2C电子商务平台上,能快速找到自己需要购买的商

品,并能发掘出用户潜在的购买欲望,给平台带来更高的商业价值。这是本文想

要解决的问题。


浙江大学硕士学位论文 第1章绪论

1.4论文结构
本文共六章,说明如下:

第1章,绪论,介绍论文工作。

第2章,介绍推荐系统的概述,尤其是推荐系统在电子商务上的应用。

第3章,详细介绍了推荐系统现下较为流行的算法。

第4章,提出了基于商品类目结构的自适应推荐算法。

第5章,通过四组实验米验证本文提出的算法的效果。

第6章,讨论了电子商务平台上的推荐系统的发展方向,以及本文总结。

1.5本章小结
本章作为绪论,简要介绍了本文研究内容的背景,同时简要说明了本文的研

究工作,并介绍了这些研究的实际意义。同时,还介绍了本文各个章节的大概内

容。
浙江犬学硕:十:学位论文 第2章推荐系统概述

第2章推荐系统概述

2.1推荐系统的概念

推荐系统(Recommender System)是一种为了减少使用者在搜寻信息过程中所

附加的额外成本而提出的信息过滤(Information Filtering,IF)机制。Resnick

认为一般信息过滤系统也泛称为推荐系统,它可以依据使用者的偏好、兴趣、行

为或需求,推荐出使用者可能有所需求的潜在信息、服务或产品。

在有关推荐系统的研究论文中,“推荐”有时又被称为“导航”或“过滤”。

一般认为,个性化导航侧重于指在用户访问系统的过程中进行前瞻搜索,找出用

户感兴趣的信息,提示用户下一步的浏览方向。与推荐系统类似,面向个性化服

务的信息过滤技术是通过对用户兴趣和行为的学习来选取相关信息,推荐处理与

信息过滤一个是择取所需,一个是摒弃无关,两者的目标和方法是一致的。

在开放的互联网环境下,网上用户需要一种类似采购助手的功能来帮助其进

行信息、资源的选择。推荐系统需要根据用户的兴趣爱好推荐用户可能感兴趣或

是满意的资源。如果推荐系统能把满足用户模糊需求的资源推荐给用户,则就可

以把用户的潜在需求转化为现实的需求,从而提高用户对网络应用系统的满意度

和忠诚度,提升用户的使用体验,从而扩大网络应用系统的访问量。为了实现个

性化推荐服务,首先需要跟踪和学习用广的兴趣和行为,并设计一种合适的表达

方式。为了把资源推荐给用户,必须组织好资源,选取资源的特征,并采用合适

的推荐方式。

综上所述,本文尝试从系统的角度,将推荐系统概念界定如下:推荐系统,

是一种收集各个用户对资源的推荐反馈意见、资源内容、用户特征等信息,用特

定的知识表示方法进行处理存储然后利用推荐算法分析所获得的知识,针对特定

用户的需求偏好为其推荐相应资源,帮助用户作出决策的智能决策支持系统。

从系统流程的角度讲,可以将推荐系统分为输入模块、推荐处理模块和输出

模块,如图2.1所示:


浙江大学硕十学位论文 第2章推荐系统概述

分解用户需求为推
荐任务


利用推荐算法求解

推荐资源库

图2.1推荐系统结构图

2.2推荐系统的应用

目前,推荐系统已经运用到多个行业中,推荐对象包括书籍、音像、网页、

文章、新闻等,请看图2.2。事实上大多数的推荐系统主要应用在电子商务和Web

中,其中己应用到商业中的推荐系统主要有电子商务、电影和音乐等领域,其中

以电子商务为最有代表性。

电子商务和推荐系统的发展是相辅相成的。一方面,电子商务系统需要推荐

系统的大力支持帮助用户找到所需商品,提升客户的购物体验。另一方面,电子

商务系统自身的特点也有利于推荐系统的顺利实施。主要原因包括:

1)丰富的数据:电子商务环境收集的各种数据比较丰富,如用户注册数据、

用户交易数据、用户评分数据、用户购物信息、用户浏览数据等。丰富的

数据为建立多种推荐模型,产生高质量的推荐提供了可能。

2)电子化的数据收集:电子商务环境中的各种数据通过电子化方式收集,减

小了手工方式收集数据可能出现的人工误差,噪音数据大大减少,各种数

据的可信度比较高,数据预处理比较简单。

3)易于对推荐效果进行评估:在电子商务中实施推荐系统的投资回报率易于
浙江大学硕士学位论文 第2章推荐系统概述

通过电子商务Web站点访问量的增加、电子商务系统销售额的增加等指标

直接进行评估。

图2.2推荐系统主要的应用领域

2.3电子商务推荐系统的组成

电子商务推荐系统作为一个系统,有它自己与外界交互的部分,主要可分为

输入功能(input functional)模块、推荐方法(recommendation method)模块和

输出功能(output functional)模块(具体体系结构见图2.3)。


浙江人学顶士学位论文 第2章推荐系统概述

图2.3电子商务推荐系统体系结构

2.3.1推荐系统的输入
推荐系统的输入包括多种形式,不同类型的推荐系统,其输入信息也不相同。

推荐系统的输入可以是用户当前的行为,也可以是用户访问过程中的历史行为。

在大型的电子商务系统中,为了产生高质量的推荐,推荐系统可能需要多种类型

的输入信息,主要包括:

1)隐式浏览输入:将用户访问电子商务站点的浏览行为作为推荐系统的输

入,用户的浏览行为与一般的常规站点没有区别,因为他并不知道推荐

系统的存在。用户当前正在浏览的商品、用户购物篮中选择的商品以及

用户的浏览路径等都可以作为隐式浏览输入信息。

2)显式浏览输入:也是将用户的浏览行为作为推荐系统的输入,但与隐式

浏览输入不同,用户的显式浏览输入是有目的向推荐系统提供自己的兴

趣爱好。例如,电子商务系统提供一系列热门商品供用户选择,用户只

选择浏览自己感兴趣的商品列表,推荐系统根据用户的浏览行为向用户

提供个性化的服务。

3)关键字/商品属性输入:用户在搜索引擎中输入关键字作为推荐系统的输


浙江大学硕士学位论文 第2章推荐系统概述

入,或者将用户当前正在浏览的商品类别作为推荐系统的输入。这种类

型的输入不同于用户随意的浏览行为,用户输入的目的就是在电子商务

系统中搜索自己需要的商品。

4)用户评分输入:将用户对商品的数值评分数据作为推荐系统的输入。推

荐系统列出一系列商品让用户评分,用户的评分可以是一个数值,数值

大小表示用户对商品的喜好程度,也可以是一个布尔值,0代表不喜欢,

1代表喜欢。用户提供的评分数据使得推荐系统可以为用户提供个性化的

服务。

5)用户文本评价输入:用户对已经购买的商品或自己熟悉的商品以文本的

形式进行个性评价。推荐系统本身并不能判断这些评价的好坏,其他用

户浏览该商品时,可以看到该用户对商品的文本评价信息。

6)编辑推荐输入:将领域专家对特定商品的评价作为推荐系统的输入。领

域专家对商品的性能特点进行全面详细的介绍,用户通过专家的专业介

绍,可以对自己并不熟悉的商品加深认识,从而决定是否购买该商品。

7)用户购买历史输入:推荐系统将用户的购买历史作为隐式评分数据。一

旦用户购买了特定商品,则认为用户喜欢该商品。推荐系统根据用户的

购买历史产生相应的推荐。但是用户购买了某件商品并不代表用户喜欢

该商品,所以在精确的推荐系统中,用户可以对购买的商品进行重新评

分,从而使推荐系统产生更精确的推荐。

2.3.2推荐系统的输出
不同类型的推荐系统,其输出也各不相同。大型电子商务系统可以同时向用

户产生多种不同形式的输出。

推荐系统的输出形式主要包括:

1)相关商品输出:推荐系统根据用户表现出来的行为特征或电子商务销售

情况向用户产生商品推荐。这种形式是推荐系统使用最为普遍的~种输

出。相关商品输出可以基于简单的销售排行向用户推荐热门商品,也可

以基于对用户的行为特征进行深入分析,发现用户的购买行为模式,从


浙江大学硕十学位论文 第2章推荐系统概述

而产生个性化的推荐。

2)个体文本评价输出:推荐系统向目标用户提供其他用户对商品的文本评

价信息。个体文本评价一般是非个性化的,对每个项而言,所有用户得

到的个体文本评价均相同。

3)个体评分输出:向目标用户提供其他用户对商品的数值评分信息。个体

评分输出没有大量的文本描述信息,因此更加简洁明了。个体评分输出

比较适合个体数值评分数据比较少的场合。

4)平均数值评分输出:推荐系统向用户提供其他用户对商品数值评分信息

的平均值。这种输出形式具有简洁明了的优点,用户可以立即获得对该

商品的总体评价。

5)电子邮件输出:推荐系统可以通过电子邮件的形式向用户提供商品的最

新信息。这种输出方式可以吸引用户再次访问电子商务系统,从而达到

保留用户,防止用户流失的目的。

6)编辑推荐输出:向用户提供领域专家对商品的专业介绍。用户通过专家

的专业介绍可以对自己并不熟悉的商品加深认识,了解商品的性能特点,

从而决定是否购买该商品。

2.4本章小结

本章第一部分主要介绍了推荐系统的概念、定义、组成以及现在主要的应用

领域,其中,较详细地介绍了推荐系统在电子商务所承担的重要作用。本章第二

部分针对电子商务平台上的推荐系统,详细介绍了它的结构,输入输出。


浙江人学硕士学位论文 第2章电子商务推荐算法分析

第3章电子商务推荐算法分析
推荐系统能够帮助用户快速地找到他们感兴趣的东西,在90年代中后期当协

同过滤(Collaborative Fiitering)推荐技术出现的时候,推荐系统开始大量地

被应用到实际的项目中,也就变得越来越流行和重要。于是有了根据商品的历史

销量,或者消费者本身的特性(demographics),或者用户之前的购买行为或者浏

览行为的来猜测用户感兴趣的或者有购买欲望的商品,并做出推荐。在推荐系统

中,推荐算法是最核心和关键的部分,在很多程度上决定了推荐系统的性能和结

果。一般来说,现在主要是两种最基础的推荐算法:【1】

3.1内容过滤推荐(Content-based Filtering)
内容过滤推荐的基本思想是:根据用户选择的对象,推荐跟用户选择的最为

相似的对象。这类算法源于一般的信息检索算法(information retrieval)【2】【3】。

它关注的是对象和对象本身的属性。例如:对于推荐电影的推荐系统来说,如果

用户对张艺谋导演的电影给的评分比较高,推荐系统就会再推荐张艺谋导演的电

影给用户。导演对电影来说就是一个属性。

这种推荐一般在文本推荐中应用比较广泛,比如:推荐新闻,原因是新闻的

大部分内容都是纯文本,纯文本的对象属性容易被计算机自动地抽取出来,可以

把对象中的关键字相关性作为对象的相关性。但是,非文本的对象的属性不好被

计算机自动地抽取,因此不适合使用基于内容的推荐系统。

在内容过滤推荐算法中,最常用的,效果也最好的是词频一倒排文档频率

(term-frequency—inverse document frequency,简称TF—IDF)【41,朴素的

贝叶斯分类器(naive Bayesian classifier)【5,倒,决策树(deci sion tree)、神经

网络(artificial networks)、基于向量的算法等。

它的想法是抽取出对象的特性,计算出对象的特性之间的相似度,然后选取

跟用户之前选择的对象最相似的对象推荐给用户。

lO
浙江大学硕士学位论文 第2章}ll子商务推荐算法分析

3.2协同过滤推荐(Collaborative Filterin91
它的基本思想是:找到与该用户最相似的其他用户,用其他用户的行为来预

测这个用户的行为。是这种算法的提出和完善,让推荐系统开始广泛被应用起来,

在网上租赁DVD的Netfix系统用的就是这种算法。协同过滤是基于用户本身的,

但它又不需要用户显式告诉推荐系统用户的兴趣爱好(比如通过让用户填写用户

调查问卷来获得),它能自动从用户的购买或者浏览行为中隐式获得。它主要有

两种方法:启发式(memory~based or heuristic-based)和基于模型的

(model—based)【11。

3.2.1启发式方法(heuristie.based)
和基于模型方法最大的区别是:启发式方法需要根据之前所有与目标用户的

相似用户对对象的评价才能进行预测,也就是说它需要对所有与目标用户相似的

用户进行聚合计算,以得到目标用户对某个对象的预测【7,81。最基本的两种计算两

个用户间的相似度的算法是基于关联的(correlation—based)【9,1川和基于余弦距

离(cosine—based)的方法‘7,¨1。不管是在内容过滤推荐中还是在协同过滤推荐

中,都用到了余弦距离的方法,只不过,在内容过滤中,余弦距离方法计算的是

对象和对象之间的相似度,而在协同过滤中,它计算的是用户和用户之间的相似

度。有一些用来提高启发式方式的性能的方法,例如:缺省投票(default voting)、

用户倒排评分(inverse user frequency)、实例扩展(case amplification)【7】

和加权预测(weighted-majority prediction)【8,121等。近年来也有不少研究学

者对这些提高性能的方法做了不少研究。

3.2.2基于模型方法(model.based)
基于模型的方法是根据过去用户对对象评分的数据来学习得出一个模型,然

后使用概率的方法进行预测。最常见的是皮尔森相关系数(Pearson Product

Moment Correlation,简称:Pearson’S correlation)来计算相似度17l。其他的

还有K一均值聚类算法(K-means clustering)i13]、Gibbs抽样算法(Gibbs

sampling)【1 41、贝叶斯模型(Bayesian)【1 51、概率相关模型(probabi 1 istic

relational model)D61、线性回归模型(1inear regression)【川、最大熵模型


浙江大学硕士学位论文 .

第2章电子商务推荐算法分析

(maximum entropy model)D71,还有马尔可大决策过程方法(Markov decision

processes)[181也被用在推荐系统中。

以上两种方法,每一种都有它自己的优点和缺点,以下表格2-1是内容过滤

算法和协同过滤算法的比较:

12
浙江大学硕十学位论文 第2章电子商务推荐算法分析

表3.1内容过滤算法和协同过滤算法的优缺点比较

方法 优点 缺点

内容 1.不需要其他用户的数 1.对象的特性很难被提取和抽象出来,所

过滤 据,所以它没有协同过 以它的适用范围非常有限,一般只用于

推荐 滤推荐中会经常碰到的 文字性的推荐系统,像新闻或者论文等;

稀疏矩阵(sparsity)的 2.很难给用户推荐一些新奇的但用户感兴

问题; 趣的对象,比如:用户给张艺谋导演电

2.不会有第一个评分 影比较高的分数,它就会一直给用户推

(first rater)的问题, 荐张艺谋的电影;

它会把很冷门的对象推 3.也有新用户问题(new user),只有当一

荐给用户。 个用户选择过一定数量的对象之后,推

荐系统才能根据他选择过的对象对他进

行推荐。

协同 1.应用范围比内容过滤推 1.会有冷启动(Cold Start)和稀疏矩阵

过滤 荐算法要广很多,它不 (sparsity)问题,当系统还没有足够

推荐 会受到对象本身的属性 的用户对对象评分的数据,它的推荐效

限制; 果就很不好;

2.也可以避免在内容过滤 2.有长尾(Long tail)问题,当某一个用户

算法中固定给一个用户 的兴趣很奇怪,没有跟他类似的用户的

推荐某一个特性的对 时候,对他的推荐就会很不好。

象;

3.会随着用户对对象评分

数据的越来越多,它的

推荐效果会越来越好。

综合以上两大类最常用的算法,我们会发现有一些问题始终没有办法被解决:

新用户问题。于是就有了基于人口统计学的过滤方法(Demographic Filtering)[19】,

这种方法会使用一些人口统计学上的信息,像年龄、性别、教育背景等来对这个
浙江大学硕士学位论文 第2章电子商务推荐算法分析

新用户进行粗略的推荐。

还有一大类可能在实际项目中会有不错效果的是:基于知识的推荐

(knowledge咄ased)|20l,它是根据某个特定的领域有一些既定的能被大家很容

易接受的正确的规则来进行规则和实例的推理(case based reasoning)。例如:

上电子产品类的B2C网站买东西的一般都是男性。推荐系统就把这个大多数用户

是男性用户这个规则应用在推荐系统里面,让推荐的结果更好。

上面提到的人口统计学过滤方法和基于知识的推荐方法一般都不会单独使用

在推荐系统,它们总是会混合着内容过滤方法或者协同过滤方法一起出现的。

3.3混合算法(hybrid recommendation)

因为内容过滤算法和协同过滤算法都有各自的优点和缺点,所以近段时间来

很多混合算法(hybrid recommendation)被广泛地研究和应用【21之41。最常见的混

合算法是:将内容过滤算法和协同过滤算法混用,这使推荐系统能更广泛地应用

到各个领域,也使协同推荐算法自有的冷启动、稀疏矩阵问题能得到解决。下面

根据混合方式不同把混合算法分成以下几类[231:

3.3.1权重型(Weighted)
权重型混合算法的过程大致是这样的:分别用几种不同的推荐算法算出来各

自的结果,然后通过权重的方式把各种推荐算法的结果组合在一起,作为权重性

混合推荐系统的最终结果。比如:用内容过滤推荐和协同过滤推荐各自分别计算

一遍结果,然后把这两个结果以线性叠加的方式组合在一起,得到最终的结果,

做为这个混合推荐系统的推荐结果。P-Tango[22】系统用的就是权重的混合算法。

这个系统初始化设置的是:内容过滤和协同过滤享有一样的权重,然后通过学习

来调整内容过滤算法和协同过滤算法的权重。这种混合方式非常直接,并且权重

调整起来也会非常方便。但这种混合方式有个潜在的假设前提是:几种推荐算法

在混合推荐系统中都是同等对待的。其实,我们知道协同过滤算法在某些情况下

(稀疏矩阵、冷启动),效果会不太好,在这些情况下,单纯用内容过滤算法会

比权重型混合算法的效果来得好。

14
浙江大学硕士学位论文 第2章电子商务推荐算法分析

将这种混合方式抽象出来,算法和算法之间的混合方式请看下图3.1。从图

中,我们可以看出来,采用这种混合方式的核心问题是确定常数A和B。

图3.1权重性混合算法模型

3.3.2转化型(Switching)
转化型的混合方式就是确定一些规则,规则规定在哪些条件下用哪个推荐算

法的结果。DailyLearner[241使用的是用转化型的把内容过滤和协同过滤混合起来

的算法。这个系统开始使用的是内容过滤算法,等系统数据开始充足的时候,开

始换成协同过滤算法。DailyLearner这个推荐系统依然没办法彻底解决新用户

(New User)问题,因为内容过滤算法和协同过滤算法都有新用户问题。但

Dai lyLearner使用的是最近邻,这种方法是不需要很大的数据集来达到准确分类

的工作之后才能进行推荐的。

在这种混合方式中,最难的是如何定规则:确定在哪些条件下用哪种推荐算

法。所以Tran&Cohen[251提出了另一种更为直接的转化型的混合推荐,根据历史

上用户对各种推荐算法计算出来的推荐结果的评分来选择下次推荐给该用户的

要用什么推荐算法。

将这种混合方式抽象出来,算法和算法之间的混合方式请看下图3.2。同样,

从图3.2,我们会发现如何确定转化条件是比较难的,但却是直接影响最终的推

荐效果的。
浙江人学硕士学位论文 第2章电子商务推荐算法分析

图3-2转化型混合算法模型

3.3-3组合型(Mixed)
如果实际环境中允许同时用多种推荐方法计算出结果,我们倒是可以用这种

组合型混合方式。这种组合型混合方式就是把多种推荐方法计算出来的结果分别

罗列出来让用户自己选择。pTVf26]系统就是用这样的方法来做电视节目的推荐。

它根据文本描述的电视内容用内容过滤方法来做推荐,根据其他用户的点播喜好

用协同过滤方法来推荐。这两个推荐列表会同时显示给用户,让用户自行选择。

PTV系统是一种比较特殊的系统,因为它允许同时推荐给用户两个或更多的列表。

很多推荐系统只允许给用户一个推荐列表,那当冲突发生的时候,就需要给各种

不同的推荐方法定优先级。在PTV系统中,内容过滤算法的优先级是高于协同过

滤算法的。

这种组合型的混合推荐在实际应用中比较广泛,amazon的商品详细页面就同

时呈现了用各种不同的推荐方法计算出来的推荐列表。

将这种混合方式抽象出来,算法和算法之间的混合方式请看下图3.3。这种

算法有其固有的限制条件:系统的展示需要允许能给用户同时展示多个推荐结果。

随着人机交互领域的发展,越来越多的实际应用系统中能支持同时给用户多个不

16
浙江大学硕士学位论文 第2章电子商务推荐算法分析

同的推荐列表。正因如此,虽然这种混合方式有它的限制条件,但并没有阻挡它

在实际的电子商务平台中的大量应用。

算法1 算法2
函数是:f1(x) 函数是:f2(x)
其中,x是对象 其中,x是对象

给用户 薛列表

L 一

用户

图3-3组合型混合算法模型

3.3.4特征混合型(Feature Combination)
另外一种达到内容过滤算法和协同过滤算法混合的方法是把协同过滤中用

户对对象的打分做为对象的一种附加的特征,然后使用内容过滤算法来对混合有

用户对对象打分的特征数据和对象本身内容的数据进行计算,并给出推荐结果。

例如:Basu,Hirsh&Cohen[23】在他们的实验中发现使用了用户对电影的评分数

据和电影本身的内容特征,得到的推荐效果比单纯使用协同过滤算法来得好。但

Basu,Hi rsh&Cohen也同时发现要达到这种比较好的推荐效果,需要人工来选

择基于内容的特征。如果把所有可用的基于内容的特征都用上,反而效果会不好。

将这种混合方式抽象出来,算法和算法之间的混合方式请看下图3.4。比较

难的是如何提取出具有代表性的特征向量v。
浙江大学硕士学位论文 第2章电子商务推荐算法分析

图3-4特征混合型混合算法模型

3.3.5层级型(Cascade)
不像前面所提到的混合方式,层级型的混合方式是一个阶段性的过程。它的

流程一般是这样的:先用某一种推荐方法来过滤掉一些对象,然后再用另一种推

荐方法对剩下的候选对象进行提炼和推荐。餐馆推荐系统EntreeC就是一个把基

于知识算法和协同过滤算法用层级型混合的推荐系统。EntreeC系统会首先利用

基于知识的推荐算法根据用户选择的爱好进行对对象的初步筛选,然后再用协同

过滤算法来进行最终的推荐。

这种算法最大的作用就是大大提高了推荐系统的效率,在用第一层推荐方法

过滤的时候,过滤掉那些不可能被推荐的对象,这使得在第二层用另外一种推荐

方法的时候,只需要对那些还剩余的候选对象进行计算就可以了。这样第二层推

荐算法的效果就被提高了。

将这种混合方式抽象出来,算法和算法之问的混合方式请看下图3.5。算法

1只是过滤掉不可能被推荐的对象,让算法2计算的对象集变小,来提高效率,

降低复杂度。

18
浙江大学硕士学位论文 第2章电子商务推荐算法分析

图3.5层级型混合算法模型

3.3.6特性扩充型(Feature Augmentation)
用一种推荐算法生成关于对象的特性,然后把这些对象的特性做为另一种推

荐算法的输入。例如:Libra[2‘71系统先爬取amazon上所呈现给用户的已经用

amazon自己的基于协同过滤方法分好类数据,例如:“相关作者”,“相关标题”

等就是已经做过粗略分类的关于“书”这种对象的特性数据,然后再用朴素的贝

叶斯分类算法这种内容过滤方法来做推荐。这些特性(“相关作者”、“相关标题”)

的选择对最终的推荐结果将会起到至关重要的作用。

特性扩充性和层级型混合方式一样,都是先后用两种推荐算法,这两者不同

的是:在特性扩充性混合方式中,从第一个推荐算法传递给第二个推荐算法的是

一些关于对象的特性;而层级型混合方式,从第一个推荐算法传递给第二个推荐

算法的是过滤之后的关于对象的集合。简而言之,第二个推荐算法的输入是对象

集合还是特性集合将决定混合方式是层级型还是特性扩充型。

将这种混合方式抽象出来,算法和算法之间的混合方式请看下图3-6。算法

l根据输入抽取出表现对象的特性,并将对象表示成用这些特性。算法2就根据

用特性表示的对象进行推荐。

19
浙江人学硕士学位论文 第2章电子商务推荐算法分析

图3击扩充特性型混合算法模型

3.3.7原始层型(Meta.1evel)
原始层型混合方式指的是用一种推荐算法生成模型,然后把模型传递给第二

种推荐算法作为它的输入。这种混合方式不同于特性扩充型的是,特性扩充型传

递给第二个推荐算法的是对象的特性,而在原始层型混合方式中,传递给第二个

推荐方法的是模型。第一个采用原始层型混合方式的推荐系统是Fab[231。在Fab

系统中,用户特性选择代理(user—specific selection agents)使用基于内容

过滤的Rocchio[281方法来得到一个用来描述和代表用户兴趣的模型,然后收集代

理(Collection Agents)从互联网上获取新的网页,用这个模型计算,并做出

最终的推荐。

将这种混合方式抽象出来,算法和算法之间的混合方式请看下图3.7。算法

1根据输入计算出来适合这些对象集的模型。算法2就根据算法l输出的模型计

算,得到推荐结果。

20
浙江大学硕士学位论文 第2竞电子商务推荐算法分析

图3.7原始层型混合算法模型

2l
浙江大学硕十学位论文 第4章基于商品类同结构的自适应推荐系统

第4章基于商品类目结构的自适应推荐系统

4.1设计背景
随着越来越多的网购用户,越多越多的电子商务平台兴起,对电子商务平台

而言几乎是必不可少的推荐系统近年来真正地从学术界走入工业界,并得到广泛

应用。各种适合商业应用的混合算法开始受到人们的关注和认可。

电子商务平台根据其经营范围不同,大致分成两类:一类是类似Amazon的

综合性电子商务平台,它销售有基本覆盖了人们生活工作各个方面的商品,从手

机数码、日用百货到鞋帽服饰,一应俱全,就像网上的百货商场;另一类是类似

于Newegg的垂直电子商务平台,它销售某一个品类的商品,Newegg就是专注于

做手机数码的,就像网上的百脑汇。Amazon凭着它对技术的重视,十多年来一

直花了很多人力物力在电子商务平台上,尤其是推荐系统,使Amazon的推荐系

统一直是工业界应用的领头羊。综合性电子商务平台的推荐系统也因此已被国内

外很多学者关注和研究,本文提出的算法则是更适应应用在垂直电子商务平台上

的推荐系统。

推荐系统的大规模应用缘起于电子商务平台的蓬勃发展。当电子商务平台的

用户数据和商品数据达到一定规模的时候,如何从中提取出用户感兴趣的信息,

提高用户的购物体验,激发用户购买商品的欲望这将变成是推荐系统所亟待解决

的问题。

本文提出的算法将会使片j统计大量用户的历史购买数据为主,基于知识的推

荐方法(Knowledge—based)和内容过滤推荐方法(Content-based filtering)为辅

的混合推荐算法。我们会利用电子商务平台所既有的商品类目结构和垂直电子商

务平台所不同于综合性电子商务平台的特点来优化推荐算法,使其不仅能给用户

带来更好的购物体验,同时也能给电子商务平台带来更好的收益。

此算法会通过各种不同的实验来验证它所带来的提高,并最终应用到一个真

实的专门销售手机等数码产品的电子商务平台中,用真实的数据来检验它的推荐
*4々#fW*粪n镕m∞自《^*#i%

效果

4.2系统设计目标
本文将着重研究在垂直B2C电子商务平台中,如何为主商品(main ltem)

推荐用户感兴趣的附属商品(accessory item)。

文章会以实际商业应用中的系统为实验平台米验证结果。在一个专业的手机

B2C电子商务平台E,如何在某一款手机(主商品)的详细页上给配件(附属商

品)做推荐?如图4.1所示,主商品是某一款手机,附属商品是跟这款手机相匹

配的配件.例如:电池、充电器、耳机、手机套等。红色圆圈内的就是跟这个主

商品匹配的附属商品硎表。
雹蟹=五!嚣蜀巨互卫芷口囝芷口工正匠窟1互E匿j芏贮卫==Z!=:==o_‘
’o ■+‘

、i一一……e…-。,j 0。一々jd。’I

…■ 一:.,, !一。“.一“

l妯K《馘自tII^ l 盥㈣㈣㈣㈩邮自*:c驯zH目■’f岫竹q
一。i¨…{口^…m日『I…I帅口…㈣十㈣㈣=恤H】
一……‘-j%……j#目…一‘’・#…一删・
㈣…帅……日t^【,日-…上】.一!
EE皿蚍Ⅲ一㈤…Ⅲ…lt

u…4n…一㈨螂㈣㈣】|

㈣#-o

M(
一直|l 一百参 ,≮一◇翌一
} 一田茎 ~I銎 ;一~障爹 孓善
罔4-l圭而品(Main Item)详细页面的推荐

在返种推荐系统里面有几个不同于其他推荐系统之处:

11推荐的配件之间存在定的互斥性。例如:买手机(主商品)的人.一

般不会同时买硝块电池(附属商品).但他根可能会买一块电池(附属商
23
浙江大学硕十学位论文 第4章基丁商品类F1结构的白适应推荐系统

品)和一个充电器(附属商品)。我们在做推荐的时候如何来解决这个问

题?

2)这儿的推荐结果并不是一个排序的列表,而是一个窗口大小的集合。在

这个集合的商品并没有权重高低之分。我们假设在红色圆圈内的附属商

品列表被用户所关注到的可能性相等。具体原因请看4.4.4小节中的描述。

3)这里的主商品(手机)和附属商品(手机配件)都维护有各自的目录。

我们如何利用这种目录关系来对推荐结果做优化?

4)新主商品(New Main Item)问题。当一个新的主商品刚上市,系统里没

有任何用户对这款新主商品的购买数据和浏览数据,也就是用户.商品的

矩阵非常稀疏的时候,在这种情况下如何做推荐?

5)新附属商品(NewAccessory Item)问题。当某个主商品已经销售一段时

间了,但它的附属商品却刚刚上市,这种情况下,我们如何解决这个问

题?

6)某附属商品的缺货问题。因为在真实的环境中,经常会出现某些商品缺

货的问题。历史购买数据显示:购买了主商品A的同时购买附属商品B

的可能性非常高,但附属商品B可能马上就要缺货或者已经缺货了好几

天了,在这种情况下是不是就不该推荐附属商品B了?历史购买数据显

示:购买了主商品A的同时购买附属商品C的可能性很低,但是C在历

史大部分时间内都是处于缺货状态,对于这种情况,附属商品C是不是

应该跟新附属商品一样来处理?

7)电子商务平台某种商业活动:买某个主商品即可赠送某个配件。例如:

购买了主商品A,会自动赠送附属商品B(B的属性是:充电器),那购

买了主商品A的同时购买属性是充电器的附属商品的可能性就大大降低

了。如果单纯利用历史的购买统计数据可能就会出问题。

以上所罗列的是本文所设计的推荐系统所需要解决的问题或者是真实的垂

直B2C电子商务平台所遇到的问题。

本文所设计的推荐系统应在以下两方面达到预期:

24
浙江大学硕士学位论文 第4章基于商品类F1结构的自适应推荐系统

1)推荐系统的效果。主要体现在系统能推荐给用户想要购买的或者感兴趣

的商品,并最终让用户产生购买行为。本文在第5章实验和验证章节中,

通过四种不同的角度来衡量推荐系统的效果。四种角度分别是:

a)先用三种不同算法(随机推荐、基于纯统计推荐、基于产品类目结

构的自适应算法)对某一段时问的预测,将这三种不同算法的预测

结果和没有推荐系统的真实购买数据做比较,看哪个推荐系统产生

的预测结果和没有推荐系统真实的购买数据更相似?

b)两个等长的时问段,时间段l中使用随机算法作为其推荐算法,时

间段2中使用随机算法、基于纯统计算法、基于产品类目结构的自

适应算法的线性混合算法作为推荐算法。通过比较时间段l和时间

段2的区别来验证哪种推荐算法更为有效?

c)在真实的平台上,将用户随机地分成几组,每一组分别用一种推荐

算法,看哪一组的用户购买主商品的同时购买附属商品的可能性要

大?

d)两个等长的时问段,看基于产品类目结构的自适应算法在这两个不

同的等长的时间段内的表现。以此来验证是否随着历史数据的不断

积累,基于产品类目结构的自适应算法的推荐效果会越来越好?

通过以上的四个完全不同的角度,我们来判断本文提出的推荐系统的推

荐效果是否有提升?提升了多少?

2)推荐系统的效率。主要是指推荐系统根据输入到给出推荐结果所需要的

时间,是不是会影响用户使用电子商务平台。本系统会通过预处理的方

式,每天定期将推荐结果计算出来并存放在数据库中。给用户列表的时

候只需要实时去数据库里面读出预先存放好的推荐结果即可。所以推荐

系统的效率在本文不会被过多的考虑和讨论。

4.3推荐系统框架
大体的方案如图4-2所示,基本上会分成以下几个步骤来完成:
浙江大学硕士学位论文 第4章基于商d6类F1结构的自适应推荐系统

1)会先用纯统计的方法,根据历史的购买、浏览主商品和附属商品的数据

生成规则的结构化的统计数据:

2)根据结构化的统计数据生成一个适用于El录的规则集合;

3)用规则集合过滤历史的统计数据去做用户做推荐;

4)收集用户对推荐系统的反馈,并将这些数据重新放入步骤1,用于后面

的计算,以此不停地循环。理论值是:让这个规则集合变空,用纯统计

的历史数据去做推荐。

图4.2方案流程图
浙江大学硕士学位论文 第4章基于商品类目结构的自适应推荐系统

4.4算法设计
4.4.1参数定义
假设我们有1个主商品和J个附属商品。CA是一个I×T的主商品的矩阵,矩

阵中的每一个元素ca。。代表着截止到时间t,购买过主商品I的个数。t以自然月

为最小单位。C是一个I×T的主商品的矩阵,矩阵中的每一个元素c。。代表着时间

勘=P(jli,=等=黑舞筹=蒜
t这个自然月中,购买过主商品I的个数。t以自然月为最小单位。

其中,P(i n j)表示同时购买了主商品i和附属商品j的可能性,P(i)表示购

买i的可能性;IJOrderCount表示同时购买主商品i和附属商品j的订单个数,

lorderCount表示购买主商品i的订单个数。pii越大表明用户购买某个主商品i的
同时会购买附属商品J的可能性越大。根据以上公式我们可以计算得到PA矩阵,

PA是一个I×I×T的主商品、附属商品和时间的矩阵,矩阵中的每一个元素pam

代表着截止到时间t,购买过某个主商品i的同时,购买附属商品j的可能性。P

也是一个I×I×T的主商品、附属商品和时间的矩阵,矩阵中的每一个元素p,,。

代表着在时间t这个自然月中,购买过某个主商品i的同时,购买附属商品j的

可能性。PA和P这两个矩阵类似,只不过,PA代表着历史累计数据上体现出来

的条件概率,而P则代表着某个自然月上,主附商品购买的条件概率。

每一个主商品和附属商品都有对应的父类,假设所有的主商品共对应了M个

主商品的父类,所有的附属商品共对应了N个附属商品的父类。VA是一个I×N×T

的矩阵,矩阵中的每一个元素Vam代表着截止时间t,购买过某个主商品i的同

时购买过属于附属商品类目为n的附属商品的可能性。UA是一个M×I×T的矩阵,

矩阵中的每一个元素u‰。代表着截止时间t,购买过某个主商品i的父类m的同

时购买过属于附属商品j的可能性。

PP是一个I×J×T的主商品和配件对应的矩阵,矩阵中的每一个元素pp心代

表着推荐系统预测出来的下一个时间段(t+1)月购买过某个主商品i的同时,

购买附属商品j的可能性。我们的推荐算法最核心的步骤就是计算PP矩阵,然
浙江大学硕十学位论文 第4章基于商品类同结构的臼适应推荐系统

后排序得到固定窗口大的用来被推荐的附属商品集合。

4.4.2算法流程
本文提出的算法流程图请看图4.3。
浙江大学硕十学位论文 第4章基于商品类日结构的臼适应推荐系统

图4.3算法流程图

29
浙江人学硕十学位论文 第4章基于商品类F1结构的自适应推荐系统

下面将通过文字人概来解释一下算法的步骤(图4.3通过虚线把以下三大步

骤分隔开来):

由于图4.3的第一和第三部分只是简单画了个流程图,所以下面的文字会主

要解释这两部分所需要做的工作,而第二部分流程图中已经详细地将各个判断条

件罗列出来,在此处将不着重展开来解释。下一小节会通过各个问题来回答为什

么算法的第二部分要这么设计。

1)根据历史购买数据,得到C、CA、PA、P、VA、UA矩阵。这部分就是纯统

计的工作,需要注意的是要利用数据库现有的设计来排除掉噪音数据,例

如促销活动的时候,系统自动搭配购买的售价为0的附属商品等。这部分

不单单会作为基于商品类目结构的自适应推荐算法的输入,也是基于纯统

计算法的唯一依据。

为了效率和方便计算,我将C、CA、PA、P、VA、UA这些根据历史数据得

到的统计结果存放到数据库表中,数据库结构如下图4.4、图4—5、图4.6、

图4.7。我们会解释一下这些表中的关键字段。

下图4.4是C、CA矩阵的表结构图。其中,parent—id代表某一个主商品

的id;date表示某个时间段t;countI表示历史上某一时间段t的主商

品的销售个数:accumCountI表示截止到时间段t的末期的主商品累计的

销售个数。

C、CA矩阵

athane_main accessory——count

PK Darent id

countI
accumCount I
date

图4.4C、CA矩阵数据库表结构

下图4-5是P、PA矩阵的表结构图,P、PA矩阵表示的是:历史上各时间

30
浙江大学硕十学位论文 第4章基十商品类目结构的自适廖推荐系统

段t的主商品一附属商品的pijt。其中,group_goods—id代表主主商品一附

属商品这一个关联关系,根据group—goods—id我们可以知道主商品的

parent—id和附属商品的goods—id;accumProportion表示截止到时间段

t末期的累计paijt;

P、PA矩阵
”j

athane_mai n_acces sory_proport i on

PK RTOUD goods id

countlJ
countl

proport ion
accumCount IJ
accumCount l

accumProport ion
date

图4.5P、PA矩阵数据库表结构

下图4.6是VA矩阵的表结构图,VA矩阵表示的是:历史上各时问段t的

主商品一附属商品的父类的Vijt。其中,parent—id代表主商品的id;

accessory_cat—id代表附属商品的父类的id;accumProportion表示截

止到某个时间段t末期的累计Vaijt。
浙江大学硕士学位论文 第4章基_J:商品类目结构的白适应推荐系统

VA矩阵

athane_main_accessory_category_proportion

PK parent id
PK accessory cat id

countIN
countI

proport ion
accumCount IN

accumProport ion
accumCount I
date

图4石VA矩阵数据库表结构

下图4.7是UA矩阵的表结构图,UA矩阵表示的是:历史上各时间段t的

主商品的父类一附属商品的uijt。其中,cat—id是主商品的父类id,goods—id

是附属商品的id,accumProportion表示截止到某时间段t末期的累计

uaijt。

UA矩阵

:athane_main_category accessory_proport i on

PK 鱼垦主id
PK gQQ鱼墨i亟

countMJ
countM

proport i Oil

accumCountMJ
accumCoun tM

accumProport ion
date

图4.7 UA矩阵数据库表结构

2)根据推荐系统的规则和算法,如图4.3所示,得到PP矩阵。这部分是此

32
浙江人学硕士学位论文 第4章基于商品类只结构的自适应推荐系统

推荐系统的核心,也是决定推荐效果好坏的最重要的模块。PP矩阵的数

据库表结构如下图4-8所示,其中,group—goods—id代表主商品一附属商

品这一关联组合,date代表某一个时间段t,weightl、weight2、weight3

代表在这个时间段内不同算法预测这一关联组合的购买可能性。

PP矩阵
驴 %

athane main accesory resul t

PK zrOUD goods id

weightl
weight2
weight3
date

图4-8PP矩阵数据厍表结构

3)根据PP矩阵,得到推荐列表。对于某个主商品i,按照pp,,对J个附属商

品从大到小排序,得到Qijo从Q;j中取前MaxWindowLen个附属商品组成集

合S∽得到以下公式:

Sij 2{s1,s2,…,¥maxwindowIen)

I SiI I=MaxWindowLen
Sii∈l

4.4.3二项式分布分界点设定
有了上一小节对算法大体流程的描述,还有待确认的是分界点的数值。假设

推荐系统不考虑新附属商品问题、缺货问题、促销赠送附属商品问题,假设我们

可以将pp;j值当成函数得到下图4-9,图中的pa小pij、Ua;j并不是严格的关于ca;

的函数,只是想要通过下图表达minSQ和midSQ是两个重要的分界点,分界点的

左右分别选用不同的函数。图中的这两个分界点的选择至关重要,它会大大影响

推荐算法的推荐效果。下面将通过统计学的理论去讨论和确定minSQ和midSO的

值。

我们知道:在N次购买主商品I的前提下,同时购买附属商品J的次数是一

33
浙江大学硕十学位论文 第4章基于商品类只结构的自适应推荐系统

个二项式分布。如果我们需要对购买主商品I的同时购买附属商品J的次数做一

个估计,为了能较为准确地得到这个估值,我们大概需要多少个购买主商品I的

样本,这就需要我们首先确定本次调查的样本容量。首先,对于估值平均值问题,

计算所需样本容量的公式是:

n=——r
z2[P(1一P)】

其中,z是标准误差的置信水平,E是可接受的抽样误差范围(允许误差),11是

所需样本容量,P是总体比例的有效估计。

接下来我们分别来确定z、P、E的值。

JL

l—
‘’●~I
//一一一’

‘I j

uaij/
\\ \\\

/ \\paii \\ 一//’


-—

O 、I{nSQ MidSQ
C乏

图4・9算法函数表不图

我们假设置信度是95%,就必须在2倍标准误差范围内(严格是1.9),因此

2作为Z值代入公式。因为可供我们实验的平台的数据量并不是很大,所以我们

假设能够容忍的误差是在20%以内,那E则是0.1。接下来最难确定的是总体比例

的有效估计P。我们通过大量历史数据统计发现,在这个平台上P基本上在0.25

左右。我们将以上三个数值,代入公式得到:
浙江大学硕十学位论文 第4章基于商品类日结构的自适应推荐系统

n:—22—[o.—2s雨。万-一o.2s)]=17

2——1函广一=
换而言之,就是当主商品i的销售个数达到17的时候,我们相信用主商品

i一附属商品j的购买数据就能较为准确地表达商品的特性(误差范围是20%),也

就是minSO值。经过我们的多次实验,我们发现当n=lO的时候,推荐的效果在

大部分情况下表现得更好。确定完minSQ值后,我们还有以下问题尚未解决:

1.当ca。<minSO(即10)的时候,主商品父类一附属商品的矩阵Ua;j能否代替

pa;。矩阵,能较为准确地表达商品的特性?这个的问题就变成:主商品的

累计销量<10的前提下,主商品的父类的累计销量>10的可能性。我们通

过统计历史数据表明:

P(主商品的父类的累计销量>10I主商品的累计销量<10)=志=
0.11%。我们基本上可以确定当主商品的累计销量<10的前提下,主商品

父类的累计销量几乎都>10,所以我们用这个跟主商品有相当近似度的主

商品父类的销售数据去用预测。这样就确定了当ca;<minSQ的时候,可以

用Va。j来计算ppij。

2.当累计销量>midSQ的前提下,用主商品最近一个月的数据p;。而不是累计

数据pa;,更适合做PP缈我们都知道最近一个月的购买数据肯定比累计购

买数据和将来预测的下一个月的相似度更高,因为不同的商品都会随着季

节的变化有着各自特有的变化。所以要确定midSQ就是需要证明当累计主

商品销量数据>midSQ的时候,最近一个月的数据p;j的样本个数大于10

的可能性非常大。这个问题就变成:累计销售数据需要多大的样本,最近

一个月的数据样本个数大于10的可能性非常高。我们采用前面确定样本

容量的公式,仍然是95%的置信度,所以z保持不变。因为我们想通过最

近一个月的数据来计算,我们将允许的误差降低成15%。通过统计得到,

累计主商品销量=N,最近一个月主商品销量>10的可能性P约等于0.3。

把这几个值代入公式得到样本

n=垫篆型瑚
=————_=—■::●—一=jy
浙江大学硕士学位论文 第4章基于商品类目结构的自适应推荐系统

通过人量的实验发现,当midSQ=40左有的时候,推荐效果会表现得比较

好。所以在实验和验证章节,我们选用的分界点是:minSQ=lO,midSQ=40。

4.4.4窗口模型
从图4-1中,我们看到主商品详细下方从左到右有5个推荐位置。虽然最基

本的视觉原理是“从左到右,从上到下”,但大量的实验数据都没有表明人横向

的处于同一个区域的图块会有严重的视觉注意衰弱的现象。从此实验网站的日志

分析数据显示,我们发现用户对窗口中的商品的点击量并没有太大的差异,所以

我们认为处于此位置的推荐系统是一个类似于窗口的模型,请看图4--10。

MaxWindowLen是代表推荐列表的窗口大小。用户对窗口中的附属商品都给予同样

的关注程度,所以此推荐系统的推荐列表并不是一个排序的列表,而是一个集合,

集合中的每一个元素是没有顺利的。这个模型将会在实验和验证章节中如何来衡

量算法好坏体现出它的差异来。

r,;,。;。 . 。.;,一 i竺 圈圆圆圈


L一一一一一一一一一一一一一一一一一一l

图4.10推荐系统的窗口模型

4.4.5新主商品(New main item)问题


当一个新的主商品刚上市的时候,我们就会发现cai值很小甚至等于0,这样

就会导致paij或者Pi。值很不稳定,甚至无法计算出来。如果推荐系统不处理这个

新主商品的问题,就会导致推荐系统无法对新主商品对较为准确的推荐。为了解

决这个问题,图4.3中在某些条件下会判断该主商品是否是新上架的主商品。然

后利用UA矩阵(新主商品的父类.附属商品)来预测新主商品.附属商品的行为。

数据分析和品类本身的属性显示,商品和商品的父类之间有一定程度上的相似性。

我们直接利用预先计算获得的UA矩阵,大大提高了推荐系统的效率。
浙江大学硕士学位论文 第4章基于商品类目结构的自适应推荐系统

4.4.6新附属商品(New accessory item)问题


当一个新的附属商品刚上市的时候,我们会发现Pa0或者Pii值都很小甚至等

于0,这样会导致推荐系统不会给用户推荐新附属商品,用户很可能就因此忽略

掉了此附属商品上架,更不会产生购买了。如此,我们就会发现这将进入死循环,

可能会让用户产生购买行为的新附属商品却无法有被推荐的机会。

为了解决这个问题,图4.3中在某些条件下会判断该附属商品是否是新上架

的附属商品,如果是,就会利用VA矩阵来预测主商品.新附属商品的行为。这是

基于内容推荐算法(content.based filtering)的思想,因为我们很自然就知道新附

属商品的属性跟新附属商品的父类的属性很相似,它们属于同一个品牌,属于同

一个小品类。这儿就直接利用了商品类目结构,而不需要重新去寻找有哪几个其

他的附属商品同这个附属商品J相似,用它们的paii去近似。

4.4.7缺货问题
在现实的电子商务平台上,经常会遇到某些商品马上要缺货的情况。但历史

数据上它表现出来的pa;。可能非常好,倘若没有缺货判断这个规则考虑到推荐系

统中去,将会导致推荐系统会自动重点推荐马上要面临缺货问题甚至已经缺货的

的附属商品给用户。这是基于知识的推荐算法(knowledge—based)的思想。这

些规则只适用于某些领域(电子商务平台上的推荐系统),但却非常有用的。

4.4.8促销赠送附属商品
从图4.3的算法流程图中,我们看到中间有一个规则是要预测的这段时问新

生成一个促销规则:买新主商品I赠送附属商品K,而附属商品K和附属商品J

的父类相同,我们可以用公式表达为:

parentAccessory(K)2 parentAccessory(1)

其中,parentAccessory是已知附属商品id,得到附属商品的父类的id的

函数。

当初上面所描述的促销规则,附属商品K的ppiJ会自动降低。统计数据显示:

P(CIAB)=P(An B n C)IP(A n B)基本上在1%左右,其中,A是买了新主商品I,

B是赠送了附属商品K,C是用户还同时购买了附属商品J,而且附属商品K和附

37
浙江大学硕十学位论文 第4章基丁商品类同结构的自适应推荐系统

属商品J的父类相同。我们发现P(clAB)这个值非常小,为了能更准确地提供推

荐结果,我们对上面所描述的促销规则也做了判定和优化。

4.4.9自适应
因为此推荐算法的初始模型是基于纯统计算法之上的,所以随着历史数据的

不断累积,稀疏矩阵的问题将会随之减少,推荐效果也会越来越好。我们并不需

要手工调整此算法的各项参数来达到此目的。算法会自适应地根据历史数据来调

整它的推荐结果。

4.5本章小结
本章详细介绍了本文所提出的基于商品类目结构的自适应推荐系统的框架

设计、算法流程图、设计的原因以及此算法的收敛性等问题。

由于正式实验环境某些局限性原因,此算法仍有改进之处,例如:当一个新

附属商品刚上市,而与之相对应的主商品也是新上架的商品,我们就会发现主商

品一附属商品的父类矩阵也就成了稀疏矩阵,我们如何来解决这种问题?这部分

工作还有待更加深入的细致工作。

38
浙江大学硕士学位论文 第5章实验和验证

第5章实验和验证

5.1实验环境介绍
5.1.1主附商品关系
主商品(main item):如图4一l,这是一个主商品的详细页面。在这个实验环

境中,我们假设主商品是手机。

附属商品(accessory item):附属商品是针对主商品而言的,会有一张表维护

附属商品和主商品的对应关系。在这个实验环境中,附属商品是指手机配件,例

如:电池、贴膜、充电器、手机套、数据线等。一般情况下,附属商品的商品个

数会非常多,型号和功能都会相当复杂,这时候我们就要给用户最好推荐,让用

户能非常方便地找到适合主商品的附属商品。图4。1中红色圈内的就是针对某个

主商品,推荐系统所推荐的附属商品。

5.1.2商品类目结构
在所有的电子商务平台中,为了能更好地管理好商品,数据库一般都会维护

有一套属于自己的商品类目结构,本文所在的实验平台也是如此。图5.1是本文

实验环境巾的商品类日树状结构图。我们可以看到,每一个主商品都对应着它自

己的父类,同样,每一个附属商品也对应着它自己的父类。主商品和附属商品之

间是多对多的对应关系。主商品和附属商品是树的叶节点,而一个商品是归属于

主商品还是附属商品是树的根节点,所以根有两个节点。以我们上面举到的例子

为例,如果主商品是某个型号为A的诺基亚手机,主商品的父类就是诺基亚(品

牌)的手机,附属商品是某个型号为B的诺基亚手机电池,附属商品的父类是诺

基亚(品牌)的手机电池。

39
浙江人学硕士学位论文 第5章实验和验证

和附属商品之间是多对多的关系

图5-1商品类目的树状结构图

图5.1显示的是商品类目的树状结构,为了能更清楚地看到数据库结构,以

方便理解算法设计部分所提到的数据库表结构,请看下图5.2的ER图。主商品

i和附属商品j之间的关系是通过另外一张主商品和附属商品的关系表来维护的。
浙江火学硕士学位论文 第5章实验和验证

图5-2商品类目结构ER图

5.2衡量方法
如何来衡量某个推荐算法的效果好?通常,我们通过电子商务平台上尝试不

同的推荐算法,看哪种算法最终能带来更大的销售额?因为在电子商务平台上,

能影响整个平台销售额的因素很多,所以我们通过比较在某个时问段内,不同的

推荐算法促成用户购买行为的多少来判断某个推荐算法的好坏。本文所提出的算

法是解决如何给主商品推荐附属商品的问题,所以用户购买行为的数量就通过用

户购买附属商品的数量来衡量。简而言之,可以用附属商品比主商品的销量占比

(即accessaryMainSaleQuantityPercentage变量)来衡量购买行为的多少。其

中accessaryMainsaleQuantityPercentage变量是通过以下公式计算所得。

accessaryMainSaleQuantity Percentage

=accessaryltemSaleQuantity/mainltemSaleQuantity

其中,accessaryItemSaleQuantity是某段时间内通过这个推荐系统推荐而

购买附属商品的销售数量,mainItemsaleQuantity是该段时间内购买主商品的销

4l
浙江大学硕士学位论文 第5章实验和验证

售数量,accessaryMainSaleQuantityPercentage附属商品比主商品的销量占比。

这儿没有直接使用附属商品的销量绝对值来做为衡量指标的原因是:在真实的应

用系统中,电子商务平台的其他环境对销量的干扰很大(例如:促销活动、广告

投放、商品的价格),如果我们用附属商品的销量绝对值来做为衡量指标,会让

我们的分析变得很困难。这儿也没有使用附属商品的利润(利润=销售收入一销售

成本)来做为衡量指标的原因是:虽然利润是大家都能接受的对电子商务平台最

直接的衡量标准,商品单件成本和商品单件售价却不是由电子商务平台所能决定

的。所以我们用附属商品比主商品的销售占比的变动情况来衡量推荐系统算法的

好坏

本文会把所提出的算法跟以下两类推荐系统做比较(随机推荐、基于纯统计

算法的推荐),看看相对于那两种推荐系统,是不是本文中提到的推荐系统能使

“附属商品比主商品的销量占比”(accessaryMainSaleQuantityPercentage)这

个数值能有提高。

5.3实验结果分析
下面会通过真实平台上的四组不同的实验来比较和验证自适应推荐系统的推

荐结果。

实验一(5.3.1小节)会用历史数据来比较随机推荐算法、基于纯统计算法、

基于产品类目结构的自适应算法这三种算法的表现,具体做法是根据时间点A之

前的历史购买数据产生三种不同的推荐结果,然后和实际系统上A时间后的真实

购买数据进行比较,看哪种算法和真实购买数据的相似度更高。

实验二(5.3.2小节)会在真实的平台上使用上三种不同的推荐算法。此实

验将会挑选了两个等长的时间段,在时间段l内推荐系统的算法是随机算法,在

时间段2内,将用户分成三组,基本上用户将会随机地被等分成三组,分别使用

随机推荐算法、基于纯统计算法、基于产品类目结构的自适应算法这三种算法。

本实验通过比较时间段1和时间段2的区别来验证推荐算法是否有效?

实验三(5.3.3小节)会在真实的平台上同一个时问段内,比较随机推荐算

42
浙江大学硕十学位论文 第5牵实验和验证

法、基于纯统计算法、基于产品类目结构的自适应算法这三种算法的效果。

实验四(5.3.4小节)会挑选两个等长的时间段,看基于产品类目结构的自

适应算法在这两个不同的等长时间段内的表现。来验证是否就如我们预期的一样,

随着历史数据的积累,推荐系统的效果会越来越好。

5.3.1历史数据比较
本文会利用实际系统中历史购买数据对随机推荐算法、基于纯统计算法、基

于产品类目结构的自适应算法的这三种不同的推荐算法进行比较。

我们用三种不同的推荐算法根据时间点A之前的历史购买数据产生各自的推

荐,将得到的三种推荐结果和实际系统上A时间点之后的真实购买数据进行比较,

看哪种算法得到的购买附属商品的可能性更高。

假设某种推荐算法计算出来的对主商品i推荐结果是

Sij=fsil,si2,…,Simx埘ndowlen),其中maxWindowLen是这个推荐系统的窗口大小,
也是推荐列表的个数总和;S.是附属商品的id。我们利用C。来衡量各种推荐得到

的推荐列表与没有推荐情况下用户自然购买的数据之间的差异。

ct=∑;:1∑;呈‘;jwlnd。wlen pij(t+1)X Cj(t+1),

j∈Si

因为真实的电子商务平台上的数据会有各种因素影响,导致干净可供我们分

析的数据并不是特别多,所以下面的实验将会以半个自然月为最小单位,尽量多

地扩充统计的样本容量,下面的样本容量是20。选定时间段t,利用截止到t之

前的数据由三种不同的算法计算得到三组不同的sii集合。将Sji集合中的每一对主

商品i一附属商品j的组合,在下一个时间段(t+1)中,用户购买了多少个附属

商品j。c。用在时间段(t+1)中,用户购买附属商品的总数去衡量推荐算法的好

坏。C。值和用户不在任何推荐系统作用下本身所固有的购物兴趣成正比。这个能

在很大程度上较为直接地反映出推荐系统的效果。例如:选定t=2009年1月上

半月,三种不同的推荐算法均根据2009-01-15之前的数据去计算得到推荐列表。

然后计算在2009-01-16到2009-01-31时间段内,在没有推荐系统的电子商务平

43
浙江大学硕士学位论文 第5章实验和验证

台上这些推荐列表产生附属商品购买的个数。

选择某一个固定的时间段,三种不同的算法,将会有三个不同的C。值。我们

认为c。值越大的推荐算法,与用户真实的需求约接近,也就是推荐系统的效果更

好。为了避免真实环境中某段时间受环境影响对历史购买数据造成的影响,本论

文的实验均会针对不同的时间段上进行。在此实验中,为了能更方便地分析推荐

结果,我们将推荐对象的个数(也就是maxWindowlen值)设置成5、6、7分别

得到以下结果。
浙江大学硕士学位论文 第5章实验和验证

表5.1三种不同推荐算法的ct值对比(maxWindowLen---5)

时问段(t) 随机算法 基于纯统计算法 基于商品类目的自适应算法

2009年6月上半月 42l 5lO 519

2009年6月下半月 430 523 529

2009年5月上半月 413 450 460

2009年5月下半月 421 461 468

2009年4月上半月 564 661 660

2009年4月下半月 530 603 607

2009年3月上半月 589 714 713

2009年3月下半月 604 741 743

2009年2月上半月 477 540 556

2009年2月下半月 487 552 569

2009年1月上半月 317 361 363

2009年1月下半月 287 351 357

2008年12月上半月 220 306 318

2008年12月下半月 231 324 337

2008年11月上半月 252 331 353

2008年11月下半月 261 359 367

2008年10月上半月 3ll 368 382

2008年10月下半月 313 373 387

2008年9月上半月 176 261 287

2008年9月下半月 187 273 296

45
浙江大学硕士学位论文 第5章实验和验证

表5-2三种不同推荐算法的C。值对比(maxWindowLen=6)

时间段(t) 随机算法 基于纯统计算法 基于商品类目的自适应算法

2009年6月上半月 444 535 543

2009年6月下半月 465 550 547

2009年5月上半月 430 463 481

2009年5月下半月 437 471 485

2009年4月上半月 593 657 678

2009年4月下半月 588 650 672

2009年3月上半月 645 769 768

2009年3月下半月 667 769 77l

2009年2月上半月 525 574 580

2009年2月下半月 531 580 590

2009年1月上半月 326 391 395

2009年1月下半月 321 380 391

2008年12月上半月 274 343 344

2008年12月下半月 270 340 354

2008年11月上半月 298 36l 372

2008年11月下半月 302 372 377

2008年10月上半月 323 389 403

2008年lO月下半月 32l 371 398

2008年9月上半月 183 267 29l

2008年9月下半月 189 278 300


浙江入学硕士学位论文 第5章实验和验证

表5-3三种不同推荐算法的Ct值对比(maxWindowLen=4)

时间段 随机算法 基于纯统计算法 基于商品类目的自适应算法

2009年6月上半月 376 485 488

2009年6月下半月 392 490 499

2009年5月上半月 343 412 415

2009年5月下半月 350 424 426

2009年4月上半月 498 590 598

2009年4月下半月 485 579 585

2009年3月上半月 545 674 680

2009年3月下半月 553 686 689

2009年2月上半月 450 508 506

2009年2月下半月 452 536 550

2009年1月上半月 291 346 341

2009年1月下半月 260 320 332

2008年12月上半月 192 282 302

2008年12月下半月 193 287 303

2008年11月上半月 231 302 320

2008年11月下半月 240 310 331

2008年10月上半月 289 342 352

2008年10月下半月 296 350 364

2008年9月上半月 162 252 281

2008年9月下半月 168 260 293

47
塑坚点兰些±兰垡笙塞 苎!至壅墼!堕型
为了更方便更直接看到这i种算法所带来的差畀,我们将i个不同的

maxWindowLen下的预测结果求了平均,并按照自然月做最小计量单位,得到圉5-3。

圈5-3三种不同算泣在历史数据环境下的c。值比较

5 31 1用统计学来分析结果

这个差异是否是统计学上的显著提高?我们使用T检验(t test)来判断基

于商品类目的自适应算法相对于随机算法和基于纯统计算法是否有显著的提高?

我们利用评断两组样本平均数之间的差异程度的T值的计算公式:

T: 兰三!!
雁筏鳟×糍
浙江大学硕士学位论文 第5章实验和验证

将得到表5-4:
表5-4不同maxWindowLen下不同组差异比较的T值

maxWi ndowLen=5 maxWi ndowLen 26 maxWi ndowLen=4

基于商品类目的

自适应算法、
1.96 1.66 2.25
随机算法

两组数据的T值

基于商品类目的

自适应算法、
O.21 0.22 0.54
基于纯统计算法

两组数据的T值

我们将表中的数据做成图5.4,可以清晰地看到在maxWindowLen=4和5的时

候,T值远远大于1.725(假设置信度是95%,样本容量=20的情况下,我们通过

查表可以发现T值>=1.725的时候,两组数据是具有显著差异的)。当

maxWindowLen=6的时候,T值=1.66,当置信度在90%,样本容量=20的情况下,

也是具有显著差异的。通过这三组数据,我们可以判定基于商品类目的自适应算

法孝订对于随机算法在统计学上是具有显著提高的,但基于商品类目的自适应算法

相对于基于纯统计算法在统计学上并没有显著提高。

49
图54不同m践wind删Len下不同组差异比较的T值图

5.3 1 2与理论值之间的差异
我们发现基于纯统计葬法相比随机算法效果的提J'I是极其显著的.基于商品

类目的自适应算法相比纯统计算法却并不是特别显著。是不是基于商品类目的自

适应葬法还有很大的提升空间?最理想的C。值应该是多少?

下面我们将利用以F公式来计算算挂与理想值之问的差异:

“““矗2一max(Ct)2匹盈m擎axW—nd一—en靠而磊i丽
C. C}

ct
一∑}:1∑07Wi“““max(p(jnj)(t+1))
计算在不同窗口大小,不同的自然月内,基于商品粪L4结构的自适应推荐算

法的PercentC,。得到同5-5。我们看到不管maxWindowLen多大,水管在哪个自

然月中,PercentC,均分布在80%以F.这是一个组不错的结果。这也就能证明本

文所提出的算法人郁分情况F躁用户本有的兴趣是一致的。
圈5-5基于商品类目结构的白适应推荐系统在PememC。值比较

由于本小节中所设计的实验和验证方法,只能证明本文所提出的基于商品类

目结构的自适应推荐系统跟用户自有的关联商品有比较大的吻合性。但奉文所提

出的算法能给垂直B2C电子商务平台的附属商品比主商品的销售占比

(accessaryMainSale。IlantityPercentage)是否能带来提升,能提高多少,这仍

是不明确的。所以下一小节将设计另一个实验来验证这部分的疑问。

5.3.2不同时间段不同算法的比较
本实验将使用真实的商业平台为实验环境,去验证本文提出的算法是否优于

随机算i盅和基于纯统计的推荐算法。本实验挑选了两个等长的时间段,在时间段

l内推荐系统的算法是随机算法,在时间段2内.将用户分成三组,基奉r用户

将会被等分成三组,分组将采用用户浏览器的Cookie值对数字3求余的不同。

第一组用户(余数为0的)使用随机算法,第二组用户(余数为1的)使用基于

纯统计算法,第三组用户(余数为2的)使用基于产品类目结构的自适应推荐算

法。

在真实的下台上,因为推荐算法会直接影响整个电子商务平台的销售.所以

Jf不能随意切换推荐算法。为了对真实的销售不造成A大的影响.我们在时间段
浙江大学硕士学位论文 第5章实验和验证

2切换成三种混合的推荐算法。通过比较时间段1和时问段2的比较,确定时间

段2的销售比时间段1出色,才能继续做后面的实验。

通过一段时间的实验,我们得到以下结果,请看表5-5。我们发现

accessaryMainSaleQuantityPercentage已经从时间段l上的57.2%上涨到时间段2

上的66.8%。我们相信这是基于纯统计算法和给予产品类目结构的自适应推荐算

法对它的正面影响。

表5.5真实平台上各种算法的结果

时间 时间段l 时间段2

对第一组的用户使用随机算

法,

对第二组的用户用基于纯统
推荐算法 随机算法
计算法,

对第三组的用户用基于产品

类目结构的自适应推荐算法

主商品销量
2650 2242

(mainltemSaleQuantity)

附属商品销量
1516 1497
(accessaryltemSaleQuantity)

附属商品比主商品销量占比
57.2% 66.8%
(accessaryMainSaleQuantity7Percentage

但从表5.5中的数据并不能得到:基于产品类日结构的自适应推荐算法是否

比基于纯统计算法更优?为了能更明晰地看到不同时间的差异,根据表4.1中的

数据,我们得到图5-6。从图5-6中,时问段2的效果远远好于时间段1,只能

说明三种算法混合后的效果远远比随机算法要来的好。但我们却无法得到基于纯

统计算法是否比随机算法要更优?我们能得到的结论只能是:基于纯统计算法和

基于产品类目结构的自适应推荐算法的线性混合算法是比随机算法的推荐效果

52
浙江大学硕士学位论文 第5章实验和验证

要好。

因为上面的这个实验是在真实商业环境中的不同的时间内进行,也许有人会

甚至连“基于纯统计算法和基于产品类目结构的自适应推荐算法的线性混合算法

是比随机算法的推荐效果要好”这个结论都没法推出,因为真实的数据中总是会

有很多因素去影响销量,例如商品的售价,商品是否有促销活动,甚至某个时间

段服务器的访问速度。

图5-6不同时间段内不同算法的“附属商品比主商品销量占比”

下面本文将分析时间段2上的三种不同算法的附属商品比主商品销量占比

accessaryMainSaleQuantityPercentage。通过不同的推荐算法在同一时间段上的推

荐效果的分析,来判断到底哪种推荐算法更优,更适合本文前面所描述的B2C电

子商务平台。

5.3.3相同时间段不同算法的比较
本小节的数据是在这样的实验环境下进行的:我们在时间段2中将来网站访

问的用户分成三组,第一组用户看到的是用将随机算法作为推荐算法的推荐结果,

第二组用户看到的是将基于纯统计算法作为推荐算法的推荐结果,第三组用户看
浙江人学硕十学位论文 第5牵实验和验证

到的是将基于产品类目结构的自适应推荐算法作为推荐算法的推荐结果。由于我

们是根据用户浏览器的Cookie值来给用户分组的,所以在同一个时刻,不同的用

户在浏览某款手机的详细页面的时候,推荐给该用户的配件也不相同。然后通过

我们分析这三组用户对推荐结果的反应(是否购买推荐列表中的商品)来判断对

哪种推荐算法好。

经过一段时间的实验后,我们发现结果确实如我们猜测的一样:

accessaryMainSaleQuantityPercentage(基于产品类耳结构的自适应推荐算法)>

accessaryMainSaleQuantityPercentage(基于纯统计算法推荐算法)>

accessaryMainSaleQuantityPercentage(随机推荐)。具体数据请看表5-6。

表5.6不同推荐算法在实际平台中的推荐结果

组别 A组 B组 C组

随机 基于纯统 基于产品类目结
推荐算法
推荐 计算法 构的自适应算法

主商品销量
801 72l 726
(mainltemSaleQuantity)

通过推荐系统销售的附属商品销量
466 47l 560
(accessaryltemSaleQuantity)

附属商品比主商品销量占比
58.2% 65.3% 77.1%
(accessaryMainSaleQuantityPercentage)

为了能更明确地看到效果,我们用表5-6中的数据绘制成图5,7。
浙江人学硕士学位论文 第5章实验和验证

图5.7不同推荐算法在实际平台中的附属商品比主商品销售占比

5.3.4不同时间段自适应算法的比较
通过以上的三组实验,我们发现基于商品类目结构的白适应推荐系统的效果

是显著优于随机算法的,并不显著优于但优于基于纯统计算法的。本小节的实验

会想要验证基于商品类目结构的自适应推荐系统是否能随着时间的积累,推荐效

果会越来越好。本实验挑选了三个等长时间段(因为在真实商业平台上做实验的

缘故,故只能挑选三个等长时间段。),均使用自适应算法,看在实际平台中的附

属商品比主商品销售占比是否会随着时间的推移、历史数据的增多而提高?

经过一段时间的实验后,我们发现我们的预测进一步得到证实,请看表5.7。

为了能更加清楚看到自适应算法随着时间的推移所产生的变化,根据表5.7,我

们得到图5.8
浙江人学硕士学位论文 第5章实验和验证

表5.7白适应算法在不同时间段的附属商品比主商品销售占比

时间段1 时问段2 时问段3

主商品销量
726 812 856

(mainltemSaleQuantity)

通过推荐系统销售的附属商品销量
560 632 667
(accessaryItemSaleQuantity)

附属商品比主商品销量占比
77.10% 77.83% 77.92%
(accessaryMainSaleQuantityPercentage)

图5.8自适应算法在不同时间段的附属商品比主商品销售占比变化图

5.4本章小结
本章设计并实现了四个实验,并针对每个不同的实验都设定了衡量指标。本

章中的两个实验分别是从三个不同的方向验证了基于商品类目结构的自适应推

荐系统的推荐效果是好于随机推荐和基于纯统计推荐的,并且还证明了基于商品

类目结构的自适应推荐系统的推荐效果是会随着时问的推移,随着平台数据的不

断累积,推荐效果会越来越好。分别是:1)从依照历史数据预测下一时间段的

附属商品购买情况,以此跟真实平台上的购买数据做相似性比较;2)将真实平
浙江大学硕士学位论文 第5章实验和验证

台上的用户随机分成三组,并使这三组用户看到三个不同的推荐算法给出来的推

荐列表,分析这三组用户的附属商品占比主商品的销量占比;3)比较并分析前

后时间段上基于商品类且结构的自适应推荐系统的附属商品占比主商品的销量

占比。

从实验分析结果中,我们可以看到基于商品类目结构的自适应推荐算法相比

基于纯统计推荐和随机推荐所具体提高的程度。在第一个实验历史数据分析中,

本文还给出了基于商品类目结构的自适应推荐算法给出的推荐结果和理论值之

间的差距。这也让我们能更快地开展下一步的工作。
浙江人学硕士学位论文 第6章总结与展望

第6章总结与展望

由于电子商务的快速兴起和发展,电子商务结构的复杂化,用户数据的海量

化,推荐系统承担着越来越多的作用,逐渐发展成为电子商务平台必不可缺的一

部分。本章总结现有的工作,并提出一些可能的发展方法和现在的研究热点。

6.1主要工作和研究总结
本文的主要工作是学习研究现有的推荐系统,针对垂直B2C电子商务平台的

特性优化推荐结果。这些特性包括:1)维护有一套商品类目结构;2)有主商品、

附属商品的关联关系;3)商品种类不多;4)推荐列表并不是序列,而是有固定

窗口大小的集合:5)附属商品之间存在一定的互斥性。在真实电子商务平台上,

设计并实现了四个实验来验证本文提出的算法的效果是优于随机推荐和基于纯

统计推荐算法,并能随着历史数据的不断积累推荐效果会越来越好。

针对垂直B2C电子商务平台所独有的特性以及真实商务平台上所容易碰到

的问题,包括:1)新附属商品问题;2)新主商品问题;3)促销赠送附属商品问

题;4)附属商品缺货问题。本文提出的算法主要基于统计数据,并将内容过滤算

法和基于知识推荐算法混合在一起来处理垂直B2C电子商务平台的特性和真实

商务平台所碰到的问题。

在真实平台上做实验的局限性:1)不能任意使用推荐算法进行实验;2)有

一些数据因为数据库设计的原因而丢失,以致无法用来分析;3)真实平台很容易

受各种因素影响,这让分析工作变得比较困难;4)算法如果考虑到太多因素,或

者使用了比较复杂的模型或者思想,实验部分就会比较难。本文主要关注的是:

能使用简单容易让人接受的算法,在不影响系统性能的前提下,能让推荐效果提

高,而基于商品类目结构的白适应系统基本上做到了以上几点。它的算法容易理

解和编写,大量的数据采用预计算,推荐列表采用每天更新一次,推荐效果相比

随机推荐和基于纯统计推荐效果要好1 0%.1 5%。


浙江入学硕士学位论文 第6章总结与展望

6.2研究内容展望
结合本文所提出的算法和现有推荐系统的热点和重点,进一步的工作可以从

以下方面展开:

针对本文的后续工作:

1. 本文所提出的推荐系统并没有做到个性化。给浏览同一个主商品详细页

面的不同的用户是同样的推荐列表。后续优化工作中,可以把用户的浏

览行动加入进去,通过协同过滤算法或者内容过滤算法计算出不同的推

荐列表,给浏览同一个主商品详细页面的不同的用户。

2. 阈值minSQ、midSQ、maxSQ能否随着平台数据不断增加,丽自动发生

变化,能使此算法能自动随着平台数据的增大,其推荐效果能更好。

3. 当主商品一附属商品的组合变成新主商品一新附属商品,vaij和Haii值都很

不稳定或者无法计算得到的时候,如何处理这种问题?后续优化可以用

胰以下几组矩阵数据来计算:1)主商品的父类.新附属商品的父类的矩阵

数据;2)主商品的父类的父类.附属商品的父类的父类的矩阵数据。

针对推荐系统的后续工作:

1. 推荐系统实时性与推荐质量之间的平衡:推荐系统的推荐精度和实时性

一对矛盾。大部分推荐系统在保证实时性要求的同时,是以牺牲推荐系

统的推荐质量为前提的。在保证实时推荐的同时,如何有效提高推荐系

统的推荐质量,需要做进一步的研究。

2. 多种推荐算法混合而成的混合推荐:电子商务推荐系统收集的数据非常

丰富,可以采用多种推荐技术产生推荐结果,需要进一步研究如何从多

种推荐技术提供的推荐结果中选择最有价值的推荐,从而为用户提供高

质量的推荐服务。

3. 电子商务推荐系统中的隐私保护研究:推荐系统需要分析用户的购买习

惯和兴趣爱好,涉及到用户的隐私保护问题。如何在提供推荐服务的同

时有效保护用户的隐私还有待研究。

4. 推荐结果展示研究:电子商务推荐系统为了说服用户,需要向用户解释

59
浙江大学硕士学位论文 第6章总结与展颦

推荐产生的原因。目前的电子商务推荐系统只能通过简单的销售排行、

向用户提供其它用户对商品的评价评分信息等方式来达到上述目的。需

要进一步研究更加有效的方法向用户展示推荐结果,从而增加用户对推

荐系统的信任程度,说服用户听从推荐系统的指挥。

You might also like