一种通信数据分析方法及装置与流程

文档序号:11199284阅读:987来源:国知局
一种通信数据分析方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种通信数据分析方法及装置。



背景技术:

随着通信技术的发展,智能手机也得到了广泛应用,用户可利用智能手机进行相互通信,比如,用户可以通过智能手机安装即时通讯应用,比如qq、微信以及微博等等,然后用户之间通过即时通讯应用进行相互通信,或者,用户之间可以通过电话、收发短信的方式进行通信。如果将智能手机的用户抽象为顶点,用户之间的通信关系抽象为网络中的边,则可以构建一个庞大的社交网络,该社交网络错综复杂,包含了庞大数据量的用户之间的通信关系。实际上在这庞大数据量的用户之间的通信关系中隐藏着各个用户的特点,现有技术中,没有充分利用该社交网络中的通信数据。



技术实现要素:

本发明实施例提供一种通信数据分析方法及装置,通过对用户的历史通信数据进行分析,可以确定出影响力比较大的用户。

第一方面,本发明实施例提供一种通信数据分析方法,具体可选的,获取社交网络中s个用户的历史通信数据,该历史通信数据用于表征该s个用户的历史通信状态,s为大于或者等于2的自然数,比如,该历史通信数据可以包括但不限于用户在过去一个月内用户主叫通话总时长、用户被叫通话总时长、用户主叫通话总次数、用户被叫通话总次数、用户发短信总次数、用户收短信总次数、该用户与其他任意一个用户之间的通话总时长、该用户与其他任意一个用户之间的通话总次数、该用户与其他任意一个用户之间的发短信总次数等等。

对该s个用户的历史通信数据进行分析,确定该s个用户形成的k个用户簇,一个用户簇包含至少一个用户,属于同一个用户簇的用户之间存在相互关联的通信特征,k为大于或者等于2的自然数,比如属于同一个用户簇的用户之间可以形成一个独立的社交网络,即是属于同一个用户簇的用户之间关系紧密度比较高。

针对每个用户簇,确定该用户簇内的第一用户,第一用户为在该用户簇的所有用户中影响力强度最大的用户,影响力强度用于表征影响力的大小。一个用户簇包含一个第一用户,k个用户簇即包括k个第一用户。通过影响力较大的第一用户传播信息,可以更快地让网络中其余节点接收到信息,且能有效覆盖大多数节点。因此,确定出用户簇中影响力较大的第一用户,可以方便有效地进行商业推广,可以实现在商业中的快速推广,节约推广成本。

可选的,对s个用户的历史通信数据进行分析,确定k个用户簇的确定方式可以是以下方式:根据该s个用户的历史通信数据,计算该s个用户中任意两个用户之间的相似度,并获得相似度矩阵,任意两个用户之间的相似度用于表征所述任意两个用户之间的关系紧密度,若该两个用户之间的相似度越大,则表征该两个用户之间的关系越紧密。

从s个用户中随机选取k个用户作为k个中心用户,一个中心用户对应一个用户集;将该s个用户中除该k个中心用户外的其他用户作为边缘用户,根据所述边缘用户与所述k个中心用户中每个中心用户之间的相似度,将所述边缘用户归类到所述k个中心用户对应的所述k个用户集。

针对s个用户中的每个用户以及该k个用户集中的每个用户集,从相似度矩阵中获取该用户与该用户集中每个用户之间的相似度,并将该用户与该用户集中每个用户之间的相似度求和,获得该用户对应于该用户集的相似度总和,这样对于其中一个用户,就存在对应于该用户的k个相似度总和。

获取该用户对应于该k个用户集中每个用户集的相似度总和,并将该用户重新划分至相似度总和最大的用户集,形成用户簇。进行重分配后,就形成k个用户簇。

可选的,根据s个用户的历史通信数据,计算该s个用户中任意两个用户之间的相似度的计算方式可以是,根据该s个用户的历史通信数据,计算该s个用户中任意两个用户之间的通信频度相似度和共同用户相似度,所述通信频度相似度是通过该任意两个用户之间的直接通信状态得到的参数,比如,可以是通过该任意两个用户之间的通话时长、通话次数以及发短信的次数得到该两个用户之间的通信频度相似度。共同用户相似度是通过该任意两个用户与共同用户之间的通信状态得到的参数,共同用户为与该任意两个用户之间存在共同通信关系的用户,比如,该共同用户为与该两个用户共同主叫的用户,则共同用户相似度可以是通过该两个用户与该共同用户之间通话时长、通话次数得到的参数。

根据该s个用户中任意两个用户之间的通信频度相似度和共同用户相似度,获得该s个用户中任意两个用户之间的相似度,比如,两个用户之间的相似度可以是通信频度相似度与共同用户相似度之和。

可选的,针对每个用户簇,确定该用户簇内的第一用户的确定方式可以是,针对每个用户簇,获取该用户簇的用户联系频度矩阵,用户联系频度矩阵用于表征该用户簇中任意两个用户之间的通信频度,可选的,通信频度可以是该任意两个用户之间通话次数与发短信次数的叠加。

