APP下载

基于SSD和时序模型的微博好友推荐算法

2021-08-06马汉达

计算机工程与科学 2021年7期
关键词:先验时序好友

马汉达,景 迪

(江苏大学计算机科学与通信工程学院,江苏 镇江 212013)

1 引言

随着互联网技术的飞速发展,越来越多的用户愿意在社交平台上进行交友聊天[1]。数以万计的在线用户每天都会产生海量的数据,而对用户产生的数据信息进行爬取、分析,也是各社交平台常见的商业行为。但是,用户产生的数据信息量大且复杂多变,因此,如何利用好用户的有效信息进行分析处理,优化平台的好友推荐策略是本文研究的主要问题。

目前,通过对微博用户群进行研究发现,对微博用户而言,能较大程度上决定用户兴趣走向的是用户自身发表的微博信息,以及用户相关的行为信息,因此基于微博内容的好友推荐是微博好友推荐的主要研究方向。其中,在表现用户的兴趣特点上,图像有时比书面语更占优势,并且用户的兴趣爱好会受到时间等其他因素影响或发生改变,因此,在依据用户兴趣爱好进行好友推荐时,难免需要对时间因素进行考量。

本文在考虑到用户个人信息的同时,将用户发表的图像信息作为主要处理对象。通过对图像识别分类,形成用户兴趣信息,并利用兴趣浓度随时间消逝而逐渐下降的特点,对用户兴趣爱好进一步处理,提出了基于用户信息并结合多目标检测SSD(Single Shot MultiBox Detector)和时序模型的推荐BSBT-FR(Based SSD and Based Timing model Friends Recommendation)算法以计算用户间的相似度,最后在保证一定精准度的前提下,达到较好的好友推荐效果。

2 相关研究

目前,社交平台上有很多相关的个性化推荐方法,主要分为2种推荐模式:一是从社交关系角度出发,寻找好友;二是从微博用户相关内容入手,间接寻找好友。

基于社交关系[2 - 4]推荐好友主要根据相似的社交偏好进行用户推荐,结合用户间的联系得到社交拓扑图[5],通过分析用户间的来往关系,从而获得推荐结果,这极大提高了用户的接受率。如利用帕累托最优遗传(Pareto-optimal)算法[6]来分析预测好友,进而提高推荐效果。文献[7]利用二级好友的思想,即将目标用户的好友的好友作为推荐结果进行推荐。文献[8]发现用户之间存在隐性关系,通过利用关联规则算法查找用户与其他用户间的隐性共同点,提出一种基于用户社交网络的好友推荐算法。

在微博社交平台上,用户拥有庞大的社交关系,还会发表很多的博文信息。基于微博内容[9]可以通过对大量的文本信息进行深入分析,发现用户潜在的兴趣爱好走势,对相应的用户输送较为合适的好友列表,从而提高用户满意度。例如使用词频-反文档频率TF-IDF(Term Frequency-Inverse Document Frequency)算法[10,11]提取权重较高的关键字表示用户的特征向量,并将其作为各个用户的兴趣标签,以此计算用户间的相似度,实现好友推荐。文献[12]则是利用签到时产生的位置信息,以地理位置信息为依据,向目标用户推荐好友。文献[13]则是通过分析用户之间的聊天内容、提问内容等,进而发现用户间的内在联系,以此发掘潜在好友关系,并应用于Facebook社交网络中。文献[14]在现有好友推荐算法的基础上,从六度分隔理论着手,对好友进行分级,将评级相似的用户合并为一个群组,进而提高推荐的精准度。文献[15]根据博文的转发关系网络对用户进行聚类,发现同一社区的用户有相似的兴趣,表明在社交网络中,用户的交际圈更多的是建立在共同兴趣上。

微博好友推荐算法对好友推荐的关键在于是否拥有共同的兴趣爱好,对用户在微博平台中产生的文本信息进行处理的手段不断丰富,技术不断成熟,但很容易忽略用户博文中的图像数据,而图像往往也富含用户兴趣信息。因此,本文试图通过对微博中的图像信息进行处理,得出用户兴趣爱好,进而计算用户间相似度,实现好友推荐。

