社会网络中的推荐算法的研究
第 1 章 绪 论
1.1 论文研究的背景
因特网(Internet)的广泛使用给人们工作和生活带来了巨大的便利,它让信息真正的流动起来,让人们更方便的获得信息,进行信息的交流。与此同时,信息技术的高速发展带来了信息量的爆发式增长,人们又陷入了另一种烦恼——信息过载和资源迷失,即人们虽然不缺少信息来源和信息量,但是越来越难以简单的获得有效的信息,直接选择信息变得非常困难。人们获得传统解决此类问题的方法是使用搜索引擎过滤数据。搜索引擎指自动从其他网站提取信息,建立数据库,用户通过输入关键字进行检索,搜索引擎返回结果并对结果进行排序。到了 web 2.0 时代,论坛、博客开始兴起,人们在互联网上,不再仅仅浏览信息,同时开始生产内容,可以让其他人进行浏览,这被称为UGC(User-generated Content),即内容由用户产生,而不是平台产生,比如说博客等,国内短视频类如小咖秀、秒拍等也是其中的代表,同时因为产生这些内容的用户间的差别,这部分内容又被划分出 PGC(Professionally-generated Content),即内容由专家产生,这些内容相对信息质量较高,大家对于这部分关注度会比较高。在这一阶段,互联网的信息量又一次的进行飞跃,传统搜索引擎已经不能满足购物、社交等新生需求。这时候,推荐系统就成为了一种有效的、简单的过滤信息方式,系统将消息给用户,而减少用户自己筛选信息的过程。在过去的几十年中,在学术上和实际应用中,都有了很大的进步,各类电商平台,如 Amazon、淘宝、京东等,利用推荐系统提升销量;各类社交平台,如 Facebook、Twitter、微博等,利用推荐系统为用户推荐好友,展示广告。商业上的成功应用同样带动了大家的研究热情,使得对推荐系统的研究始终处于一个较高的热度。 在 2015 年第十二届全国人大,李克强总理提出“互联网+”行动计划,“推动移动互联网、云计算、大数据、物联网等与现代制造业结合,促进电子商务、工业互联网和互联网金融健康发展,引导互联网企业拓展国际市场。”同年的世界互联网大会上,百度公司董事长兼首席执行官李彦宏提出 “百度要连接 3600 行”。在大数据、互联网+的背景下,中国各个行业处于前所未有的互联网化的时代,所有行业从未如此容易的收集用户数据,行业和行业通过互联网形成一个个大生态、小生态。
.........
1.2 推荐系统研究现状
在搜索引擎时代,人们通过搜索引擎在网上检索信息,这种信息过滤方式大大方便人们在网络上浏览信息,但与此同时搜索引擎也有他的局限性,具体有(1)搜索引擎智能被动接受用户的查询,通过查询关键字进行检索,每一次的检索结果是相同的,用户不一定会喜欢最先得到的那几个结果;(2)有上一点带来的另一个缺点就是缺乏个性化,在一个提倡释放个性的时代,在号称最自由的互联网中,一个没有个性的结果不会令人一直喜爱的;(3)用户输入的关键字有时候不能完整的描述用户的意图甚至产生歧义,导致搜索引擎的结果不那么准确,甚至产生错误,图 1.2 就是非常典型的情况。推荐系统由此走到人们面前,它改变了搜索引擎被动的模式,由搜索引擎时代用户主动输入关键字从服务器拉信息,到推荐系统由系统向用户推信息,这一推一拉之间的改变,使互联网服务变得生动起来。近年来,推荐系统迅速发展并投入实用,从国外Amazon 的商品推荐、Netflix 的电影推荐,到国内的京东推荐商品、豆瓣 FM 的音乐推荐。国内外的推荐系统为各自公司带来了巨大的利润,提高了营业额,同时也为用户带了更加便捷、舒适的体验。看到了推荐系统强大的服务潜力,从上世纪九十年代开始,推荐系统就已成为商业公司和学者众多研究热点之一。协同过滤是推荐系统中使用最为广泛的方法之一,这种方法集合了社会网络中的力量,参考了社会学、心理学等人文学科知识,结合数学、计算机的技术,进行数据过滤。在国外有 IBM、微软、Facebook 等公司建立研究院,在学术界,重要的学术会议和期刊如 SIGIR、TKDE 等,每一年都有大量的学者研究推荐系统,发表了大量的文章。在每一年,Amazon、百度、Facebook 会分享部分真实数据,以比赛的形式供大家研究学习,以奖金的方式刺激大家投入精力。
..........
第 2 章 本文涉及的相关知识
前一章节已经讲过,推荐系统目前已是解决 web 2.0 时代信息过载问题的重要手段之一,随着移动互联网近年来迅猛发展,推荐系统在商业上被普遍应用,从社交软件推荐朋友,到外卖网站推荐店面、电商网站推荐商品,推荐系统正无时无刻不在帮助我们的生活。简单来说,推荐系统就是预测一个特定的用户是否会喜欢特定的对象,并将其推荐给用户;或者将一组对象进行排序,以一个用户希望的顺序推荐给一个用户。想推荐对象给特定的用户,就要知道该用户相关信息,在推荐系统中这些信息被称为偏好信息,在问答型社区这些信息表现为用户的年龄、性别、阅读历史、关注的用户、兴趣标签等信息。本章介绍推荐系统常用的几种方法,通过理论阐述的方式理解各种方式的主要使用环境,以配合本文使用相应的方法。
2.1 基于内容的推荐
基于内容的推荐系统(Content-Based Recommenders)会在对象中提取相应的内容特征,根据这些特征决定是否向特定用户推荐该对象。例如,在论文推荐系统中,基于内容的推荐系统要分析文本信息提炼有效信息(关键字),对用户进行推荐;在音乐推荐中,使用基于内容推荐系统会提取使用音乐的数据,如标题、类型、或作词人作曲人等信息。基于内容的方法被广泛用于信息检索和信息过滤等领域。在基于内容的推荐中,系统根据从推荐对象提取的信息和用户画像(User Profile)进行推荐。用户画像包含用户的偏好信息,通过这些信息和对象提取的信息进行匹配。信息检索技术(Information Retrieval,IR)和机器学习比较适合解决基于内容推荐的问题。
.........
2.2 协同过滤
协同过滤(Collaborative filtering ,CF)在构建推荐系统时经常被使用,和基于内容的方法不同,协同过滤不会对将要推荐的对象进行分析提取信息,而是通过用户对于该对象的评价来进行推荐[2]。在基于协同过滤的推荐系统中,推荐是基于三个因素:(1)用户之前的行为;(2)用户间的社交关系;(3)其他用户对该对象的评价。可以说协同过滤是根据口碑进行筛选的,就如同现实社会一样,一个用户会受到其他人或团体的影响喜欢或不喜欢某个事或人,同样的事情在网络世界同样会发生。群体对项目的评价通过矩阵实现,首先用户要对对象进行评价,这个评价可以是显式的也可以是隐式的,但是应该以数值的形式存在,而不是文本评价,例如对电影的评级通常使用星级,从 1 星到5 星,1 星意味着非常不喜欢该电影而 5 星则代表非常喜欢;而隐式评级是电影的购买记录,浏览该电影片花,评价信息等等[3]。
............
第 3 章 推荐系统建模 ....... 17
3.1 数据来源和数据描述 ........... 17
3.2 问题建模 ........... 19
3.3 答案建模 .......... 20
3.4 用户模型 ........... 21
3.5 话题信息模型 ....... 23
3.6 整体模型 .......... 24
第 4 章 推荐系统的设计和实现 ......... 26
4.1 适用于问答社区的协同过滤 .... 26
4.2 发现明星 .......... 29
4.3 关注关系 .......... 33
4.4 答案推荐 .......... 33
4.5 问题推荐 ........... 36
4.6 推荐冷启动 ......... 37
4.6.1 热门推荐 ..... 38
4.6.2 精华推荐 ..... 40
4.7 小结 ............. 41
第 5 章 总结与展望 ......... 42
5.1 总结 .... 42
5.2 展望 .... 42
第 4 章 推荐系统的设计和实现
本文要设计一个问答型社区的推荐系统,在第 2 章介绍了推荐系统常用的算法和相关理论,在第 3 章讨论了用户、问题和答案的模型建立,在本章将根据前文的相关理论和建立模型来实现推荐。在问答社区中,推荐对象是问题和答案,所以在推荐系统中分为两个部分:(1)问题推荐;(2)答案推荐。
4.1 适用于问答社区的协同过滤
协同过滤中有多种算法,在本小节将协同过滤进行改造,使之适用于问答系统。在问答型社区中,包含有大量的标签,在作者作为模板的知乎社区,有超过四十万的话题(包含重复的),问题数量远超话题数量,所以说对于某一问题的关注者来讲,user-item矩阵会极其稀疏,本文在协同过滤阶段主要使用 user-topic 关注矩阵来减少稀疏性问题,user-question(user-item)关注矩阵同样会被建立,用于辅助 user-topic 矩阵。 系统使用预计算的模式,即在用户使用前进行计算,生成一个 top-N 推荐表,根据本文建模结构计算每个 user 对 question 的关注,生成 user-question 矩阵,user-question关注矩阵如表 4.1 所根据作者的实验数据观察,用户通常关注的话题领域不会特别多,会集中在几个领域内,原因在于,每个用户的注意力有限,在话题层面一般上会产生关注梯度比较明显情况,如果关注的话题属性过于分散,实际上令用户失去特征,所以选取 5 个关注最高的话题进行计算,减少计算量并增加用户个性,所以建立起矩阵后,根据用户 u 的topic_interest 值选择关注度最高的 5 个话题,计算用户间的相似度,减少计算量并增加用户个性,计算相似度的用户集 U 选择这 5 个话题下有关注度的所有用户。在此需要说明的是,本文选择计算用户间相似度,而不是项目间的相似度,原因在于问题的数量相对于问题变动比用户变动更加明显,用户间相似度计算方法参照公式(2.1),选取用户u 相似度最高的 5 个最近邻居,构成为 neighbors 表,在数据库中也保存一张 neighbors表,用于保存用户邻居。
........
总结
在 web 2.0 时代,数据量的飞速增长让信息过滤变得前所未有的重要,原有的搜索引擎已经难以满足用户浏览数据的要求,同时机器学习,人工智能领域在应用方面正逐渐走向成熟,互联网技术正在变得越来越主动,而不是原来被动的等待用户的使用,推荐系统作为网络主动与用户进行交互的方式也越来越受到重视。精准的推荐就代表更好的用户体验,同样也代表了庞大的利益,搜索引擎时代 Google 利于其精准的搜索技术进行广告投放带来了巨大的广告收益,今日头条则通过推荐系统为其带来了前所未有的成功。今日头条通过微信和微博账号登录的方式获得用户在社会网络的相关信息进行推荐,可见在社会网络中的推荐也可应用到其他领域。同时在大数据,互联网+的背景下,用户在各个领域的数据正通过社会网络进行连接,所以社会网络中的推荐正变得非常有前景。 首先本文介绍了推荐系统这种解决信息过滤手段的研究背景和研究意义,以及国内外的现状,通过对于问答社区这种社交网络的分析,以一个具有更高维度信息的眼光看待问答社区。其次介绍现有的推荐算法的基本原理,以推荐系统的角度,对其进行对比,,介绍社区中明星发现的原理,为后文的系统设计和实现充实了理论基础。最后,通过对于问答社区的分析和对推荐算法的理解,对问答社区进行建模,并最终实现了推荐系统,该推荐系统可对基于用户的历史数据进行协同推荐,可以发现明星,通过明星发现和基于内容的推荐进行答案推荐,通过动态和精华问题的方法解决推荐冷启动的问题,并实现了答案的动态推荐。
.........
参考文献(略)
本文编号:86161
本文链接:https://www.wllwen.com/wenshubaike/lwfw/86161.html