基于统一概率模型的个性化用户标签建模与推荐方法转让专利

申请号 : CN201010546780.1

文献号 : CN102004774B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 唐杰张宁

申请人 : 清华大学

摘要 :

本发明公开了一种基于统一概率模型的个性化用户标签建模与推荐方法,包括以下步骤:S1、统计社会标签网站上用户的标注行为;S2、对用户的标注问题进行形式化定义;S3、建立基于用户标注的话题模型,其为一统一概率模型,称为UdT模型;S4、建立基于所述UdT模型的标签推荐系统的框架,所述框架是通过学习用户的兴趣并且根据兴趣中包含的语义信息来进行推荐;S5、验证所述标签推荐系统的框架。实验结果表明本发明提出的方法可以有效地发掘用户的兴趣并且提高标签推荐的准确率。

权利要求 :

1.一种基于统一概率模型的个性化用户标签建模与推荐方法,其特征在于,包括以下步骤:S1、统计社会标签网站上用户的标注行为;

S2、对用户的标注问题进行形式化定义;

S3、建立基于用户标注的话题模型,其为一统一概率模型,称为UdT模型;

S4、建立基于所述UdT模型的标签推荐系统的框架,所述框架是通过学习用户的兴趣并且根据兴趣中包含的语义信息来进行推荐;

S5、验证所述标签推荐系统的框架;

所述步骤S2具体包括以下步骤:

S21、将用户的标注行为形式化为一个三元组,所述三元组包括用户、标签和资源三个元素;

S22、形式化定义标注问题中的话题分布,具体来说,建立对应于用户u∈U的T维话题分布向量θu∈RT,其中,向量θu的各项满足 每一个元素θuz表示用户u对话T题z感兴趣的概率;并建立与涉及不同话题的文档d∈D对应的T维话题分布向量θ∈R,其中向量θ的各项满足 其中每一个元素θz表示文档d涉及话题z的概率,UT表示所有用户组成的集合,R 表示T维实数向量,D表示标签推荐问题的输入数据;

