论文部分内容阅读
众包作为一种新的社会生产方式,可以极大地整合社会资源,创造巨大的商业价值。随着互联网技术的发展,众包不再是单纯的企业行为,逐渐发展为一种全民协作的社会化行为。移动互联网的兴起为众包协作的移动化、碎片化提供了契机,但同时又提出了挑战。现有的众包协作应用都是将信息分类之后直接呈现,不仅造成信息过载,而且难以快速响应用户在移动场景下的即时协作任务。本文立足现实需求,以协作拼单为背景,引入推荐系统来解决协作应用在移动场景下所面临的问题。设计一套既支持复杂机器学习算法,又能实时响应用户请求的推荐引擎架构是该应用设计的首要目标。论文通过使用分布式消息系统Kafka搭配最新分布式并行计算框架Spark、高性能内存数据库Redis与分布式NoSQL数据库HBase,设计并实现了“在线-近线-离线”三段式混合推荐引擎,离线部分进行批量计算更新推荐模型,近线部分进行增量计算异步推送推荐结果,在线部分响应用户实时请求对拼单任务进行过滤和排序,通过实验验证了该技术方案的可行性与合理性。现有的协作活动推荐算法多是对传统算法的直接迁移,没有充分考虑移动场景下协作活动的特点。移动场景提供了用户位置、用户社交关系等新的信息,众包协作用户之间构成了基于事件的社交网络(Event-based Social Network,EBSN)。论文分别从 EBSN 下的语义特征、位置特征以及社交影响三个方面进行分析研究,通过分析整合上述因素对用户参与协作活动的影响程度,提出了 一种基于邻域隐含因子的奇异矩阵分解算法。实验结果表明,相较于传统的预测模型,论文提出的模型可以有效缓解冷启动问题,能够更准确地预测用户是否会参与活动,进而为用户个性化推荐协作活动。基于上述推荐系统架构和推荐算法,论文设计实现了一个提供协作拼单服务的移动应用。该应用可以基于用户兴趣和实时上下文信息对拼单做智能排序和推荐,响应用户的即时协作需求,有效解决了移动场景下信息过载的问题。