CN105141508A - 一种基于近邻关系的微博系统朋友推荐方法 - Google Patents
一种基于近邻关系的微博系统朋友推荐方法 Download PDFInfo
- Publication number
- CN105141508A CN105141508A CN201510573898.6A CN201510573898A CN105141508A CN 105141508 A CN105141508 A CN 105141508A CN 201510573898 A CN201510573898 A CN 201510573898A CN 105141508 A CN105141508 A CN 105141508A
- Authority
- CN
- China
- Prior art keywords
- user
- interest
- microblog
- theme
- hypercube
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于近邻关系的微博系统朋友推荐方法。主要是把在线用户的当前位置与兴趣相结合,通过把用户视线范围内兴趣爱好相似的微博用户推荐给源用户,为社交媒体用户提供与自身周围可能感兴趣的人建立联系和沟通的途径。为此,首先为源用户建立邻居组,然后利用词袋和矩阵分解方法从微博内容中挖掘用户的兴趣;再通过超立方体来衡量邻居组内微博用户的兴趣相似性;最后提出主题匹配的捷径算法以进一步提高兴趣推荐的准确性。可以对当前位于同一场所内的微博用户进行精确兴趣推荐,达到从海量微博数据中挖掘用户真正感兴趣的信息,增进在线用户之间联系的目的。
Description
本发明得到国家自然科学基金(61103227,61272526)的资助。
技术领域
本发明涉及利用微博兴趣挖掘增进Internet用户之间的在线社交互动,特别是涉及一种基于近邻关系的全新微博系统朋友推荐方法。
背景技术
微博系统(micro-bloggingsystems),尤其是Twitter和Weibo,在当今得到了巨大的发展。截至到2013年Twitter拥有超过1.4亿的活跃用户每天发布超过3.4亿条消息。Weibo也积聚了超过4亿的用户,每秒钟发布的微博消息高达1000条。用户发布的海量微博内容展示了社交媒体平台下的大数据环境。不仅如此,微博系统(例如Twitter和Weibo)还呈现出强大的媒体特性,为微博用户提供了推荐和添加新朋友、传播突发新闻、信息共享等强大而便捷的功能。
微博系统最基本的功能之一是增进Internet用户之间的在线社交互动。作为增进用户在线交流的主要途径之一,朋友推荐(friendrecommendation)成为近年来的研究热点。例如,Moricz等提出具有共同朋友的用户可能彼此相识并据此设计推荐算法,只把具有高度相关性的用户相互推荐。有文献利用链接预测如基于“朋友的朋友”这一策略向某一用户推荐另一个用户。Deng等把基于用户熟人(如亲人、朋友等)的网络系统进行推荐与基于用户之间的相似程度进行推荐这两种推荐策略进行了对比。有些文献则推荐Twitter用户利用协同过滤算法进行相互关注。然而,上述研究工作在进行朋友推荐时没有考虑用户所发微博内容之间的潜在联系,使用户难以在海量信息中精确获得自己真正感兴趣的资源。
事实上,成千上万微博用户所发布的海量微博内容为获取用户的信息提供了机遇和挑战。如果把微博用户当成“社会传感器”,我们就能够尽可能的收集他们的微博页面信息(如所发微博,关注,粉丝等),并把收集的信息形成数据集,通过对数据集进行分析和挖掘来理解微博用户的行为。其中一部分研究工作提出根据分析获取的用户兴趣特征来提高朋友推荐的准确性。如Zuo等发现具有类似兴趣的人更容易彼此联系交流。有文献表明兴趣相似的用户之间的接触频率远远高于兴趣不同的用户。Chen等研究网络用户之间的推荐关系,以帮助用户发现已知的接触和社会网站上的新朋友。HSU等则提出基于协作推荐的方法。该方法使用社会网络的链接结构并利用相互表明兴趣的内容推荐来解决微博客和类似社会网络中众多链接之间的相互推荐问题。上述基于兴趣的推荐策略看似促进了用户的在线交流,然而事实上兴趣匹配用户之间的联系频率仍然较低。
此外,尽管近年来很多研究工作致力于基于社交媒体用户潜在兴趣的应用,然而大多数这些研究忽略了用户位置和兴趣之间潜在的紧密关系。事实上,用户近期发布的微博(Tweet)往往能够反映出所发布者近期的兴趣或行为。假设两个兴趣相似的微博用户当前正好位于同一活动场所并且彼此可见,那么相比于彼此不可见的虚拟用户,他们更愿意建立相互之间的联系与交流。例如用户”Bob”喜欢旅游,而且”Bob”发现用户”Alice”目前就在自己附近且也非常爱好旅游。由于两人就在各自周围,他们在彼此视线范围内发现对方的可能性就非常大。如果”Bob”进一步发现”Alice”就坐在自己不远处且正是自己喜欢的类型,他就很可能会与”Alice”交流并乐意在今后继续和她保持联系。然而现有相关工作均不能直接应用于上述任务,因为它们均没有考虑把微博用户的位置和兴趣相关联。
为此,本发明提出了基于近邻的朋友推荐(neighborbasedfriendrecommendation,NBFR)这一全新思想,使位于同一场所的兴趣相似用户之间相互发现。由于现实世界中位于同一场所的用户在彼此视线范围内发现对方的可能性很大,通过把同一场所内兴趣爱好相似的微博用户相互推荐,为社交媒体用户提供了与周围可能感兴趣的人进行联系的有效途径。随着在线社交网络的迅速发展,如今越来越多的人既是虚拟在线社交媒体的用户又是现实社会的成员,而NBFR不仅考虑了微博用户的兴趣,同时还考虑微博用户当前所在的物理位置。通过把在线用户的兴趣与位置相结合,NBFR也架起了虚拟世界和现实世界联系的桥梁。将来NBFR不仅能够作为APP运行在智能手机上,还能开发成微博系统的一项基本功能以增强微博的可用性。NBFR的基本思想主要包括两大部分:首先根据用户所发海量微博来挖掘用户的兴趣,生成用户主题兴趣矩阵。其次,根据各个用户的主题兴趣向量来衡量用户的兴趣相似度。
为了对用户的主题兴趣向量进行精确匹配,本发明提出利用超立方体的方法来描述不同用户的不同兴趣主题:即把描述用户兴趣分布的不同主题映射到超立方体空间中,每一主题对应于超立方体每一顶点的一个坐标分量。考虑到通常用户仅对一小部分主题感兴趣,我们愿意建立二进制超立方体而不是普通的超立方体来描述各个用户的兴趣主题,因为前者更能准确的描述用户兴趣的相似程度。此外,提出主题匹配的捷径算法(topicmatchingshortcutalgorithm)以进一步提高推荐的准确性。
发明内容
为实现上述目的,本发明公开了如下的技术内容:
一种基于近邻关系的微博系统朋友推荐方法,其特征在于:
(1)通过把在线用户的位置与兴趣相结合,建立用户线上和线下相联系的桥;
(2)利用词袋和矩阵分解方法从微博内容中挖掘用户的兴趣;
(3)通过超立方体来衡量各个微博用户的兴趣相似性;
(4)利用超立方体结构,提出主题匹配的捷径算法以进一步提高兴趣推荐的准确性;
其中:
步骤(1)中建立用户线上和线下相联系的桥,指的是使位于同一地理场所相互视线范围内兴趣匹配的微博用户之间相互推荐,为社交媒体用户提供与自身周围可能感兴趣的人建立联系和沟通的独特途径,即通过把兴趣和位置相结合,使在线用户能够增进线下的联系和交流。为此,首先要通过用户移动设备上的短距离无线通信装置,来完成微博用户的线下邻居发现和探测,然后使位于同一场所相互视线范围内的兴趣相似用户之间相互发现和彼此推荐;
步骤(2)利用词袋和矩阵分解方法从海量微博中挖掘用户的兴趣,指的是采用词袋和矩阵分解方法得到反映用户潜在主题兴趣分布的用户兴趣矩阵,该矩阵的每一行表示邻居组内一个用户的主题兴趣向量;最后对主题兴趣向量进行变化,用概率的形式表示用户对潜在主题的喜好程度。
步骤(3)通过超立方体来衡量微博用户的兴趣相似性,指的是把描述用户兴趣分布的不同主题映射到超立方体空间,每一主题对应于超立方体每一顶点的一个坐标分量,分别建立主题超立方体和二进制超立方体结构,并根据两种超立方体的特性提出不同的匹配算法进行邻居组中微博用户的兴趣匹配过程;
步骤(4)提出主题匹配的捷径算法,指的是利用邻居组中存在的线下朋友关系来进一步改善兴趣推荐的性能,首先分析微博用户的两种在线关注关系的特点,接着利用“双向关注”来生成“捷径”,并根据捷径进行进一步的兴趣推荐。
本发明步骤(1)所述的邻居探测包括:蓝牙或WifiDirect。步骤(2)所述的词袋和矩阵分解分别指:挖掘的用户近期所发微博内容通过分词和去停留词操作形成词袋模型;根据矩阵分解对项目进行评分预测的原理进行用户潜在兴趣挖掘。用户兴趣分析指的是挖掘微博用户的潜在兴趣,形成用户主题兴趣向量。匹配和推荐指的是主题超立方体及二进制超立方体中的兴趣匹配算法,以及基于捷径的兴趣推荐算法。
本发明公开的基于近邻的朋友推荐(neighborbasedfriendrecommendation,NBFR)与现有技术相比所具有的积极效果在于:
(1)本发明公开了一种基于近邻关系的全新微博系统朋友推荐方法。主要是把在线用户的当前位置与兴趣相结合,通过把用户视线范围内兴趣爱好相似的微博用户推荐给源用户,为社交媒体用户提供与自身视线范围内可能感兴趣的人进行联系的独特渠道。为此,首先为源用户建立邻居组,然后利用词袋和矩阵分解方法从微博内容中挖掘用户的兴趣;再根据超立方体特征提出匹配算法来衡量各个微博用户的兴趣相似性;最后提出主题匹配的捷径算法以进一步提高兴趣推荐的准确性。可以对用户所在场所自身一定范围内的兴趣匹配用户进行精确推荐,提高在线用户之间联系频率的目的。
(2)提高用户在Internet海量信息中获取自己真正感兴趣信息资源的概率。
(3)作为微博系统的一项功能改善微博的可用性。
本发明重点解决了现在的在线用户难以在海量微博信息中找到自己感兴趣的信息资源以及因此导致的兴趣匹配用户之间的联系频率仍然较低的问题。通过把在线用户的位置和兴趣相结合,提出了一种全新的基于近邻关系的朋友推荐方法。
附图说明:
图1为NBFR总体结构图;
图2为邻居组示意图(黑色圆圈代表源用户);
图3为无障碍蓝牙测试场景描述和测试结果描述图;
图4为通过1个或2个主题区别用户示意图;
图5为一个三维超立方体示意图;
图6为一个T-space的实例图;
图7为具有4个主题的二进制超立方体结构;
图8为捷径示意图。
具体实施方式
下面结合实施例说明本发明,这里所述实施例的方案,不限制本发明,本领域的专业人员按照本发明的精神可以对其进行改进和变化,所述的这些改进和变化都应视为在本发明的范围内,本发明的范围和实质由权利要求来限定。
实施例1
相关工作
近几年微博系统蓬勃发展并吸引了大量Internet用户,用户所发海量微博内容(tweets)成为理解微博用户行为的重要资源。目前大量在线朋友推荐研究正是通过对微博内容进行分析从而得出用户的兴趣和喜好,并把兴趣相似的用户彼此推荐,以便使用户获得自身感兴趣的信息资源。然而,大多数这些现有研究忽略了社会媒体用户位置和兴趣之间潜在的紧密关系,并不能使用户获得真正想要的信息。为此,本文提出了基于近邻的朋友推荐(neighborbasedfriendrecommendation)这一全新的推荐方法,通过把用户附近一定范围内兴趣爱好相似的其他微博用户推荐给该用户,为社交媒体用户提供了与周围可能感兴趣的其他微博用户进行联系和进一步沟通的独特渠道。本发明采取超立方体的方法来描述不同用户的不同兴趣主题。同时,提出主题匹配的捷径算法(topicmatchingshortcutalgorithm)进一步提高推荐的准确性。
推荐算法及超立方体
推荐算法
推荐算法的目的是为网络用户推荐感兴趣的文档、用户或是媒体信息。近年来,随着在线社会媒体的迅速发展,推荐算法得到了广泛研究。最常用的推荐方法称为协同过滤推荐(CollaborativeFiltering,CF),在CF中作者提出依靠用户对物体或其他用户的等级评定来预测用户喜好的策略。由于CF系统易受不公正评定的影响,到底向网络用户推荐何种类型的用户仍是一个难以解决的问题。为了把微博消息尽可能推送(mention)给网络中对该消息感兴趣的用户,某文献提出基于用户兴趣匹配的消息推荐系统,该系统首先收集各个用户所发微博内容,接着利用LDA算法进行用户兴趣挖掘。然而由于一条微博内容的信息量通常有限(140字之内),利用传统LDA算法对微博内容进行兴趣挖掘并不可行,得到的兴趣主题也并不准确。L.Nowell等研究用户之间的相互推荐,以帮助社交网络用户发现已知的线下接触和社会网络上的新朋友。在实际应用中,Facebook则发起“你可能认识的人”这一应用,利用基于“朋友的朋友”的链接预测方法向用户推荐可能认识的人。该方法认为拥有共同朋友的用户彼此相识的可能性非常大。新浪微博随后也提出了类似功能,通过微博用户的地理位置信息、用户的“关注”或者共同朋友信息向用户推荐可能感兴趣的其他用户。然而上述基于链接预测的方法可能产生如“富者更富(richergetricher)”的消极影响。
超立方体
超立方体最初在并行分布式计算中得到应用,其中大多数超立方体研究关注于数据消息的路由。针对移动Adhoc网络的灵活性和动态性,某文献提出利用超立方体进行组播路由协议的设计。H.Huo等基于逻辑超立方体结构定义路由选择和维护策略。有文献提出把所有蓝牙设备链接成超立方体结构以建立并行计算和通信环境。为利用超立方体的特性对HCNs(人类接触网络,humancontactnetworks)进行有效路由算法的设计,某文献则提出把人的不同社会特征映射到超立方体结构中。
概述
NBFR提出把微博用户的位置和兴趣联系起来的新思想。对于某一用户,NBFR能够发现周围与他兴趣相似的其他微博用户并把他们彼此推荐。为此,NBFR主要包括三部分,分别为邻居发现(neighbordefinition)、用户兴趣分析(userinterestdetection)及兴趣匹配和推荐(interestmatchandrecommendation),其工作流程如图1所示。
邻居发现:目前越来越多的移动手持设备配备有GPS,手机携带者通过GPS就能获得当前的位置信息。然而GPS通常存在误差,并且在室内往往很难获得GPS的读数,为了进行准确的邻居发现,NBFR通过用户移动设备上的短距离无线通信装置,如蓝牙4.0或Wifi_direct来完成邻居探测功能。目前基于Android或IOS操作系统的智能手机通常具备两种近场通信方式:蓝牙和Wifi_Direct。通过人为授权或启动NBFR服务时自动开启,用户可以方便的使用蓝牙或Wifi_Direct装置发现和探测通信范围内邻居用户手机上的同类设备。对于某特定用户,我们把探测到的与该用户位于相互通信范围内的所有用户(包括该用户本身)称为他的邻居组(group)。一个典型的邻居组概念如图2所示。当某用户启动NBFR服务时,我们首先进行邻居组探测,之后把该用户邻居组中所有微博用户的如ID号等基本信息上传到中心服务器,再由NBFR服务器对邻居组内用户进行兴趣挖掘和分析。图3是无障碍环境下节点距离为60m下扫描周期从1s到3s设备数据接收率的变化情况测试结果,通过实验我们发现,目前蓝牙4.0版本在实际无障碍环境下的传输距离可达60米之余,而通常人眼在无障碍情况下的清晰可视距离为300到500米,远远大于无障碍下蓝牙4.0的通信距离。因而,当前位于同一邻居组的用户在现实世界中彼此可见的可能性非常大。
用户兴趣分析:用户发布微博内容无疑能够反映他的个人兴趣。为了挖掘用户的兴趣爱好,我们收集邻居组中每个用户近期所发微博,并采用矩阵分解方法得到反映用户潜在主题兴趣分布的用户兴趣矩阵,该矩阵的每一行表示邻居组内一个用户的主题兴趣向量。
兴趣匹配和推荐:给定用户的主题兴趣向量,NBFR把邻居组中所有用户映射到多维超立方体结构,并根据超立方体的特性来衡量邻居组中各用户间的兴趣相似度。NBFR会根据兴趣匹配结果形成推荐列表,并把排名列表中前N个兴趣最相关的用户推荐给源用户。
用户兴趣分析
如何准确的挖掘并分析用户的潜在兴趣成为实现精确兴趣推荐的前提和关键。NBFR拟收集用户近期所发微博,通过挖掘微博文本内容得到用户的潜在主题兴趣分布。然而由于微博文本和传统文本有着显著的区别,主要表现在其文本内容较短(仅限于140字之内),微博消息往往只是个文本片段,甚至于只有寥寥数字,携带的信息不够完整。此外,微博消息还包含各种各样的主题、书写随意、符号表情较多,噪声较大。因此,采用何种方法有效的进行微博主题兴趣提取成为研究的挑战。针对这一问题,某些研究应用传统的主题模型如LDA方法对微博消息进行分析。标准LDA认为一个文档包含特定数量的主题,表示为主题的分布。文档的每个词则以一定概率选择了某个主题。这种假设对于长文本来说是合理的,然而对于微博,一条微博文本往往只反映一个主题,因此利用LDA对微博内容进行挖掘并不合理。为了提高兴趣挖掘的准确性,我们提出采用词袋(bagofwords)和矩阵分解(matrixfactorization)挖掘微博文本主题的方法。
建立用户特征矩阵
对于邻居组内用户,我们首先爬取他们近期所发表的微博文本并定义d为爬取到的用户最近所发微博内容的总集合。基于文本集合d,在采用jieba工具分词和进一步去停留词操作把d里面所有词语或单词提取出来后,构成了包含n个不同词语的词典D。利用词袋模型,每条微博文本均可以被表示成一个n维向量。向量中的每个元素表示词典D中相关元素在文本集合d中出现的次数。例如向量[1,3,1,1,2,0,0,1,0]中第一个元素1表示词典中第一个词语(或单词)在该条微博中出现了1次。对爬取的每条微博应用上述词袋模型,最终每个用户可以被表示成一个X m×n 的矩阵:
(1)
其中矩阵的每一行代表该用户的一条微博文本向量,m表示文本集合d中包含的该用户的微博条数,f ij (j=1,2,…,n)表示词典中的第i个单词在该用户的第j条微博中出现的总次数。
对于邻居组中任一用户(假定用户a),如果把他所对应的矩阵(定义为X a )同一列的所有元素相加,即得列向量Y a =(x a1 ,x a2 ,…,x ai ,x an ),其中分量x ai 为词典D中第i个单词在爬取的用户a的微博内容中出现的总次数。对每个用户采用上述方法提取列向量,爬取的邻居组内所有用户形成矩阵Y t×n 如下:
(2)
其中t为我们爬取的邻居组内微博用户的总数,Y i (i=1,2,…t)表示第i个用户的列向量。
利用矩阵分解进行用户主题兴趣发现
矩阵分解是根据用户对项目(物体)的评分来发现用户兴趣的方法。矩阵分解常在协同过滤算法中预测用户对未知物品(项目)的评分。用户对项目的打分越高,表明用户对项目越喜欢。根据预测的项目分值高低,把分值高的项目推荐给用户。利用矩阵分解对项目进行评分预测的根据是:存在决定用户对项目进行喜好评价的某些潜在特征,如果能够发现这些特征,用户就可以根据这些特征预测对特定物品的评分。由于矩阵分解可以对用户的潜在特征进行分析,NBFR利用矩阵分解对微博用户的主题兴趣进行分析挖掘。
假设要从公式(2)形成的矩阵Y t×n 中提取K个潜在主题兴趣,K满足K<t且K<n。我们的目的是查找两个低维矩阵U t×k 和V n×k ,使它们的乘积满足
(3)
其中矩阵U的每一行代表每个用户对各潜在兴趣主题的喜好程度,而矩阵V的每一行表示每个物品和各个兴趣主题的联系紧密程度。
则有:
(4)
其中u ik 表示用户u i 对第k个主题的喜好程度,v ik 表示第i个物品和第k个主题的联系紧密度,u i 为U的第i行,d j 为矩阵V的第j列。设实际值和预测评分值之间的差为误差,
令用户u i 对项目d j 的预测误差为e ij ,我们有:
(5)
公式(5)采取误差的平方的形式因为误差值可能是负值。为防止矩阵Y t×n 稀疏造成的过拟合(overfitting)问题,需要对e ij 正则化。引入正则化项后公式(5)变成:
(6)
其中β是正则项的权重,用来控制矩阵U和V的量级。为获得u ik 和v kj ,就需要:
(7)
我们采用随机梯度下降算法来优化e ij 2 。运用剃度下降算法首先要对矩阵U t×k 和V n×k 初始化,则u ik 和v ik 的更新公式分别表示为:
(8)
公式(8)中的α为常量表示梯度下降的速度,u ik 和v ik 分别对应于给定的初始矩阵U t×k 和V n×k 中的相应值;
(9)
其中u kj 和v kj 均为初始矩阵U t×k 和V n×k 中的相应值。把公式(9)带入公式(8)得,
(10)
令潜在主题兴趣的数量K=10(微博主题兴趣分类的经验值),设α=0.0002,β=0.02,T为矩阵Y t×n 中所有非零元素组成的集合,当且仅当满足
(11)
时更新过程停止。此时就能获得代表用户潜在主题兴趣的矩阵U t×k 。具体矩阵分解的算法如算法1所示:
得到矩阵U t×k 后,U t×k 的每行代表邻居组中一个用户的主题兴趣向量。设U t×k 反映的第u i 个用户的主题兴趣向量u i= (u i1 ,u i2, u i3 ,…u iK ),为下文方便计算起见,我们用概率的形式表示用户对潜在主题的喜好程度,为此对向量u i 的分量做如公式(12)的变化最终得用户u i 的主题兴趣向量u i ’=(w i1 ,w i2 ,w i3 ,…,w iK ),其中:
(12)
用户兴趣匹配
本节利用超立方体衡量邻居组中用户之间的兴趣相似程度。我们把分析获取的用户兴趣主题分别映射到主题超立方体(Topicspace)和二进制超立方体(Binaryspace)模型中,并比较运用这两种模型进行兴趣匹配的准确性差异。
主题超立方体模型
1)建立多维立方体结构
如果每个用户仅有一个兴趣主题,那么通过一维空间就能区分两个不同用户。如图4所示,用户A和B之间的差别为Δu。如果每个用户有两个兴趣主题,那么用户A和B之间的差别可用二维向量(Δu,Δv)表示。同理,如果对用户赋予三个或更多的兴趣主题,就要通过多维空间描述各用户的差别,用户的每个主题对应于超立方体顶点坐标的一个分量。
图5描述了一个包含12个用户的3×2×2立方体。其中每个用户包含3个兴趣主题,分别为“运动、健康、旅行”。令用户A和B的兴趣主题向量分别为(x1,x2,x3)和(y1,y2,y3)。为了把A和B映射到此立方体中,我们设A的坐标为(0,0,0),通过计算向量(x1,x2,x3)和(y1,y2,y3)之间的相对距离,B映射到此立方体的顶点(2,1,1)。
若邻居组中有N个用户,每个用户的兴趣分布用一个10维向量(T1,T2,…,T10)表示,那么这N个用户映射到一个10维立方体(10-D),其中每个用户映射到10-D的一个顶点。根据超立方体的特性,两用户当且仅当只有一个主题兴趣不同时,他们在超立方体中直接相连。由于顶点的每个分量代表一个兴趣主题,我们把这种超立方体又称为主题超立方体(Topicspace,T-space)。
把邻居组中用户映射到10-D时,需设置一个用户为原点,然后通过计算其他用户和这个用户之间的相对距离把各个用户分别进行映射。例如用户A和B对应的主题向量分别为(x a1 ,y a2 ,z a3 ,…,w a10 )和(x b1 ,y b2 ,z b3 ,…,w b10 ),其中每一维向量代表一个兴趣主题。则A和B各分量的相对距离分别为:
(13)
根据相对距离向量(Δx ab, Δy ab ,Δz ab ,…,Δw ab )和A的坐标,就能够把B映射到10-D中。图6显示了根据3个主题兴趣建立T-space的具体过程。设A的主题兴趣向量为(0.12,0,0.1),用户B的兴趣向量是(0.4,0.24,0),根据公式(13),A、B各维度的相对距离是(0.28,0.24,0.1)。若把A对应于超立方体的原点,B的映射过程如下:首先把相对距离向量的各分量四舍五入只保留小数点后一位;然后把处理后的分量均乘10。该操作完成后B映射到顶点(3,2,1),如图6。同时在图6中,两用户仅当有一个主题喜好不同时能够在超立方体中直接相连。此外,用户和T-space的顶点之间通常是一对一的映射关系,因为很少有两个用户的兴趣喜好程度完全相同,尤其当潜在主题兴趣的数量较多时。
2)利用T-space进行兴趣匹配
设超立方体中任意两顶点(如顶点i和顶点j)的主题距离D(ij)为它们之间的汉明距离。如图6中用户A对应的顶点(原点)到顶点U 4 的主题距离为2,表示A和映射到U 4 的用户仅有两个主题兴趣不同。通常来说,用户的主题兴趣相似程度越大,他们所对应的顶点之间的距离就越短,因此我们利用主题距离衡量邻居组中用户的兴趣相似度。以图5中用户A为例,通过比较邻居组内其他用户对应的顶点与原点的主题距离,我们把邻居组中用户分成不同的相似等级。根据超立方体的特征容易发现:与源点A主题距离由小到大的顶点对应的集合分别为C 0 =(U 0 ,U 1 ,U 2 ,U 3 ,U 7 ,U 11 ),C 1 =(U4,U5,U6,U8,U9,U10,U12,U13,U14,U15,U19)及C 2 =(U16,U17,U18,U20,U21,UB),也就是说集合C 0 、C 1 、C 2 中的顶点对应的用户与A的相似等级由高到低。
二进制超立方体模型
1)建立二进制超立方体
我们在上一小节讨论了主题超立方体中的兴趣匹配,然而利用主题超立方体进行兴趣匹配存在如下问题:由于用户对不同的兴趣主题具有不同的喜好,即使两用户均爱好同一特定主题,他们对该主题的爱好程度也不尽相同,因此在T-space中很难查找到兴趣相匹配的用户。由于通常微博用户在一段时间内仅对几个甚至是一个主题感兴趣,为进行精确兴趣匹配,就应该从用户主题兴趣向量中提取用户特别感兴趣的主题,根据提取的这些特别感兴趣的主题来进行兴趣推荐。为此,本节引入二进制超立方体(binarycubeorB-space)模型来提高兴趣匹配的性能。
二进制超立方体是一种特殊的超立方体结构,其中每个顶点坐标的分量仅有“0”或“1”两个取值。为建立B-space,首先应该把用户主题兴趣向量各维度的值变成二进制形式。当维度的值为1表示用户对此主题感兴趣,相应的主题定义为该用户的关键主题(keytopic),而当某维度的值为0时表示的含义正好相反。可采用以下步骤实现用户主题兴趣向量维度值的二进制化:先从主题向量中选择关键主题;再把关键主题对应的维度值设为1,剩余的所有维度值均设为0。关键主题的选择可通过设置门限值γ实现,当且仅当主题向量的维度值不小于γ时该主题为关键主题。具体γ的取值根据仿真实验和微博兴趣挖掘的实际情况进行合理选择。例如,有主题向量w=(0,0.21,0.06,0.30,0.05,0.11,0.03,0.02,0.09,0.13),若选择γ=0.1,w最终转化成w*=(0,1,0,1,0,1,0,0,0,1)。把二进制化之后的主题向量映射到超立方体后形成的立方体结构称为二进制超立方体。与主题超立方体中根据用户对兴趣的喜好程度是否相同进行匹配不同,用户在B-space中根据是否具有相同的关键主题进行匹配,仅当两用户的所有关键主题均相同时映射到相同的顶点。
采用如上方法,我们把T-space压缩成了B-space,尽管每一维度可能具有多个不同的取值。与T-space不同,B-space中用户和超立方体的顶点可能并不是一对一的映射关系。图7为基于4个兴趣主题(分别为“运动、健康、旅行、体育”)建立的4维B-space,在此邻居组用户可能映射到总共16个顶点,顶点0000代表对这四个主题均不感兴趣的用户集合,如果某一主题是某用户的关键主题,则把该用户主题向量的相应维度设为1。如图中用户A映射到顶点1100,表示A仅对“运动”和“健康”特别感兴趣。注意到两用户当且仅当只有一个关键主题不同时能够彼此直接相连。
2)二进制超立方体中的兴趣相似性匹配
我们采取如下方法进行二进制超立方体中的兴趣相似性匹配:1)首先选择源用户对应的顶点坐标;2)接着从二进制超立方体中每次选择一个顶点的坐标值,选择的该顶点应该与源用户所在邻居组中一个或多个用户相匹配。该过程一直进行直到所有满足条件的顶点均被选择;3)把步骤1)和步骤2)中选择的顶点坐标对应的各个分量执行按位“与”操作,并查看结果中“1”的个数。结果中“1”的个数越多说明两顶点所代表的用户之间的兴趣相似程度越高。例如,用户B映射到图7中的顶点1110且用户C对应顶点0100,若要向用户A(对应顶点1100)推荐朋友,则把A当成源用户。把顶点1110(B)和1100(A)进行按位“与”运算得结果“1100”。因为结果“1100”中1的个数为2,则定义用户B与用户A的相似级别为2。同理,用户C的相似级别为1。因此可得结论,与用户C相比,用户B与A的兴趣相似度更高。
总之,B-space中由于用户根据自身的关键主题进行兴趣相似性匹配,即关键主题全都相同的用户映射到立方体中同一顶点,而主题距离为n的用户具有n个不同的关键主题,因此相比于T-space,利用B-space进行兴趣相似性匹配能获得更高的匹配准确性和性能。
基于捷径的推荐(ShortcutbasedRecommendation)算法
利用微博兴趣挖掘进行兴趣推荐存在以下缺陷:有些微博用户并不活跃,他们发微博或更新微博信息的频率较低。比如用户u i 不太习惯用微博,他每个月仅登陆微博几次并发表几条微博文本,此时通过用户主题模型进行兴趣挖掘并不能准确的反映用户的喜好。有文献表明人的兴趣能够反正他现实世界朋友的兴趣爱好,反之亦然。有文献进一步提出线下朋友之间通常存在相同的潜在兴趣爱好。我们打算利用线下朋友关系来进一步改善兴趣推荐的性能,为此提出捷径(shortcut)的概念。在T-space和B-space中,两用户之间当且仅当主题距离为1时能够直接相连,若两用户的主题距离不为1,他们之间就没有直接连接关系。在此,我们允许主题距离为2或是2以上的两用户直接相连,这样的控制连接被称为捷径。如图6中,如果邻居组中用户U 0 和U 18 是线下朋友,那么他们对应的顶点可以作为捷径直接相连,尽管U 0 和U 18 的主题距离不为1。另外,我们考虑图8中顶点A和B之间的虚拟有向连接:设A和B的主题距离差异为i,i+1,…,j。当j=i+1时,此连接代表二进制超立方体中A和B之间关键主题相差为1的常规直接连接关系。
为了挖掘用户之间的线下朋友关系,我们利用了新浪微博用户的“在线关注”。通常一个微博用户具有两种在线关注:双向关注(two-wayfollow,TR)和单向关注(one-wayfollow,OR)。双向关注代表关注的双方各为彼此的粉丝,而单向关注表示用户为别人的粉丝,而用户所关注的对方没有关注该用户自己。表1是通过新浪微博的API服务对5000个授权微博用户的数据进行分析的结果,从表1中可以看出:1)与单向关注相比,大多数用户双向关注的比率很低;2)双向关注的双方在现实生活中基本具有朋友、同事、同学等相对紧密的关系。为此可以利用双向关注来生成邻居组中的捷径。若邻居组中两用户维持在线双向关注,则这两用户所对应的顶点之间就生成一条捷径。
假设B-space中用户i和用户j之间维持一条捷径,在基于捷径的朋友推荐中,为进一步向用户i推荐兴趣匹配的用户,首先通过B-space中介绍的兴趣推荐方法查找与用户j兴趣相似的用户,然后把查找到的匹配用户直接推荐给用户i。捷径推荐作为B-space推荐的补充,通过捷径推荐可为用户i查找更多兴趣类似的用户。总之,捷径推荐弥补了超立方体进行兴趣推荐的不足和缺陷。
表1双向关注的用户比率示意
实施例2
作为微博系统的一项功能改善微博的实用性:用户A打开自己的微博界面,通过NBFR功能用户A可以查看当前自己周围和自己兴趣匹配的用户列表(按匹配程度由高到低显示),用户A点开匹配列表中某个用户的微博页面(比如用户B),从用户B所发微博内容和图片中看到用户B的照片并且发现B最近去的几个地方自己也常去,另外用户A抬头正好发现用户B就坐在自己不远处,这时候A已经对B产生兴趣,用户A就试图用户B打招呼。因为用户A和用户B具有共同的兴趣爱好,用户A可以以他俩都感兴趣的主题爱好作为会话的切入点,建立彼此的交流。通过把用户A和B的位置和兴趣相联系,使用户A和用户B都从海量微博中查找到了彼此可能感兴趣的信息,也为两用户建立联系和进一步的交流提供了切入点和有效途径。
Claims (5)
1.一种基于近邻关系的微博系统朋友推荐方法,其特征在于:
通过把在线用户的当前位置与兴趣相结合,建立用户线上和线下相联系的桥;
利用词袋和矩阵分解方法从微博内容中挖掘用户的兴趣;
通过超立方体来衡量各个微博用户的兴趣相似性;
利用超立方体结构,提出主题匹配的捷径算法以进一步提高兴趣推荐的准确性;
其中:
步骤(1)中建立用户线上和线下相联系的桥,指的是使位于同一地理场所相互视线范围内兴趣匹配的微博用户之间相互推荐,为社交媒体用户提供与自身周围可能感兴趣的人建立联系和沟通的独特途径,即通过把兴趣和位置相结合,使在线用户能够增进线下的联系和交流;
为此,首先要通过用户移动设备上的短距离无线通信装置,来完成微博用户的线下邻居;发现和探测,然后使位于同一场所相互视线范围内的兴趣相似用户之间相互发现和彼此推荐;
步骤(2)利用词袋和矩阵分解方法从海量微博中挖掘用户的兴趣,指的是采用词袋和矩阵分解方法得到反映用户潜在主题兴趣分布的用户兴趣矩阵,该矩阵的每一行表示邻居组内一个用户的主题兴趣向量;通过对主题兴趣向量进行变化,用概率的形式表示用户对潜在主题的喜好程度;
步骤(3)通过超立方体来衡量微博用户的兴趣相似性,指的是把描述用户兴趣分布的不同主题映射到超立方体空间,每一主题对应于超立方体每一顶点的一个坐标分量,分别建立主题超立方体和二进制超立方体结构,并根据两种超立方体的特性分别提出不同的匹配算法进行邻居组中微博用户的兴趣匹配过程;
步骤(4)提出主题匹配的捷径算法,指的是利用邻居组中的线下朋友关系来进一步改善兴趣推荐的性能,首先分析微博用户的两种在线关注关系的特点,接着利用“双向关注”来生成“捷径”,并根据捷径进行进一步的兴趣推荐。
2.权利要求1所述的基于近邻关系的微博系统朋友推荐方法,其中步骤(1)所述的邻居探测包括:蓝牙或Wifi_Direct。
3.权利要求1所述的基于近邻关系的微博系统朋友推荐方法,其中步骤(2)所述的词袋和矩阵分解分别指:挖掘的用户近期所发微博内容通过分词和去停留词操作形成词袋模型;根据矩阵分解对项目进行评分预测的原理进行用户潜在兴趣挖掘。
4.权利要求1所述的基于近邻关系的微博系统朋友推荐方法,其中用户兴趣分析指的是从用户所发微博中挖掘用户的潜在兴趣,形成用户主题兴趣向量。
5.权利要求1所述的基于近邻关系的微博系统朋友推荐方法,其中匹配和推荐指的是利用超立方的特征,提出主题超立方体及二进制超立方体中的兴趣匹配算法,以及基于捷径的兴趣推荐算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510573898.6A CN105141508B (zh) | 2015-09-10 | 2015-09-10 | 一种基于近邻关系的微博系统朋友推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510573898.6A CN105141508B (zh) | 2015-09-10 | 2015-09-10 | 一种基于近邻关系的微博系统朋友推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105141508A true CN105141508A (zh) | 2015-12-09 |
CN105141508B CN105141508B (zh) | 2018-03-06 |
Family
ID=54726724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510573898.6A Expired - Fee Related CN105141508B (zh) | 2015-09-10 | 2015-09-10 | 一种基于近邻关系的微博系统朋友推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105141508B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126727A (zh) * | 2016-07-01 | 2016-11-16 | 中国传媒大学 | 一种推荐系统大数据处理方法 |
CN106649682A (zh) * | 2016-12-15 | 2017-05-10 | 咪咕数字传媒有限公司 | 一种书友推荐方法及装置 |
CN107025305A (zh) * | 2017-04-20 | 2017-08-08 | 南京航空航天大学 | 基于图核的社会网络链接预测方法 |
CN110413897A (zh) * | 2019-06-14 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 用户兴趣挖掘方法、装置、存储介质和计算机设备 |
CN110674305A (zh) * | 2019-10-10 | 2020-01-10 | 天津师范大学 | 一种基于深层特征融合模型的商品信息分类方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470731A (zh) * | 2007-12-26 | 2009-07-01 | 中国科学院自动化研究所 | 一种可个性化定制的网页过滤方法 |
CN103150667A (zh) * | 2013-03-14 | 2013-06-12 | 北京大学 | 一种基于本体结构的个性化推荐方法 |
CN103198228A (zh) * | 2013-04-18 | 2013-07-10 | 清华大学 | 基于广义关系隐话题模型的关系网络链接预测方法 |
-
2015
- 2015-09-10 CN CN201510573898.6A patent/CN105141508B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470731A (zh) * | 2007-12-26 | 2009-07-01 | 中国科学院自动化研究所 | 一种可个性化定制的网页过滤方法 |
CN103150667A (zh) * | 2013-03-14 | 2013-06-12 | 北京大学 | 一种基于本体结构的个性化推荐方法 |
CN103198228A (zh) * | 2013-04-18 | 2013-07-10 | 清华大学 | 基于广义关系隐话题模型的关系网络链接预测方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126727A (zh) * | 2016-07-01 | 2016-11-16 | 中国传媒大学 | 一种推荐系统大数据处理方法 |
CN106649682A (zh) * | 2016-12-15 | 2017-05-10 | 咪咕数字传媒有限公司 | 一种书友推荐方法及装置 |
CN107025305A (zh) * | 2017-04-20 | 2017-08-08 | 南京航空航天大学 | 基于图核的社会网络链接预测方法 |
CN107025305B (zh) * | 2017-04-20 | 2020-05-05 | 南京航空航天大学 | 基于图核的社会网络链接预测方法 |
CN110413897A (zh) * | 2019-06-14 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 用户兴趣挖掘方法、装置、存储介质和计算机设备 |
CN110413897B (zh) * | 2019-06-14 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 用户兴趣挖掘方法、装置、存储介质和计算机设备 |
CN110674305A (zh) * | 2019-10-10 | 2020-01-10 | 天津师范大学 | 一种基于深层特征融合模型的商品信息分类方法 |
CN110674305B (zh) * | 2019-10-10 | 2023-05-12 | 天津师范大学 | 一种基于深层特征融合模型的商品信息分类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105141508B (zh) | 2018-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hu et al. | A graph-based approach to detecting tourist movement patterns using social media data | |
Zheng et al. | Learning travel recommendations from user-generated GPS traces | |
Gao et al. | Data analysis on location-based social networks | |
Quercia et al. | Friendsensing: recommending friends using mobile phones | |
Bao et al. | A survey on recommendations in location-based social networks | |
Zheng et al. | Learning location correlation from gps trajectories | |
Zhai et al. | Mapping the popularity of urban restaurants using social media data | |
Sang et al. | Probabilistic sequential POIs recommendation via check-in data | |
CA3116778C (en) | Artificial intelligence engine for generating semantic directions for websites for automated entity targeting to mapped identities | |
CN105141508A (zh) | 一种基于近邻关系的微博系统朋友推荐方法 | |
Ying et al. | Semantic trajectory-based high utility item recommendation system | |
CN109508428A (zh) | 基于兴趣点真流行度与隐式信任挖掘的兴趣点推荐方法 | |
Gao et al. | Mining human mobility in location-based social networks | |
Xu et al. | Venue2vec: An efficient embedding model for fine-grained user location prediction in geo-social networks | |
CN103365906A (zh) | 一种实现基于位置的搜索和推荐的系统和方法 | |
CN115408618B (zh) | 一种基于社交关系融合位置动态流行度和地理特征的兴趣点推荐方法 | |
Lathia | The anatomy of mobile location-based recommender systems | |
He et al. | Next point-of-interest recommendation via a category-aware Listwise Bayesian Personalized Ranking | |
Yang et al. | Location-centric social media analytics: Challenges and opportunities for smart cities | |
Sharma et al. | A location based novel recommender framework of user interest through data categorization | |
Liu et al. | From strangers to neighbors: Link prediction in microblogs using social distance game | |
Zhao et al. | Service objective evaluation via exploring social users' rating behaviors | |
Zhang | Research on collaborative filtering recommendation algorithm based on social network | |
Chen et al. | Joint promotion partner recommendation systems using data from location-based social networks | |
Zhu et al. | From interest to location: Neighbor-based friend recommendation in social media |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180306 Termination date: 20200910 |