APP下载

移动电商平台推荐系统及关键技术研究

2019-03-11薛慧丽

智能计算机与应用 2019年6期
关键词:推荐系统平台关键技术

薛慧丽

摘要:在介绍推荐系统的概念与内涵、推荐系统分类的基础上,重点阐述移动电商平台推荐系统研究过程中涉及的几项关键技术,主要包括:数据预处理技术、相似度计算技术、K最近邻分类算法技术、矩阵分解算法技术等,这是移动电商平台推荐系统开发设计过程中不可逾越的问题,

关键词:移动电商;平台;推荐系统;关键技术

0引言

移动互联网迅猛发展的趋势不可阻挡,PC互联网正在日渐式微。据中国互联网信息中心(CNNIC)2019年2月所发布的第43次《中国互联网络发展状况统计报告》显示,截至2018年12月,中国网民规模已经达到8.29亿,手机网民规模为8.17亿,占比98.6%。可见,手机在上网设备中已占據了绝对的主导地位与优势。所以,针对移动电商平台的推荐系统是一件非常有意义的工作。本文主要对推荐系统的概念与内涵、推荐系统的分类进行了介绍,并在此基础上对推荐系统的关键技术进行了阐释,

1 推荐系统的概念与内涵

推荐系统(Recommender System.RS)主要是在“信息过载”背景下出现的一新技术,是互联网迅猛发展过程中一种个性化信息服务的重要表现形式,这种个性化服务得以实现的重要理论基础就是“信息检索”和“信息过滤”两大技术。Resnick认为“在日常生活中,人类经常需要在对事物没有充分个人体验之前进行决策,在这种情况下,人们只能根据他人的口头意见、推荐信、影评、书评或者中立机构的调查结果做出判断”。认为推荐系统就是通过对用户提供的相关信息,进行综合分析和处理后,为用户提供有针对性的信息,推荐的过程其实是把“推荐信息”匹配给“寻求信息”的用户。Burke认为“推荐系统泛指任何可以制造并输出个性化推荐信息的系统,或者是能够在大信息对象空间中以个性化的方式引导用户找到符合兴趣或有价值的信息对象的系统”,这个定义把推荐系统的内涵进行了更准确地概括与表达。Niblock站在电子商务应用的角度对推荐系统进行考察,指出了推荐系统其实就是传统“定制营销策略”(Mass Customization)在电子商务平台上的应用与实现。推荐系统是电商平台的有机成分,通过对客户历史购买行为的综合分析与处理,以此为基础预测客户未来的购买行为,从而为具有不同兴趣和习惯的顾客提供个性化推荐与服务。

由此可见,在不同领域,推荐系统就会有不一样的表达,很难对其作出统一的定义。不过,可以从各种不同的定义中找到其核心的内涵。从对象上看,推荐系统主要涉及两大部分:一是寻找信息的用户,二是在互联网上的海量信息。由于每个用户所要找的信息都不同,要实现电商平台上精准的信息推荐,就必须分析、研究用户的行为、兴趣、习惯和兴趣偏好等个性化的信息。通过构建用户的知识模型、兴趣模型等,能推算用户特征的模型,最终把符合用户特征与用户兴趣的信息准确地提供给客户,这就是推荐系统最为本质的内涵。

2 推荐系统的分类

2.1 基于内容过滤的推荐

基于内容推荐算法(Content-Based Filtering.CBF)最关键的就是“信息检索技术”,信息检索领域中的重要技术和成果都被这种推荐算法采用。这种算法最基本的思想就是根据用户在网站或平台上留下的历史操作记录(如购买记录、浏览历史、收藏记录、分享行为等)分析与预测用户的兴趣与偏好,在此基础上进行建模,深入挖掘用户的相关数据,进而准确推测用户可能会做出的行为,从而把用户感兴趣的信息精准推荐给用户。基于内容的推荐算法,最关键的步骤就是要计算出:项目信息和用户兴趣的相似度,然后把相似度的计算结果进行比较和鉴别,最终把相似度最高的项目,精准地推荐给目标客户。例如,在电商平台上,基于内容推荐的系统就会通过对用户浏览记录、收藏记录、购买记录、分享行为的综合分析,有针对性地给客户推荐评价最好的商品项目。

