论文部分内容阅读
伴随网络信息过载以及用户个性化需求的快速增长,为了给用户更好的服务,越来越多的系统将推荐服务引入其中。推荐系统弥补了搜索引擎需要关键词查询的缺点,构建了一个连接用户与服务提供方的良好渠道,一方面解决了服务提供方信息有效展示的问题,另一方面也为用户提供了个性化服务。推荐系统已经渗透到了我们生活中所接触到的许多互联网服务之中。但将推荐系统快速、高效地引入到已有的系统中,对于绝大多数中小型服务提供方而言依然是一个难题。云联络中心作为一个提供多种服务的平台,将推荐系统引入其中已经是不可避免。如何在云联络中心中提供一个开放、可定制的推荐系统,使不同应用得到改善是一个很重要的问题。针对上述提出的问题,本文设计并实现了一个在云联络中心中的推荐系统。服务提供方可以借助本推荐系统实时、动态地部署其业务,将本推荐服务接入已有的系统之中,为用户提供推荐服务。由于不同业务的特殊性,服务提供方可以通过本推荐系统进行业务与推荐服务结合的实验,以及优化推荐过程,改善推荐效果。此外,本推荐系统为满足不同服务提供方的需求,提供了多种业务场景,在场景之中可以配置不同的推荐流程,实现业务、场景、流程的有机结合。本系统还提供了算法定制服务,在标准的上下文环境中开发所需算法,用于构建推荐流程。为了提供高性能的服务能力,本文使用了Spark作为分布式计算引擎,Hive存储批量数据,HBase提供线上数据的存储。本文首先描述了推荐系统的发展现状,并对使用的相关技术,大数据存储Hive、机器学习库Spark MLlib、定时钟框架Quartz进行了介绍。然后围绕该推荐系统的设计和实现进行了详细的叙述。该推荐系统主要分为数据收集处理、离线计算、在线计算、近线修正、配置这五个模块。数据收集处理模块对收集的数据实行转换、检查、合并等操作,存入Hive之中。离线计算模块针对大数据量的计算,其中包括推荐计算子模块和效果计算子模块。推荐计算是推荐系统的核心所在,其主要对推荐流程的生成、控制、编辑,节点之间的数据传递形式,离线算法的上下文环境等进行了详细设计和实现。效果计算提供效果指标的计算,用于优化及说明推荐的效果。在线计算依托于HBase的实时响应能力,根据离线计算的结果,经过在线计算流程,实时返回推荐结果。近线修正提供了物品信息更新和推荐结果修正两个主要的功能。配置模块是服务提供方对其业务进行的相关设置,包括业务、场景、流程、算法、效果这五个主要的配置子模块,丰富的配置信息为系统提供了高度的可定制化。其次,鉴于主页推荐场景中离线计算流程较差的推荐效果,给予了算法上的优化。使用反向传播神经网络(back propagation neural network,bpnn)结合svdpp方法,实现推荐精度上的提升,并以开源数据集给出测试分析,当推荐Top5个结果时,在准确率上可以提升10%以上。最后本文以云联络中心中智能路由为应用,对系统进行了功能测试和性能测试,验证系统满足了需求。