3 基于SSD和时序模型的好友推荐算法

目前在社交平台中的很多好友推荐算法都是依赖于用户之间已存在的好友关系和用户产生的行为信息以及微博信息提出的。随着活跃用户群的不断更新与增多,用户发表的微博内容不断丰富,越来越多的图像信息无法得到合理的利用,以至于造成了图像数据的冗余和资源浪费的现象。图像中往往有很多信息,其中就包括用户的兴趣爱好信息。多目标检测SSD算法[16,17]可以对图像中的多个目标物体进行有效的识别和分类,进而通过识别出来的结果进行兴趣归类,达到识别出用户兴趣爱好的效果。同时,考虑到用户的兴趣爱好本就是一个时间序列型数据[18],容易因时间的不同而发生变化。例如,一些用户在一个月前喜欢健身运动,但一个月后,由于难以抗拒美食的诱惑,放弃了健身项目。因此,对于用户相隔较久远的兴趣爱好,其影响因子参数应该较低,而近期的兴趣爱好的影响因子参数应该较高,以此体现出时间因素的影响。

本文不仅对用户个人信息进行了研究,而且通过对多目标检测算法SSD进行对应的模型训练,以此获得由图像间接反映出的用户之间的相似度。最后再将基于用户个人信息的相似度和基于图像信息的相似度进行融合,进而得出最终的好友推荐列表。

本文算法的主要步骤包括:首先根据用户的资料信息构建特征向量,计算基于用户个人信息的相似度;其次通过已训练好的模型对用户图像进行识别和分类,得出用户的兴趣爱好信息,再结合时序模型构建用户兴趣评分矩阵,计算得出基于用户图像信息的相似度;最后基于并行式混合推荐模型,将两者加权结合,得到最终的好友推荐结果集。

3.1 基于用户个人信息的推荐模块

基于用户个人信息的好友推荐模块是从用户自身的基本信息这一角度进行推荐,其中包括用户的性别、地区和婚姻状态等。通过用户个人信息构建能够表达用户个人属性的特征向量,使用欧氏距离来计算用户间的相似性。

如图1所示,示例采用了用户的性别、地区和婚姻状态这3个属性来构建用户特征向量,并且用户A与用户C的3个属性完全一致,而用户B的信息与用户C没有丝毫联系,经过相似度计算后,A和C之间的相似度值必定远高于B和C之间的相似度值。因此,在该好友推荐策略中,显然用户A比用户B更适合于用户C。本文中则使用的是用户的认证信息、性别、婚姻状况、地区、生日(年龄)和标签等属性,以此构建用户的特征向量来计算用户间的相似度值。其中相似度计算使用常用的欧氏距离,如式(1)所示:

(1)

其中,A和B代表用户特征向量,Ai代表该用户特征向量A第i维的特征值,Bi代表该用户特征向量B第i维的特征值,sim(A,B)则是这2个用户的相似度值。

Figure 1 Example of friend recommendation based on user’s personal information图1 基于用户个人信息的好友推荐示例

3.2 基于用户图像信息的推荐模块

基于用户图像信息的好友推荐模块主要依赖于用户发表的一些图像信息,对图像中所展示的信息元素进行分析处理,转化为用户的兴趣爱好;而用户的兴趣爱好并不是静态信息,它是一种“实时数据”,可以理解为一种时间序列数据,时序数据的数值会因为时间不同而有所差异,所以本文算法利用时序模型改善用户的特征分析,增强其有效性和准确性。

基于用户图像信息的推荐模块主要分以下几个步骤:

步骤1搭建多目标检测SSD算法模型并训练。

步骤2使用已训练好的SSD模型进行分类检测。

步骤3将得到的分类结果作为用户对相关兴趣爱好的评分依据,并结合时序模型,对各时间段的兴趣向量进行时序计算。

步骤4使用散度计算公式,计算用户之间的相似度。

3.2.1 模型训练

训练SSD模型的最终目的是使多目标检测SSD算法在进行图像识别之后得到的分类结果更加精确。在整个训练过程中,最重要的是先验框匹配和损失函数的计算。模型训练的具体步骤如下所示:

