1.1.2 移动互联网推荐技术
当今时代是一个信息爆炸的时代,信息内容日益增长,“信息过载”问题早在传统互联网时代就已经出现,推荐系统被认为是可以缓解该问题的有效手段之一[6-8]。一直以来,推荐系统在学术界和工业界都得到广泛的关注并已经取得了许多研究成果,在实际生活中也有大量的应用。例如,电子商务(如Amazon、eBay、Netflix、阿里巴巴、当当网等)、网站信息检索(如iGoogle、My Yahoo、GroupLens、百度等)、旅游、互联网广告等众多应用领域[9]。在移动互联网已经成为人们获取信息的主要方式的今天,移动互联网推荐技术在已有推荐技术的基础上得到了快速发展。
1.传统互联网推荐技术
推荐系统的非形式化概念是Resnick和Varian在1997年提出的[10],其作用主要是在电子商务网站上向访问者提供商品的信息和购买建议。推荐系统通常有三个构成要素:推荐对象、用户、推荐的方法。推荐系统通用模型如图1.2所示。
图1.2 推荐系统通用模型
在推荐结果形成的过程中,用户相关信息的获取分为主动和被动两种方式,通过用户主动提供偏好信息和推荐请求获取用户相关信息的方式为被动方式,而通过推荐系统的用户信息采集系统获取用户信息的方式为主动方式。用户信息是形成个性化推荐的信息基础,推荐系统在获取用户信息的基础上根据相关推荐算法或根据已有的知识数据库形成推荐结果返回给用户使用。文献[6]给出了推荐系统的形式化定义,即
式中,C为用户(User)的集合;S是推荐对象集合;u()为效用函数,用于计算s对c的推荐度。因此,推荐系统本质上是计算出不同对象对用户的推荐度,找出那些使推荐度R最大的对象s*。
用户和对象的度量与采样可以使用不同的属性和特征,这根据实际面对的问题不同而不同,推荐算法研究的中心问题是效用度的计算。u()为效用函数,即u:c×s→R,R为一定范围内的全序非负实数。在推荐系统中,起核心作用的就是推荐算法,推荐算法的优劣直接影响推荐系统的性能和效果。主流的推荐算法包括以下几种。
1)协同过滤推荐
协同过滤推荐(Collaborative Filtering Recommendation)是推荐系统中最成功的方法之一,在推荐系统的相关研究中占有非常重要的地位,该方法的核心思想是利用与目标用户具有相似度的其他用户的偏好来预测目标用户的偏好。基于协同过滤的推荐系统从用户的角度进行推荐,具有高度自动化的特点,不需要用户主动去查找相关的推荐信息,对推荐对象也没有特殊的要求,能够处理非结构化的复杂对象。该类方法又分为启发式方法(Memory-Based)和基于模型(Model-Based)的方法。在启发式方法的研究中,主要包括两点:①用户相似度的计算;②相似用户的评分对目标用户的效用的统计预测方法。其中,在用户相似度sim(c,c′)的研究方面,采取的主要研究思路是根据用户的评分数据来判断用户兴趣的相似度,基本的计算方法是基于余弦距离(Cosine-Based)和基于关联(Correlation-Based)的方法。
2)基于模型的方法
基于模型的方法的基本思路是根据用户c的评分数据来学习并建立一个用户模型,每个用户都会对应一个模型,然后根据概率的方法对新对象s的推荐效用进行预测,文献[6]对其形式化的描述为
3)基于内容的推荐
基于内容的推荐(Content-Based Recommendation)方法的基本思想是根据用户已经做出了选择的对象,推荐具有类似属性的对象,属于项目关联(Item-to-Item Correlation)的方法。这种推荐方法不依赖用户评分数据,而使用特征提取方法得到对象的内容特征。推荐系统通过隐式或显式的方式事先获取用户对推荐对象的偏好,然后计算用户偏好和待推荐对象的属性之间的匹配度,根据计算结果决定是否向用户进行推荐。该方法也分为启发式和基于模型两类方法。
4)混合推荐
混合推荐(Hybrid Recommendation)方法的主要思路就是将不同推荐技术组合起来使用,从而避免单项推荐技术自身存在的弱点。从理论上来说,根据推荐所处的不同阶段和不同推荐技术,存在多种组合方式(如加权、切换、混合呈现、特征组合、串联、元层次混合等)[9],具体采用何种组合方式和推荐场景具有高度关联性。目前在移动推荐系统方面研究较多的是基于内容的推荐和协同过滤推荐组合的方法[10,12]。
5)基于知识的推荐
基于知识的推荐(Knowledge-Based Recommendation)方法和前面几种方法有着较大的不同,它并非建立在用户的需求和偏好基础上,而是利用特定领域内已经制定好的规则(Rule)来进行基于规则和案例的推荐[13]。基于知识的推荐的前提是知识必须以机器可读的形式存在,这种推荐方法常伴随本体(Ontology)知识库和规则推理一起出现。
6)基于深度学习的推荐系统
将深度学习应用于推荐系统也是当前推荐系统研究的热点方向之一,深度学习的基本能力是通过组合低层的特征,形成更加抽象的高层表示属性或特征,以发现数据的分布式特征表示。深度学习目前在语音识别、图像处理、自然语言处理等方面都得到了广泛应用。一方面,深度学习可通过学习一种深层次非线性网络结构,表征用户和项目相关的海量数据,具有强大的从样本中学习数据集合本质特征的能力,能够获取用户和项目的深层次特征表示;另一方面,深度学习通过从多源异构数据中进行自动特征学习,从而将不同数据映射到一个相同的隐空间,获得数据的统一表征[14],在此基础上融合传统推荐方法进行推荐,能够有效利用多源异构数据,缓解传统推荐系统中的数据稀疏和冷启动问题。与传统的推荐模式相比,深度学习可以更好地理解用户的需求、项目的特点及它们之间的历史交互。深度学习作为一种先进的非线性模型技术,在特征组合挖掘方面具有很大的优势。基于深度学习的推荐系统框架如图1.3所示。
图1.3 基于深度学习的推荐系统框架
2.移动推荐系统与传统互联网推荐系统的异同
相比于传统互联网,移动互联网在用户习惯、接入设备、接入网络方面都有着较大的不同,主要表现为用户具有移动性、情境信息丰富、网络接入设备ID化这几个特点。移动用户通过移动通信网络接入互联网,使得移动用户可以在任何时间、任何地点访问互联网,从而使情境感知计算在移动互联网应用中显得尤为重要,且移动用户具有更为明确和真实的用户标识。例如,移动用户的人口统计学数据通常由移动用户注册入网时填写,也可以根据一些机器学习或数据挖掘技术推理获取(如在移动用户授权许可范围内,可以根据移动用户身份证信息获取其籍贯信息,通过移动用户购买行为预测其收入信息,通过移动社交化网络挖掘移动用户的工作、教育背景等)。此外,还可以通过某些方式获取移动用户的其他信息。例如,通过全球定位系统(Global Positioning System,GPS)获取移动用户地理位置信息或移动用户轨迹,利用机器学习和数据挖掘技术分析移动用户行为,以提取移动用户属性特征。在终端方面,受移动终端设备的性能制约,移动互联网中的各种应用呈现出个性化、小型化的趋势。但随着技术的不断进步,移动终端设备也将越来越智能,其信息处理能力也会越来越强,近年来兴起的云计算将存储与计算功能集中于服务器端来缓解终端能力的不足,有利于智能移动终端设备在各个领域的普及应用。
移动推荐系统可以说是传统互联网推荐系统在新环境下的一种延伸。因此,移动推荐系统的基本思想与传统互联网推荐系统的基本思想是相似的。但在移动互联网中的移动用户所处环境更加复杂,需要融合、协作的因素更多,只有准确、充分地提取了移动用户在不同环境下对各种类型的信息内容的偏好,才有可能做出有效的推荐。因此,在移动推荐中,需要着重考虑移动网络环境给移动推荐系统带来的影响,移动推荐系统中的用户处于移动网络环境,其移动性强,移动信息需求和对推荐的需要受情境信息的影响更大,移动设备自身对数据的处理能力也无法跟个人计算机相比,同时,移动用户对推荐结果的实时性和精确度要求更高,这些都使得传统互联网的一些推荐方法不能直接“移植”到移动推荐系统中[15,16]。另外,由于网络环境和要求上的差异,移动推荐系统与传统互联网推荐系统所依赖的数据源也不尽相同。移动推荐系统与传统互联网推荐系统的主要差异如表1.1所示。
表1.1 移动推荐系统与传统互联网推荐系统的主要差异
3.移动推荐系统技术研究体系
移动推荐系统将传统互联网推荐系统延伸到移动网络环境。在移动网络中,用户随时随地获取符合其个性化需求的信息内容成为一种趋势。在新的要求和环境下,对推荐系统技术的要求也发生了变化,目前,对移动推荐系统的研究尚处在起步阶段,许多新的方法、新的思路、新的方向仍处于探索阶段,本书结合当前的一些研究成果,对移动推荐系统的研究体系进行一些分析和总结。