根据该用户簇的用户联系频度矩阵,计算该用户簇的跳转频率矩阵,该跳转频率矩阵用于表征该用户簇内任意两个用户之间的通信概率;根据该用户簇的跳转频率矩阵,计算该用户簇内每个用户的影响力强度,并将影响力强度最大的用户作为该用户簇内的第一用户。

可选的,针对每个用户簇,按照社交圈维度划分规则,将该用户簇内用户的历史通信数据映射到m个社交圈维度,m为大于或者等于2的自然数。比如可以设置家庭圈维度划分规则、朋友圈维度划分规则以及工作圈维度划分规则。若用户簇内用户的历史通信数据满足某一个社交圈维度划分规则,则将该历史通信数据映射到该社交圈维度上。这样一个用户的所有历史通信数据可能被映射到三个社交圈维度上,比如一部分历史通信数据映射到朋友圈维度上,一部分历史通信数据映射到工作圈维度上,一部分历史通信数据映射到家庭圈维度上。

针对每个社交圈维度,根据映射至该社交圈维度上用户的历史通信数据,确定该用户簇在该社交圈维度上的至少一个社交圈,一个社交圈包含至少一个用户,属于同一个社交圈的用户之间均存在与该社交圈对应的社交关系。比如,一个用户簇包括用户u1、u2、u3、u4以及u5,最后确定该五个用户在家庭圈维度上的三个社交圈,u1和u2为一个家庭圈,u4和u5为一个家庭圈,u3为一个家庭圈。即是u1和u2是存在家属关系,u4和u5是存在家属关系。

针对每个社交圈,确定该社交圈内的第二用户,该第二用户为在该社交圈的所有用户中影响力强度最大的用户。

可选的,针对每个社交圈维度,确定用户簇在该社交圈维度上的至少一个社交圈的确定方式可以是,针对每个社交圈维度,对映射至该社交圈维度上用户的历史通信数据进行统计,获得用户簇在该社交圈维度上用户之间的通信频度。进一步根据用户簇在m个社交圈维度中每个社交圈维度上用户之间的通信频度,生成该用户簇对应的第一张量。

采用张量分解算法,对该第一张量进行处理,获得所述用户簇对应的第二张量,所述第二张量为在第一张量基础上增加了预测缺失值的张量结构;根据所述第二张量,在m个社交圈维度中每个社交圈维度上进行聚类,获得该用户簇在m个社交圈维度中每个社交圈维度上的至少一个社交圈。

可选的,根据第二张量,获得每个社交圈维度上的至少一个社交圈的获取方式可以是,根据第二张量,获取该用户簇内任意两个用户在该m个社交圈维度中每个社交圈维度上的相似度,相似度用于表征任意两个用户在该社交圈维度上的关系紧密度。

进一步针对每个社交圈维度,根据该用户簇内任意两个用户在该社交圈维度上的相似度,将用户簇内的用户在该社交圈维度上聚类为至少一个社交圈。

第二方面,本发明实施例提供一种通信数据分析装置,该通信数据分析装置包括获取单元、分析单元和第一确定单元。

获取单元,用于获取s个用户的历史通信数据,历史通信数据用于表征s个用户的历史通信状态,s为大于或者等于2的自然数。

分析单元,用于对该s个用户的历史通信数据进行分析,确定s个用户形成的k个用户簇,一个用户簇包含至少一个用户,属于同一个用户簇的用户之间存在相互关联的通信特征,k为大于或者等于2的自然数。

第一确定单元,用于针对每个用户簇,确定用户簇内的第一用户,第一用户为在用户簇的所有用户中影响力强度最大的用户,影响力强度用于表征影响力的大小。

第三方面,本发明实施例提供一种通信数据分析装置,该通信数据分析装置包括处理器和存储器;

所述存储器,用于存储计算机程序指令;

所述处理器,耦合到所述存储器,用于读取所述存储器存储的计算机程序指令,并执行第一方面所述的方法。

第四方面,本发明实施例提供一种程序存储介质,该程序存储介质中所存储的程序被执行时,可以实现上述第一方面所提供的方法。

通过实施本发明实施例,获取社交网络中s个用户的历史通信数据,该历史通信数据用于表征该s个用户的历史通信状态,对该s个用户的历史通信数据进行分析,确定该s个用户形成的k个用户簇,属于同一个用户簇的用户之间存在相互关联的通信特征,针对每个用户簇,确定该用户簇内的第一用户,第一用户为用户簇的所有用户中影响力强度最大的用户。通过对社交网络中用户的历史通信数据进行分析,可以发现影响力强度比较大的第一用户,利用该第一用户进行商业推广,可以实现快速推广,并且节省推广成本。

附图说明

为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。

图1是本发明实施例提供的一种通信数据分析方法的流程示意图;

图2是本发明实施例提供的一种用户簇的划分示意图;

图3是本发明实施例提供的一种跳转频率矩阵的示意图;

图4是本发明实施例提供的一种用户交互示意图;

图5是本发明实施例提供的一种通信数据分析装置的结构示意图;

