论文部分内容阅读
基于用户的协同过滤是一种重要的个性化推荐机制,这种机制认为目标用户最近邻的推荐最容易被接受。因此,如何准确找到目标用户的最近邻是实现基于用户协同过滤机制的关键性问题。目前,发现用户最近邻的主要方法是基于用户历史评分对用户进行聚类。因为用户历史评分可以反映用户的兴趣特点,根据用户的历史评分对用户进行聚类,可以将兴趣点相似的用户聚集在一起,在同一个簇中的用户互为最近邻。然而,如果在聚类前的某一时刻,有些用户的兴趣发生偏移,导致这类用户的历史评分会失真。如果根据用户全部的历史评价进行聚类,结果并不准确。针对这一问题,有学者提出最近时间窗口内聚类,用户评分只采用最近时间窗口内数据,尽管该方法可以定位用户最新的兴趣点,但这样可能会忽略用户的长期兴趣,而且,数据稀疏性问题将会更加严峻。针对用户兴趣偏移之后,导致用户聚类不准确问题,本文提出了一种基于用户兴趣变化动态聚类的协同过滤算法。论文所做的主要工作,主要分为以下几方面:(1)提出了项目特征网络图。多个相似的项目构成一个项目簇,以项目簇作为管理项目的基本单位,项目簇的建立是通过挖掘项目与项目之间固有和隐藏特征的相似性而获得。可以方便的通过用户访问项目的轨迹,识别出用户兴趣的偏移。满足簇内部高内聚,簇之间低耦合的特点。同时,以项目簇管理比用项目结点管理项目更高效。(2)识别兴趣偏移用户。通过用户的访问项目的轨迹,基于时间窗口建立马尔科夫链模型,可以在动态过程中找到用户兴趣的变化规律,从而识别出用户当前真正的兴趣,从而避免由于用户兴趣偏移对聚类所带来的影响。(3)缓解用户兴趣的被动偏移。针对兴趣偏移用户,利用用户对项目所在服务的满意度对用户评分进行修正,最终,利用修正的用户评分进行协同过滤。(4)缓解数据稀疏性。只对用户兴趣发生偏移的用户评分数据进行特殊处理,其他历史数据直接参与用户聚类,并不只是采用当前时间窗口数据。(5)把本文的基于用户兴趣变化动态聚类的协同过滤算法在聚类效率和推荐准确性方面分别和其他的算法进行对比实验,实验证明,在等同的条件下,本文的算法具有更高的聚类效率和更准确的推荐结果。