基于内容推荐算法的计算如公式(1)所示:

基于内容推荐算法的关键技术就是如何准确、有效地抽取商品项目的共同特征。普通文本值项目共同特征的抽取相对容易,通过文本项目关键字特征的提取,然后利用F-IDF(Ternl Frequency-InverseDocument Frequency)计算并确定关键字的权重即可。

计算公式(1)中,假设电商平台上总项目数为n.第j个项目为Ij,该项目的第i个关键字就是Ki,Ki的权重为ωij。总项目数N的关键字为ni。关键字Ki在Ij中出现的次数为fij,出现的词频为TFij,在项目总数N中的出现的频率IDFi,fij反映出来的就是Ki在项目Ij的权重,关键字k.出现频率的最大值为maxzfzj

2.2 基于协同过滤的推荐

基于协同过滤推荐(Collaborative Filtering.CF)是所有算法中应用最广的一种。“协同过滤”的概念是Goldberg在1992年最早提出来的。如果说CBF关键技术是“信息检索技术”,那么CF的关键技术就是“信息过滤技术”。CF与CBF两种推荐技术最本质的区别在于:CBF的推荐依据是用户的信息需求和项目信息内容的匹配关系,而CF的推荐依据是邻居用户与目标用户的匹配关系。也就是说,基于协同过滤推荐技术是把邻居用户感兴趣的项目信息,推荐与邻居用户具有相似兴趣的目标用户。也可以看作是现实生活中“口口相传”(word-of—mouth)的网络信息化的实现。所以,有的文献也把基于协同过滤推荐称之为社会推荐(SocialRecommendation)或社会过滤(Social Filtering)。

3.1.1 数据的时间性

“世界上唯一不变的就是变”,用户的偏好与兴趣,也会发生变化,兴趣与偏好永远不变的用户是不存在的。当然,用户的兴趣与偏好变化是有一个过程的,这个过程就给研究分析用户在某一时间段的兴趣与偏好提供了可能。所以,推测用户的兴趣大概会在什么时候变化,会发生怎样的变化,这就是要研究的时间性问题之关键。时间性问题,主要有以下三个方面:

(1)用户年龄的时间性。也就是说,用户关注感兴趣的商品会随着年龄的增长而发生改变。这是基于用户年龄变化的维度必须考虑的时间性问题。

(2)项目、商品在生命周期上的时间性。通过分析并准确发现用户当下的兴趣时,也不能把任何相关的商品都盲目推荐给用户,还必须观察项目、商品所处的生命周期,而且还要准确判断项目的周期性有多长,进而准确判断项目大概会在什么时候过时。相对来说,新闻信息的生命周期短,名著、电影的生命周期长。只有明确项目的生命周期,才可根据用户的兴趣,有针对性地把相应的商品或项目应用到移动推荐服务中去。

(3)季节变化上的时间性。季节的更替,四季的循环,一样会对用户的兴趣产生非常重要的影响。比如,在春、夏、秋、冬这四个不同的季节里,人们想购买的商品肯定是不太一样的。总之,只有符合季节与时令的推荐,才能更精准、更有效、更贴心。

3.1.2数据的稀疏性

数据稀疏性问题是传统的推荐系统普遍存在的问题。数据的稀疏性主要是指已知的用户偏好远远小于需要预测的用户偏好,造成这种情况主要原因是信息不断更新。因为信息过载等问题的存在,从而极大地影响了推荐的质量。总之,数据稀疏性问题是推荐系统研究领域的一大难题,经常采用数据填充和离线聚类等方法处理这一难题。

3.1.3 数据的长尾性

“长尾”(Long Tail)是指“畅销”产品,在统计图上只占前面的“头部”,后面还有一条很长的“尾巴”。也就是那些用户不重视、关注少、评分低的产品或项目。数据的长尾性就是如果只从项目评分的维度来推荐产品,就会出现一些本来质量与性能都很好的产品或项目,可用户却很少关注,而且所得的评分也很低,这就严重影响了推荐的准确性,

3.1.4评价的主观性

