论文部分内容阅读
推荐系统是人们从海量信息中获取所需信息的重要手段。它的目标是连接用户和信息。然而,目前多数推荐系统的推荐依据是用户实时行为数据和用户历史行为数据。当推荐系统内的用户数据量不能达到推荐要求时,就会出现推荐系统的用户冷启动现象。因此推荐系统需要对用户冷启动情景做区分推荐处理,缓解用户冷启动现象导致的推荐效果下降问题。用户冷启动现象也是当前推荐领域普遍面临的问题。为了缓解冷启动用户因缺少历史行为数据造成的推荐效果大幅下降现象,本论文基于音乐热评混合推荐平台的构建,针对服务用户冷启动环境的混合推荐系统进行了研究。使用异步网络爬虫获取当前网络平台上存在的音乐热门评论及相关数据,使用多种推荐算法构建混合推荐引擎,使音乐热评混合推荐平台的冷启动用户也可以获得个性化的音乐热门评论推荐,满足冷启动用户对音乐热门评论的获取需求,提升冷启动用户对整个推荐系统的推荐满意度。本文的主要工作包括以下方面。首先,本论文研究了用户冷启动问题的解决机制和用户对音乐热门评论的获取需求,分析了各种网络爬虫框架各自擅长的业务场景和功能,结合分布式数据库MongoDB和关系型数据库SQLite,构建了一套基于Scrapy爬虫框架的异步网络爬虫系统,对构造推荐模型的各种数据进行定时获取,满足推荐的数据需求。这可以摆脱固有数据源在数据方面的局限性,丰富数据内容并创造出符合实际的面向冷启动用户的推荐场景。其次,针对单一算法面向冷启动用户推荐时准确率过低的问题,提出了基于KNN算法、FM算法和Bandit算法的混合算法,利用获取到的音乐热门评论相关数据,挖掘特征并构建推荐模型。该混合算法首先使用多路召回策略,利用引入时间因子的热度榜召回、“神回复”召回、标签相似召回、基于Doc2Vec的内容相似召回为用户生成基于不同策略的召回源,提取各个召回源的召回结果组成候选集。然后设置用于检测用户状态的“冷启动状态开关”,对于没有足够历史行为的用户,推荐平台自动使用经过改进的Bandit算法形成推荐列表,对于有足够历史行为的用户,推荐平台自动使用FM算法形成推荐列表。平台从推荐列表中选择TOPK条热门评论提供给用户。该混合推荐算法可以为冷启动用户提供推荐服务,缓解用户冷启动现象。最后,对音乐热评混合推荐平台进行了实现。平台基于Web框架Bottle进行开发,并嵌入面向冷启动用户的推荐系统。平台可以为冷启动用户提供个性化的音乐热门评论推荐服务,并展示面向冷启动用户的混合推荐系统在实际环境中的应用。