图6是本发明实施例提供的另一种通信数据分析装置的结构示意图。

具体实施方式

下面结合本发明实施例中的附图对本发明实施例进行描述。

本发明实施例中的“第一”、“第二”只是为了区分不同的对象,并不表明特定的顺序。

请参照图1,为本发明实施例提供的一种通信数据分析方法的流程示意图,如图所示,本发明实施例的通信数据分析方法包括但不限于以下步骤:

s100,获取s个用户的历史通信数据,所述历史通信数据用于表征所述s个用户的历史通信状态,所述s为大于或者等于2的自然数;

s101,对所述s个用户的历史通信数据进行分析,确定所述s个用户形成的k个用户簇,一个用户簇包含至少一个用户,属于同一个用户簇的用户之间存在相互关联的通信特征,所述k为大于或者等于2的自然数;

s102,针对每个所述用户簇,确定所述用户簇内的第一用户,所述第一用户为在所述用户簇的所有用户中影响力强度最大的用户,所述影响力强度用于表征影响力的大小。

在一个实施例中,将每个用户抽象为一个顶点,用户间的通信关系抽象为网络中的边,则构建了一个社交网络。获取社交网络中s个用户的历史通信数据,比如获取社交网络中过去1个月内的历史通信数据。可选的,历史通信数据包括但不限于通话数据(比如通话时长和通话次数)、短信数据(比如发送短信次数和接收短信次数)以及基于即时通讯应用的通信数据(比如聊天数据的数量、评论次数、转发次数以及点赞次数)等等。在本发明实施例中,以通话数据和短信数据作为举例说明。

可选的,由于用户间的通信关系是双向的,单纯地考虑用户间的单向通信关系并不是很合理,因此本发明实施例的历史通信数据是可以是包括双向的通信数据。比如,对于一个普通用户a来说,他频繁收到某用户b骚扰电话或者广告短信,这并不能说明两用户关系紧密,因为a并没有主动去联系b。所以,为了尽可能地避免这种单向关系,需要采用双向的通信数据平均的方式去表示用户关系。此外,还需考虑到用户的特性,例如,对于用户a而言,他并不经常打电话,他只低频度地固定地给某个人b打电话;同时,用户c特别爱打电话,而且他给b也经常打电话,但是这并不能说明b和c之间的关系比b和a之间的关系亲密,因为c、b间通话只占c通话极小的一部分,因此,还需采用通信占比的方式去进一步表示用户的亲密度关系。

此外,两个用户的共同用户越多,他们之间的关系可能更加紧密,他们与共同用户彼此间的通信数据也反映了两者间关系的亲密度。因此,用户间的亲密度关系不仅表现为彼此间的通信状态,而且表现为与共同用户之间的通信状态。

综上,本发明实施例采用任意两个用户之间的直接通信状态得到的通信相似度和任意两个用户与共同用户之间的通信状态得到的共同用户相似度来共同确定两个用户之间的亲密度。在本发明实施例中,用户之间的相似度可以反映用户之间的亲密度关系。

首先,定义社交网络中用户之间的通信关系变量,通信关系变量包括tab、fab、sab、

其中,tab代表用户a主叫b的通话总时长,具体表示用户a主叫用户b时用户a与用户b的通话总时长;

代表用户a主叫通话总时长,具体表示用户a主叫其他任意用户时的通话总时长;

代表用户a被叫通话总时长,具体表示其他任意用户主叫用户a时的通话总时长;

fab代表用户a主叫用户b的通话总次数;

代表用户a主叫通话总次数,具体表示用户a主叫其他任意用户时的通话总次数;

代表用户a被叫通话总次数,具体表示其他任意用户主叫用户a时的通话总次数;

sab代表用户a给用户b发短信总次数;

代表用户a发短信总次数,具体表示用户a给其他任意用户发短信的总次数;

代表用户a收短信总次数,具体表示其他任意用户给用户a发短信的总次数。

通过所获取的s个用户的历史通信数据可以计算得到任意两个用户之间的上述通信关系变量。

进一步定义社交网络中的通信频度相似度s1(ab)、s3(ab)、s5(ab),共同用户相似度s2(ab)、s4(ab)、s6(ab),通过上述任意两个用户之间的通信关系变量可以得到通信频度相似度和共同用户相似度,具体计算方式如下:

s1(ab)代表用户a和用户b的通话时长相似度,其计算公式为公式(1):

s3(ab)代表用户a和用户b的通话频度相似度,其计算公式为公式(2):

s5(ab)代表用户a和用户b的短信频度相似度,其计算公式为公式(3):

s2(ab)代表用户a、b以及a与b的共同用户{c}的通话时长相似度,其计算公式为公式(4):

其中,代表用户a主叫通话总时长的模长,具体表示用户a主叫其他任意用户时的通话总时长的模长,其计算公式为公式(5):

其中,{c}代表用户a主叫的任意用户的集合;

其中,代表用户b主叫通话总时长的模长,具体表示用户b主叫其他任意用户时的通话总时长的模长,其计算公式为公式(6):