用户对任何一个项目进行评分,或多或少都会受到用户主观意识的影响。所说的主观意识,主要是指用户评分时所表现的性格因素、习惯行为等,与用户对项目的喜好程度关系不大。例如,有的用户对世界上的任何事物都感觉良好,所以其对任何项目的评分,基本上都会出现整体偏高的情况:而有的用户对任何事物都比较苛求,所以,对任何项目的评分,基本上都会出现整体偏低的情况。由表3可知,用户甲和用户乙在对相同项目的评分中,用户甲的评分普遍偏高,而用户乙的评分却普遍偏低。虽然评分是极具主观特点的个人行为,但是如果这样的数据趋势没有考虑进来,将会严重影响推荐模型的鉴别能力。

为了解决评价中的主观性问题,引入了“全局作用”(简称GE)的概念,把由于用户本身极具主观特点的行为导致的数据趋势,考虑到模型的全局中,并引入全局作用公式:ru.muXu.m+error

在全局作用公式中,用户的原始评分值为ru.m,用户的个性参数为θu真正体现用户态度的评分值为Xu.m,在此用error参数,把用户评分的总体趋势考虑进来,

如果用户评分的项目很多,可以先用公式(2),把Qu无偏估计算出来:

由于采集到的数据往往都具有稀疏性特点,所以,用公式(2)计算得到的无偏估计也会出现偏差,在此必须引入公式(3):

在公式(3)中,将用户的评价向量Pu作为一个重要因素考虑进来,并引入α这个指定的压缩参数,最终经过交叉验证,计算的结果具有更强的可靠性、更高的可信度。

3.2 相似度计算

通常用到的计算方法有五种:皮尔森相似度(Pearson Correlation)、余弦相似度、欧式距离相似度、Jaccard相似度和对数似然相似度。

(1)皮尔森相似度(Pearson Correlation)。在推荐中应用最为广泛,可以利用公式(4)来计算。

(2)余弦相似度(cosine similarity),又称为余弦相似性,是评价二维空间两个向量相似性的一种计算方法,用公式(5)表示为:

假设向量α、b的坐标分别为(x1,y1)和(x2,y2),其表達式可以用公式(6)表示如下:

在推荐系统实际应用中,其元素往往具有多维性,即向量A=(A1.A2.…,An),B=(B1.B2.…,Bn),公式(7)可以实现从二维推广到多维的计算。

余弦COSθ的取值范围在[-1.1]之间,当余弦值越趋近1.两个向量就越趋近0.这表明两者相似度就越高。

(3)欧氏距离相似度。如果用m来定义欧氏距离的相似度,那么欧氏距离相似度可用公式(8)表示:

s=1/(1+m),(8)

在公式(8)中,m的取值范围通常为[0.1],当s的值越大,两者的距离越近,当然其相似度也越高。

(4)Jaccard相似度,可用公式(9)进行计算:EJ(a.B)=(A*B)/(||A||2+||B||2-A*B),

(9)

其中:A、B是Jaccard相似度的两个向量。集合中的每个元素,都代表着向量中的一个维度,每个维度的取值范围通常为[0.1],A*B则代表向量的乘积,||A||2表示向量的模,即:||A||2=sqrt(a12+a22+a32……)

(5)对数相似度。对于用户一项目、项目一项目这种二元关系的评估,最好采用对数相似度计算方法。用这种方法处理重叠的个数,处理无评分的数据,比其它计算方法更灵活、更智能。可用公式(10)进行计算。

3.3 K最近邻分类算法

K最近邻分类算法(k-Nearest Neighbor.kNN),又称邻居选择算法或邻近算法,这种算法是数据挖掘分类技术中最简单、最常用的推荐算法。因为其推荐效果较为精准,所以也是被最早使用于协同过滤推荐中的一种重要算法。K最近邻所表达的意思就是k个最近的邻居,原始数据中任何一个样本都可以用k个最近的邻居来代表。所以,kNN模型是一个基于“相似用户都具有相似兴趣”这样的假设或逻辑。如果利用kNN进行建模,其步骤分以下三步:

