一种好友自动分类方法、装置、计算机设备和存储介质与流程

文档序号:18009948发布日期:2019-06-25 23:53阅读:132来源:国知局
一种好友自动分类方法、装置、计算机设备和存储介质与流程

本发明属于数据处理技术领域,尤其涉及一种好友自动分类方法、装置、计算机设备和存储介质。



背景技术:

随着移动通讯网络环境的不断完善以及智能手机的进一步普及,手机上网人群占比达到了92.5%,而这一切都离不开即时通信工具的高速发展,整体即时通信工具(im)用户中,使用微信,qq和微博这三个社交应用的用户几乎覆盖了所有的手机网民,在这三者中分享的内容都可选择仅在好友圈中可见,这是一个更小的圈子,更加注重个人隐私,强调的是好友间的互动,因此我们会在好友圈分享更多更私人的信息。而随着好友圈的扩大,隐私问题便接踵而至了。

隐私最显著的特征便是它的相对范围性,通过这一特征可以把隐私细分为个人隐私,家庭隐私,企业隐私等,脱离了相对范围容易引发隐私泄露问题,因而将好友分组是个保护隐私的有效手段,大多数社交平台显然也注意到了隐私相对范围的问题,不过它只是简单地设置了一个好友分组功能,需要人为地进行分组归纳,对于好友数目的增大显得十分无力,手动分组效率低下,且一个人的朋友圈是在不断发展扩大的,后续加入的新友又要再进行补充归纳,无疑令这一步骤变得更加繁琐复杂。

由此可见,现有好友分组方法需要人为进行分组归纳,分组效率低下,且易出现人为疏忽导致的错误分组,无法满足使用需求。



技术实现要素:

本发明实施例的目的在于提供一种好友自动分类方法,旨在解决现有好友分组方法需要人为进行分组归纳,分组效率低下,且易出现人为疏忽导致的错误分组,无法满足使用需求的问题。

本发明实施例是这样实现的,一种好友自动分类方法,包括:

获取用户与好友之间的互动信息;

根据所述互动信息对所述用户与好友之间的亲密度进行量化处理,确定所述用户的好友亲密度权重矩阵;

根据所述好友亲密度权重矩阵以及预设的二阶随机游走网络节点图,获取随机游走序列的组合;

将所述随机游走序列的组合分别进行词向量训练处理,并对所得词向量进行分类,以完成所述用户的好友分类。

本发明实施例的另一目的在于好友自动分类装置,包括:

互动信息获取单元,用于获取用户的好友间互动信息;

权重矩阵确定单元,用于根据所述好友间互动信息对所述用户与好友间的亲密度进行量化处理,确定所述用户的好友亲密度权重矩阵;

随机游走序列获取单元,用于根据所述好友亲密度权重矩阵以及预设二阶随机游走网络节点图,获取随机游走序列的组合;以及

分类单元,用于将所述随机游走序列的组合分别进行词向量训练处理,并对所得词向量进行分类,以完成所述用户的好友分类。。

本发明实施例的另一目的在于提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述好友自动分类方法的步骤。

本发明实施例的另一目的在于提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述好友自动分类方法的步骤。

本发明实施例提供的好友自动分类方法,利用社交网络平台好友间动态互动的特性,对社交网络平台好友进行精准分组及亲密度量化,解决了目前对不同类型好友只能依靠手动分组而效率低下的问题,避免了人为疏忽导致的错误分组的情况发生,同时针对隐私的相对范围性问题,自动分组为防止隐私泄露提供了便利。

附图说明

图1为本发明实施例一提供的好友自动分类方法的实现流程图;

图2为本发明实施例二提供的好友自动分类方法的实现流程图;

图3为本发明实施例三提供的好友自动分类方法的实现流程图;

图4为本发明实施例提供的二阶随机游走网络节点图;

图5为本发明实施例四提供的好友自动分类方法的实现流程图;

图6为本发明实施例五提供的好友自动分类方法的实现流程图;

图7为本发明实施例六提供的好友自动分类方法的实现流程图;

图8为本发明实施例七提供的好友自动分类方法的实现流程图;

图9为本发明实施例提供的好友自动分类装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。

本发明适用于社交网络应用平台。社交平台包括但不限于微信、新浪微博、人人网、好友网、qq、twitter(推特)、facebook(脸书)等应用软件。

