个性化服务中用户兴趣建模与更新的研究_用户研究论文

个性化服务中用户兴趣建模与更新研究,本文主要内容关键词为:建模论文,个性化服务论文,兴趣论文,用户论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

1 引言

个性化服务系统一般需要经过用户兴趣建模、项目匹配和推荐输出三个阶段来实现个性化推荐[1],其中用户兴趣建模是推荐系统的基础和核心。用户兴趣模型的准确性、时效性直接关系到整个推荐系统性能的优劣。只有当用户的兴趣、偏好和访问模式等用户信息可以很好地被系统“理解”的时候,才可能实现理想的个性化服务。

用户兴趣模型最常采用的是基于关键词的向量空间模型表示方法。该方法适用范围广,表示直观,易于实现,便于后续资源匹配阶段的向量计算。但是该方法无法准确地反映用户兴趣的语义信息,是一种私有形式表示的用户兴趣模型,即每一种表示形式仅能被具体类型的系统所运用,不利于知识的共享与重用[2]。本文引入领域本体,对特征项进行扩展,提出了一种基于本体的用户四元组多兴趣细粒度表示模型和一种动态用户兴趣模型更新机制。它利用本体所包含的语义信息对用户兴趣特征项进行语义联想扩展,得到更加准确的用户兴趣模型,同时利用更新机制捕捉用户兴趣变化。实验表明,基于本体的用户兴趣模型具有良好的服务效果。

2 本体

本体(ontology)目前已成为包括知识工程、信息检索、自然语言处理和知识表示在内的诸多应用领域研究的热门课题,是一种能在语义和知识层次上描述系统的概念模型,其目的在于以一种通用的方式来获取领域中的知识,提供对领域中概念的共同一致的理解,从而实现知识在不同的应用程序和组织之间的共享和重利用。本体是指可共享的明确的规范化的语义描述,包含概念和概念之间的关系[2]。一个专业领域的有关领域概念的本体,一般利用有向图来描述。目前基于本体进行的研究,部分是在wordnet、hownet等通用本体的基础上开展的,部分是在领域本体的基础上进行的。用户兴趣模型要求先计算各个概念的词频,故涉及的概念不能太多,否则计算量太大,故本文采用领域本体。

目前个性化服务系统测试数据集主要来自MovieLens、EachMovie、Netflix。这些数据都是基于电影领域,且都是免费和公开的。另外电影的各种文献资料也很容易从各种文献数据库和网络中得到。因此,笔者根据全球电影数据库IMDB(http://www.IMDB.com)相关信息和在其他国外一些供试用的电影领域本体的基础上,采用OWL语言,利用Protégé2000搭建了电影领域本体,包括影片、演员、导演、国家等和他们之间的相关关系。电影领域本体如图1所示。

3 用户兴趣模型构建

3.1 用户兴趣模型的细粒度表示

用户的兴趣特点是多样的,并且是时时变化的。如果简单地把用户兴趣划分为感兴趣和不感兴趣两大类,这种模型刻画过于简单,不能有效和充分地描述用户多个方面的多种兴趣特征,也不能及时跟踪用户兴趣的变化,特别是一些频繁更新的短期兴趣的变化,来实现对兴趣模型的及时更新。考虑到上述原因,本文构建了“用户-兴趣类别-兴趣特征”的三级细粒度管理方式,详见图2所示。该用户兴趣模型能够分门别类地描述用户兴趣主题,从而减少不同类别的兴趣主题之间的干扰,利于频繁短期兴趣的变化更新,提高模型表达精度。另外,该用户兴趣模型能够对用户未来可能的兴趣主题做出预测,且兴趣主题的形成过程简单,描述准确。该模型所采用的描述方式易于依照领域本体由下到上进行归纳合并,并最终形成明确主题。

设用户有n个不同领域的爱好,用户多兴趣细粒度模型可采用如下四元组表示:

3.2 相似度

传统的语义知识相似度计算公式仅通过计算树形(或图形)结构中两个词结点间的距离(边的数量),来衡量词语间的匹配程度,认为距离越近,两个词就越相似。这种办法主要的缺陷是假定树中所有的结点和边对相似程度计算的作用是相同的。另外一些改进的相似度计算公式只考虑概念结点在本体中所处的深度对相似度计算的影响,没有考虑到结点的密度对概念间相似程度的影响。本文借鉴《基于本体和加权互信息的专业知识检索》[3]一文的思想,从利用信息论的有关概念出发,采用互信息计算办法,进行词语间的匹配,从而解决上述问题,改进语义知识相似度计算的精度。

3.3 用户主题的确定

本文构建一个电影推荐系统的原型系统。一般电影都是按照类别进行归类的,即文本的分类已经确定。笔者把用户浏览过的网页按照电影类别进行分类,计算出用户对于每个类别的兴趣度,确定出用户感兴趣的主题。

本文把用户浏览过的页面作为训练集,选择KNN分类器进行构建。Yang等通过实验对用户兴趣模型学习方法进行比较分析,结果表明KNN具有较好的分类性能,在训练集较少的情况下,也取得很好的分类效果。因此,本文选择KNN分类器作为映射关系,建立用户兴趣细粒度模型。训练样本均来自用户感兴趣样本。具体的用户浏览页面分类算法[4]如下:

5)兴趣主题集合如果为空,程序结束。