步骤1训练数据集的预处理,如把图像处理成300×300像素的图像。

步骤2搭建SSD算法模型,其中包含6个卷积层及其对应的6个特征图(Feature Map)。获取到这些不同大小的特征图后,进行物体位置检测和分类工作,通过非极大值抑制NMS(Non Maximum Suppression)对结果实现分拣,最终得到所需数据。以此实现不同尺度检测的效果,提高对宽高比不一致的真实目标框的识别精准度。

步骤3设置先验框尺度和长宽比,以计算出各先验框的宽wk和高hk,如式(2)所示:

(2)

其中,winput和hinput分别为输入图像的宽和高;Sk为第k个先验框的尺度,先验框的长宽比αr∈{1,2,3,1/2,1/3,1′},虽然1′也代表长宽比为1,但先验框尺度不同,其计算公式需要用第k个先验框的尺度与第k+1个先验框的尺度相乘并开根号。

步骤4计算并交比IOU值,如式(3)所示:

(3)

其中,Sp∩Sg代表先验框与真实目标框的交集,Sp∪Sg代表先验框与真实目标框的并集。

步骤5匹配先验框。先验框匹配方法如下所示:对于目标对象中的每个真实目标框,将其IOU值最大的先验框作为匹配成功的对象,对于未匹配成功的先验框,将其IOU值与阈值比较,若并交比的数值大于阈值,则设置为匹配成功。

步骤6计算SSD检测值,包括预测位置和分类信息。其中分类信息计算方法是若某先验框与真实目标框匹配成功,则认为该真实目标框与该先验框类别信息一致;而预测位置记为l=(lcx,lcy,lw,lh),计算方法如式(4)所示:

(4)

lcy=(bcy-dcy)/dh

(5)

lw=log(bw/dw)

(6)

lh=log(bh/dh)

(7)

其中,d=(dcx,dcy,dw,dh)代表先验框位置,b=(bcx,bcy,bw,bh)代表对应的真实目标框位置。

步骤7计算置信度误差Lconf(x,c)和位置误差Lloc(x,l,g)。其中,c是分类结果的预测值;l是对应的边界框位置的坐标值,而g是真实目标框的位置参数。

为了确定检测算法对目标物体评分情况和目标框定位的准确性,通过计算这2个误差进行反向传播并调整模型的参数,以实现优化算法的目的,提升其识别的精准度。其中置信度误差是预测分类的误差,位置误差是预测位置与真实位置之间的误差。

位置误差Lloc(x,l,g)计算方法如式(8)所示:

Lloc(x,l,g)=

(8)

(9)

(10)

(11)

(12)

(13)

置信度误差Lconf(x,c)是计算当前所求先验框的分类结果x与预测分类结果c的误差,计算方法如式(14)所示:

(14)

步骤8计算损失函数L(x,c,l,g):

(15)

其中,N为先验框的正样本数量,α为权重。

3.2.2 构建用户兴趣向量

主要通过使用目标检测SSD算法进行图像检测,得出图像中所涉及的物体类别的分类信息,为用户设置相对应的兴趣标签。构建用户兴趣标签向量主要可以分为获取用户的图像信息、图像检测、记录检测结果信息等内容。

图像在一定程度上能反映出用户的兴趣爱好。比如,2个用户分别发送了猫和狗的照片,虽然他们喜爱的动物对象并不一样,但他们有一个共同点就是喜欢宠物,那么便可以认为他们的兴趣爱好是萌宠,因此他们都将被贴上萌宠这一兴趣爱好标签。所以,可以通过对用户图像进行识别的方式间接得到用户的兴趣爱好标签。

本文主要使用的数据集是ImageNet,该数据集包含了几百个物种,1 000个分类的图像,信息标注清晰。因此,对爬取的微博用户图像进行检索,根据大部分图像中常见的元素,从训练数据集中选取与之相似的类别进行训练,并考虑到它们与用户兴趣之间的关系,共定义了10种兴趣标签,包括旅游、美食、果蔬、电子设备、运动、音乐、车、萌宠、人物和家具。上述定义的关系详细说明如表1所示。