其中,{c}代表用户b主叫的任意用户的集合;

其中,代表用户a被叫通话总时长的模长,具体表示其他任意用户主叫用户a时的通话总时长的模长,其计算公式为公式(7):

其中,{c}代表主叫用户a的任意用户的集合;

其中,代表用户b被叫通话总时长的模长,具体表示其他任意用户主叫用户b时的通话总时长的模长,其计算公式为公式(8):

其中,{c}代表主叫用户b的任意用户的集合;

s4(ab)代表用户a、b以及a与b的共同用户{c}的通话频度相似度,其计算公式为公式(9):

其中,代表用户a主叫通话频度模长,具体表示用户a主叫其他任意用户时的通话总次数的模长,其计算公式为公式(10):

其中,{c}代表用户a主叫的任意用户的集合;

其中,代表用户b主叫通话频度模长,具体表示用户b主叫其他任意用户时的通话总次数的模长,其计算公式为公式(11):

其中,{c}代表用户b主叫的任意用户的集合;

其中,代表用户a被叫通话频度模长,具体表示其他任意用户主叫用户a时的通话总次数的模长,其计算公式为公式(12):

其中,{c}代表主叫用户a的任意用户的集合;

其中,代表用户b被叫通话频度模长,具体表示其他任意用户主叫用户b时的通话总次数的模长,其计算公式为公式(13):

其中,{c}代表主叫用户b的任意用户的集合;

s6(ab)代表用户a、b以及a与b的共同用户{c}的短信频度相似度,其计算公式为公式(14):

其中,代表用户a发短信频度模长,具体表示用户a给其他任意用户发短信的总次数的模长,其计算公式为公式(15):

其中,{c}代表用户a发短信的目标用户的集合;

其中,代表用户b发短信频度模长,具体表示用户b给其他任意用户发短信的总次数的模长,其计算公式为公式(16):

其中,{c}代表用户b发短信的目标用户的集合;

其中,代表用户a收短信频度模长,具体表示其他任意用户给用户a发短信的总次数的模长,其计算公式为公式(17):

其中,{c}代表发短信给用户a的用户的集合;

其中,代表用户b收短信频度模长,具体表示其他任意用户给用户b发短信的总次数的模长,其计算公式为公式(18):

其中,{c}代表发短信给用户b的用户的集合;

进一步根据通信频度相似度和共同用户相似度,计算得到任意两个用户之间的相似度,相似度用于表征该任意两个用户之间的亲密度。

sab代表用户a和b的相似度,其计算公式为公式(19):

计算得到任意两用户间的相似度之后,可以是以矩阵的形式存储任意两个用户之间的相似度,即得到相似度矩阵。进一步采用聚类算法,将该s个用户聚类为k个用户簇。

具体可选的,从社交网络中s个用户中随机选取k个用户作为中心用户,一个中心用户对应一个用户集,该s个用户中除该k个中心用户外的其他用户为边缘用户,下面将每个边缘用户归类到该k个用户集中,从而形成k个用户簇。

具体可选的,针对每一个边缘用户,从相似度矩阵中获取该边缘用户与k个中心用户中每个中心用户之间的相似度,并将该边缘用户分配到与其相似度最大的中心用户所在的用户集中,从而以这k个用户为中心形成k个用户集c。

进一步,遍历s个用户与k个用户簇c,将每个用户进行重分配,直到所有用户归属的用户集不再发生变化,从而形成k个用户簇,本发明实施例将最终形成的稳定用户集称为用户簇。

具体可选的,对于每一个用户a来说,遍历每一个用户集ci,依次计算用户a与用户集ci中每个用户之间的相似度总和sumai,将用户a分配到使sumai值最大的用户集ci中,至此,完成了一个用户的重分配。对s个用户中的每一个用户均按照上述步骤进行重分配,直到所有用户归属的用户集不再发生变化,至此形成k个用户簇。

比如,设置用户簇c的数量的取值为200,每个用户簇中用户的数量大约在550左右,最大的用户簇有944个用户,最少的也有350个用户。为了更好地说明用户簇划分过程,以图2作为举例说明。

由图2可以看出,图2中的c1、c2和c3代表3个不同的用户集,a、b、c和d代表4个不同的用户,图中其他用户未标注;首先,随机选取三个中心用户,并将其它每个边缘用户分配到与其相似度最大的中心用户所在的用户集中,得到三个用户簇c1、c2和c3。接下来要对每个用户进行重新分配,对用户a而言,分别计算用户a与各个用户集的相似度总和,这里以表示用户a与用户集c1的相似度总和,以表示用户a与用户集c2的相似度总和,以表示用户a与用户集c3的相似度总和。由于所以用户a被重新分配到相似度总和最高的用户集c2中(用户a可能原来属于用户集c1);对于其他用户重复上述重分配操作,直到所有用户的归属均不再变化。