本发明实施例将自然语言处理和社交网络分析结合起来,利用社交平台好友间动态互动的特性,提出了一种基于自然语言处理的社交网络好友自动分类方法。将好友关系量化得出好友亲密度权重矩阵,结合二阶随机游走获得好友节点序列集合,并对好友节点序列进行词向量训练处理,以得出最终的好友分组结果,解决了目前对不同类型好友只能依靠手动分组而效率低下的问题,同时针对隐私的相对范围性问题,自动分组为防止隐私泄露提供了便利。

图1为本发明实施例一提供的一种好友自动分类方法的实现流程,为了便于说明,仅示出与本发明实施例相关的部分,详述如下:

在步骤s101中,获取用户与好友之间的互动信息。

在本发明实施例中,用户与好友之间的互动信息包括点赞信息、评论信息、转发信息、私信信息等;当然,还可以包括额外的辅助信息如用户属性信息(性别、地理位置等)、累积性行为信息(三日内、一周内、一个月内、半年内等各时间段内各种互动的行为次数)以及坏境信息(共同好友、共同群数量等)。

在步骤s102中,根据所述互动信息对所述用户与好友之间的亲密度进行量化处理,确定所述用户的好友亲密度权重矩阵。

在本发明实施例中,用户与好友之间的亲密度关系一般可以分为陌生,不熟,熟悉,友好和亲密五个等级,具体由用户与好友之间的互动信息决定,如用户的不互动次数远远高于点赞、评论等互动次数,则亲密度归属于陌生。

在本发明实施例中,亲密度权重矩阵的确定操作,举例说明如下:好友a与好友b在朋友圈下一共进行了k次不互动,t次点赞,s次评论,m次点赞加评论,确定a与b之间的关系,结合预先收集的大众对社交网络的影响程度值,便可以得出两者间的具体权重数值x,记为(好友a,好友b,x);如此便能得出该用户所有好友的亲密度权重矩阵。

在步骤s103中,根据所述好友亲密度权重矩阵以及预设的二阶随机游走网络节点图,获取随机游走序列的组合。

在本发明实施例中,二阶随机游走网络节点图中的节点代表亲密度权重矩阵中的好友,连接两个节点的边表明好友双方存在交互行为,边长代表矩阵中的具体权重数值;而二阶随机游走参数设定情况为:设定随机游走起始的源节点为u,引入返回参数p和游走参数q,其中p代表该次游走方向侧重于源节点u的周围节点的概率,q表示该次游走方向侧重于远离源节点u的概率,游走至下一节点的概率由d,q和p共同决定。

在本发明实施例中,获取随机游走序列的组合是指对所有节点均进行多次随机游走,得出以每个节点作为源节点出发的随机游走序列的组合。

在步骤s104中,将所述随机游走序列的组合分别进行词向量训练处理,并对所得词向量进行分类,以完成所述用户的好友分类。

在本发明实施例中,对随机游走序列的组合进行词向量训练处理是使用word2vec中的skip-gram模型,即以每一个随机游走序列视为模型的输入,将每个随机游走序列视作训练词向量的“句子”,用“文章”类比所有序列形成的组合,每个好友便是组成该“文章”的词组,使每个节点都有一个自身对应的向量表示。

进一步,将各个节点的向量输入到k-means聚类算法中进行训练得到用户分组。k-means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。首先,随机选取常数k个节点作为类别的质心,计算每个数据与质心的距离,将数据划分到最近的质心类,然后重新计算每个类的质心,重复至质心不再改变,最终确定每个类的成员数据。k值选取通过手肘法,通过从小到大变化k值,观察核心指标误差平方和(sse)的变化,当k小于真实聚类数时,由于k的增大会大幅增加每个簇的聚合程度,故sse的下降幅度会很大,而当k到达真实聚类数时,再增加k所得到的聚合程度回报会迅速变小,所以sse的下降幅度会骤减,因此肘部对应的k值是真实聚类数。

所述误差平方和的计算公式为:

上式中,ci是第i个簇,p是ci中的样本点,mi是ci的质心(ci中所有样本的均值),sse是所有样本的聚类误差,代表了聚类效果的好坏。