Table 1 Corresponding relationship between interest label and image classification

根据表1所示的分类,可构建兴趣标签向量Cate={cate1,cate2,…,cate10},其中catei表示第i个兴趣标签出现的次数。例如,若是出现小提琴与钢琴,那么便将它们认为是属于“音乐”这一兴趣标签,归为一类。因此,用户兴趣向量可表示为hobby(u)={hy1,hy2, …,hy10},其中hyi表示第i个类型的兴趣标签出现的次数占所有类型的兴趣标签出现的总次数的比例,计算方法如式(16)所示:

(16)

3.2.3 时序处理

以时间间隔T作为一个时间节点,对用户进行时序处理,因此,在进行图像分类的同时,要考虑到时间因素,对每个时间节点作一次分类统计,以得到各时间节点上的分类总数Cate(u)Ti={Sum(cate1)Ti,Sum(cate2)Ti,…,Sum(cate10)Ti},其中Sum(catej)Ti代表的是在时间间隔Ti中第j个兴趣标签出现的总次数。因此,在时间间隔Ti内,用户兴趣向量hobby(u)Ti={hy1Ti,hy2Ti,…,hy10Ti}的计算方法如式(17)所示:

(17)

(18)

其中,Ti代表第i个以时间间隔T划分的时间点,f(t)为时序衰减函数公式;以时间间隔T内的时间作为一个时间点,n代表时间点总数,t代表第t个时间点,γ是一个非负核心参数。

经过上述计算可以获得n个用户各自的兴趣向量,将这n个向量对应位置进行相加,即得到经过时序处理后的用户兴趣向量hobby(u)={hy1,hy2,…,hy10}。

3.2.4 构建用户-兴趣评分矩阵

在计算获得目标用户与备选推荐用户的兴趣向量后,构建用户-兴趣评分矩阵U∈Rm×10,其中m代表涉及的用户总数,矩阵的每一行代表用户的兴趣向量。因此,用户P、Q对应的用户兴趣向量分别可表示为p={p1,p2,…,p10}和q={q1,q2,…,q10}。通过JS(Jensen-Shannon)散度公式即可计算对应的相似度值,如式(19)所示:

(19)

其中,p和q代表2个用户的兴趣向量。

最后,将上述2个推荐模块进行加权式融合,得出最终的综合好友相似度,再根据相似度向目标用户进行Top-K潜在好友推荐。

4 实验

4.1 实验数据及环境

为了验证本文提出的推荐算法的有效性,使用网络爬虫技术从新浪微博中获取1 896名用户近2个月的微博数据,其中包括用户的个人信息、社交好友关系信息、微博图像信息、图像发表时间信息等,共计79 172条博文,217 409幅图像数据。这些数据皆经过以测试算法为主要目的的预处理。实验使用的开发语言是Python,运行环境如下:处理器为Intel(R)CoreTMi5-1035G1 CPU @ 1.00 GHz,内存16 GB,操作系统为Windows 10。

4.2 评价指标

通过对大量推荐系统论文的分析研究,决定采用Top-K推荐算法中常用的3个指标作为实验评价标准,分别为准确率(Precision)、召回率(Recall)和F值(F-measure)。3个评价指标的定义如式(20)~式(22)所示:

(20)

(21)

(22)

其中,M表示系统生成的推荐结果的数量,|f|是推荐结果与目标用户好友列表的交集大小,|freal|是目标用户的好友数。

准确率和召回率指标的结果越高表明推荐结果越好,但由于部分情况中会出现两者自相矛盾,因此需要F值进行衡量,F值越高,则说明此方法越有效。

4.3 实验结果与分析

4.3.1 实验设计

本文选择了3种算法进行对比实验,分别为:(1)基于用户信息的推荐算法BI-FR(Based Information Friends Recommendation)[19],该算法根据用户的个人身份信息进行相似好友推荐,参考因素只有用户个人信息;(2)基于用户信息和图像信息的推荐算法BIBP-FR(Based Information and Based Picture Friends Recommendation)[20],该算法在基于用户信息推荐算法的基础上,提取用户图像信息兴趣特征作为用户间相似度计算的因素之一,参考因素为用户个人信息和图像信息;(3)基于用户信息并结合SSD和时序模型的推荐算法BSBT-FR,此算法在综合考虑用户个人信息和图像信息的基础上,对图像信息做进一步的时间处理,以此预测用户的好友,参考因素为用户个人信息和经处理过后的图像信息。