进一步可选的,在用户簇基础上对该用户簇内各个用户进行影响力排名,本发明实施例中,用户的影响力,指的是该用户在其社交网络的用户簇中能够覆盖或者影响到的人员数量。基于某一事件,通过对用户影响力在传播活动中排名,可以找出该事件在社交网络中影响力较大的用户。通过影响力较大的用户传播信息,可以更快地让网络中其余用户接收到信息,且能有效覆盖大多数用户。因此,找出社交网络的用户簇中影响力较大的用户,可以方便有效地进行商业推广,节约推广成本。

在本发明实施例中,每个用户簇均包含第一用户,k个用户簇即存在至少k个第一用户。第一用户即是该用户簇中影响力最大的用户。

具体可选的,在每个用户簇中,首先筛选出与其他用户没有任何交互的用户,即筛选出孤立节点。这样做是为了将无效节点剔除,同时,还可以减少运算量,提高运算准确度;每个用户簇筛选之后的平均剩余用户数量占原先未筛选用户数量总数的90%以上,证明了之前通过聚类划分社交网络得到的用户簇是合理的,保留了绝大部分的相互交互的用户在同一个用户簇内。

对用户簇进行筛选数据处理后,按照以下计算公式分别求得每个用户簇的通话交互矩阵和短信矩阵;

其中,通话交互矩阵,记为tij,计算公式为公式(20):

其中,短信矩阵,记为mij,计算公式为公式(21):

其中,callij代表用户i给用户j拨打过电话的次数,smsij代表用户i给j发过短信的次数。

需要说明的是,本发明实施例在对通话交互矩阵tij和短信矩阵mij的计算中都引入了用户通讯反馈机制,为了更好地说明该用户通讯反馈机制,这里以图4作为举例说明。由图4可以看出,a、b、c、d分别代表四个不同的用户,实线上的数字代表用户之间真实交互次数,即真实通话次数;虚线上的数字代表用户之间反馈拨号次数,不是真实存在的拨号次数。这种即是用户通讯反馈机制。

由图4可以看出,用户b给a打了4次电话,那么定义用户a反馈1/2次通话次数给用户b,即反馈2次(实际上用户a没给b打电话)。同样的,如果户a也给用户b打电话,用户b也会反馈。因此每个用户节点给另一用户节点的拨号次数=实际拨号次数+反馈拨号次数。这样,一个由4个用户构成的网络就会生成一个4*4的通话交互矩阵tij,同理可以得到短信矩阵mij。

其中,采用上述用户通讯反馈机制有两个好处。根据生活中实际情况,一段时间内一个用户给另一个用户拨号次数越多,用户之间相互联系越紧密,那么回拨的概率也会更大,在用户通讯反馈机制中,用反馈来表示回拨概率,定义回拨概率为拨号次数的1/2符合实际情况;此外,另一个好处是可以防止在接下来的跳转概率矩阵p的计算中,不存在某一个用户跳转到其他任何用户的概率都为0的情况;其中,某一个用户跳转到其他任何用户的概率都为0的情况指的是该用户没有播出任何电话、发出任何短信,只是接听电话和接收短信的情况。

进一步可选的,将通话交互矩阵tij和短信矩阵mij进行加权求和,即是将这两个矩阵乘以对应权值后相加,得到用户联系频度矩阵u;

其中,用户联系频度矩阵u的计算公式为公式(22):

u=wt*t+wm*m(22)

其中,wt为通话交互矩阵tij的权值,值大小为0.5;wm为短信矩阵mij的权值,值大小为0.5;

根据用户联系频度矩阵u,计算得到用户之间的跳转频率矩阵p,计算公式为公式(23):

其中,矩阵p中的第i行的数值表示i节点跳转到其他任一节点的概率,即i节点与该用户簇内其他用户之间的通信概率;i节点跳转到j节点的概率表示为用户i与用户j的交互频度除以与用户i交互的所有频度之和;n表示该用户簇中的用户总数,这样能够保证的值为1。

得到跳转频率矩阵p之后,将p矩阵迭代相乘,至其稳定,得到最终稳定的跳转频率矩阵p_iter;将该矩阵p_iter第j列上的值求和(代表其他节点跳转到j节点的跳转总和),以此来代表j节点所代表的用户在该用户簇内的影响力强度大小;根据该影响力强度大小对每个用户节点进行排名,最终获得该用户簇内影响力强度最大的第一用户。

s103,针对每个所述用户簇,按照社交圈维度划分规则,将所述用户簇内用户的历史通信数据映射到m个社交圈维度,所述m为大于或者等于2的自然数;

s104,针对每个所述社交圈维度,根据映射至所述社交圈维度上用户的历史通信数据,确定所述用户簇在所述社交圈维度上的至少一个社交圈,一个社交圈包含至少一个用户,属于同一个社交圈的用户之间均存在与所述社交圈对应的社交关系;

s105,针对每个所述社交圈,确定所述社交圈内的第二用户,所述第二用户为在所述社交圈的所有用户中影响力强度最大的用户。