S23、建立基于用户兴趣的话题模型,其中,用户兴趣被描述成一个各种话题的组合,对于不同话题的兴趣有不同的概率,该模型用一个该用户所使用的标签t的多元正态分布{p(t|θu}来表示,分布{p(t|θu}中概率值最大的标签t在语义上代表了这个话题;

S24、建立文档的话题模型,该文档的话题模型由两个正态分布组成:单词w的概率分布{p(w|θ)}和标签t的概率分布{p(t|θ)},θ表示文档d的话题的多元正态分布;

所述步骤S3具体为:

估计UdT模型中的两类未知参数:(1)M个文档的话题的分布θ、基于用户兴趣的话题分布θu,M个文档的伯努利分布λ和T个话题的单词分布φ;(2)对于每一个标签tdi,与其相关的抛硬币结果sdi、分配的话题zdi,所述抛硬币结果满足伯努利分布λ;对于文档d中的每一个单词wdi,与其相关的话题z′di;对于用户u使用过的每一个标签tui,与其相关的话题zui;

所述估计UdT模型中的两类未知参数的方法为:首先估计(a):关于话题z的后验分布,并利用它估计第一个生成过程中的话题分布θu,然后估计(b):关于抛硬币结果s和话题z的后验分布,然后利用它得到第二个生成过程中的参数θ,λ,φ和ψ,其中ψ为单词的分布,所述第一个生成过程用来模型化用户兴趣的话题分布;所述第二个生成过程用来模型化标注的文档的话题分布;

在步骤S4中,将UdT模型与语言模型相结合来建立所述标签推荐系统的框架;

所述将UdT模型与语言模型相结合的方法如下:

首先将两个模型计算出的分数归一化,然后根据分数所占的权重将两种分数相加,从而找到只在一个模型的候选集合中出现的标签;或者先对利用UdT模型推荐的标签进行排序,然后用信息检索方法挑选排名前一定数量的标签重新进行排序。

说明书 :

基于统一概率模型的个性化用户标签建模与推荐方法

技术领域

[0001] 本发明属于互联网技术领域,尤其涉及社会标签网站中个性化用户标签的学习理解和推荐技术,具体为一种基于统一概率模型的个性化用户标签建模与推荐方法。

背景技术

[0002] 社会标签(Social tagging)是Web2.0的一个主要特性,它允许用户自由地标注各种资源,例如网页、学术论文和多媒体资源。社会标签可以帮助用户分类整理和查询各类信息,同时,它对于很多实际应用都有很大的价值,包括网络搜索、扩充查询、个性化搜索、网络资源分类和聚类。随着社会标签网站的出现和快速发展,例如社会标签网站(Flickr、Picassa、YouTube、Plaxo)、博客(Blogger、WordPress、LiveJournal)、百科(Wikipedia、PBWiki)、微博(Twitter、Jaiku),标签系统毫无疑问成为组织大规模增长的社区数据的重要手段之一。
[0003] 近来,标签推荐成为社会标签研究的一大热点。标签推荐就是与用户共享的资源推荐最相关的标签。标签推荐的作用主要有两方面:一是对于社会标签网站来说,标签推荐可以扩大资源的标签集,从而增加检索资源时的索引集;二是对于用户来说,与其他的推荐系统类似,标签推荐的目的是增强用户在标注过程中的用户体验,缩短用户的思考时间。实际应用中的标签推荐更为复杂和具有挑战性。首先,实际社会标签网站中资源受欢迎程度满足幂定律,这表明绝大部分的资源只被标注过1次或2次,所以很可能有某个资源只被一个或没有被任何用户标注过。这种情况下,协同过滤便不再适用,所以需要进一步的探讨网络资源之间的联系和标注在其他类似资源上的标签。其次,不同的用户会使用不同的标签标注同一个资源,这取决于个人习惯。因此,需要设计一个用户个性化的标签推荐系统来增加用户体验,鼓励用户标注更多的资源。个性化标签推荐将结合用户的标注历史进行推荐,目的是针对每一特定的用户,对特定的资源进行标签推荐。
[0004] 目前的个性化标签推荐主要有两种方法:(1)基于内容的方法;(2)基于图结构的方法。其中基于内容的方法通常从文本信息(网页内容、学术论文、标签和资源的描述)中学习用户的兴趣,进而可以为新用户和新资源进行推荐。基于图结构的方法相比基于内容的方法通常有更多的假设和约束条件,例如假设所有要被推荐的资源和用户在过去的数据中都已出现过。然而这种假设在实际应用中通常是无法满足的。这是因为标签推荐系统需要在系统对网络资源或用户一无所知的情况下仍然可以做出合理的推荐。两种方法相比,基于内容的方法的优点在于它适用于新用户和新资源,但这种方法的准确率不如基于图结构的方法。而基于图结构的方法只适用于老用户和老资源,虽然准确率高,但不能处理新用户和新资源的情况。
[0005] 为了充分利用社会标注系统的网络结构信息,需要对用户、资源和标签之间的关系进行建模。目前有许多研究在对社会标签网络进行建模。例如,社会标签系统被描述成一个由用户、标签和资源构成的结点组成的三元网络。这个三元网络被分解成一个二元网络和一个一元网络来学习其中的潜在结构。有的研究者将社会标签系统模拟成一个三元网络,增加了社会维度(用户),将传统的二元网络下的本体模型扩大至三元。有的研究者提出了一个社会标签网络图,其中标签被视为连接异构领域不同资源的桥梁,设计了基于这个网络图的半监督分类算法。这些方法都在一个网络图上研究社会标注系统。另一个研究社会标注系统的方法是用一个生成模型来模拟社会标签标注过程。例如,Wu等人设计了一个概率生成模型,模型中,社会标签系统中的三个实体(标签、资源、用户)被映射到同一个概念空间,用一个多维向量表示这个概念空间,其中每一维对应一个知识类。另外,基于LDA(Latent Dirichlet Allocation)和PLSA(Probabilistic Latent Semantic Analysis)的层次贝叶斯模型也被用于模型社会标注。
[0006] Web2.0的兴起带动了对于标签推荐的研究进展。有一些方法是基于用户标注的历史信息。例如AutoTag是由Gilad Mishne特别为博客设计的标签推荐系统。这个系统首次采用了信息检索方法来估计博客之间的相似性,并为要被推荐的博客寻找相似的博客,并将标注在这些相似的博客上的标签进行排序,排序依据使用频率,最后得出推荐的标签。这个系统也考虑到用户信息,使用的信息检索方法较为简单。另一个标签推荐系统是FolkRank算法,它利用社会标签网络中的图结构信息。这个算法是著名算法PageRank的扩展。有的研究者通过基于张量分解的方法学习标签的排序,从而进行推荐。还有的研究者利用张量降维的方法进行标签推荐。上述的基于图结构的方法依赖于较为紧密的社会标签网络,除了这些方法,一些基于语义的方法也十分有效,例如有Wu等人设计的算法。然而,这些方法都没有考虑到用户特定的兴趣。
[0007] Xu等人利用协同标注信息来进行标签推荐。他们的推荐方法拟在推荐那些被大批用户标注在目标资源上的标签,并且希望可以通过最小化所推荐的标签的概念上的重复来允许推荐出的标签覆盖资源的各个面,这个算法与Del.icio.us网站所使用的方法类似,都不能处理新的资源。有的研究者设计P-tag算法自动地为网页生成个性化的标签。这些自动生成的标签不仅与网页上的文本信息相关也与浏览者桌面上的文件内容相关。有的研究者针对Flickr网站的标签推荐问题,在Flickr网站上,每当一个用户提交一副图片和一些标签时,系统会自动显示一个排了序的标签候选集给用户,这个标签候选集是通过之前用户输入的标签和其他标签共同出现的关系而生成的。但是这个方法依赖于用户手工输入某些标签,然后系统自动地进一步推荐其他标签,不能完全应用于只有资源但没有任何用户标注过的问题上。不仅如此,由于他们只考虑了共同出现的数据,所以可能会出现话题漂移的问题。有人介绍了一种个性化的互动性的标签推荐系统,同样是在Flickr网站,系统会特殊考虑用户的标注数据来进行推荐。由于这个算法也依赖于标签同现,所以也存在上面方法的缺点。
[0008] 越来越多的研究者开始关注依赖于用户的信息并且希望可以进一步地从他们的标注行为中认识用户并且理解他们潜在的兴趣和偏好。有的研究者尝试利用之前用户的标注信息来进行推荐。用户之前使用过的标签在很大程度上表明了用户的偏好和兴趣,且对于推荐有很大的帮助。有的研究者分析用户浏览网络的行为来预测用户对于某幅图片应使用的标签。有的研究者使用一个基于层次化标签聚类的方法进行个性化的标签推荐。其他一些研究者研究了实时高效的标签推荐系统。还有的研究者设计了为文本搜索和数字图书馆设计的自动标签系统。
[0009] 由于问题空间巨大,因此效率和准确性一样非常重要。在以上的设计的方法中,他们使用分割图的方法来提高准确率同时降低算法复杂度。在实际应用中,数据集非常大且用户希望得到实时的推荐结果。因此,如何保证高效率地进行个性化的用户推荐是这个领域内的一大挑战。同时,社会标注的动态特性也是另一个研究问题。

发明内容

[0010] (一)要解决的技术问题
[0011] 本发明要解决的技术问题在于,如何提供一种应用于互联网络中的个性化用户标签建模与推荐方法,从而界定个性化的标签标注行为,并通过用户标注的历史记录对其标注的某个资源的标签进行预测。
[0012] (二)技术方案
[0013] 为解决上述技术问题,本发明提供了一种基于统一概率模型的个性化用户标签建模与推荐方法,基于统一概率模型的个性化用户标签建模与推荐方法,包括以下步骤:
[0014] S1、统计社会标签网站上用户的标注行为;
[0015] S2、对用户的标注问题进行形式化定义;
[0016] S3、建立基于用户标注的话题模型,其为一统一概率模型,称为UdT模型;统一概率模型是一种将所有模型化的任务都描述在一个模型中的概率模型。
[0017] S4、建立基于所述UdT模型的标签推荐系统的框架,所述框架是通过学习用户的兴趣并且根据兴趣中包含的语义信息来进行推荐;
[0018] S5、验证所述标签推荐系统的框架。
[0019] 其中,所述步骤S2具体包括以下步骤:
[0020] S21、将用户的标注行为形式化为一个三元组,所述三元组包括用户、标签和资源三个元素;
[0021] S22、形式化定义标注问题中的话题分布,具体来说,建立对应于用户u∈U的T维话题分布向量θu∈RT,其中,向量θu的各项满足 每一个元素θuz表示用户u对话题z感兴趣的概率;并建立与涉及不同话题的文档d∈D对应的T维话题分布向量θ∈RT,其中向量θ的各项满足 其中每一个元素θz表示文档d涉及话题z的概率,R表示实数向量;
[0022] S23、建立基于用户兴趣的话题模型,其中,用户兴趣被描述成一个各种话题的组合,对于不同话题的兴趣有不同的概率,该模型用一个该用户所使用的标签t的多元正态分布{p(t|θu}来表示,分布{p(t|θu}中概率值最大的标签t在语义上代表了这个话题;
[0023] S24、建立文档的话题模型,该文档的话题模型由两个正态分布组成:单词w的概率分布{p(w|θ)}和标签t的概率分布{p(t|θ)},θ表示文档d的话题的多元正态分布。
[0024] 其中,所述步骤S3具体为:
[0025] 估计UdT模型中的两类未知参数:(1)M个文档的话题的分布θ、基于用户兴趣的话题分布θu,M个文档的伯努利分布λ和T个话题的单词分布φ;(2)对于每一个标签tdi,与其相关的抛硬币结果sdi、分配的话题zdi,所述抛硬币结果满足伯努利分布λ;对于文档d中的每一个单词wdi,与其相关的话题z′di;对于用户u使用过的每一个标签tui,与其相关的话题zui。
[0026] 其中,估计参数的方法为:首先估计(a):关于话题z的后验分布,并利用它估计第一个生成过程中的话题分布θu,然后估计(b):关于抛硬币结果s和话题z的后验分布,然后利用它得到第二个生成过程中的参数θ,λ,φ和ψ,其中ψ为单词的分布,所述第一个生成过程用来模型化用户兴趣的话题分布;所述第二个生成过程用来模型化标注的文档的话题分布。
[0027] 其中,在步骤S4中,将所述UdT模型与语言模型相结合来建立所述标签推荐系统的框架。
[0028] 其中,将所述UdT模型与语言模型相结合的方法如下:
[0029] 首先将两个模型计算出的分数归一化,然后根据分数所占的权重将两种分数相加,从而找到只在一个模型的候选集合中出现的标签;或者
[0030] 先对利用UdT模型推荐的标签进行排序,然后用信息检索方法重新排序挑选排名前一定数量的标签重新进行排序。
[0031] (三)有益效果
[0032] 本发明设计了一个基于用户的话题模型(UdT),来同时对用户的兴趣和文档的话题分布进行建模。相比现有方法,UdT模型可以自动地识别出哪些被标注的标签是依赖于用户特定兴趣的,哪些被标注的标签是由资源整体的话题分布决定的。然后,使用设计出的UdT模型可以来解决标签推荐问题。有两种不同的结合策略来利用UdT模型提高标签推荐的准确率。实验结果表明本发明提出的方法可以有效地发掘用户的兴趣并且提高标签推荐的准确率。

附图说明

[0033] 图1是本发明所提出的UdT模型图;
[0034] 图2是本发明方法中设计的标签推荐系统的框架;
[0035] 图3是本发明的模型设计的出发点(社会标签网站的实例说明);
[0036] 图4是ACT模型图;
[0037] 图5是使用Bibsonomy数据集的precision图表;其中LM表示使用语言模型来推荐标签;ACT表示结合语言模型和ACT模型来推荐标签;UdT1表示使用结合策略一,用UdT模型来推荐标签;UdT2表示使用结合策略二,用UdT模型来推荐标签。
[0038] 图6是关于话题个数的标签推荐的性能示意图;
[0039] 图7是LDA模型图;
[0040] 图8是基于用户v.s.通用的话题模型;其中UdT表示本发明设计的模型,而UdT-表示没有将用户兴趣考虑在内的话题模型;
[0041] 图9是个案研究示意图;
[0042] 图10是本发明实施例的方法流程图。

具体实施方式

[0043] 下面结合附图和具体实施方式,对本发明做进一步说明。
[0044] 本发明通过对实际数据的统计分析,研究用户的标注行为和标注目的,将社会标签网站的个性化标注问题进行形式化定义,其中将标注行为形式化为三元组,并将每一个用户的兴趣描述成一个话题分布,而将标注在每一个资源上的标签模型化成一个通用的标签或一个基于用户特定兴趣的标签,两者都是在一个概率生成过程中学习到的。其中,提出了一个统一的概率模型(User-dependent Tagging Model,简称UdT模型)来描述基于用户的标注行为,这个模型估计了通用的话题分布和基于特定用户的话题分布的组。然后,设计了一个基于UdT模型的标签推荐方法,并给出两种推荐策略:分数的线性和与语言模型。最后,在真实数据的Bibsonomy网站上与基线算法(基本语言模型和作者-会议-话题模型(Author-Conference-Topic model,ACT模型))进行对比评估。如图10所示,本发明的方法包括以下步骤:
[0045] 步骤1:统计社会标签网站上用户个性化的标注行为;
[0046] 步骤2:对用户的标注问题(可称为社会标注问题)进行形式化定义;
[0047] 所述的步骤2包括:
[0048] (1)将用户标注行为形式化为一个三元组。一个社会标签网站有以下几个元素:用户、标签和资源。用户用u∈U表示,U表示所有用户组成的集合;标签用t∈T表示,T表示所有标签的集合;资源用r∈R表示,R表示所有资源的集合。用户,标签和资源构成了一个三元组,标签推荐问题的输入数据(即用户的标注)为D={(u,r,t)},u∈U,r∈R,t∈T,输出数据(即推荐的标签)为T(u,r)=arg max P(t|u,r)。因此,用户的一次标注行为可以看作是由一个这样的三元组(ri,tj,uk)组成的,其表示用户uk对资源ri进行了标注,使用的标签是集合tj。所以,为了学习一个基于用户的标注模型,有以下的训练集数据:D={(r1,t1,u1),…,(rN,tN,uN)}。其中,ti表示用户ui对资源ri标注的标签集合,N是标注总次数。社会标注问题考虑的是对社会标签网站中已标注的标签进行建模和分析;
而标签推荐问题考虑的是在分析社会标注问题的基础上对新的资源进行标签推荐。
[0049] 此外,本发明中其他要用到的符号和解释如下表1所示:
[0050] 表1
[0051]
[0052] (2)形式化定义社会标注问题中的话题分布。在社会标注问题中,一个用户通常会有许多不同的兴趣和相应的话题。形式化地讲,每一个用户u∈U有一个与其对应的T维话题分布向量θu∈RT,其中向量的各项满足 向量中的每一个元素θuz表示用户u对话题z感兴趣的概率大小。类似地,对于一个文档来说,它也会涉及关于各个不同话T题的信息,因此,每一个文档d∈D也有一个与其对应的T维的话题分布向量θ∈R,其中向量的各项满足 同样地,其中的每一个元素θz表示了文档d涉及话题z的概率大小。
[0053] (3)建立基于用户兴趣的话题模型。基于用户u兴趣的话题模型是用一个其所使用的标签的多元正态分布{p(t|θu}来表示的。本发明中,用户的标注行为被看成用户的兴趣的表现方式,因此可以从用户使用过的标签来考察用户的兴趣。用户的兴趣被描述成一个各种话题的组合,但是对于不同话题的兴趣有不同的概率。这个模型假设用户使用的标签遵循对应于每个话题的标签分布p(t|θu)。因此,分布中概率值最大的标签在语义上代表了这个话题。
[0054] (4)建立文档的话题模型。与用户兴趣的话题模型不同的是,文档的话题模型由两个正态分布组成:单词w的概率分布{p(w|θ)}和标签t的概率分布{p(t|θ)}。模型假设文档中单词的采样遵循分布{p(w|θ)},而标注在文档上的标签的采样遵循分布{p(t|θ)}。
[0055] 步骤3:提出基于用户的标签模型(User-dependent Tagging Model,简称UdT模型),如图1所示。该模型同时对文档、标签和用户的话题分布进行建模,并可以区分用户个性化的标注行为和通用的标注行为。UdT模型的基本思想是用两个相关的生成过程同时对标注的文档和用户兴趣进行建模。第一个生成过程(见图1的右半部分)用来模型化用户兴趣的话题分布。其生成过程为:(1)对于每一个话题z,分别分配一个关于这个话题z的标签分布φz和关于这个话题z的单词分布φz′,φz和φz′都满足先验(概率)分别为β和β′的狄利克雷分布;(2)对于每一个用户u∈U,首先为用户u分配一个先验为αu的狄利克雷分布θu,作为关于用户u的话题分布;其次对于每一个被用户u使用的标签tui,从话题分布θu分配一个话题zui;并从关于话题的单词分布 分配一个单词wui;第二个生成过程(见图1的左半部分)用来模型化标注的文档的话题分布,其具体生成过程为:对于每一个文档d,首先为文档d分配一个先验为(概率)α的狄利克雷分布θd,作为关于文档d的话题分布;其次根据s的取值判断标签是跟用户个性化兴趣相关还是跟整体文档的话题有关。s的取值满足分布λ=P(s=0|d)~beta(γu,γ);然后,对于标注在文档d上的每一个标签tdi,与该标签抛硬币结果sdi,其中sdi满足关于λ的伯努利分布sdi=bernoulli(λ);如果s=0,则从基于用户的话题分布θu分配一个话题zui;且从分布分配一个标签tdi;否则从通用的话题分布θd分配一个话题zdi;且从分布 分配一个标签tdi;再次对于文档d的每一个单词wdi;从分布zd分配一个话题z′di;再根据分布 分配一个单词wdi。最后,模型使用了一个伯努利分布来判断标注在文档的标签是否基于用户的个人兴趣。
[0056] 所述的步骤3包括:
[0057] 步骤3-1:分析待估计参数。为了求解UdT模型,需要估计模型中的未知参数,参数确定后即得到该UdT模型。UdT模型中有两类未知参数:(1)M个文档话题分布θ,用户兴趣的话题分布θu,M个文档的伯努利分布λ和T个话题的单词分布φ;(2)对于每一个标签tdi,与其相关的抛硬币结果是sdi,分配的话题是zdi,对于文档d中的每一个单词wdi,与其相关的话题是z′di,对于用户u使用过的每一个标签tui,与其相关的话题是zui。通常直接求解这样一个概率模型是不可能的。在求解模型时,本发明并不是直接估计模型中的参数,而是首先估计(a):关于话题z的后验分布,然后利用它估计第一个生成过程中的话题分布θu,然后估计(b):关于抛硬币结果s和话题z的后验分布,然后利用它得到第二个生成过程中的参数θ,λ,φ和ψ,其中ψ为单词分布。
[0058] 其中,对 于(a)的估 计,使用 的采样 算法与LDA 模型类 似,二者 不同的地方在于:LDA模型统计的是每个文档中话题出现的概率分布,而这里统计的是每个用户采样到的话题的概率分布。即,使用如下的后验概率:其中nuz是话题被采样到关于用户u的多
-ui
元正态话题分布的次数;nzt是标签t被话题z生成的次数;而次数n 中的上标-ui表示除现在的实例之外的次数。本发明的公式中的上、下标的含义以此规律类推。
[0059] 其中,对于(b)的估计,其原理采用与(a)估计相似的方法,都是使用Gibbs Sampling方法,但不同的是,估计时需要同时对抛硬币结果s和话题z进行采样。相应地,从基于用户的话题z中采样的标签t的后验概率和从整体文档话题z中采样的标签t的后验概率分别定义为:
[0060]
[0061]
[0062]
[0063]
[0064] 其中nd0是文档d由基于用户兴趣的话题分布采样的次数;nd1是文档d由整体文u档内容的话题分布采样的次数;次数n 的上标u表示它对所有的用户都计了数。例如,表示标签t被所有用户分配到话题z的次数。
[0065] 在上述参数估计的过程中,算法需要存取一个M×T(文档×话题)次数向量,一个T×K(话题×标签)次数向量,一个M×2(文档×硬币取值)次数向量和一个|U|×T(用户个数×话题)次数向量,||表示取模运算。有了这些向量,算法可以简便地估计文档的话题分布θdz,用户的话题分布θut以及话题的标签分布φzv通过以下的计算公式:
[0066]
[0067]
[0068]
[0069] 通过对UdT模型的算法复杂度分析可得,复杂度为 其中L是Gibbs sampling算法的迭代次数, 是用户使用标签个数的平均值,而 是文档中单词个数的平均值。
[0070] 步骤4:建立基于UdT模型的标签推荐框架。语言模型的侧重点是从标题或内容中抽取关键词,而话题相关的UdT模型的出发点是学习用户的兴趣并且根据潜在的语义信息进行推荐。本发明将两种方法结合在一起建立了标签推荐系统的框架,如图2所示。
[0071] 步骤4涉及到两个结合策略:
[0072] (1)策略一:UdT1。首先,将两个模型计算出的分数归一化,即,使‖score1‖∞=‖score2‖∞,其中score1是语言模型计算出来的分数而score2是UdT模型计算出来的分数。如果某个标签t出现在语言模型的候选集合内而没有出现在训练集中,则score2[t]=0;相反,如果某个标签t出现在训练集中而没有出现在语言模型的候选集内,则score1[t]=0。则最终的标签t的分数为:
[0073] score[t]=λc·score1[t]+(1-λc)·score2[t]
[0074] 这里λc是分数相加的权重,这里使用相加而不是相乘的原因是两个模型的候选集合相差较大,因此有许多标签的score1或是score2值为0。将分数相加可以帮助我们找到那些只在一个候选集合中出现的标签,这也是结合策略的目的。
[0075] (2)策略二:UdT2。本发明中提出的第二种结合策略是先使用以下公式对标签进行排序:
[0076]
[0077] 其中 其中wordnum表示单词的个数,r′表示一个资源。然后挑选排名靠前(前500个)的标签使用以下公式重新进行排序:
[0078]
[0079] 其中Nd是给定资源r*的描述d中不同单词的个数,tf(t,d)是给定资源r*的描述d中的单词t的单词频率(单词的出现次数),N′D是整个数据集中的不同单词的个数,tf(t,D′)是整个数据集D′中的单词t的单词频率(单词的出现次数)。λ是狄利克雷平滑因子,通常被设成文档的平均长度,即在这里是N′D/|D′|。本发明所提出的UdT2有两个优点:①这样做可以扩大语言模型的候选集合,主要体现在从基于关键词的匹配扩充到基于话题的匹配,如两个标签“数据挖掘”和“知识工程”,如果从关键词角度上则无法进行匹配,但从话题角度则可以进行匹配;②由于数据集的稀疏性,UdT模型对于新用户或新资源并没有很大的适用性。用简单的信息检索方法重新排序UdT模型得到的结果可以提高最终标签推荐的准确性。
[0080] 步骤5:通过真实数据实验来验证和分析UdT模型与推荐框架。
[0081] 步骤5包括:
[0082] 步骤5-1:实验设计。该步骤包括选择实验中用到的训练集和测试集,建立数据库表,给出评测UdT模型的性能指标,以及指定用于对比的基准方法;
[0083] 步骤5-2:给出标签推荐实验结果。该步骤分别给出数据集上对应的热门标签和推荐的标签、不同方法进行标签推荐的性能指标值以及用户兴趣对推荐结果产生影响的图表分析等;
[0084] 步骤5-3:实验结果讨论与分析。该步骤包括分析话题个数的影响效果,将基于用户的话题模型和通用的话题模型进行对比,对实例个案进行研究,以及列出话题标题的人为解释等。
[0085] 在本发明的一个实施例中,以社会标签及出版共享系统(可参见www.bibsonomy.org)中的真实数据集为例,对UdT模型及推荐框架的生成过程,以及如何应用UdT模型推荐与给定资源相关的标签以及挖掘基于用户的个性化信息加以说明。
[0086] (1)对社会标注问题实例进行分析。图3表明了一个社会标注问题的例子。图中左边的一列有4个不同的用户,每一个框内是他们分别使用过的所有标签,用标准的LDA模型从用户使用过的所有标签中得到每个用户的两个话题:数据挖掘和机器学习。图中右边的一列有5个不同的资源,而图中间的箭头标明用户标注资源的过程,例如,用户1标注了资源1和2,用户3标注了资源2,4,5。右边的每个框是资源的内容,有文本信息和标注使用的标签。同样使用基本的话题模型从资源的文本信息中得到了关于数据挖掘和机器学习这两个话题的分布。基于对此实例的分析,本发明希望应用一个新的基于用户的标注模型,根据标注的标签同时学习到用户对于特定资源的特定兴趣和资源隐含的话题分布,并进行个性化用户标签推荐。
[0087] (2)生成UdT模型。
[0088] 在步骤(2)中,本发明还涉及到UdT模型的参数估计,其公式推导过程如下:
[0089] 对于Gibbs Sampling(吉布斯采样)的推导公式:
[0090]
[0091] 有如下的联合分布:
[0092] p(tu,zu|αu,β)=p(tu|zu,β)p(zu|αu)
[0093] 根据生成标签tu的多元正态分布,可以得到:
[0094]
[0095] 其中Nu是用户u使用的标签个数, 是多元正态分布,而 是标签tui被分配到话题zui上的次数。
[0096] 对φ进行积分,可以得到:
[0097]
[0098] 其中 且
[0099] 同样,可推导获得如下公式:
[0100]
[0101] 将上述的公式相乘,可以得到:
[0102]
[0103] 从联合分布中,可以得到如下的条件分布:
[0104]
[0105]
[0106]
[0107] 同样地,对λ进行积分,得到:
[0108]
[0109]
[0110]
[0111] 接下来将推导关于 的更新公式,有如下的条件概率,其中nd0是文档d的话题被u采样成基于用户的话题的次数,而nd1是文档d的话题被采样成通用的话题的次数。n 的上标u表示这里计算了所有用户,例如 表示对于所有的用户,标签t被分配到话题z的总次数。
[0112]
[0113]
[0114]
[0115]
[0116]
[0117]
[0118] 同时,
[0119]
[0120]
[0121]
[0122]
[0123] (3)在基于已生成的UdT模型推荐框架中选用两种结合策略:UdT1和UdT2;
[0124] (4)选择训练集和测试集;
[0125] 具体实施中选择的训练集数据和测试集数据都是由ECML会议09年举办的比赛所提供的。训练集是2009年6月1日之前Bibsonomy网站上的所有的数据。在该训练集中,一共有389,009个标注行为,一共标注了56,386个不同的bookmark资源和41,874个不同的bibtex资源。一共有37,998个资源在训练集中只出现了1次。训练集中一共有2,271个不同的用户和37,880个不同的标签。标注到bookmark资源的标签平均有4.234个,而标注到bibtex资源上的标签平均有3.588个。
[0126] 具体实施中的测试集是从2009年6月1日至2009年7月1日Bibsonomy网站的所有数据。训练集数据和测试集数据是完全分开的,且在测试集中有许多训练集中未出现的资源和用户(这无疑增加了标签推荐系统的难度)。在测试集中,一共有26,072个标注行为,其中关于bookmark资源有8,361个标注行为,而关于bibtex资源有17,711个标注行为。测试集中一共只有1,265个不同的bookmark资源和2,138个不同的bibtex资源是出现在训练集中的,其余的都为新出现的资源(即新资源)。标注到bookmark资源的标签平均有3.9个而标注到bibtex资源上的标签平均有4.086个。
[0127] (5)选择算法开发和实施运行环境;
[0128] 基本的机器学习算法是用Microsoft Visual Studio 2005实现的,并且所有的实施都是在一台双核、使用Intel Xeon处理器(3.0GHz),内存为8GB,操作系统为Windows2003的服务器上完成的。
[0129] (6)确定衡量标签推荐性能的指标;
[0130] 实施中使用precision(准确度),recall(召回率),f-measure(f量度)作为衡量标签推荐性能的指标。其中p@n,r@n和f@n分别表示推荐n个标签时的precision,recall和f-measure。对于给定的用户u和给定的资源r,正确的标签集定义为TAG(u,r),推荐的标签集定义为 则此时precision,recall和f-measure分布为:
[0131]
[0132]
[0133]
[0134] (7)选择对比的基准方法;
[0135] 实施中使用了以下几种不同的方法并比较它们在标签推荐中的性能。
[0136] 1)、使用语言模型来推荐标签;
[0137] 2)、使用结合策略一结合语言模型和ACT模型(如图4所示)来推荐标签;
[0138] 3)、使用结合策略一用UdT模型来推荐标签;
[0139] 4)、使用结合策略二用UdT模型来推荐标签。
[0140] (7)给出实施结果;
[0141] 表2中显示了在Bibsonomy数据集中最热门的5个bibtex资源和5个bookmark资源,与资源对应的热门标签和被UdT模型推荐出来的五大标签。
[0142] 表2
[0143]
[0144] “推荐的标签”一栏中,用粗体标出来的标签说明UdT模型推荐的该标签也是热门标签。从表2中可以看到,对于那些热门的资源,标注在上面的热门标签通常是一些通用的单词,使用UdT模型的标签推荐系统通常可以推荐与资源相关的标签。除了那些与正确答案完全相同的例子,还发现有很多语义非常类似的单词,例如,第二行中的″portable″和″ontology″可以表示″portableontology″;第五行中的″web″与″web20″非常相关,而″compare″类似于″comparison″。通常UdT模型总能推荐与给定资源相关的标签,后面会说明使用UdT模型的标签推荐系统也可以挖掘基于用户的个性化信息。各种方法的标签推荐方法的precision如表3所示,f-measure值如表4所示。表3表明UdT模型可以提高现有标签推荐方法的性能达7.67%。
[0145] 表3
[0146]
[0147] 表3中,P@1表示推荐第一条标签返回的准确度,P@3表示推荐第三条标签返回的准确度,P@5表示推荐第五条标签返回的准确度,P@7表示推荐第七条标签返回的准确度,P@10表示推荐第十条标签返回的准确度。
[0148] 表4
[0149]
[0150] 表4中,f@1表示推荐第一条标签返回的综合评测值,f@3表示推荐第三条标签返回的综合评测值,f@5表示推荐第五条标签返回的综合评测值,f@7表示推荐第七条标签返回的综合评测值,f@10表示推荐第十条标签返回的综合评测值。
[0151] (8)实施结果分析
[0152] 从两个方面分析具体实施结果:①话题个数的影响效果。像其他的概率模型一样,UdT模型中的话题的个数可以手动的设定。为了考察话题个数对整个标签推荐性能的影响,实施中分别将UdT模型中的话题的个数设为40,50,65,80,100,200,300和500,不同话题个数的f-measure值可见表4。从表4中可以发现,随着UdT模型中的话题个数的增长,f-measure值也随之增长,而增长过程逐渐放缓。另外,话题个数的增长将会降低整个算法的时间效率,因此在得到更高的准确率和减少计算复杂度两者之间有一个权衡。经过考虑后,绝大部分的实施中的话题个数被设定为50。②基于用户v.s.通用的话题模型。如果一个用户是新来的没有任何过去的标注信息,则UdT模型也无法得到他潜在的偏好,此时UdT模型会降格成一个类似于LDA的话题模型(如图7所示)。我们将得到的不同实施结果来比较我们的基于用户的话题模型与传统的通用的话题模型。具体实施结果可见图8,其中UdT-代表使用了公式 的方法,而UdT是使用了公式的方法。表5示出了在实验中的代表性标签和单
词。每个话题由生成概率最高的标签和单词表示,话题的标题是人为的解释。
[0153] 表5
[0154]
[0155] 此外,表5列出了UdT模型得到的一些话题和关于这些话题的标签和单词,从表5可以发现:在一个话题内的标签和资源描述中的单词是非常相关的,它们都可以表示这个话题。
[0156] (8)个案研究
[0157] 图9-1~9-4是另一个例子。从图9-1可以看出,在这个例子中,有5位用户同时标注了某个资源,但使用了不同的标签,图9-4包含了5个用户的共10个话题分布统计图,其中,每个用户对应两个统计图,第一个为“用户全局话题分布”,第二个为“用户局部话题分布”,每个图的含义为:每个以编号标识的话题的出现概率大小,概率大说明该话题是经常被用户使用的热门话题。通过这个个案研究可以发现UdT模型确实是可以挖掘出用户个性化的标注行为的。UdT模型可以得到这个资源的话题分布,见图9-1,这个例子中,资源的最热门的话题是话题#21(“Data Mining”)。UdT模型可以进一步的识别标签是用户个性化定义的还是与整体的话题分布相关的。图9-3示出了所有被分配给这个资源的标签,从图9-3可以看出,在这个例子中,实心方框中未带虚线框的词组成的标签表示基于用户的话题分布,是用户个性化定义的,而带虚线框的词组成的标签表示通用话题分布,是与整体话题相关的。图9-1是5位基于用户兴趣的话题分布,而图9-2是用户使用的标签的话题分布。从图9-4中,还可以发现一些很有意思的模式:用户使用的标签的话题分布与用户本身兴趣的话题分布有很大的相关关系。还有一个有趣的现象是:专业的用户更喜欢使用更为特殊的标签而一般的用户喜欢使用更为通用的标签。举例来说,图中的资源是关于数据挖掘的,用户778是话题10(“data analysis”)上的“专家”,他用了标签“research”和“mining”;而用户353对各种话题都有兴趣,他使用了标签“visualization”,这是个通用的单词,与资源的整体话题关系不大。
[0158] 实验结果:
[0159] 利用本发明的步骤1~5,创建了一个基于UdT模型的包含两个结合策略的个性化用户推荐系统,进行基于实验数据的对比实验,实验结果表明本发明所提出基于用户标注的话题模型(UdT模型)可以有效地发掘用户的兴趣并且提高标签推荐的准确率。
[0160] 以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。