1.一种个性化推荐系统的用户兴趣模型增量更新方法,其特征在于,该方法为:
1)构建基于文档内容的用户兴趣向量空间模型U0;
2)建立所述用户兴趣向量空间模型U0的用户感兴趣文档集D0={d01,d02,...,d0m},令D={ d1 ,d 2 , .. .,d n }为 待推 荐文 档集 ,其 中 文档 di 的特 征向 量 为其中,d0e表示所述用户感兴趣文档集D0中的文档,e=1,
2,...,m,m为所述用户感兴趣文档集D0中的文档总数;tik表示文档di第k项特征词;wik表示文档di第k项特征词的权重;i=1,2,...,n;k=1,2,...,a;a表示文档di特征词的总项数;
3)推荐文档时,计算所述待推荐文档集D中所有文档特征向量与所述用户兴趣向量空间模型U0的相似度r,推荐出相似度r大于阈值α的文档,并反馈感兴趣的新文档,所述新文档集合为 选择用户感兴趣文档集合中过时或者偏离用户兴趣的文档
时,分别计算所述用户感兴趣文档集D0中各个文档特征向量与所述用户兴趣向量空间模型U0的相似度r',选择r'小于阈值α的文档作为过时或者偏离用户兴趣的文档,所述过时或者偏离用户兴趣的文档集合为 所述阈值α的取值范围为0~1; 为所述
新文档集合为D'中的文档,f=1,2,...,q,q为所述新文档集合D'中的文档总数; 为所述过时或者偏离用户兴趣的文档集合D”中的文档,h=1,2,...,c,c为所述过时或者偏离用户兴趣的文档集合D”中的文档总数;
4)增加用户感兴趣文档集合时,将所述新文档集合D'添加到所述用户感兴趣文档集D0中,构成新的第一用户感兴趣文档集D1;或者在剔除用户感兴趣文档集合中过时或者偏离用户兴趣的文档时,将所述过时或者偏离用户兴趣的文档集合D”从所述用户感兴趣文档集D0中剔除,构成新的第二用户感兴趣文档集D2;
5)根据下式计算所述新的第一用户感兴趣文档集D1的中心向量
其中, 为所述用户感兴趣文档集D0中第e个文档的特征向量; 为所述新文档集合D'中第f个文档的特征向量; 为所述用户感兴趣文档集D0的中心向量;
根据下式计算所述新的第二用户感兴趣文档集D2的中心向量
其中, 为过时或者偏离用户兴趣的文档集合D”中第h个文档的特征向量;
6)将 或 各维按权值从大到小排序,选择 或 的前N维构建新的用户兴趣向量空间模型U1或U2,同时把 或 存入个性化推荐系统;其中,N不超过 或 的维数;用所述新的用户兴趣向量空间模型U1或U2代替步骤1)中的U0进行新一轮推荐。
2.根据权利要求1所述的个性化推荐系统的用户兴趣模型增量更新方法,其特征在于,所述步骤1)中,构建基于文档内容的用户兴趣向量空间模型U0的具体步骤如下:
1)对所有用户感兴趣的文档进行特征词选择及特征词权重计算;
2)提取所有用户感兴趣的文档的特征向量,构成文档特征向量集D3;
3)计算所述文档特征向量集D3的中心向量,将所述文档特征向量集D3的中心向量按各维的权重从大到小排序,选取前M维作为用户兴趣向量空间模型U0;其中M不超过所述文档特征向量集D3的中心向量的维数。
3.根据权利要求2所述的个性化推荐系统的用户兴趣模型增量更新方法,其特征在于,所述文档特征向量集D3={d31,d32,...,d3x}的中心向量 的计算公式为:
其中,x为所述文档特征向量集D3中元素的个数; 为所述文档特征向量集D3中第y个文档的的特征向量;y=1,2,...,x。
4.根据权利要求1~3之一所述的个性化推荐系统的用户兴趣模型增量更新方法,其特征在于,所述待推荐文档集D中文档di的特征向量与所述用户兴趣向量空间模型U0的相似度r的计算公式为:
其中,|| ||2表示二范数。
5.根据权利要求4所述的个性化推荐系统的用户兴趣模型增量更新方法,其特征在于,所述用户感兴趣文档集D0中第e个文档特征向量与所述用户兴趣向量空间模型U0的相似度r'的计算公式为:
个性化推荐系统的用户兴趣模型增量更新方法\n技术领域\n[0001] 本发明涉及计算机应用技术领域,特别是一种个性化推荐系统的用户兴趣模型增量更新方法。\n背景技术\n[0002] 个性化推荐系统通过建立用户与推荐对象之间的二元关系,利用已有的选择过程或相似性关系挖掘每个用户潜在感兴趣的对象,进而进行个性化推荐(刘建国,周涛,汪秉宏.个性化推荐系统的研究进展[J].自然科学进展,2009,19(1),1-15.)。随着用户需求的多样化,个性化推荐系统应用变得更加广泛,不仅用于电子商务,也用于推荐网页、文档等。\n对于文案人员和研究学者来说需要经常查阅大量的资料文献。基于文档内容信息的个性化推荐系统通过收集和分析用户阅读过的感兴趣文档内容来了解用户的阅读兴趣并建立用户兴趣模型,通过比较文档内容与用户兴趣模型的匹配度,向用户推荐匹配度高的文档。基于文档内容信息的个性化推荐系统有三个重要的模块:用户兴趣建模模块、推荐对象建模模块、推荐算法模块,该系统模型如图1所示。\n[0003] 在基于文档内容信息的推荐系统中,用户兴趣建模模块是其中一个核心的模块,其作用是从用户阅读过的感兴趣的文档中提取用户兴趣模型并根据用户兴趣的变化实现兴趣模型更新。为实现高精度的推荐,用户兴趣模型必须能够准确描述用户的当前兴趣,而兴趣模型的更新必须能够快速跟踪用户兴趣的变化。\n[0004] 目前用户兴趣模型的更新主要有两种方法,时间窗口法和遗忘函数法,时间窗口法是利用滑动时间窗滤除过时的兴趣,遗忘函数法是利用遗忘函数衰减兴趣的权重(费红晓,戴弋,穆珺等.基于优化时间窗的用户兴趣漂移方法[J].计算机工程,2008,34(16),\n210-214.)。文献(SHIN H.,CHO S..Neighborhood Property Based Pattern Selection for Support Vector Machines[J].Neural Computation,2007,19(3),816-855.)中采用时间窗口法更新用户兴趣模型,该方法利用滑动时间窗滤除过时的兴趣。文献(KEERTHI S.S.,SHEVADE S.K.,BHATTACHARYYA.,et al.A Fast Iterative Nearest Point Algorithm for Support Vector Machine Classifier Design[J].IEEE Transactions on Neural Networks,2000,11(1),124-136.)中采用遗忘函数法更新用户兴趣模型,该方法利用遗忘函数衰减兴趣的权重。单蓉(单蓉.用户兴趣模型的更新与遗忘机制研究[J].微型电脑应用,2011,27(7),10-11,69)根据HTML文档的特点以及用户的浏览速度更新兴趣模型,结合遗忘因子修正特征词的权重来实现模型的遗忘。文献(李峰,裴军,游之洋.基于隐式反馈的自适应用户兴趣模型[J].计算机工程与应用,2008,44(9),76-79.)将用户兴趣分为短期兴趣和长期兴趣,短期兴趣采用时间窗口更新机制,长期兴趣采用基于时间的遗忘函数的更新策略。\n[0005] 现有的用户兴趣模型更新方法强调的是如何从用户感兴趣的文档当中剔除偏离用户兴趣的文档,以及增加新的感兴趣文档,使得用于构建用户兴趣模型的文档更能反映用户当前兴趣,而忽略了用户兴趣模型更新的计算效率问题。随着用户阅读文档数量的增加,其标记的感兴趣的文档数量也会增加,用户兴趣模型更新的计算效率问题逐渐凸显出来,造成模型更新速度过低而不能满足用户需求的不良后果。\n发明内容\n[0006] 本发明所要解决的技术问题是,针对现有技术不足,提供一种个性化推荐系统的用户兴趣模型增量更新方法,在确保更新过程不丢失兴趣信息的前提下,提高用户兴趣模型更新的计算效率,满足用户兴趣模型在数据量庞大的情况下也能不断快速更新的要求,提高个性化推荐系统性能,为用户提供更高质量的服务。\n[0007] 为解决上述技术问题,本发明所采用的技术方案是:一种个性化推荐系统的用户兴趣模型增量更新方法,该方法为:\n[0008] 1)构建基于文档内容的用户兴趣向量空间模型U0;\n[0009] 2)建立所述用户兴趣向量空间模型U0的用户感兴趣文档集D0={d01,d02,...,d0m},令D={ d1 ,d2 ,...,dn}为待推荐文档集 ,其中文档di的特征向量为\n其中,d0e表示所述用户感兴趣文档集D0中的文档,e=1,\n2,...,m,m为所述用户感兴趣文档集D0中的文档总数;tik表示文档di第k项特征词;wik表示文档di第k项特征词的权重;i=1,2,...,n;k=1,2,...,a;a表示文档di特征词的总项数;这里,待推荐文档集一般从网络搜集得到或者从文献资料中得到;\n[0010] 3)推荐文档时,计算所述待推荐文档集D中所有文档特征向量与所述用户兴趣向量空间模型U0的相似度r,推荐出相似度r大于阈值α的文档,并反馈感兴趣的新文档,所述新文档集合为 阈值α的取值范围为0到1之间,根据用户需要调节α大\n小,当用户希望得到更多推荐结果时,α的取值越接近0,当用户希望得到更准确的推荐结果时,α的取值越接近1;选择用户感兴趣文档集合中过时或者偏离用户兴趣的文档时,分别计算集合D0中各个文档特征向量与所述用户兴趣向量空间模型U0的相似度r',选择r'小于阈值α的文档作为过时或者偏离用户兴趣的文档,所述过时或者偏离用户兴趣的文档集合为为所述新文档集合为D'中的文档,f=1,2,...,q,q为所述新文档\n集合D'中的文档总数; 为所述过时或者偏离用户兴趣的文档集合D”中的文档,h=1,\n2,...,c,c为所述过时或者偏离用户兴趣的文档集合D”中的文档总数;\n[0011] 4)增加用户感兴趣文档集合时,将所述新文档集合D'添加到所述用户感兴趣文档集D0中,构成新的第一用户感兴趣文档集D1;剔除用户感兴趣文档集合中过时或者偏离用户兴趣的文档时,将所述过时或者偏离用户兴趣的文档集合D”从所述用户感兴趣文档集D0中剔除,构成新的第二用户感兴趣文档集D2;\n[0012] 5)根据下式计算所述新的第一用户感兴趣文档集D1的中心向量\n[0013]\n[0014] 其中, 为所述用户感兴趣文档集D0中第e个文档的特征向量; 为所述新文档集合D'中第f个文档的特征向量;q为所述新文档集合D'中的文档总数; 为所述用户感兴趣文档集D0的中心向量;m为所述用户感兴趣文档集D0中的文档总数;e=1,2,...,m;f=1,2,...,q;\n[0015] 根据下式计算新的第二用户感兴趣文档集D2的中心向量\n[0016]\n[0017] 其中, 为所述用户感兴趣文档集D0中第h个文档的特征向量; 为过时或者偏离用户兴趣的文档集合D”中文档的特征向量;c为过时或者偏离用户兴趣的文档集合D”中文档总数; 为所述用户感兴趣文档集D0的中心向量;m为所述用户感兴趣文档集D0中文档总数;h=1,2,...,c;\n[0018] 6)将 或 各维按权值从大到小排序,选择 或 的前N维构建新的用户兴趣向量空间模型U1或U2,同时把 或 存入个性化推荐系统;其中,N不超过 或 的维数;用所述新的用户兴趣向量空间模型U1或U2代替步骤1)中的U0进行新一轮推荐。\n[0019] 所述步骤1)中,构建基于文档内容的用户兴趣向量空间模型U0的具体步骤如下:\n[0020] 1)对所有用户感兴趣的文档进行特征词选择及特征词权重计算;文档特征词选择及特征词权重可以由ICTCLAS汉语分词软件(http://ictclas.nlpir.org/)的关键词提取功能获得,或基于词频的特征词选择方法得到;\n[0021] 2)提取所有用户感兴趣的文档的特征向量,构成文档特征向量集D3;\n[0022] 3)计算所述文档特征向量集D3的中心向量,将所述文档特征向量集D3的中心向量按各维的权重从大到小排序,选取前M维作为用户兴趣向量空间模型U0;其中M不超过所述文档特征向量集D3的中心向量的维数。\n[0023] 文档特征向量集D3={d31,d32,...,d3x}的中心向量 的计算公式为:\n[0024]\n[0025] 其中,x为所述文档特征向量集D3中元素的个数; 为所述文档特征向量集D3中第y个文档的特征向量;y=1,2,...,x。\n[0026] 待推荐文档集D中文档di的特征向量与所述用户兴趣向量空间模型U0的相似度r的计算公式为:\n[0027] 其中,|| ||2表示二范数。\n[0028] 用户感兴趣文档集D0中第e个文档特征向量与所述用户兴趣向量空间模型U0的相似度r'的计算公式为:\n[0029]\n[0030] 本发明提出的用户兴趣模型增量更新方法的基本思想是存储生成当前用户兴趣模型的计算过程中的中间结果,更新用户兴趣模型时,在该中间结果基础上进行增量计算。\n[0031] 与现有技术相比,本发明所具有的有益效果为:本发明针对基于文档内容信息的推荐系统的用户兴趣模型更新的效率问题,在保证用户信息完整的前提下,本发明的更新方法减少了用户兴趣模型更新时的计算量,使得用户兴趣模型可以快速频繁更新,提高了个性化推荐系统的性能,能够快速实现用户兴趣跟踪,以适应用户兴趣的变化,为用户提供更高质量的服务。\n附图说明\n[0032] 图1为基于文档内容信息的推荐系统;\n[0033] 图2为本发明用户兴趣模型的构建流程。\n具体实施方式\n[0034] 本发明中构建基于文档内容的用户兴趣向量空间模型的流程如图1所示,首先对用户感兴趣的文档进行特征词选择及特征词权重计算,得到一个由一组特征词及其权重组成的文档特征向量。文档特征向量提取方法可以利用ICTCLAS汉语分词软件(http://ictclas.nlpir.org/)的特征词提取功能,或基于词频的特征词选择方法得到。多个文档特征向量构成文档特征向量集。计算得到文档特征向量集的中心向量之后,将中心向量各维按权重从大到小排序,选取前N维作为该用户的兴趣模型向量。\n[0035] 文档特征向量集的中心向量计算方法如下:\n[0036] 文档集合D3={ d31 ,d 32 ,...,d3x },文档d2i的特征向 量为其中,t3ik表示文档d3i第k项特征词,w3ik表示文档\nd3i第k项特征词的权重,那么中心向量 计算公式为:\n[0037]\n[0038] 在此公式中,文档特征向量通过匹配每一维的特征词来求和,特征词相同则对应权值相加。该中心向量各维按权重排序后的前M项即为该用户的兴趣模型U,M不超过中心向量的维数,一般由训练样本经验值决定。\n[0039] 假设用户感兴趣文档为{d1,d2,d3},建立用户兴趣模型的过程见表1。\n[0040] 表1 用户兴趣模型建立过程\n[0041]\n[0042] 表中中心向量 由公式(1)计算所得,此处选择该中心向量的前5个特征项作为用户兴趣模型U。\n[0043] 本发明提出的增量更新方法的具体实现步骤如下:\n[0044] 设U0为用户当前已经建立的用户兴趣模型,建立该用户兴趣模型的用户感兴趣文档集为D0={d01,d02,...,d0m}。文档集合D={d1,d2,...,dn}为待推荐文档,文档di的特征向量为\n[0045] (1)推荐文档时,通过余弦夹角公式计算集合D中所有文档特征向量与用户模型U0的相似度r,推荐出相似度r大于阈值α的文档,用户浏览后向系统反馈感兴趣的新文档,设该文档集合为 选择用户感兴趣文档集合中过时或者偏离用户兴趣的\n文档时,分别计算集合D0中各个文档特征向量与所述用户兴趣向量空间模型U0的相似度r',选择r'小于阈值α的文档作为过时或者偏离用户兴趣的文档,所述过时或者偏离用户兴趣的文档集合为\n[0046] (2)增加用户感兴趣文档集合时,将所述新文档集合D'添加到所述用户感兴趣文档集D0中,构成新的用户感兴趣文档集D1;剔除用户感兴趣文档集合中过时或者偏离用户兴趣的文档时,将所述过时或者偏离用户兴趣的文档集合D”从所述用户感兴趣文档集D0中剔除,构成新的用户感兴趣文档集D2;\n[0047] (3)为了完整的保留用户兴趣,避免重复计算,提高算法性能,系统已经预先存储了计算用户兴趣模型U0时文档集合D0的中心向量 将公式(1)变形为公式(2)计算增加新文档后的新的兴趣模型的中心向量:\n[0048]\n[0049] 将公式(2)变形为公式(3)计算剔除过时或者偏离用户兴趣的文档后的新的兴趣模型的中心向量:\n[0050]\n[0051] (4)将 各维按权值从大到小排序,选择前N维构建新的用户兴趣模型U1(U2),同时把 存入系统。用得到的新用户兴趣模型U1(U2)代替步骤(1)中的U0进行新一阶段推荐。\n[0052] 从公式(2)和公式(3)可以看出,中心向量 都出现在这两个公式中。中心向量是前一次计算用户兴趣模型的一个中间结果,本发明的核心就是每次更新用户兴趣模型时都保存该中心向量 使得下一次更新时不需要重新计算该部分内容,从而提高更新效率。\n[0053] 以表2中的例子为例,对表2所述的用户兴趣模型在增加文档d4更新时,设d4={{汽车,4.0},{保险,3.6},{国产,2.5},{涨幅,2.0}},在中心向量 的基础上更新,对于特征词“汽车”,其权值w1计算如式(4)所示,\n[0054]\n[0055] 剔除文档d1更新时,对于特征词“汽车”,其权值w2计算如式(5)所示,[0056]\n[0057] 以此类推得到新的用户兴趣模型中心向量,更新结果见表2。该示例仅在用户感兴趣文档数为3的基础上进行增量计算,所以在本示例中计算效率提高并不明显。本示例仅用来说明增量更新算法。实际应用中,用户标记的感兴趣文档数量会比较多,而增加或提出的文档数相对较少,这时候增量更新算法的效率会更为明显。\n[0058] 表2 用户兴趣模型更新过程\n[0059]\n[0060] 对比表1中的用户兴趣模型提取和和表2中本发明提出的增量更新过程,可以发现,中心向量 作为上一次用户兴趣模型创建或更新过程中的一个中间结果,本发明在该中间结果的基础上进行增量更新,从而避免了大量的向量求和工作;并且可以看出,本发明提出的增量更新方法得到的中心向量与直接从更新后的文档集合中提取的相同。一般来说,用于构建新的用户兴趣模型的文档有两部分构成,第一部分是新增加的感兴趣的文档;\n第二部分是原有的感兴趣文档中剔除偏离当前用户兴趣的文档后剩下的部分,而这部分文档数量占绝大多数。本发明提出的增量更新方式的意义在于避免了第二部分文档的重复计算工作,从而有效降低用户兴趣模型更新计算量。