第一章 绪论
一、研究背景与意义
随着社会的发展、科技的进步,互联网的出现造成了信息大爆炸,让用户需求在一定程度上得到了较大满足,但也因此,人们越来越多地面临着各个领域的内容超载问题,这对用户和研究人员来说都是一个挑战。大量的物品(书籍,网页,音乐,电影等)迫使用户在各种符合他们需求的替代品中做出艰难的选择。所以,对于信息的提供方和信息的获取方来讲,都是一个难题:信息的提供方如何高效的为用户提供用户感兴趣和所需要的信息是个大问题,这不仅关系到用户的体验感受,还影响到相关的经济效益;而对于兴趣的获取方,即面向产品的用户,如何快速满足自己的需求也成了大挑战。
最初,主要是通过身边朋友推荐、自己大量搜索了解来筛选出所需要的信息,这种获取信息偶然性太强,不具有可复制性。而一个适合的推荐系统就可以很好地解决这一情况。
推荐系统(RS)是向用户提供相关项目建议的软件工具和技术(Burke,2002)。这些建议涉及各种决策过程,例如要购买的产品,要听的音乐或观看的电视节目。因此,推荐系统可以帮助人们在可用的大量选项中识别他们感兴趣的内容。从本质上来讲,所谓的推荐就是将用户和内容根据一定方法取得联系,不仅仅是让用户得以满足需求,同时还让内容得到相应的推广,内容提供者也能从中获得利益。搜索引擎是按照用户主动搜索情况将相关信息展现给用户,而推荐系统则是通过用户的历史行为数据,按照一定的方法进行计算后,得到用户的兴趣偏好情况,发现用户可能的需求,再将相关信息展现给用户。一个称得上好的推荐系统,不但能实现有效的内容推荐,为用户提供方便、准确、快速的推荐,还能让用户对推荐系统产生依赖。
..................
二、国内外研究现状
(一)用户偏好模型
用户历史行为数据是用户对不同电视节目喜好程度的一种表现形式,也是构建用户兴趣偏好模型的重要依据之一,并且备受国内外学者关注。目前,用户历史行为数据主要分为显式反馈数据和隐式反馈数据。
面对海量的电视节目,用户可以选择观看或者不观看、评论或者不评论,这些历史行为数据足以反应用户对电视节目的兴趣偏好情况,因此,可以用来对用户兴趣偏好进行建模。也因此,国内外很多学者聚焦于该用户建模方法。推荐系统中,参考的用户历史行为数据主要分为显性反馈数据和隐性反馈数据。
用户对电视节目的评分以及评论为显性反馈数据,它们能够直接、明确的反映用户对各个电视节目的兴趣偏好情况。利用显性反馈数据来建立用户模型的研究有很多,如 Das D[53]等人,就是利用该方法建立用户模型的。但是,用户基本很少主动去为电视节目进行打分,或者打分的节目数较少,Pazzani[51]、Adomavicius[52]等人的研究证明了这一观点。根据他们的统计数据表明,只有 15%的用户愿意主动参与电视节目评分,这大大降低了推荐系统推荐结果的可靠性。用户的历史观看行为数据,包括观看时长、观看频率等,无法直接明确的反应用户兴趣偏好情况的为隐性反馈数据。两者相比,隐性反馈数据除了计算比较复杂外,其它均优于显性反馈数据。隐性反馈数据获取方便,数量大,涉及用户和电视节目的数量多,从而使推荐结果更具可靠性,因此,更多的研究者使用隐性反馈数据进行用户偏好建模。比如,Kim[27]等人认为,用户观看某电视节目时间越长、观看的次数越多,则表明用户越喜欢,用户偏好模型可以通过将短期内观看时长、观看次数进行参数化后得到。Shin[42]等人建立的用户偏好模型,则是通过针对不同类型的有线电视用户操作行为给定不同的权重来进行参数化后得到。而 Sanchez[43]等人则是利用隐式马尔可夫模型和基于概率的协同过滤推荐方法来对用户的兴趣偏好进行推测。Fan[44]等人认为,用户的观看顺序也体现了用户对各个电视节目的兴趣偏好情况,详细分析了两者的相关性,并提出了一种序列模式算法来将用户隐性反馈数据参数化。Pyo[45]等人也认为用户对电视节目的偏好情况与其观看的时间序列相关,并加入了观看时长等因素进行了分析和建模。结合显性反馈数据和隐性反馈数据各自的优点,一方面希望能获得明确兴趣偏好信息,另一方面希望能取得一个广泛性的推荐策略,部分研究人员则通过综合使用这两种用户历史行为数据来确定用户兴趣偏好模型。比如Barragáns-Martínez A B[28]E、hrmantraut M[35]、Kurapati K[36]和 Martinez A[41]等人就是根据这两种用户历史行为数据来获得用户兴趣偏好情况的,并在此用户偏好模型基础上,开发出了电视节目推荐系统。
............................
第二章 基础理论知识
一、协同过滤推荐算法
所谓的协同过滤,就是利用用户历史行为数据(包括评分行为)来预测每个用户最有可能感兴趣的物品、服务或者内容。这类算法通过基于邻域或者模型的过滤,根据用户的一系列行为,确定其行为模式并将其分组,从而根据组内其它用户的偏好行为来为用户进行推荐,这类算法在很多场合下能够得到比较好的效果,但是面临严重的冷启动问题(推荐系统建立初期由于缺乏足够的数据从而无法进行推荐),同时还存在着被流行度所干扰的情况。其具体流程如图 2.1。
图 2.1 协同过滤推荐算法一般流程
(一)基于用户的最近邻推荐
该方法的主要实现过程为:在假设用户兴趣偏好不会因为时间而改变的前提下,根据原有的评分数据集,找出与当前用户过去有相似评分行为的其他用户,然后找到相似用户接触过而当前用户尚未接触过的产品 p,对每个产品 p 利用近邻方法预测该用户对产品 p 的评分值,对评分值进行排序,将 TOP-N 推送给当前用户。
..........................
二、基于内容的推荐算法
基于内容的推荐算法(Content-Based Recommendations)是基于物品或服务的相关信息、用户相关信息及用户对物品或服务的操作行为来构建推荐算法模型,为用户提供推荐服务。这里的物品或服务相关信息可以是对物品或服务文字描述的信息、标签、用户评论、人工标注的信息等。用户相关信息是指人口统计学信息(如年龄、性别、偏好、地域、收入等等)。用户对物品或服务的操作行为可以是评论、收藏、点赞、观看、浏览、点击、搜索、购买等。通常情况下,基于内容的推荐算法只依赖于用户自身的行为,不涉及到其他用户的行为。
广义的物品或服务信息不限于文本信息,图片、语音、视频等都可以作为内容推荐的信息来源,只不过这类信息处理成本较大,不光是算法难度大、处理的时间及存储成本也相对更高。
基于内容的推荐算法算是最早应用于工程实践的推荐算法,有大量的应用案例,如今日头条的推荐有很大比例是基于内容的推荐算法。
..........................
二、基于内容的推荐算法
基于内容的推荐算法(Content-Based Recommendations)是基于物品或服务的相关信息、用户相关信息及用户对物品或服务的操作行为来构建推荐算法模型,为用户提供推荐服务。这里的物品或服务相关信息可以是对物品或服务文字描述的信息、标签、用户评论、人工标注的信息等。用户相关信息是指人口统计学信息(如年龄、性别、偏好、地域、收入等等)。用户对物品或服务的操作行为可以是评论、收藏、点赞、观看、浏览、点击、搜索、购买等。通常情况下,基于内容的推荐算法只依赖于用户自身的行为,不涉及到其他用户的行为。
广义的物品或服务信息不限于文本信息,图片、语音、视频等都可以作为内容推荐的信息来源,只不过这类信息处理成本较大,不光是算法难度大、处理的时间及存储成本也相对更高。
基于内容的推荐算法算是最早应用于工程实践的推荐算法,有大量的应用案例,如今日头条的推荐有很大比例是基于内容的推荐算法。
图 2.2 基于内容的推荐算法过程
......................
第三章 面向电视节目推荐的家庭用户模型.....................17
一、问题描述..............................17
二、分时用户模型 .........................17
第四章 基于家庭用户模型的电视节目推荐系统.............27
一、问题描述...........................27
二、推荐系统的架构 .......................27
第五章 推荐系统效果分析...................39
一、测试准备...................39
二、准确率分析...........39
第五章 推荐系统效果分析
一、测试准备
本章通过设计对比实验,利用某广电网络运营商的历史用户行为数据,对本文提出的家庭用户模型及其推荐策略的有效性和稳定性进行了评估。
主要包含四部分内容:(1)推荐准确率测试。以月为单位进行训练,以一周为推荐周期进行了推荐准确率的测试;(2)处理时间测试。以月为单位进行训练,以一周为推荐周期进行了处理时间的测试;(3)推荐覆盖率测试。以月为单位进行训练,以一周为推荐周期进行了推荐覆盖率的测试;(4)推荐准确率有效性测试。在 8 种不同的训练数据规模下对准确率相应于数据规模的变化进行了测试,并针对训练数据产生时间与预测时间的不同距离对应准确率的影响进行了测试。
本文采用的是某广电网络运营商的有线电视机顶盒终端上传的数据进行相关测试,该终端的程序记录了用户收视行为的各种元数据,用户 ID,播放的资源的相关信息,包含了资源 ID、资源名称、资源时长、资源的精准分类(从资源板块-资源栏目-资源子分类),资源的观看情况,即用户观看每个视频资源的开始时间、结束时间。
在采集的数据中,对无效的数据先行过滤掉,当资源完成度小于 5%时这里默认设定用户对其不感兴趣,直接舍弃,这样做可以减少算法计算的时间,提高推荐的效率。
.....................
第六章 总结与展望
一、工作总结
随着近年来广播电视技术的快速发展,可供观众选择的电视节目日益丰富,数量日益剧增,各种各样的电视节目类型日新月异,在丰富用户精神需求的同时,却也导致了用户难以在最短的时间内找到其最感兴趣的节目。因此,如何快速、有效地寻找到用户投其所好的电视节目正成为推荐领域热门的研究课题之一。
本文针对家庭用户模型以及面向家庭用户的电视节目推荐系统开展尝试性研究。通过本文,简单介绍了有线电视推荐系统的实现过程,并让某广电网络运营商实现了电视节目推荐系统性能的提升。
本文的主要工作和创新点概括为以下四个方面:
(1)前期工作:对某广电网络运营商的现状和需求进行了调研,包括现有系统的推荐算法、准确率、运行速度等情况,还包括用户报告、机顶盒数据等情况。同时,查阅了大量相关资料,对电视节目推荐系统的特点、难点,以及用户兴趣偏好建模和面向家庭用户的电视节目推荐算法的研究现状有了进一步了解,从而确定了此次有线电视推荐系统的总体设计方案。
(2)建立面向电视节目推荐的家庭用户模型:先对用户报告进行分析建模,了解目前家庭用户的组合情况;接着,利用 python 计算用户在时域上的相似度和节目相似度,对用户和节目进行 K-聚类,根据常识,设置 K=3。从而获得此次面向电视节目推荐的家庭用户模型,即针对一个机顶盒的收视行为,系统根据时段将收视行为进行拆分(系统默认的时段粒度是 3,即分成工作日白天、工作日夜间、假期),一个机顶盒分解成三个“用户”。然后根据分时模型,基于电视、电影的不同特性以及影响时效,分别设计用户兴趣偏好值的计算公式,包括收视行为对推测用户偏好的影响系数的计算公式。根据用户兴趣偏好矩阵,进一步分析推测家庭成员,以及不同的家庭成员对各类节目的收视习惯,得到最新用户分析报告,用于后续数据管理,并为今后的用户管理和产品管理以及业务决策工作提供依据。
参考文献(略)