本发明实施例提供一种好友分类方法,将自然语言处理和社交网络分析结合起来,利用社交平台好友间动态互动的特性,将好友关系量化得出好友亲密度权重矩阵,结合二阶随机游走获得好友节点序列集合,并对好友节点序列进行词向量训练处理,以得出最终的好友分组结果,解决了目前对不同类型好友只能依靠手动分组而效率低下的问题,同时针对隐私的相对范围性问题,自动分组为防止隐私泄露提供了便利。

图2为本发明实施例二提供的一种好友自动分类方法的实现流程,为了便于说明,仅示出与本发明实施例相关的部分,详述如下:

本发明实施例与实施例一类似,不同之处在于,所述步骤s102,具体包括:

在步骤s201中,获取社交网络中不同好友关系对社交关系的影响程度信息。

在本发明实施例中,获取社交网络中不同好友关系对社交关系的影响程度信息的方法可以通过抽样调查,即收集一定大数据范围内的用户对于不同好友关系对于他们社交网络的影响程度,可以以数字(0~10)的方式表示他们对于这五种社交关系(陌生,不熟,熟悉,友好和亲密)的影响程度信息,例如:抽样调查1000名用户,收集不同好友关系对于他们社交网络的影响程度,以数字(0~10)的方式表示他们对于这五种社交关系的影响程度评价,如社交关系(陌生)的关系影响力为数字0的用户有868位,关系影响力为数字1的用户有78位,关系影响力为数字2的用户有33位,关系影响力为数字4的用户有4位,关系影响力为数字5~10的用户均为0位。

在步骤s202中,根据所述互动信息以及所述影响程度信息,通过加权平均方式对所述用户与好友间的亲密度进行量化处理,确定权重数值。

在本发明实施例中,将上述以数字的方式表示的五种社交关系(陌生,不熟,熟悉,友好和亲密)的影响程度信息由低到高影响力递增,最后以加权平均的方式量化亲密度关系作为权重数值。

在本发明实施例中,权重数值的确定方式具体为:获取用户所有微信好友发布的近50条朋友圈动态,统计产生过交互行为的每两名好友间的互动记录,如好友a与好友b在朋友圈下一共进行了k次不互动,t次点赞,s次评论,m次点赞加评论,那么便可以由(k,t,s,m)获得a与b之间的关系,映射到上述影响程度信息中便可以得出两者间的具体权重数值,如社交关系(陌生)的关系影响力为数字0的用户有868位,关系影响力为数字1的用户有78位,关系影响力为数字2的用户有33位,关系影响力为数字4的用户有4位,关系影响力为数字5~10的用户均为0位,对应的权重数值为0.211。

在步骤s203中,根据所述权重数值,确定所述用户的好友亲密度权重矩阵。

在本发明实施例中,将上述a与好友b之间的具体权重数值x,记为(好友a,好友b,x),便可得出该用户所有好友的亲密度权重矩阵。

本发明实施例提供的好友自动分类方法,基于大数据社交网络中不同好友关系对社交关系的影响程度信息,根据互动信息以及所述影响程度信息,通过加权平均方式对所述用户与好友间的亲密度进行量化处理,确定权重数值,作为确定好友分组的依据,更贴近实际化,有利获得精准的好友分组结果。

图3为本发明实施例三提供的一种好友自动分类方法的实现流程,为了便于说明,仅示出与本发明实施例相关的部分,详述如下:

本发明实施例与实施例一类似,不同之处在于,所述二阶随机游走网络节点图包括至少两个好友节点以及连接两个好友节点的边。

所述步骤s103,具体包括:

在步骤s301中,根据所述好友亲密度权重矩阵以及预设的二阶随机游走网络节点图,获取以所述用户的每一好友作为源节点出发对应的随机游走序列的组合。

在本发明实施例中,随机游走网络是指在社交平台的关系网络结构中,用户及每个好友采用一个网络节点表示,节点相连表示社交中好友相互关注的关系。利用随机游走,在社交网络中随机选择不同的网络节点开始,随机生成固定长度的游走序列,每个节点可以多次出现在序列中。

在本发明实施例中,二阶随机游走网络节点图中的每个节点表示社交平台中的一名用户,节点间有边连接表示用户间的相互关注关系。每个随机游走过程抽取网络中的一个点为游走的根节点,然后每次从当前节点均匀地选取邻居节点为下一个节点,循环以上步骤,直到游走路径达到规定长度。

