1.2 问题的提出
个性化推荐的研究及其实际应用包含三个依次递进的核心关切,分别是输入数据、算法模型和线上应用的经济效益,如图1.2所示。一个典型的个性化推荐系统将用户在物品上的浏览、点击、购买、评论等行为信息作为输入数据,通过构建个性化推荐模型对用户进行偏好建模并给出个性化推荐列表,进而通过用户在推荐列表上的购买和消费行为产生经济效益。
图1.2 典型个性化推荐系统的主要构件及本研究需要解决的核心问题
输入数据是个性化推荐系统的基础,用户-物品评分稀疏矩阵是个性化推荐实际系统中最基本和最常用的输入数据形式。在用户-物品评分矩阵中,每一行代表一个用户、每一列代表系统中的一个商品,而矩阵中的值表示相应用户在相应物品上的打分,例如电子商务网站中典型的1~5星数值评分等。由于系统中的商品往往有数百万甚至数亿个,而每一个用户只购买过少数的商品,因此矩阵中有大量的未知打分,因而打分预测成为个性化推荐的核心问题之一。近年来,矩阵分解等协同过滤技术在打分预测问题上取得了较好的效果并得到广泛应用,然而为何在稀疏矩阵上基于群体智慧的协同过滤得以可行这一根本性的问题并未得到很好的回答,这涉及数据层面上的可解释性问题。本书提出稀疏矩阵的迭代双边块对角结构,指出和证明了稀疏矩阵内在的用户-物品群组关系,并证明了矩阵分解协同过滤对群组的可拆分性这一重要的数学性质,从而为协同过滤的可行性找到了理论依据。同时,将杂乱无章的原始矩阵转化为内在的用户-物品社区结构,一方面降低了数据稀疏性,另一方面将具有相似兴趣的用户及其历史评分聚在一起,从而提高协同过滤算法的预测效果。
在数据的基础上,个性化推荐模型试图对用户的个性化偏好进行建模,从而给出个性化推荐结果。基于隐变量的协同过滤(例如矩阵分解)技术是目前应用最为广泛的推荐模型之一,然而隐变量模型将数据投影到一组未知的空间变量上,因此难以解释原有数据中用户的具体偏好,也难以据此为推荐结果给出直观的推荐理由,例如大多数电子商务推荐系统只是简单地给出“其他用户也购买了”等与真正模型无关的推荐理由。在本书中,提出与传统隐变量分解模型相对应的显式变量分解模型来解决模型的可解释性问题,通过引入属性词显式变量构建用户在属性词上的偏好矩阵,从而使得协同过滤算法具有明确的内在意义,并且可以为最终的推荐结果给出模型内生的推荐理由。
在数据和模型的基础上,个性化推荐算法通过用户在推荐列表上的点击、购买等行为为系统创造经济效益,因此个性化推荐实际上以推荐列表的方式隐形地控制着系统中物品与用户之间的匹配,从而影响推荐算法所在经济系统(如电子商务网站)中的资源分配。虽然电子商务、在线金融等网络应用已经是一个完整的线上经济系统,然而传统的个性化推荐研究主要从计算机科学家的视角出发,关心点击率(click through rate,CTR)、购买率等性能指标,而对个性化推荐在整个系统中的经济学意义较少研究。本书将个性化推荐作为经济系统中资源分配的手段,提出了网络经济系统的生产者-消费者建模框架,并给出了系统最终所实现社会效益(系统总福利)的计算方法,从而对个性化推荐的经济学意义进行解释。在此基础上,进一步提出基于总福利最大化的推荐算法,从而在提高推荐系统用户体验的同时,也提高整个经济系统的社会效益。