在一个实施例中,一个用户簇内用户之间的亲密度关系可能是通过多个社交圈维度反映出来的,社交圈维度包括但不限于家庭圈维度、朋友圈维度以及工作圈维度等等。比如,用户a与用户b之间亲密度比较高,可能因为他们属于同一个家庭圈,用户a与用户c之间亲密度比较高,可能因为他们属于同一个工作圈。本发明实施例通过用户之间的历史通信数据确定一个用户簇内各个用户在各个社交圈维度上的至少一个社交圈。比如,在家庭圈维度上,用户a、用户b与用户c属于一个家庭圈,用户d与用户e属于一个家庭圈。

具体可选的,预先制定m个社交圈维度划分规则,这里基于用户之间的通信频度制定至少一个社交圈维度划分规则。

比如该m个社交圈维度划分规则分别是家庭圈划分规则、朋友圈划分规则和工作圈划分规则。

其中,家庭圈划分规则如下:每天下午21:00-凌晨7:00,在同一个地点拨打过电话,并且相互之间有过通话的两个人,可以认为是家人,并且是住在一起的家人;在上述时间段之外的其他时间段,用户a在该时间段内在地点loc处与用户b通话次数超过2次以上,用户b上个时间段内在地点loc与用户a有过通话,此时可以认为是家人,并且可以推测出是一个人外出,家人在家中与之通话的情形。

朋友圈划分规则如下:星期一~星期五下午17:00-21:00以及周六周日全天,相互通话以及短信次数之和大于4次的人可以认为是工作之余经常联系的朋友;在任何时间相互通话次数大于5次,或者相互短信次数大于4次的人可以认为是关系紧密的朋友。

工作圈划分规则如下:星期一~星期五上午8:00-下午17:00,在同一个地点拨打过电话,并且相互之间有过通话的两个人可以认为是同事;在任何时间段,用户a在该时间段内在地点loc与用户b通话次数超过2次以上,且用户b在上个时间段内在地点loc与用户a有过通话,可以认为用户a与b是同事,并且可以推测出是一个人出差,同事在公司与其通话的情形。

按照上述预先制定的社交圈维度划分规则,将每个用户簇内用户的历史通信数据映射到该m个社交圈维度上,具体映射方式可以是,比如用户a与用户b之间的历史通信数据满足家庭圈维度划分规则,则将用户a与用户b之间的历史通信数据映射到家庭圈维度上。进一步统计在每个社交圈维度上,任意两个用户之间的历史通信数据,得到任意两个用户在任意社交圈维度上的通信频度。本发明实施例采用张量来描述这种结构,即<主叫用户,被叫用户,社交圈维度>,数值即为用户之间在该社交圈维度上的通信频度,不满足该社交圈维度划分规则的用户间相应维度上的值为0。

通过上述规则构建出的张量结构为第一张量,第一张量会出现很多的缺失值,因此直接进行聚类效果不理想,所以本发明实施例采用张量分解的方式去拟合已有值,进而预测缺失值,这样在每个社交圈维度进行聚类,便可以得到每个用户簇上的每个社交圈维度的社交圈划分。本发明实施例将对第一张量进行张量分解后得到的张量结构作为第二张量。

具体可选的,对第一张量进行分解的方式可以是以下方式:

定义第一张量x∈ri*j*k,xijk表示在第k个社交圈维度上,满足划分规则的用户ui主叫(包括通话和短信)用户uj的频度,其中k=3,代表社交圈维度的个数;由于一些xijk是缺失值,我们需要使用张量分解来预测这些缺失值;将张量x∈ri*j*k分解为一个核张量g∈rp*q*r和三个矩阵a∈ri*p,b∈pj*q,c∈rk*r,确定张量分解的目标函数,其计算公式为公式(24):

l(g,a,b,c)=||x-g*1a*2b*3c||2(24)

对张量分解的目标函数采用随机梯度下降方法不断迭代更新参数,求得能使公式(24)取得极值的一组参数,其中g、a、b、c为待求参数;

其中,参数aij的更新公式为公式(25):

其中,参数bij的更新公式为公式(26):

其中,参数cij的更新公式为公式(27):

其中,参数gij的更新公式为公式(28):

其中,为矩阵的外积运算符;

通过迭代多次直到参数的前后误差小于一定阈值,结束迭代,终止算法;求得参数g、a、b、c后,通过计算重构张量xijk,得到第二张量,其计算公式为公式(29):

x≈g*1a*2b*3c(29)

通过张量分解,将稀疏张量变成一个非稀疏张量,这样才能够很好地度量用户相似度,进而可以进行后续的多维度社交圈的划分。

根据已经填充好缺失值的非稀疏张量,得到某个用户簇的用户ui在第k个社交圈维度上的主叫表示,表示公式为公式(30):

ui(1)=(xi1k,xi2k,...,xi|u|k)(30)

其中,|u|代表用户ui所在用户簇的用户总数;

用户ui在某个用户簇的第k个社交圈维度上的被叫表示,表示公式为公式(31):

ui(2)=(x1ik,x2ik,...,x|u|ik)(31)

用户uj在某个用户簇的第k个社交圈维度上的主叫表示,表示公式为公式(32):

uj(1)=(xj1k,xj2k,...,xj|u|k)(32)