如图4所示,网络中的节点代表亲密度权重矩阵中的好友(图中的u,x,t,y,z),连接两个节点的边表明好友双方存在交互行为,边长d代表矩阵中的具体权重数值。

假定随机游走已经从节u游走到了节点x,那么在预测它下一步的游走方向时,引入返回参数p和游走参数q(p、q为全局参数),结合图4进行说明:

(i)若节点x随机游走到的下一节点为t节点时,对于节点u来说,节点x和节点t都是与其具有直接相连的关系,意味着游走即没有向远离节点u的方向行进,亦没有向返回u节点的方向行进,游走的偏差值a=1;

(ii)若节点x随机游走到的下一节点为u节点时,这意味着游走向返回节点u的方向进行,游走的偏差值a=p;

(iii)若节点x随机游走到的下一节点为y或z节点时,这意味着游走向远离节点u的方向行进,游走的偏差值a=q。

因此,转移概率p的值实际由偏差值a和权重d的乘积共同决定,本发明引入随机游走的目的是为了进行好友分类,考虑到实际应用中,不同的好友群体是存在交集的(如某个好友既是同学,又是同事),为了防止某次随机游走会从一个好友群体跨越到另一个好友群体而无法精确地分类这一现象的发生,应当弱化交集的存在,故应当增大返回参数p,减小游走参数q,使得游走方向不会轻易地从一个群体跨越到另一个群体,游走偏差值的选择为:p>1>q;但是偏差值对于转移概率的影响始终不应当高于亲密度对于转移概率的影响,以图4为例,如果dxy>dxt,也就是表明好友x与好友y的亲密度是高于好友x与好友t的亲密度的,那么应当确保下一个节点的选择是更倾向于节点y的,因此有pxy>pxt等价于q*dxy>1*dxt,结合已得出的五种亲密度关系对应的五个权重数值,最终得出返回参数p的取值范围以及游走参数q的取值范围。

进一步,对图中的所有节点均进行多次固定游走步长的随机游走(多次游走可以极大地降低偶然性对最终结果的影响),得出以每个节点作为源节点出发的随机游走序列组合,以图4为例,序列的形式大致为:uxtuxyxuxz……,序列的长度由游走步长决定。

本发明实施例提供的好友自动分类方法,使用二阶随机游走的方式可以确保得出的随机游走序列更加精确,有利提高后续的好友自动分类的准确性。

图5为本发明实施例四提供的一种好友自动分类方法的实现流程,为了便于说明,仅示出与本发明实施例相关的部分,详述如下:

本发明实施例与实施例一类似,不同之处在于,所述步骤s104,具体包括:

在步骤s501中,将所述随机游走序列的组合分别进行词向量训练处理,确定所述用户的好友词向量模型。

在本发明实施例中,如图6所示,所述步骤s501,具体包括:

在步骤s601中,将所述随机游走序列的组合分别进行词向量训练处理,以使用户的所有好友均由对应的词向量表示。

在步骤s602中,根据所述用户的所有好友对应的词向量,确定所述用户的好友词向量模型。

在本发明实施例中,使用word2vec中的skip-gram模型进行词向量训练工作,模型的输入便是上述得出的随机游走序列,将每个序列视作训练词向量的“句子”,用“文章”类比所有序列形成的组合,每个好友便是组成该“文章”的词组,经过skip-gram模型的训练后,每个节点都有一个自身对应的向量表示,举例表明词向量的表示形式为:a0.408498-0.2215440.4944260.647856-0.035285-0.1966760.2651530.0308020.083022……,如此一来,便得出了所有好友的词向量模型。

在步骤s502中,对所述词向量模型进行聚类操作处理,确定所述词向量的分类,以完成所述用户的好友分类。

在本发明实施例中,使用kmeans算法对上述得出的词向量模型进行聚类操作,若聚类为5个集群,则得到这5个集群的质心坐标,通过计算分别寻找到与这5个质心欧式距离最小的词向量,分别记为n1,n2,n3,n4,n5,称之为中心词向量,后利用word2vec自带的model.most_similar这一函数,使用方式如下:model.most_similar(n1,topn):计算余弦距离最接近“n1”的topn个词向量,通过训练得出门限值n设定为0.5最为合理,即与中心词向量的余弦距离大于0.5,代表着该词向量属于中心词向量所处的集群中,小于或等于0.5,则不属于。通过这样的方式,便完成了词向量的分类操作,而词向量与好友节点是一一对应关系,也代表着完成了好友分类操作。