(2)选取用户的邻居。首先设定k值,k是选取用户最近邻居的个数。利用皮尔森相似度计算公式进行相似度计算,其计算结果是一个按大小顺序排列的等级队列,k值可以根据模型的需要与特点进行调整。因为影响最终预测结果是k值,如果选取的用户太少,那么k值将偏小,如果把不相似的用户也选进来了,那么k值就会偏大,无论k值偏大还是偏小,都会影响到最后预测的准确精度。因此,k值的选取要适当。

(3)通过公式(11)对用户评分进行预测。

在K最近邻分类算法中,如果第一步相似度计算方法不同,或者第三步预测评分时所选取的公式不同,所获得的kNN推荐模型的最终结果就会不同。

3.4 矩阵分解算法

在推荐应用与实践中,数据稀疏性问题是一个大的技术挑战。为了更好地解决这个难题,本文引入了矩阵分解算法模型,这个模型不但简单有效,且较好地解决了数据的稀疏性问题,是基于协同过滤推荐中被广泛应用的算法。

矩陣分解(Matrix decomposition)是《线性代数》“矩阵行列变换”中一个非常重要的概念,分为“矩阵行变换”与“矩阵列变换”。如果以矩阵A为例,单位矩阵A的行变换和列变换就可以表示为:A=PEQ=PQ。这种“矩阵行列变换”的概念应用到推荐系统中,就可以把矩阵A看作是用户对商品或对项目的评分,由A=PQ可知,P和Q就是用户对商品评分矩阵A的两个分矩阵,即用户因子矩阵、商品因子矩阵。那么“用户评分矩阵A”就变换成了“用户因子矩阵P”与“商品因子矩阵Q”两个分矩阵的乘积,如图4所示。

由此可知,矩阵分解最基本的思想就是把一个矩阵拆分为几个矩阵的乘积。其分解的方法很多,一般情况下分为SVD(奇异值)分解、QR分解、三角分解、Jordan分解、满秩分解等。在推荐系统应用中,应用最多的方法就是SVD(奇异值)分解。如SVD算法就是在这种方法的基础上改进之后提出的。SVD算法最大的优势就是建立矩阵分解模型,挖掘用户隐形的数据信息,从技术上补充了显性数据信息的不足,运用公式(12)可进行计算。

在公式(12)中,u代表用户对商品的平均评分,bu,bi所代表的都是用户对商品评分的偏置量。通过矩阵分解之后,pu代表用户向量;qi则是商品向量;I(u)是用户评分之后的商品集合;而yj是SVD分解算法的关键点,因为这是对隐形因素进行挖掘分析重要组成部分。

在SVD分解算法深度挖掘用户隐形信息并分析的基础上,通过随机梯度下降算法,同时引入正则化因子,对矩阵分解模型进行迭代训练,使优化目标值更接近理想效果,从而建立预测模型。其优化之后的公式(13)如下:

4 结束语

针对移动电商平台的推荐系统是一件非常有意义的工作,但也是一件非常复杂、非常具有挑战性工作。本文主要对推荐系统的概念与内涵、推荐系统的分类进行了介绍,并在此基础上对推荐系统的关键技术进行了阐释。重点介绍了推荐算法中的关键要点与关键技术。数据预处理技术可以消除用户原始数据存在的各种问题,同时尽量减少对推荐决策产生干扰的影响因素。相似度计算技术是数据挖掘分类技术中最简单、最常用的推荐算法,也是推荐系统至关重要的关键技术,K最近邻分类算法技术不但可以简单有效地解决数据稀疏性问题,而且是一种基于协同过滤推荐中被广泛应用的算法与技术。

猜你喜欢

推荐系统平台关键技术
防雷关键技术在自动气象站系统中的应用探究
网络安全态势感知关键技术研究
无人机集群作战关键技术及发展趋势
基于用户偏好的信任网络随机游走推荐模型
基于个性化的协同过滤图书推荐算法研究
个性化推荐系统关键算法探讨
浅谈Mahout在个性化推荐系统中的应用
网络平台支持《教育技术学》公共课实验教学模式构建
陕西科技大学镐京学院应用型人才培养模式探索
大学生模拟创业实践平台体系建设研究