日期:2023-01-24 阅读量:0次 所属栏目:计算机应用
1 概述
互联网信息的迅速增长产生了海量的数据,用户往往要耗费大量的时间和精力,才能找到自己感兴趣的信息。可以毫不夸张地说,低效率的互联网信息检索技术已经成为阻碍用户有效利用信息的瓶颈,推荐技术就是在这样的背景下产生的。推荐技术可以有效解决信息过载的问题,从海量数据中检索到对用户有所帮助的内容。
目前的推荐技术在同一时刻一般都是为单个用户进行推荐,但现实应用中可能经常需要为某一群体进行推荐,比如一个旅游团要旅游的目的地、一次聚会的用餐地点以及一个家庭的观影计划等。群体成员间的兴趣爱好具有很大的差异性,所以传统的推荐技术已经难以适用于群体推荐的要求,研究基于社交网络的群体推荐技术就具有重要的现实意义。
2 推荐系统及社交网络
群体推荐系统的研究涉及到个人推荐系统、社交网络以及群体决策等技术领域。
现存的推荐系统多数为个人推荐系统,即推荐行为旨在为单个用户提供服务,其最常用的推荐算法为协同过滤推荐算法和基于内容的推荐算法;协同过滤算法借鉴与被推荐用户具有相似兴趣的用户的行为进行推荐,基于内容的推荐算法分析被推荐用户访问的历史内容,并利用不同内容的相似程度来进行推荐。不论是哪种推荐方法,在进行推荐时都是先从用户数据库中挖掘相关的信息,比如用户的标签数据、用户对物品的评分数据、用户的浏览历史数据等,然后依据这些信息为用户进行推荐[1]。
与个人推荐系统不同的是,群体推荐系统在进行推荐时,服务的并不是单一用户,而是一个用户群体。群体成员间可能具有不同的爱好、兴趣等,所以不能单纯得按照个人推荐系统的方法进行推荐,而应该要考虑到不同用户的权重。目前主要有两种群体推荐方法[2],一种方法是先为每个用户提供推荐,然后将所有用户的推荐列表综合起来,得到群体推荐列表。
另外一种群体推荐算法先将所有用户具有共性的项目综合起来,然后再进行推荐。
不论是哪种群体聚合策略都存在一定的局限性,用户的评价特征进行聚合后得到的单个评价向量,和群体中特定的用户评价向量还有一定的差距。这两种群体推荐方法得到的推荐结果是一个有序的内容列表,例如,可以为一个具有一定联系的群体提供合理的旅游线路,为一组家庭提供一系列的娱乐电影等。
社交网络是最近几年发展最火的互联网产品,反应了朋友、同事、同学等线下关系在网络上建立起来的线上交互行为。社交网络的基本概念包括:节点、关系、社区以及用户群。节点指的是每一个用户个体;多个用户组成用户群,用户群可能是为达到某一目的而临时组成的,也可以是因为兴趣、爱好等组成的长期关系。一般而言,直接的节点关系比间接的节点关系可靠度更高,所以在进行群体推荐时应该注意到不同的节点关系所占的比重也应该有所不同。另外,群体中不同用户的重要性也不同,所以在进行群体推荐时有必要引入权重的概念。
社交网络的基础是“社交图谱”和“兴趣图谱”。社交图谱表明了某一特定用户和其他用户之间的直接关系,将线下的用户关系反应到线上;社交图谱反应了以下几种线下社交关系:用户间联系比较频繁、交互密切的关系是一种强关系的社交图谱,弱关系的社交图谱正好相反;临时关系的社交图谱是一种临时性的社交行为,联系的双方之间没有承认的契约关系。兴趣图谱和社交图谱有所不同,它借助用户间的兴趣、爱好等建立网络社交关系,用户间的连接基础是共同的爱好,所以兴趣图谱中存在联系的两个用户在线下可能没有直接的交互作用。一般而言,社交图谱和兴趣图谱是相辅相成的,用户可以利用兴趣图谱的重合点交互在一起,从而进一步组成用户群的社交图谱。
社交网络中在进行群体决策时,往往会由于群体中各成员的认知不同而产生不一致的意见,真正决策时需要在多方意见中进行妥协和协调,所以群体决策只是综合反应了群体中多数成员的意见,并一定是最适合解决问题的方法。群体决策的相关原理也是基于个人用户决策的,所以很多个体决策的理论在进行群体决策时仍然适用,在进行群体决策时,最应该注意的核心问题是,如何找到一种可以集结群体中各个用户的偏好的方法,基于社交网络的群体决策应运而生。
3 基于社交网络的群体推荐系统
考虑到社交网络的复杂性,基于社交网络的群体推荐一般只适用于评价用户比较多的项目。在进行群体推荐时,所需要的主要步骤如下:
(1)假设用户群体G的规模为s(用户数为s)都评价过的项目数达到预先设定的阈值n,且所有共同评价过的项目集合为I;(2)为使方便为具有强相似程度的用户组成的用户群推荐,可以先将用户群划分为m个不同的簇,借助K均值聚类方法可以很容易实现这一点。在用户群分簇完成后,簇内的用户具有较高的相似度,进行推荐时可以为这些用户推荐同样的内容;簇间的用户相似度比较低,推荐结果中如果为他们推荐的是同一内容的话,说明群体推荐算法不够精确。(3)求簇的权重。簇中每个用户都有对应的权重,簇的权重等于簇中每个用户的权重之和。簇的权重越高,说明此簇在整个用户群中所占的地位越高,其推荐列表在整个用户群的推荐列表中也就占越高的比例。
有两种方法可以确定推荐项目集合:评分数据方法和标签数据方法。在应用评分数据方法时,簇中的每个用户事先都会有一些评分数据,对这些评分数据进行聚合后,可以得到该簇中每个用户的评分向量,此评分向量可以看作是一个虚拟用户。计算目标用户的推荐项目时,首先计算虚拟用户的评分向量与所有用户群中其他用户的皮尔逊相关性相似度,并选择一定数目(比如10个)的用户作为虚拟用户的邻居用户集合,接下来就可以再用传统的协同过滤算法计算目标用户的预测评分;当所有的虚拟用户的相似度都计算完毕后,对预测评分值的集合进行排序,选择要推荐数目的推荐列表提供给目标用户即可。
在应用标签数据
方法进行推荐时,先提取簇中每个用户的标签数据,并统计每个标签在标签集合中出现的频率,排序后选择出现频率最高的若干数目(比如10个)的标签,作为能够代表用户的标签信息。然后可以利用余弦相似度等传统方法计算标签之间的相似程度,进而衡量项目的相似度。
基于评分数据的群体推荐方法可以找出簇中用户的相同点,而基于标签数据的群体方法可以找到用户间的不同点,在使用时可以根据实际情况进行选择。
参考文献
[1]徐莉.基于数据挖掘技术的电子商务推荐系统的研究[D].北京邮电大学,2013.
[2]唐晓玲.基于本体和协同过滤技术的推荐系统研究[J].情报科学,2013(12).
作者简介:李奕杭(1990,4-),男,籍贯:辽宁省丹东市,现职称:学生,学历:本科,研究方向:网络工程。
本文链接:http://www.qk112.com/lwfw/jsjlw/jisuanjiyingyong/245598.html