在本发明实施例中,如图7所示,所述步骤s502,具体包括:

在步骤s701中,对所述词向量模型进行聚类操作处理,获取聚类集群的质心坐标。

在步骤s702中,将距离所述每一聚类集群的质心坐标最小的词向量,确定为聚类集群的中心词向量。

在步骤s703中,根据所述聚类集群的中心词向量,确定所述词向量的分类,以完成所述用户的好友分类。

在本发明实施例中,所述聚类集群的中心词向量至少包括第一聚类集群的中心词向量以及第二聚类集群的中心词向量。如图8所示,所述步骤s703,具体包括:

在步骤s801中,将与第一聚类集群的中心词向量的余弦距离大于预设阈值的词向量,确定为归属于所述第一聚类集群。

在步骤s802中,将与第二聚类集群的中心词向量的余弦距离大于预设阈值的词向量,确定为归属于所述第二聚类集群,以完成所述用户的好友分类。

本发明实施例提供的好友自动分类方法,利用word2vec中的skip-gram模型对好友节点序列进行词向量训练操作,获取每个好友对应的向量表示,通过kmeans聚类分析得出最终的好友分组结果,解决了目前对不同类型好友只能依靠手动分组而效率低下的问题,同时针对隐私的相对范围性问题,自动分组为防止隐私泄露提供了便利。

以下结合具体实例对本发明实施例提供的好友自动分类方法作进一步说明:

1)设计亲密度量化模型:通过好友间动态中的互动(具体操作如:点赞,评论,转发等)来量化好友间的亲密度,以此得出亲密度权重矩阵。

(1a)在本发明的一个较佳实施例中,以社会问卷形式调查了100名微信用户,从他们的微信好友列表中抽取五名好友,与他们对应的亲密度关系分别为陌生,不熟,熟悉,友好和亲密,观察这五名好友最近的50条朋友圈动态,记录每条动态下抽样用户与他的五名好友的互动方式,统计成50组数据,其中一组数据如下表1所示:

表1

(1b)以这50组数据作为机器学习的样本,以互动方式作为输入,亲密度关系作为输出,使用其中的40组数据用于支持向量机(svm)训练数学模型,10组数据用于验证得出的数学模型是否能正确进行亲密度分类,从而得出最佳分类器。

(1c)抽样调查1000名用户,收集不同好友关系对于他们社交网络的影响程度,以数字(0~10)的方式表示他们对于这五种社交关系的影响程度评价,由低到高影响力递增,最后以加权平均的方式量化亲密度关系作为权重数值,具体结果如下表2所示:

表2

(1d)权重计算:抽样调查一名微信用户,观察其所有微信好友发布的近50条朋友圈动态,统计产生过交互行为的每两名好友间的互动记录,举例说明具体操作如下:好友a与好友b在朋友圈下一共进行了k次不互动,t次点赞,s次评论,m次点赞加评论,那么便可以用(k,t,s,m)作为(1b)中得出的分类器的输入,输出便是a与b之间的关系,映射到(1c)表格中便可以得出两者间的具体权重数值x,记为(好友a,好友b,x);如此便能得出该用户所有好友的亲密度权重矩阵。

2)二阶随机游走模块:

(2a)带入一个网络节点图来演示二阶随机游走模块,如图4所示,网络中的节点代表亲密度权重矩阵中的好友(图中的u,x,t,y,z),连接两个节点的边表明好友双方存在交互行为,边长d代表矩阵中的具体权重数值。

(2b)假定随机游走已经从节u游走到了节点x,那么在预测它下一步的游走方向时,引入返回参数p和游走参数q(p、q为全局参数),结合图4进行说明:

(i)若节点x随机游走到的下一节点为t节点时,对于节点u来说,节点x和节点t都是与其具有直接相连的关系,意味着游走即没有向远离节点u的方向行进,亦没有向返回u节点的方向行进,游走的偏差值a=1;

(ii)若节点x随机游走到的下一节点为u节点时,这意味着游走向返回节点u的方向进行,游走的偏差值a=p;

(iii)若节点x随机游走到的下一节点为y或z节点时,这意味着游走向远离节点u的方向行进,游走的偏差值a=q。

