时间:2016-06-24 09:59 文章来源:http://www.lunwenbuluo.com 作者: 穆云磊 周春晖 俞东 点击次数:
摘要:个性化推荐系统可以帮助用户在海量的项目集合中找到他们喜爱的项目,其被广泛地应用于岗位推荐系统、电子商务网站以及社交网络平台中。文章提出了一个基于文档向量和回归模型的评分预测框架,它利用文档向量表示模型将非结构化的评论文本用相同维度的向量表示,进而构造出刻画用户和产品的特征向量,最终融合多个回归模型进行评分预测。在基于真实的数据集上的实验表明,与基准模型相比,其显著改善了数据稀疏情况下评分预测的准确性。
关键词:推荐系统;数据稀疏;评论文本;文档向量;回归模型;评分预测
引言
个性化推荐系统帮助用户在网络上发现各类产品,并做出决策。越来越多的网站,如Last.fm、Amazon、Taobao、YouTube、Yahoo等,开发了推荐系统并将其提供给它们的用户。这些推荐系统可以帮助用户从海量的产品集合中找到他们喜爱的歌曲、视频、书籍以及各种商品[1]。近年来,协同过滤(CollaborativeFiltering)技术在个性化推荐系统中取得了巨大的成功。其主要包括两类方法[2]:基于邻域的方法(Neighborhood-based)和基于模型的方法(Model-
based)。然而,冷启动问题[3]一直影响着协同过滤方法应用的效果。这里冷启动问题是指:当一个新用户或新产品加入系统时,用于刻画他们特征的信息非常稀少,导致为新用户推荐产品或将新产品推荐给用户变得非常困难。
值得注意的是,用户在给产品评分的同时还可能写下一段评论。传统的协同过滤方法仅仅将评分作为数据源,而忽略了蕴含在评论中丰富的信息。事实上,我们可以利用这些蕴含在评论中的信息来缓解传统方法中存在的冷启动问题。特别是,在评论中用户不仅会讨论这个产品的不同方面,还蕴含着他们对这些方面的情感。例如,当用户评论笔记本电脑时,他会对某款笔记本电脑的“外形”和“性能”等方面表达正面的情感,而对它的“续航”和“散热”等方面表达负面的情感。
本文基于文档向量和回归模型,提出一个高效的评分预测框架。该框架利用文档向量表示模型,构造出比协同过滤更加精确的用户和产品特征空间,并将多个回归模型融合以生成有效的评分预测器。在数据稀疏的情况下,框架产生的评分预测器的效果显著高于传统的协同过滤方法。
1方法概述
本文主要解决的问题是如何在用户评分数据稀疏时利用评论文本提高评分预测的准确度。区别于传统方法中以评分作为单一数据源,本文同时使用评分和评论作为数据源,利用评论中的丰富信息缓解传统协同过滤推荐方法中存在的冷启动的问题。图1展示了一个评分与评论数据的例子,它来自电子商务网站Amazon.com。在这个例子中,用户给产品打了四颗星(评分)的同时,写了一段评论。我们的主要任务是利用用户评分与评论的历史数据,构造刻画用户和产品的特征,预测用户对未产生过行为的产品的评分。
我们可将用户集合表示为,产品集合表示为。表示可见评分集合,表示评论集合,评分和评论的全集记为。本文涉及的相关记号见表1。
基于文档向量和回归模型的评分预测框架的主要流程表述如下。首先,对原始的评论文本进行预处理,预处理过程主要包括分词、去除停用词和词干提取,然后,通过文档向量表示模型(doc2vec)[4]构建刻画用户与产品的特征向量,接着,利用这些向量和用户和产品的偏置构造用户-产品对特征实例集合,最后,以评分作为标签,构建多个回归模型并融合为最终的评分预测模型。图2展示了基于文档向量和回归模型评分预测框架的主要流程。
该评分预测框架的特点为:①使用无监督的文档向量模型将每个评论转化到相同维度的向量空间中,并以此为基础构造分别刻画用户和产品的向量;②在①的基础上组合用户-产品对的特征实例并构造数据集;③将评分预测转化为机器学习中的回归问题,利用回归模型提高评分预测精度。
2文档向量表示模型
文档向量表示模型[4]能够为一个变长的输入序列构造表示结构,其中变长的输入序列可以是任意长度的文本:句子、段落或者文档。它的优点是无需面对不同的任务调节单词的权重也无需依赖句法分析树。
文档向量的学习方法受到词向量[5]学习方法的启发。在词向量学习方法中,词向量被用来帮助预测句子中的下一个单词,因此,尽管词向量被随机初始化,它们作为预测任务的间接结果,仍然能够捕捉语义信息。在文档向量模型中使用相似的想法,文档向量也被用来做预测任务,这里的预测任务是预测给定多个从文档中采样的上下文的下个单词。
图3为文档向量学习框架。每个文档被映射为一个惟一的向量,由矩阵D中的列表示,同时每个单词也映射为一个惟一的向量,由矩阵W的列表示。文档向量和词向量被平均或连结以预测上下文中的下个单词。
与词向量学习方法相比,文档向量学习框架增加了文档标记,用于将每个文档向量映射到文档矩阵D中。这里,文档标记可以被认为是另一个单词,它的作用是记忆现有上下文缺失的部分,或者是文档的主题。
在文档向量模型中,上下文是从文档中通过滑动窗口采样的固定长度文本。对于从同一个文档中采样的上下文,它们共享同一个文档向量。而单词向量矩阵W则是通用的。即,对于所有的文档,表示“good”的向量是一样的。
文档向量和词向量使用随机梯度下降法(SGD)学习得到,其中梯度由反向传播算法得到。在每一步梯度下降中,可以从随机的一个文档中采样一段固定长度的上下文,然后根据图3中的网络计算误差梯度以及使用梯度更新模型的参数。
在预测阶段,对于一个新的文档,我们需要执行一个推断的步骤来计算其向量。这个步骤仍然是通过梯度下降实现。在此步骤中,模型的其余参数包括词向量矩阵W和Softmax权重等,都是固定的。
在模型训练之后,文档向量可以被用作描述文档特征。在本文的评分预测框架中,文档向量被用来将每一个评论映射到相同维度的向量空间中,并进一步地用于刻画用户和产品特征向量的构造。
3特征实例
⑴用户和产品特征向量构造
通过将每个评论看作一个文档,并赋予其标记,使用文档向量表示模型,我们将每个评论都映射到相同维度的向量空间中。形式化地,对于评论duv,其对应的评论向量记为xuv,这里,。
对于用户u,我们使用其所有评论的向量平均作为其特征向量:
⑴
其中,表示用户u的评论集合。
联系方式
随机阅读
热门排行