用户uj在某个用户簇的第k个社交圈维度上的被叫表示,表示公式为公式(33):

uj(2)=(x1jk,x2jk,...,x|u|jk)(33)

根据相似度计算方法,计算出用户ui和uj在第k个社交圈维度上的主叫相似度,记为cos<ui(1),uj(1)>,计算出用户ui和uj在第k个社交圈维度上的被叫相似度,记为cos<ui(2),uj(2)>,进一步可以计算得出用户ui和uj在第k个社交圈维度上的相似度,计算公式为公式(34):

sij=cos<ui(1),uj(1)>+cos<ui(2),uj(2)>(34)

根据公式(34)的结果对用户簇ci内的用户在第k个社交圈维度上进行聚类,将相似度高的用户划分到同一个社交圈,从而得到每个用户的家庭圈、朋友圈和工作圈。

具体可选的,在对于某一个社交圈维度,获得用户簇ci内的任意两个用户在该社交圈维度上的相似度,按照聚类算法对该用户簇ci内的任意两个用户在该社交圈维度上进行聚类,形成至少一个社交圈。比如,该社交圈维度为家庭圈维度,则该至少一个社交圈为至少一个家庭圈。需要说明的是,聚类算法的具体计算过程请参照形成用户簇的聚类计算过程,在此不再赘述。

为了更好地说明采用张量分解方法预测缺失值后,后续对用户簇进行的细粒度社交圈的划分的过程,这里以图3作为举例说明。采用张量分解方法预测缺失值后,可以得到任意两用户在任意社交圈维度上的联系频度。在某一个社交圈维度上用户ui可以表示为<ti1,ti2,...,tin>,由图3可以看出,在家庭圈维度上,用户u1可以表示为u1=<2,10,2,6,0>,归一化之后得到u1=<0.1,0.5,0.1,0.3,0>。然后可以在每一个社交圈维度内对用户簇内的用户进行聚类,得到更细粒度的社交圈划分。如图3可以所示,比如,通过聚类算法将用户簇在家庭圈维度上划分成三个家庭圈,{u1,u2}、{u3}和{u4,u5}分别各自为一个真正的家庭圈。

进一步可选的,对于一个社交圈内部,可以获取该社交圈内影响力强度最大的第二用户,具体获取方式可以参照获取用户簇内的第一用户的获取方式,在此不再赘述。

通过实施本发明实施例,获取社交网络中s个用户的历史通信数据,该历史通信数据用于表征该s个用户的历史通信状态,对该s个用户的历史通信数据进行分析,确定该s个用户形成的k个用户簇,属于同一个用户簇的用户之间存在相互关联的通信特征,针对每个用户簇,确定该用户簇内的第一用户,第一用户为用户簇的所有用户中影响力强度最大的用户。通过对社交网络中用户的历史通信数据进行分析,可以发现影响力强度比较大的第一用户,利用该第一用户进行商业推广,可以实现快速推广,并且节省推广成本。

上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的装置。

参阅图5和图6,为本发明实施例提供的通信数据分析装置的结构示意图,本发明实施例的通信数据分析装置可以应用于图1的方法实施例中。

如图5所示,该通信数据分析装置可包括:获取单元101、分析单元102、第一确定单元103,其中:

获取单元101,用于获取s个用户的历史通信数据,所述历史通信数据用于表征所述s个用户的历史通信状态,所述s为大于或者等于2的自然数;

分析单元102,用于对所述s个用户的历史通信数据进行分析,确定所述s个用户形成的k个用户簇,一个用户簇包含至少一个用户,属于同一个用户簇的用户之间存在相互关联的通信特征,所述k为大于或者等于2的自然数;

第一确定单元103,用于针对每个所述用户簇,确定所述用户簇内的第一用户,所述第一用户为在所述用户簇的所有用户中影响力强度最大的用户,所述影响力强度用于表征影响力的大小。

可选的,所述分析单元102具体用于,

根据所述s个用户的历史通信数据,计算所述s个用户中任意两个用户之间的相似度,并获得相似度矩阵,所述任意两个用户之间的相似度用于表征所述任意两个用户之间的关系紧密度;

从所述s个用户中随机选取k个用户作为k个中心用户,一个中心用户对应一个用户集;

将所述s个用户中除所述k个用户外的其他用户作为边缘用户,根据所述边缘用户与所述k个中心用户中每个中心用户之间的相似度,将所述边缘用户归类到所述k个中心用户对应的所述k个用户集;

针对所述s个用户中的每个用户以及所述k个用户集中的每个用户集,从所述相似度矩阵中获取所述用户与所述用户集中每个用户之间的相似度,并将所述用户与所述用户集中每个用户之间的相似度求和,获得所述用户对应于所述用户集的相似度总和;

获取所述用户对应于所述k个用户集中每个用户集的相似度总和,并将所述用户重新划分至所述相似度总和最大的用户集,形成用户簇。

可选的,所述分析单元102根据所述s个用户的历史通信数据,计算所述s个用户中任意两个用户之间的相似度,具体包括:

根据所述s个用户的历史通信数据,计算所述s个用户中任意两个用户之间的通信频度相似度和共同用户相似度,所述通信频度相似度是通过所述任意两个用户之间的直接通信状态得到的参数,所述共同用户相似度是通过所述任意两个用户与共同用户之间的通信状态得到的参数,所述共同用户为与所述任意两个用户之间存在共同通信关系的用户;

根据所述s个用户中任意两个用户之间的通信频度相似度和共同用户相似度,获得所述s个用户中任意两个用户之间的相似度。

可选的,所述第一确定单元103具体用于,

针对每个所述用户簇,获取所述用户簇的用户联系频度矩阵,所述用户联系频度矩阵用于表征所述用户簇中任意两个用户之间的通信频度;

根据所述用户簇的用户联系频度矩阵,计算所述用户簇的跳转频率矩阵,所述跳转频率矩阵用于表征所述用户簇内任意两个用户之间的通信概率;

根据所述用户簇的跳转频率矩阵,计算所述用户簇内每个用户的影响力强度,并将影响力强度最大的用户作为所述用户簇内的第一用户。

进一步可选的,如图5所示,本发明实施例的通信数据分析装置还包括映射单元104、第二确定单元105以及第三确定单元106;

映射单元104,用于针对每个所述用户簇,按照社交圈维度划分规则,将所述用户簇内用户的历史通信数据映射到m个社交圈维度,所述m为大于或者等于2的自然数;

第二确定单元105,用于针对每个所述社交圈维度,根据映射至所述社交圈维度上用户的历史通信数据,确定所述用户簇在所述社交圈维度上的至少一个社交圈,一个社交圈包含至少一个用户,属于同一个社交圈的用户之间均存在与所述社交圈对应的社交关系;

第三确定单元106,用于针对每个所述社交圈,确定所述社交圈内的第二用户,所述第二用户为在所述社交圈的所有用户中影响力强度最大的用户。

可选的,所述第二确定单元105针对每个所述社交圈维度,根据映射至所述社交圈维度上用户的历史通信数据,确定所述用户簇在所述社交圈维度上的至少一个社交圈,具体包括:

针对每个所述社交圈维度,对映射至所述社交圈维度上用户的历史通信数据进行统计,获得所述用户簇在所述社交圈维度上用户之间的通信频度;

根据所述用户簇在所述m个社交圈维度中每个社交圈维度上用户之间的通信频度,生成所述用户簇对应的第一张量;

采用张量分解算法,对所述第一张量进行处理,获得所述用户簇对应的第二张量,所述第二张量为在所述第一张量基础上增加了预测缺失值的张量结构;

根据所述第二张量,在所述m个社交圈维度中每个社交圈维度上进行聚类,获得所述用户簇在所述m个社交圈维度中每个社交圈维度上的至少一个社交圈。

所述第二确定单元105根据所述第二张量,在所述m个社交圈维度中每个社交圈维度上进行聚类,获得所述用户簇在所述m个社交圈维度中每个社交圈维度上的至少一个社交圈,具体包括:

根据所述第二张量,获取所述用户簇内任意两个用户在所述m个社交圈维度中每个社交圈维度上的相似度,所述相似度用于表征所述任意两个用户在所述社交圈维度上的关系紧密度;

针对每个所述社交圈维度,根据所述用户簇内任意两个用户在所述社交圈维度上的相似度,将所述用户簇内的用户在所述社交圈维度上聚类为至少一个社交圈。

对应的,如图6所示,为本发明实施例提供的另一种通信数据分析装置的结构示意图,该通信数据分析装置可包括:处理器1001。图5的功能单元可以通过本发明实施例的处理器1001实现。处理器1001用于控制该装置的操作,包括获取s个用户的历史通信数据,所述历史通信数据用于表征所述s个用户的历史通信状态,所述s为大于或者等于2的自然数;进一步对所述s个用户的历史通信数据进行分析,确定所述s个用户形成的k个用户簇,一个用户簇包含至少一个用户,属于同一个用户簇的用户之间存在相互关联的通信特征,所述k为大于或者等于2的自然数;针对每个所述用户簇,确定所述用户簇内的第一用户,所述第一用户为在所述用户簇的所有用户中影响力强度最大的用户,所述影响力强度用于表征影响力的大小。

进一步的,通信数据分析装置还可以包括存储器1002,存储器1002可以包括只读存储器和随机存取存储器,用于向处理器1001提供指令和数据。存储器1002可以集成于处理器1001中,也可以独立于处理器1001。存储器1002的一部分还可以包括非易失行随机存取存储器(nvram)。该装置的各个组件通过总线系统耦合在一起,其中总线系统1009除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统1009。

本申请实施例图1所揭示的流程可以应用于处理器1001中。在实现过程中,该装置实现的流程的各步骤可以通过处理器1001中的硬件的集成逻辑电路或者软件形式的指令完成。处理器1001可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1002,处理器1001读取存储器1002中的信息,结合其硬件完成本发明实施例指示流程的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。

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