4.3.2 权重对推荐结果的影响

为了说明本文算法中用户个人信息和图像信息的不同权重对推荐结果的影响,首先进行权重实验。根据有关文献可知,在多因子的情况下,用户信息权重一般选取在0.2~0.5。实验将分析在Top-10的前提下,用户个人信息的权重取0.2,0.3,0.4,0.5,实验结果如表2和图2所示。图2中的横坐标为用户个人信息的权重参数,可看出,在准确率和召回率上,权重取0.3时的实验结果略比取0.4时优良,而从F-measure上来看,权重取0.3时的实验结果表现得最好。由此可得出,多参数情况下,参数的权重对推荐结果存在一定程度的影响。

Table 2 Three experimental index values under each weight parameter

Figure 2 Trend chart of each experimental index图2 各实验指标走势图

4.3.3 各算法的准确率、召回率和F值比较

经过权重实验后,本节在参考因素中用户个人信息权重为0.3的情况下,进行推荐结果列表的用户总数分别为2,5,10,20,30几种情况的准确率、召回率和F值实验。实验结果如表3~表5、图3~图5所示。

Table 3 Precision of three algorithms

Table 4 Recall of three algorithms

Table 5 F-measure of three algorithms

Figure 3 Precision of three algorithms图3 3种算法的准确率

Figure 4 Recall of three algorithms图4 3种算法的召回率

Figure 5 F-measure of three algorithms图5 3种算法的F值

对以上实验结果数据进行分析:BI-FR和BIBP-FR对比发现,对用户发表的图像信息进行分析处理是有价值的;而BIBP-FR和BSBT-FR对比发现,在图像处理的基础上增加时间因素对整体算法推荐的精准度具有显著提升效果。从整体上看,随着推荐列表中的好友数量的提升,虽然准确率有所下降,但是召回率呈上升趋势,F值也呈上升趋势,这与实际情况是完全吻合的。与对比算法相比,本文提出的基于SSD和时序模型的好友推荐算法由于同时考虑了用户的个人属性和图像信息,并对用户兴趣进行了时序考虑,融合了时间因素,其算法的准确率、召回率和F值更高,具有较好的推荐效果,并且随着推荐好友数量的增加,本文算法比其他算法相比,其优势比较明显。

在算法的时间效率上,由于本文算法在用户信息的基础上又对用户图像数据进行处理,因此,BI-FR算法的时间效率要优于本文算法,而BIBP-FR与BSBT-FR算法的时间效率是一样的,两者都是以牺牲时间来获取更高的准确率,也是值得的。

5 结束语

本文提出了基于SSD和时序模型的微博好友推荐算法,构建了基于用户个人信息和图像信息的好友推荐方法,并在图像信息处理上加入时间维度因素,使得通过图像提取的兴趣更具说服力,以此计算得出用户间的相似度进行好友推荐。实验表明此推荐算法能提高推荐效果,基于SSD和时序模型的好友推荐算法比传统推荐算法更加准确,在一定程度上丰富了社交平台上的推荐策略。但是,本文只从用户发表动态中的图像信息进行考虑,并未同时对文本信息加以分析,而在社交平台中,用户发表的文字信息也是同等重要的因素,故在之后的研究中,可以将用户发表的所有信息进行综合考虑。

猜你喜欢

先验时序好友
基于Sentinel-2时序NDVI的麦冬识别研究
基于无噪图像块先验的MRI低秩分解去噪算法研究
属羊
基于FPGA 的时序信号光纤传输系统
删除好友
基于自适应块组割先验的噪声图像超分辨率重建
一种毫米波放大器时序直流电源的设计
基于平滑先验法的被动声信号趋势项消除
先验的废话与功能的进路
DPBUS时序及其设定方法