基于内容的个性化新闻推荐系统可以分为三层: 语义处理层、兴趣模型层和用户交互层. 在语义处理层主要通过语义处理完成新闻分类; 在兴趣模型层主要实现兴趣模型的建立与更新,以及兴趣的发现与新闻推荐; 在用户交互层记录用户的相关行为信息,为用户兴趣模型的更新提供依据.如下图所示
用特征项的频数权重与其所属对象权重之积来描述该特征项的权重,并将权重大于某一阈值的前 n 个关键词作为该文档的特征项,以此建立新闻文档的特征模型. 新闻文档模型采用向量空间模型表示,:NDMi = { ( T1,W1 ) ,( T2,W2 ) …( Tn,Wn ) }其中,NDMi 表示第 i 个新闻文档的特征模型,Tj表示该新闻文档的第 j 个特征项,Wj表示此特征项 Tj在该文档中的权重. 在该模型中,阈值取得越大,特征项越少,计算越简单,分类也越粗糙;阈值越小,特征项越多,计算越复杂,分类越精准.特征项取多少合适,这与个体的兴趣取向的维度有关系。
用户兴趣模型表示用户对信息的稳定需求,能够反应用户在一段时间内对新闻的主要倾向.用户兴趣模型在个性化推荐系统中起到核心作用,真实地表现了用户的偏好,在很大程度上决定个性化推荐的效果. 用户兴趣模型有一个动态更新的过程,更新依据主要是用户行为信息. 良好的用户兴趣模型有利于个性化推荐,本文设计的用户兴趣模型具有指向性和持久性. 用户兴趣模型亦用向量空间模型表示,在结构上与新闻文档模型一致,如式( 3) :UIMi = { ( C1,W1 ) ,( C2,W2 ) …( Cn,Wn ) }其中,UIMi表示用户 Ui的用户兴趣模型,Cj表示用户感兴趣的类别,Wj表示该用户对该类别感兴趣的程度,即权重. 如: { ( 军事,0. 2) ,( 经济,0.1) ,( 食品安全,0. 2) ,……} .
基于内容的个性化新闻推荐兴趣模型. 并依据该模型进行新闻推荐,同时根据用户的行为对用户兴趣模型动态更新. 这样用户可以不用花时间从大量的新闻中去寻找自己感兴趣的新闻.用户兴趣模型和新闻文档模型都是基于向量空间的表示方法,利用向量空间模型的相似度计算得到与用户兴趣模型匹配的新闻文档集,并完成新闻推荐. 关键代码见下图
基于pytion 语言的训练测试,十万行纪录经过去重后,前三分之二作为训练集 后面的纪录作为测试集。
推荐系统向用户推荐新闻,可以向同一用户推荐多条新闻,也可以向多个用户推荐同一新闻.不同的用户收到新闻后,会表现出不同的兴趣度,其具体表现在用户的不同的眼神和面部肌肉表情中. 对于系统向用户推荐的新闻,假设共得到 n 人次的用户体验,且第 i 人次用户体验的兴趣度为Ii ( 已进行了归一化处理) ,则定义推荐系统的推荐效率即命中率 h 为:h = 1n ∑ni = 1Ii该式表明,系统推荐命中率的计算总是从第一条信息开始的. 初期的较低的推荐命中率对后期的推荐命中率有较大的影响. 总的说来,推荐系统的命中率高,则推荐效率高,用户体验好。
所用技术和工具: IDEA(java IDE) pycharm(pytion IDE)、jieba分词工具 +盘古分词、mathematics 数学实验工具.Numbers