笔者把用户浏览过的所有网页参照上述算法按照电影的类别依次进行分类,选取前四个归属网页最多的电影类别,作为用户感兴趣的主题。算法中的相似度计算公式采用本文所介绍的加权互信息相似度计算公式。

4 用户兴趣模型更新策略

用户兴趣是不断变化的,会随着时间的推移而发生改变。因而用户兴趣模型不能一成不变,也应随着用户兴趣的发展变化而进行相应的调整更新,来确保推荐系统的有效性和实用性。另外,从存储和运行的效率来考虑,也需要限定用户兴趣模型的容量,淘汰用户次要的和过时的兴趣特征。用户多兴趣细粒度模型主要通过自适应调整用户兴趣特征词的权重和用户的兴趣主题变动来体现用户兴趣的转移,其中表示模型中的时间特征项T就是为模型的更新提供依据而设立的。

该用户兴趣模型的更新主要从用户兴趣主题更新和特征词权重更新两个方面来考虑。

用户兴趣主题更新方法:当系统发现用户一个兴趣主题时,对该用户现有兴趣主题进行查询。如果用户模型中已经包含该兴趣主题,则对该主题的权重和时间进行修改。如果发现的兴趣主题不在用户兴趣模型中,且用户兴趣模型的存储空间有剩余,则直接在用户兴趣模型中生成一个新的兴趣主题。如果用户兴趣模型的存储空间已满,则需淘汰权重小的兴趣主题后,添加新的兴趣主题。

特征词权重更新方法:首先参照公式(3)来进行权值调整,即根据系统当前时间T与原来的时间项t之间差距的大小来降低权值的比例,然后与初始权重相加得到新的权重。最后把权值的修改时间修改成系统当前时间,见公式(4)。调整系数α的值越小,特征项权重随时间降低的速度也就越快。α的取值可以根据具体应用的需要来确定。

(3)

t=T (4)

其中,T是当前系统时间,t是兴趣主题中特征词的创建或修改的时间。w′为w的更新后的值。w[,c]为特征词特征选择时的初始权重。

完全由系统通过机器学习的方法得到的用户兴趣主题或兴趣结点,有时候不能真实、准确地体现用户意图。因此,系统还应该提供手动更新的功能。当用户觉得系统不能很好地理解自己意图的时候,可以采用手动方式编辑兴趣主题,或者添加或者删除兴趣主题。

5 实验

为了验证用户兴趣模型的效果,笔者选择MovieLens(http://movielens.umn.edu)测试数据集进行评价。MovieLens是一个电影推荐系统,用于接收用户对电影的评分并提供相应的电影推荐列表。本文随机选取了科幻、喜剧、恐怖片、动画、爱情5种影片类型的250多部电影,每个领域50多部电影。为了保证测试的电影与训练样本不同,本文另外找出各个类别电影20部(共100部),形成待推荐电影。利用协同过滤推荐引擎进行推荐,选择信息检索领域的查全率R和查准率P作为衡量标准。

同类学习比较中,本实验构建了5个用户兴趣模型。假定这5个用户都喜欢欣赏科幻电影,第一个用户评价了10部,然后每个用户依次增加评价10部,用户兴趣模型依次变化的为User1,User2,…,User5;不同类学习中,首先构建1个爱好科幻电影的用户兴趣模型UserA,该用户新的兴趣爱好一直在发生变化,依次评价了喜剧、恐怖片、动画、爱情各10部电影。用户兴趣模型依次变化为UserA1,UserA2,…,UserA5。推荐结果如图3和图4所示。

图3 用户兴趣模型同类学习比较

图4 用户兴趣模型不同类学习比较

从图3中可以看出,随着用户欣赏同类电影的数量的不断增加,用户兴趣模型可以不断地进行累加学习,其用户兴趣模型捕捉的科幻领域内的主题不断增多,其推荐的准确性不断地得到提高。学习算法能动态地捕捉到该领域新的概念,能随着学习的进行实时地更新用户兴趣模型。在图4中,用户的兴趣爱好发生了转移,用户兴趣模型捕捉的兴趣主题呈分散趋势,此时推荐效率呈下降趋势。学习算法能够随着用户兴趣的转移合理地“遗忘”掉用户过去的爱好,而积累用户新近感兴趣的电影主题。

6 结束语

本文在本体的基础上,提出四元组用户多兴趣细粒度模型及模型的更新策略。该模型能够对兴趣主题进行有选择的遗忘,调整用户对各个兴趣主题的爱好程度,并周期性地将用户短期兴趣中的重要信息转移到长期兴趣中。通过不断的更新与优化,用户兴趣模型能及时体现用户兴趣的变化,准确反映用户的真实兴趣信息,为实施个性化服务提供了保障。

收稿日期:2009年9月4日

标签:;  ;  ;  ;  

个性化服务中用户兴趣建模与更新的研究_用户研究论文
下载Doc文档

猜你喜欢