因此,转移概率p的值实际由偏差值a和权重d的乘积共同决定,本发明引入随机游走的目的是为了进行好友分类,考虑到实际应用中,不同的好友群体是存在交集的(如某个好友既是同学,又是同事),为了防止某次随机游走会从一个好友群体跨越到另一个好友群体而无法精确地分类这一现象的发生,应当弱化交集的存在,故应当增大返回参数p,减小游走参数q,使得游走方向不会轻易地从一个群体跨越到另一个群体,游走偏差值的选择为:p>1>q;但是偏差值对于转移概率的影响始终不应当高于亲密度对于转移概率的影响,以图4为例,如果dxy>dxt,也就是表明好友x与好友y的亲密度是高于好友x与好友t的亲密度的,那么应当确保下一个节点的选择是更倾向于节点y的,因此有pxy>pxt等价于q*dxy>1*dxt,结合(1c)中得出的五种亲密度关系对应的五个权重数值(0.211,0.944,3.435,5.294,7.369),最终得出返回参数p的取值范围为1<p<1.39,游走参数q的取值范围为1>q>0.72。使用二阶随机游走的方式可以确保得出的随机游走序列更加精确。

(2c)对图中的所有节点均进行多次固定游走步长的随机游走(多次游走可以极大地降低偶然性对最终结果的影响),得出以每个节点作为源节点出发的随机游走序列组合,以图二为例,序列的形式大致为:uxtuxyxuxz……,序列的长度由游走步长决定。

3)训练词向量模型:使用word2vec中的skip-gram模型进行词向量训练工作,模型的输入便是(2c)中得出的随机游走序列组合,将每个序列视作训练词向量的“句子”,用“文章”类比所有序列形成的组合,每个好友便是组成该“文章”的词组,经过skip-gram模型的训练后,每个节点都有一个自身对应的向量表示,举例表明词向量的表示形式为:a0.408498-0.2215440.4944260.647856-0.035285-0.1966760.2651530.0308020.083022……,如此一来,便得出了所有好友的词向量模型。

4)数据整理表示:使用kmeans对3)中得出的词向量模型进行聚类操作,若聚类为5个集群,则得到这5个集群的质心坐标,通过计算分别寻找到与这5个质心欧式距离最小的词向量,分别记为n1,n2,n3,n4,n5,称之为中心词向量,后利用word2vec自带的model.most_similar这一函数,使用方式如下:model.most_similar(n1,topn):计算余弦距离最接近“n1”的topn个词向量,通过训练得出门限值n设定为0.5最为合理,即与中心词向量的余弦距离大于0.5,代表着该词向量属于中心词向量所处的集群中,小于或等于0.5,则不属于。通过这样的方式,便完成了词向量的分类操作,而词向量与好友节点是一一对应关系,也代表着完成了好友分类操作。

图9为本发明实施例提供的一种好友自动分类装置的结构,为了便于说明,仅示出与本发明实施例相关的部分,详述如下:

该好友自动分类装置,包括互动信息获取单元100、权重矩阵确定单元200、随机游走序列获取单元300以及分类单元400。

互动信息获取单元100,用于获取用户的好友间互动信息。

在本发明实施例中,互动信息获取单元100用于获取用户的好友间互动信息。用户与好友之间的互动信息包括点赞信息、评论信息、转发信息、私信信息等;当然,还可以包括额外的辅助信息如用户属性信息(性别、地理位置等)、累积性行为信息(三日内、一周内、一个月内、半年内等各时间段内各种互动的行为次数)以及坏境信息(共同好友、共同群数量等)。

权重矩阵确定单元200,用于根据所述好友间互动信息对所述用户与好友间的亲密度进行量化处理,确定所述用户的好友亲密度权重矩阵。

在本发明实施例中,权重矩阵确定单元200用于根据所述好友间互动信息对所述用户与好友间的亲密度进行量化处理,确定所述用户的好友亲密度权重矩阵。用户与好友之间的亲密度关系一般可以分为陌生,不熟,熟悉,友好和亲密五个等级,具体由用户与好友之间的互动信息决定,如用户的不互动次数远远高于点赞、评论等互动次数,则亲密度归属于陌生。

