system: [SYSTEM]

user: 2. 相关技术 2.1. 实现原理 个性化的推荐系统需要尽可能多完成对数据的采集，大体来说系统包含使用者数据、待推荐产品数据和相关推荐算法三个基本内容。如图1原理框图所示，通过机顶盒已有数据和网络爬虫相关技术，实现对数据的采集。用户的收视数据模块用于完成对用户基本资料和收视行为数据的清洗、分析与存储。用户基本资料是在用户申请表中所填写的包括用户年龄、用户性别和用户的职业资料等静态资料数据。收视行为信息，如观看时长、评分、浏览、收藏、购买等，能更精确反映单个用户的兴趣偏好，从而有助于构造用户画像。电视产品数据包含如名称、导演、演员、语种、地区、标清高清、内容描述等多维度数据，使用数据挖掘、自然语言处理等技术，提取电视产品的关键信息、物品间的关系和特征，从而构建合适的标签体系结构使能够更好的达到推荐的效果。针对不同的使用场景与需求，选择合适的推荐算法能够将用户和商品的关联最大化。在电视产品推荐系统中不仅需要考虑构建用户画像表征的是一个家庭的所有特征，还需要在兼顾算法准确率时考虑算法的运行时长和不同界面下推荐不同内容等问题。不同的推荐算法各有优劣 [ 9 ] ，用户并不能看到算法的运行过程，一切都将通过用户界面进行反馈。所以一个好的、科学的、合理的用户界面，可以提高使用者的体验度，以此来吸引用户的使用 [ 10 ] 。简单来说，一个好的电视产品推荐系统需要将效率与体验充分考虑进去。 图1. 原理框图 2.2. 数据处理 2.2.1. 所需数据 推荐系统所需数据主要分为两类，一类是和用户有关的数据信息，用于构建用户画像；另一类与电视相关产品信息有关，用于构建电视产品标签体系库。从机顶盒获取到的信息主要有用户行为信息(收视、点播、回看等)、电视产品信息和用户的消费信息。消费信息包含用户入网时间、用户状态、状态改变时间、套餐等信息。电视相关产品信息包括正题名、创建日期、导演、演员、出品年代、内容描述、连续剧分类、分类名称等。 2.2.2. 用户画像 用户画像表征用户数据的特定业务需求对使用者进行形式化表述，是通过数据分析和挖掘手段，将用户信息进行标签化的处理。用户画像应用于使用者使用过程中的所有生命周期内，从刚开始对潜在用户挖掘，到对新用户的引流，再到对老用户的培育和对流失用户的回流，用户画像完成对各用户各阶段的不同特征进行深入分析 [ 11 ] 。由于获取的数据是以机顶盒号为单元的，则所构建的用户画像包含一个家庭内所有成员的信息。构建用户画像的主要流程为： 1) 明确问题导向，从数据集的规模和数据能够解决什么问题进行考虑。 2) 数据预处理，主要包括对数据的清洗、集成、变化和规约 [ 12 ] 。数据清洗用于删除原始数据集中的无关、重复数据，筛选掉与主题无关的数据，完成对缺失值和异常值处理。数据集成是将多个数据源合并存在一起的过程。数据变换是将数据进行规约化处理，将数据转化成“适当的、合适的”形式，以适用于挖掘任务及算法需求。数据规约是为了降低无效、错误数据对建模的影响，提高建模的准确性，降低算法的时间复杂度。 3) 特征工程，最大限度地从原始数据中提取特征，减少特征数量或者仅选择最佳特征，供算法和模型使用。 4) 数据建模，对用户行为构建模型从而形成用户画像。 可以把构建用户画像的过程理解为数据挖掘的过程，构建一个好的用户画像，能够判断出该机顶盒用户家庭中的成员分布(家里是否有老人、是否有小孩、孩子或老人的性别和大致的年龄段等)、成员中的活跃用户和每个成员的观看兴趣等信息。针对不能很好的区分家庭成员内每个人的收视偏好，可以通过与时间段、用户观看习惯相结合进行模糊逻辑推理。 2.2.3. 电视产品标签 建立电视产品标签体系库，对电视产品所属标签进行系统的、统一的归类。电视产品信息中所涉及的分类问题是一个多标签问题，需要给每一个电视节目添加一系列的特征标签。这些特征标签是通过对电视产品信息进行分析和挖掘后得到的。如何建立合适的标签体系，在现有应用中如爱奇艺、PPTV等是通过设置一、二级标签的形式进行划分的，这样的划分方式并不能很好的的解决如一部电影/电视剧中同时包含喜剧、爱情或者喜剧、爱情、都市的问题。还需要考虑到的一点就是标签自丰富的问题，从机顶盒获取到的电视产品信息可能存在数据缺失，电视产品信息自身的数据可能维度不够等问题，通常使用爬虫技术和自然语言处理中分词词频统计、同义词转换等技术来解决这类问题。 2.3. 推荐算法 推荐的主要过程是将用户个人信息的特征和物品对象的特征相对应。推荐算法是个性化推荐系统的核心 [ 13 ] ，推荐算法通俗的讲就是利用用户的一些行为，通过数学算法，推测出用户可能喜欢的东西，其很大程度上决定了推荐系统性能的优劣。推荐系统由于数据类型的不同，常用的推荐算法有基于内容的推荐，基于协同过滤的推荐，基于知识的推荐和混合推荐四大类。 2.3.1. 基于内容的推荐 基于内容的推荐算法(Content-Based Recommendations， CB)基于推荐物品或内容找到产品或者内容的相关性，然后基于用户过去的偏好记录向用户推荐相似的产品。其工作原理为：数据挖掘技术用于从产品和用户信息中提取产品特征和用户兴趣偏好特征，从而为用户推荐在特征上与其过去兴趣偏好相似的物品 [ 14 ] 。 2.3.2. 基于协同过滤的推荐 协同过滤推荐(Collaborative Filtering recommendation， CF)与传统的基于内容过滤直接分析内容进行推荐不同，协同过滤分析用户兴趣，在用户群中找到指定用户的相似(兴趣)用户，综合这些相似用户对某一信息的评价，形成系统对该指定用户对此信息的喜好程度预测。协同过滤推荐算法不依赖于物品特征，仅依赖用户的历史行为数据。基于协同过滤推荐算法可分为：基于用户的协同过滤算法UserCF和基于物品的协同过滤算法ItemCF。 2.3.3. 基于知识的推荐 基于知识的推荐(Knowledge-based Recommendation， KB)由于不需要评分数据，高度重视知识源，因此不存在冷启动问题。主要包含基于约束推荐和基于实例推荐两种方法，这两种方法都需要先收集用户需求，在找不到推荐方案的情况下，自动修复与需求的不一致性，并给出推荐的解释。其区别在于推荐方案是如何被计算出来的。 2.3.4. 混合推荐 在电视推荐系统领域常用混合推荐系统进行推荐，这是因为单一算法并不能很好解决电视产品推荐中所遇到例如系统冷启动问题和新用户的问题。如表1常用推荐算法比较所示，对基于内容推荐、协同过滤推荐和基于知识推荐三种推荐方法进行了算法优缺点的分析。 Table 1 Comparison of recommendation algorithm 推荐算法 优点 缺点 基于内容推荐 推荐结果直接，容易解释； 不需要相关领域的知识。 不能解决新用户的问题； 复杂属性不好处理； 要有足够数据构造分类器。 协同过滤推荐 不需要相关领域的知识。 随着时间推移，性能提高； 推荐个性化、自动化程度高； 能处理复杂的非结构化对象。 数据稀疏下效果不佳； 新用户问题； 推荐效果取决于历史数据； 系统开始时推荐质量差。 基于知识推荐 能够将用户需求映射到产品上； 能考虑到非产品属性 知识难获得； 推荐是静态的 表1. 推荐算法常用比较 混合推荐简单来说就是整合多种推荐算法以获得更好的推荐结果，只有综合运用各种方法的优势、扬长避短、具体问题具体分析，才能形成一个效果强大的推荐系统。混合推荐系统的设计结构主要分为三大类，分别是：整体式混合设计、并行式混合设计和流水线式混合设计。根据设计结构大体上分为推荐算法的直接混合和推荐结果的混合。推荐算法直接混合，例如将基于内容的推荐算法和基于协同过滤的算法混合，在使用协同过滤算法时，如果两个用户共同评分项很少甚至没有，则无法计算其相似度，此时便可以利用用户已评分物品的内容特征或者使用用户的基本属性(性别、年龄、职业等)来计算他们的相似度。推荐结果混合，即单独使用不同的推荐算法，然后对各自的推荐结果进行整合，常用的整和方式有预测评分的线性组合、投票机制等。