发明名称 一种基于标准标签和项目评分的推荐方法
摘要 基于标准标签和项目评分的推荐方法具有如下特征:本发明将标签标准化,即将用户的自定义标签映射到语义较明确的标准标签上,再利用标准标签建立用户兴趣模型,然后根据用户的兴趣模型计算用户之间的相似度,建立近邻用户群,再基于目标用户及其近邻用户的项目评分和改进的Slope one算法预测用户对未评项目的评分,进而实现个性化推荐,可显著提高Web2.0互联网上广泛使用的可进行自由定义的标签的可用性,利用基于标准标签的用户兴趣模型计算用户之间的相似度,并为目标用户建立相似用户群,能够缩小目标用户的相关项目评分搜索范围,减少算法的计算量,改进了Slope one算法的项目评分预测,提高了兴趣爱好相近的用户对预测评分的贡献,从而提高互联网个性化推荐质量。
申请公布号 CN103678431A 申请公布日期 2014.03.26
申请号 CN201310101242.5 申请日期 2013.03.26
申请人 南京邮电大学 发明人 成卫青;杨晶;洪龙;杨庚;黄卫东;吴旭东;唐旋
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 南京知识律师事务所 32207 代理人 汪旭东
主权项 1.一种标签标准化,其特征主要在于自定义标签的标准化步骤,步骤1)根据个性化推荐应用环境,选择网站提供的热门标签作为标准标签,或根据应用领域人工定义标准标签,建立标准标签库;步骤2)对每个用户自定义标签做如下操作,步骤21)将其与标准标签做简单的字符串匹配,若匹配成功则直接将其映射到标准标签上,否则转步骤22);步骤22)若该用户自定义标签标注的所有项目中含有共现率为1的属性值,则将所有这样的属性值作为标准标签,并将该用户自定义标签映射到这些标准标签上,并将它们并入标准标签库;若不存在这样的属性,则转步骤3);步骤3)使用基于互信息的标签聚类方法,将步骤1)和步骤2)标准化失败的所有用户的自定义标签映射到标准标签库中的标签上;设此时自定义标签集合为T<sub>P</sub>,含m个标签;标准标签库中的标签组成集合T<sub>S</sub>,含n个标签;将T<sub>S</sub>中的标签作为聚类中心;相关阀值为δ,当标签间的相关度小于δ时,认为标签之间不相关;分为以下几步:步骤31)按照式(3)计算集合T<sub>P</sub>和T<sub>S</sub>中所有标签之间的相关度;式(3)为<img file="FDA00002967699900011.GIF" wi="405" he="189" />其中I(t<sub>i</sub>;t<sub>j</sub>)和H(t<sub>i</sub>)定义见式(1)和式(2);式(1)为<![CDATA[<math><mrow><mi>I</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>;</mo><msub><mi>t</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>p</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>,</mo><msub><mi>t</mi><mi>j</mi></msub><mo>)</mo></mrow><mi>log</mi><mfrac><mrow><mi>p</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>,</mo><msub><mi>t</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow><mrow><mi>p</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>p</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>,</mo></mrow></math>]]></maths>式(2)为H(t<sub>i</sub>)=-p(t<sub>i</sub>)logp(t<sub>i</sub>),其中,p(t<sub>i</sub>,t<sub>j</sub>)是指t<sub>i</sub>和t<sub>j</sub>标记在同一资源上的概率,即:<img file="FDA00002967699900013.GIF" wi="387" he="230" />(<img file="FDA00002967699900014.GIF" wi="54" he="70" />和<img file="FDA00002967699900015.GIF" wi="46" he="74" />分别指标签t<sub>i</sub>和t<sub>j</sub>标注的资源集合,n为标签总数,此外,资源总数远大于1);p(t<sub>i</sub>)、p(t<sub>j</sub>)分别代表标签t<sub>i</sub>、t<sub>j</sub>标记资源的概率,即:<![CDATA[<math><mrow><mi>p</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mo>|</mo><msub><mi>P</mi><msub><mi>t</mi><mi>i</mi></msub></msub><mo>|</mo><mo>/</mo><mo>|</mo><munderover><mo>&cup;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>P</mi><msub><mi>t</mi><mi>k</mi></msub></msub><mo>|</mo><mo>,</mo></mrow></math>]]></maths><![CDATA[<math><mrow><mi>p</mi><mrow><mo>(</mo><msub><mi>t</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mo>|</mo><msub><mi>P</mi><msub><mi>t</mi><mi>j</mi></msub></msub><mo>|</mo><mo>/</mo><mo>|</mo><munderover><mo>&cup;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>P</mi><msub><mi>t</mi><mi>k</mi></msub></msub><mo>|</mo><mo>;</mo></mrow></math>]]></maths>步骤32)由式(4)得到标签相关度矩阵R,式(4)为<img file="FDA00002967699900018.GIF" wi="690" he="303" />其中,m为待标准化的用户自定义标签个数,n为聚类中心的标签个数或拟作为聚类中心的标签个数,r<sub>ij</sub>为标签相关度,见式(3);步骤33)找出R中最大的元素r<sub>ij</sub>,若其小于阀值δ,则转步骤4),否则将标签t<sub>pi</sub>聚集到以标签t<sub>sj</sub>为中心的类中,令T<sub>P</sub>=T<sub>P</sub>-{t<sub>pi</sub>},m=m-1,删除矩阵R的第i行,得到更新的m×n维矩阵R;步骤34)对矩阵R重复执行步骤33),直到m为0,聚类停止;步骤4)步骤3)得到的类聚集结果为C<sub>(1)</sub>={c<sub>1</sub>,c<sub>2</sub>,...,c<sub>n</sub>},c<sub>i</sub>代表以标准标签t<sub>si</sub>(1≤i≤n)为聚类中心的类;此时,若m&gt;0,即T<sub>P</sub>中还剩有M(M=m)个自定义标签未被映射到标准标签上,则将这些标签相互聚类,选出聚类中心,暂时作为标准标签(称为弱标准标签),且不并入标准标签库,过程如下:步骤41)按照式(3)计算集合T<sub>P</sub>中所有标签之间的相关度,由式(4)得到M×M维标签相关度矩阵,记为R<sub>L</sub>;步骤42)找出矩阵R<sub>L</sub>除主对角线以外的最大元素r<sub>ls</sub>,若r<sub>ls</sub>小于阀值δ,则转步骤44),否则对应标签t<sub>pl</sub>和t<sub>ps</sub>,若其中一个标签已被聚类,设为t<sub>x</sub>,则将另一个t<sub>y</sub>聚到与其相同的类中,删除矩阵R<sub>L</sub>的t<sub>y</sub>行,m=m-1,否则设其中标记了较多资源的标签为t<sub>x</sub>,另一个为t<sub>y</sub>,以标签t<sub>x</sub>作为聚类中心,聚类中心作为弱标准标签,类中其他标签都映射到它,将t<sub>y</sub>聚集到以t<sub>x</sub>为中心的类中,删除矩阵R<sub>L</sub>的t<sub>x</sub>和t<sub>y</sub>行,m=m-2;步骤43)对矩阵m×M矩阵R<sub>L</sub>重复执行步骤42),直到m为0,聚类停止;步骤44)设步骤42)和43)得到的类聚集结果为C<sub>(2)</sub>={c<sub>n+1</sub>,c<sub>n+2</sub>,...,c<sub>n+h</sub>};设C=C<sub>(1)</sub>+C<sub>(2)</sub>,C中每个类中的其他标签都映射到聚类中心;C<sub>(2)</sub>中所有类的聚类中心以及最终无法聚类的自定义标签,最终的R<sub>L</sub>中各行表示的标签,构成弱标准标签集合;标准标签库中标签与弱标准标签一起构成本轮的标准标签集合。
地址 210003 江苏省南京市新模范马路66号