在本发明实施例中,亲密度权重矩阵的确定操作,举例说明如下:好友a与好友b在朋友圈下一共进行了k次不互动,t次点赞,s次评论,m次点赞加评论,确定a与b之间的关系,结合预先收集的大众对社交网络的影响程度值,便可以得出两者间的具体权重数值x,记为(好友a,好友b,x);如此便能得出该用户所有好友的亲密度权重矩阵。

随机游走序列获取单元300,用于根据所述好友亲密度权重矩阵以及预设二阶随机游走网络节点图,获取随机游走序列的组合。

在本发明实施例中,随机游走序列获取单元300用于根据所述好友亲密度权重矩阵以及预设二阶随机游走网络节点图,获取随机游走序列的组合。二阶随机游走网络节点图中的节点代表亲密度权重矩阵中的好友,连接两个节点的边表明好友双方存在交互行为,边长代表矩阵中的具体权重数值;而二阶随机游走参数设定情况为:设定随机游走起始的源节点为u,引入返回参数p和游走参数q,其中p代表该次游走方向侧重于源节点u的周围节点的概率,q表示该次游走方向侧重于远离源节点u的概率,游走至下一节点的概率由d,q和p共同决定。

在本发明实施例中,获取随机游走序列的组合是指对所有节点均进行多次随机游走,得出以每个节点作为源节点出发的随机游走序列的组合。

分类单元400,用于将所述随机游走序列的组合分别进行词向量训练处理,并对所得词向量进行分类,以完成所述用户的好友分类。

在本发明实施例中,分类单元400用于将所述随机游走序列的组合分别进行词向量训练处理,并对所得词向量进行分类,以完成所述用户的好友分类。对随机游走序列的组合进行词向量训练处理是使用word2vec中的skip-gram模型,即以每一个随机游走序列视为模型的输入,将每个随机游走序列视作训练词向量的“句子”,用“文章”类比所有序列形成的组合,每个好友便是组成该“文章”的词组,使每个节点都有一个自身对应的向量表示。

进一步,将各个节点的向量输入到k-means聚类算法中进行训练得到用户分组。k-means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。首先,随机选取常数k个节点作为类别的质心,计算每个数据与质心的距离,将数据划分到最近的质心类,然后重新计算每个类的质心,重复至质心不再改变,最终确定每个类的成员数据。k值选取通过手肘法,通过从小到大变化k值,观察核心指标误差平方和(sse)的变化,当k小于真实聚类数时,由于k的增大会大幅增加每个簇的聚合程度,故sse的下降幅度会很大,而当k到达真实聚类数时,再增加k所得到的聚合程度回报会迅速变小,所以sse的下降幅度会骤减,因此肘部对应的k值是真实聚类数。

所述误差平方和的计算公式为:

上式中,ci是第i个簇,p是ci中的样本点,mi是ci的质心(ci中所有样本的均值),sse是所有样本的聚类误差,代表了聚类效果的好坏。

本发明实施例提供一种好友分类装置,将自然语言处理和社交网络分析结合起来,利用社交平台好友间动态互动的特性,将好友关系量化得出好友亲密度权重矩阵,结合二阶随机游走获得好友节点序列集合,并对好友节点序列进行词向量训练处理,以得出最终的好友分组结果,解决了目前对不同类型好友只能依靠手动分组而效率低下的问题,同时针对隐私的相对范围性问题,自动分组为防止隐私泄露提供了便利。

在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

步骤s101,获取用户与好友之间的互动信息;

步骤s102,根据所述互动信息对所述用户与好友之间的亲密度进行量化处理,确定所述用户的好友亲密度权重矩阵;

步骤s103,根据所述好友亲密度权重矩阵以及预设的二阶随机游走网络节点图,获取随机游走序列的组合;

步骤s104,将所述随机游走序列的组合分别进行词向量训练处理,并对所得词向量进行分类,以完成所述用户的好友分类。

在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:

步骤s101,获取用户与好友之间的互动信息;

步骤s102,根据所述互动信息对所述用户与好友之间的亲密度进行量化处理,确定所述用户的好友亲密度权重矩阵;

步骤s103,根据所述好友亲密度权重矩阵以及预设的二阶随机游走网络节点图,获取随机游走序列的组合;

步骤s104,将所述随机游走序列的组合分别进行词向量训练处理,并对所得词向量进行分类,以完成所述用户的好友分类。

应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1