一种用于社交网络中用户组分析的快速时态查询方法与流程

文档序号:12667784阅读:293来源:国知局
一种用于社交网络中用户组分析的快速时态查询方法与流程

本发明涉及计算机科学范围内数据库领域检索技术领域,特指一种用于社交网络中用户组分析的快速时态查询方法。



背景技术:

“社交网络”(Social Network Services,SNS)是继门户网站、搜索引擎之后,互联网发展的第三次浪潮,它已成为人们生活的一部分,并对人们的信息获得、思考和生活产生不可低估的影响。社交网络主体由用户组成,用户之间建立朋友关系,并通过网络社交行为(如聊天、发本文状态、发图片视频、分享链接、收藏、点赞等)进行交互。随着社交网络应用的不断推广与深化,大量的社交数据得到积累,不论运营方或监管方都需要从中进行数据挖掘从而为相关决策做支持,这种分析具有重要的价值和意义。

各类分析挖掘中以用户组为单元的分析是需求热点,特别是关于用户组随时间的演化分析,这种分析可以从中提取出关于某一热点随着时间变化的群体行为的变化规律。举例来说,查询2016年8月至10月,在社交网络上参与“美国大选”事件的用户组,并且返回的每个用户组平均在线时长不小于72小时,返回结果以时态演化形式给出。可以将以上查询进行形式化描述为:

给定关键词集合Wq,时间段[ts,te]和时间长度tol,那么用户组时态查询可以表示为(Wq,[ts,te],tol),其返回结果为{〈g1={u1,u2,...},[t1,t2]>,<...>,...},其中g1={u1,u2,...}为符合条件的一个用户组,ui代表各个用户,[t1,t2]是g1存在的时间段,即在[t1,t2]内,g1内的朋友关系是有效的,每个用户组需要符合的条件有:gi为连通图,且gi内全部用户在时间段[ts,te]内都参与过与Wq相关的社交事件,并且平均在线时长不小于tol,其中平均在线时长定义为:

对于一个用户组S={u1,u2,...,un}满足连通图的限制其中,对于每一个ui∈S,其在线时长表示为ol(ui),那么,用户组S的平均在线时长AOD(Average Online Duration):

发明专利[1]提出了一个预测社交网络演化过程和网络性质的方法,设计网络的聚集力和聚集力总和来描述网络的演化过程,在一定程度上弱化了BA模型的弊端,生成接近于真实的社交网络。发明专利[2]提出了基于行为时间序列的社交网络因果关系发现算法。该算法包括构建全局因果关系图、确定因果影响滞后期、优化因果关系图结构三个阶段,实现行为时间序列数据上的可靠因果关系发现。发明专利[3]提出一种社交网络中潜在好友查询方法,可以支持社交网络拓扑结构中存在好友的有效查询,支持为指定用户找出其潜在好友或为无直接连接用户推荐潜在好友,可以推荐商业潜在客户或用户潜在好友。发明专利[4]提出一种社交网络中的群消息存储方法,可使得查询群消息的速度得到大幅度提高。此外,还提供一种社交网络中的群消息存储系统、社交网络客户端中的群消息查询方法和社交网络中的群消息查询客户端,以及社交网络服务器中的群消息查询方法和社交网络中的群消息查询服务器。发明专利[5]提出了基于内容和时间演化的社交网络分析方法,允许导出有用的交叉模式集群,其揭示用户社区和关键字概念之间的关键关系,以有意义和直观的方式呈现给用户。

[1]一个预测社交网络演化过程和网络性质的方法,申请号/专利号:201310567085,发明设计人:童超;乔梁;罗小简;朱蔷;马骏

[2]基于行为时间序列的社交网络因果关系发现算法,申请号/专利号:201410795360,发明设计人:蔡瑞初;袁畅;郝志峰;谢伟浩;谢蔚涛;温雯;王丽娟;洪英汉

[3]社交网络中潜在好友查询方法,申请号/专利号:201210179600,发明设计人:田秀霞;宋羊力;王晓玲;周傲英

[4]社交网络中的群消息存储、查询方法和系统,申请号/专利号:201410161541,发明设计人:林晓炜;龙丁奋;吴初潘;黎腾;郭学亨

[5]Content-based and time-evolving social network analysis,申请号/专利号:US20090552812,发明设计人:LIN CHING-YUNG;PAPADIMITRION SPYRIDON;SUN JIMENG;WU KUN-LUNG



技术实现要素:

本发明要解决的技术问题为提出一种用于社交网络中用户组分析的快速时态查询方法,其针对社交网络用户组的时态分析,通过按时态检索得到用户组集合,从而可以分析出在给定时间段内参与关注事件的群体,并且根据时态属性可以分析各个群体随着时间演化的过程,为支持社交媒体的分析挖掘提供技术支撑。

为解决上述技术问题,本发明采取的技术方案具体包括如下步骤:

1)针对社交网络数据建立两个具有时态信息的索引结构,所述社交网络数据包括社交网络数据中的用户信息、用户在线时间段、朋友关系及所属有效时间段、用户参与事件及参与时间,所述两个索引结构包括TF树(时态朋友关系树)和TA树(时态事件树),所述TF树对朋友关系及所属有效时间段建立索引,所述TA树对用户信息、用户参与事件及参与时间建立索引;

2)根据查询条件在TA树上进行查询返回满足事件和参与时间的用户集合,接着根据查询条件在TF树上进行查询满足朋友有效时间段的朋友关系对;

3)将查询得到的用户集合与朋友关系对相交得到候选结果集;对于数据量较小的情况,采用简单查询处理方法,针对朋友关系变化的每个时间点生成连通图,检查连通图的平均在线时长是否满足条件,得到结果集;对于数据量较大的情况,采用优化查询处理方法,首先生成初始时刻的全部连通图,再根据朋友关系变化时间点对初始的连通图进行增加连接、删除连接的各种演化处理,从而返回最终结果完成查询。

作为本发明技术方案的进一步改进,本发明中的所述TF树是索引时态朋友关系(即朋友关系随时间而变化)的索引结构,其功能为输入查询时间段,输出在该查询时间段内是朋友关系的用户对集合;本具体实施例的TF树采用MVB树(Multiversion B-tree)机制进行构建,每个结点的数据项的结构为〈ui|uj,[tf,tu]>,其中ui|uj表示一对朋友关系,作为搜索键,即key,|代表进行字符串连接操作,[tf,tu]是朋友关系(ui,uj)存在的时间;

作为本发明技术方案的进一步改进,本发明中的数据项插入包括以下步骤:

TF-S1:向第一个结点插入数据项或更新已经插入数据项的失效时间点,若:

TF-S11:达到版本分裂的条件时,进行版本分裂;

TF-S12:达到键分裂条件时,进行键分裂;

TF-S2:若分裂需要产生新的根结点,则产生新的根结点,并更新指向的对应子结点;

TF-S3:若达到下溢条件,则进行下溢处理,即产生符合结点非下溢条件的新版本结点,将旧结点中的失效时间全部更新,即使得旧结点“死亡”。

作为本发明技术方案的进一步改进,本发明中的所述TA树用于索引事件及其参与的用户,其功能为输入查询时间段和关键词集合,输出在该时间段内参与到符合该关键词集合的事件的用户集合;本具体实施例的TA树采用B+树和Bloom Filter(波隆滤波器)实现,结点分为叶结点和非叶结点。

作为本发明技术方案的进一步改进,本发明中的叶结点为:每个结点中数据项的结构形式为<ui,tp,ak,Wak〉,其中ui是用户标识,ak是事件标识,tp是用户ui参与事件ak的时间戳,ak的关键词集合为Wak,TA-tree的搜索码是tp

非叶结点为:数据项分为路由数据项和指针数据项,路由数据项为TA-tree的搜索码,即时间戳tp,是经由下级结点分裂形成的,指针数据项不但包含指向的下级结点,还包含Bloom Filter,该Bloom Filter是以所指向结点为根的子树中所有关键词Wak构成的。

作为本发明技术方案的进一步改进,本发明中的TA树的构建过程包括以下步骤:

TA-S1:将叶结点数据项插入第一个叶结点,直到数据项数量达到叶结点容量溢出;

TA-S2:根据数据项中时间戳将叶结点分裂为两个叶结点,根结点中路由数据项为第一个叶结点中最后一个数据项的时间戳,指向第一个叶结点的指针数据项的Bloom Filter由第一个叶结点中所有关键词构建,指向第二个叶结点的指针数据项的Bloom Filter由第二个叶结点中所有关键词构建;

TA-S3:接着插入叶结点数据项,比较根结点中的路由数据项,若大于根结点中的路由数据项,则插入第二个叶结点,反之则插入第一个叶结点;

TA-S4:直到某叶结点达到溢出条件,重复执行类似于S2至S3的操作。

作为本发明技术方案的进一步改进,本发明中的所述简单查询处理方法具体包括以下步骤:

S1:使用TA-tree,查找在时间段[ts,te]中,参与到具有关键词集合Wq的事件中的用户集合Uc

S2:对于Uc中的每个用户ui,计算其在时间段[ts,te]中在线时长总和,并利用降序队列Q存储;

S3:初始化返回结果集Rlist;

S4:使用TF-tree,查找时间段[ts,te]内存在的所有朋友关系对集合F;

S5:通过Uc过滤F,intersect(Uc,F)=(Uc×Uc)∩F,得到在时间段[ts,te]中,Uc集合中存在的朋友对集合Fc

S6:在[ts,te]时间段中,计算Fc中朋友关系发生变化的时间戳集合TP;

S7:取出TP中的每个时间点tp

S8:若为空集,则返回Rlist,否则执行S8;

S9:将Q赋值给临时变量replQ;

S10:取出replQ第一第i个元素Ui,若Ui为空转至S6,否则转至S10;

S11:判断u在线时长总和Ui·od是否大于tol,若大于tol,转至S11,否则转至S9;

S12:在时刻tp,生成关于Ui的连接图CGi

S13:判断CGi平均在线时长是否大于等于tol,若是,将CGi加入Rlist然后转至S9,否则,直接转至S9。

作为本发明技术方案的进一步改进,本发明中的所述优化查询处理方法具体包括以下步骤:

S1:使用TA-tree,查找在时间段[ts,te]中,参与到具有关键词集合Wq的事件中的用户集合Uc

S2:对于Uc中的每个用户ui,计算其在时间段[ts,te]中在线时长总和,并利用降序队列Q存储;

S3:初始化返回结果集Rlist;

S4:使用TF-tree,查找时间段[ts,te]内存在的所有朋友关系对集合F;

S5:通过Uc过滤F,intersect(Uc,F)=(Uc×Uc)∩F,得到在时间段[ts,te]中,Uc集合中存在的朋友对集合Fc

S6:取出TP中的第一个时间点t1

S7:计算时间点t1上Q中全部连通图,判断每个图平均在线时长是否大于tol,若大于则将此时的连通图加入结果集,否则,不做处理;

S8:取出TP中接下来的每个时间点,并到Fc取出变化的朋友关系,会产生下列情况:

S81:新增朋友关系,有如下3种情况:

S811:连接同一连通图内两个结点:由于连通图的平均在线时长不变,因此不做处理;

S812:连接图内结点(或孤立结点)和孤立结点:重新检验新连通图的平均在线时长是否大于tol,若大于则将此时的连通图加入结果集,否则,不做处理;

S813:连接两个连通图:重新检验新连通图的平均在线时长是否大于tol,若大于则将此时的连通图加入结果集,否则,不做处理;

S82:解除朋友关系,有如下2种情况:

S821:不产生连通图分裂:由于连通图的平均在线时长不变,因此不做处理;

S822:产生连通图分裂:检验这两个新的连通图的平均在线时长是否大于tol,若大于则将此时的连通图加入结果集,否则,不做处理。

与现有技术相比,本发明具有以下有益效果:

(1)本发明实现了社交网络中以用户组为单元的快速时态查询方法,可以定量地、确定性地支持针对社交网络的群体行为随时间演化分析,比现有利用数据挖掘分析得到的不确定结果更加有力的支持决策分析;

(2)本发明实现了针对社交网络的用户组为单元进行的查询,比按照用户或潜在用户的查询更加能够提供面向群体行为的分析能力;

(3)本发明实现了关于时态的查询,比不具有时间查询条件的发明更加能够提供面向时态演化分析的技术能力。

附图说明

图1是本发明TF树结构示例图。

图2是本发明TA树结构示例图。

图3是本发明简单查询处理方法流程图。

图4是本发明优化查询处理方法流程图。

具体实施方式

下面结合附图对本发明做进一步详细说明。

本发明为一种用于社交网络中用户组分析的快速时态查询方法,其针对社交网络中以用户组为单元进行时态分析查询的需求,即在给定时间段内查询共同参与社交媒体上某一事件的各个用户组,并且这些用户组要满足给定的平均在线时长,用户组要按照时态演化的形式返回。本发明采用索引技术,建立两种索引结构,TF树(时态朋友关系树)和TA树(时态事件树),分别对具有时态属性的朋友关系和用户参与的事件进行索引,通过联合查询这两种索引结构同时设计合理的排序算法,设计发明了简单查询处理方法和优化查询处理方法,从而实现快速按照用户组进行时态查询的目的。

该方法具体包括以下步骤:

1)针对社交网络数据中的用户信息、用户在线时间段、朋友关系及所属有效时间段、用户参与事件及参与时间等数据建立两个具有时态信息的索引结构,所述两个索引结构包括TF树(时态朋友关系树)和TA树(时态事件树),所述TF树对朋友关系及所属有效时间段建立索引,所述TA树对用户信息、用户参与事件及参与时间建立索引;

2)根据查询条件在TA树上进行查询返回满足事件和参与时间的用户集合,接着根据查询条件在TF树上进行查询满足朋友有效时间段的朋友关系对;

3)将查询得到的用户集合与朋友关系对相交得到候选结果集,对于数据量较小的情况,采用简单查询处理方法,针对朋友关系变化的每个时间点生成连通图,检查连通图的平均在线时长是否满足条件,得到结果集;对于数据量较大的情况,采用优化查询处理方法,首先生成初始时刻的全部连通图,再根据朋友关系变化时间点对初始的连通图进行增加连接、删除连接的各种演化处理,从而返回最终结果完成查询。

本发明方法的功能(输入输出)描述如下:

输入(查询条件):关键词集合Wq,时间段[ts,te]和时间长度tol

输出(查询结果):多个用户组,即{<g1={u1,u2,...},[t1,t2]>,<...〉,...},其中g1={u1,u2,...}为符合条件的一个用户组,ui代表各个用户,[t1,t2]是g1存在的时间段,即在[t1,t2]内,g1内的朋友关系是有效的,每个用户组需要符合的条件有:gi为连通图,且gi内全部用户在时间段[ts,te]内都参与过与Wq相关的社交事件,并且平均在线时长不小于tol

所述TF树结构示例图1所示,所述TF树是索引时态朋友关系(即朋友关系随时间而变化)的索引结构,其功能为输入查询时间段,输出在该时间段内是朋友关系的用户对集合。本具体实施例的TF树采用MVB树(Multiversion B-tree)机制进行构建,每个结点的数据项的结构为<ui|uj,[tf,tu]>,其中ui|uj表示一对朋友关系,作为搜索键,即key,|代表进行字符串连接操作,[tf,tu]是朋友关系(ui,uj)存在的时间。数据项插入遵循以下步骤(规则):

TF-S1:向第一个结点插入数据项或更新已经插入数据项的失效时间点,若:

TF-S11:达到版本分裂的条件时,进行版本分裂;

TF-S12:达到键分裂条件时,进行键分裂;

TF-S2:若分裂需要产生新的根结点,则产生新的根结点,并更新指向的对应子结点;

TF-S3:若达到下溢条件,则进行下溢处理,即产生符合结点非下溢条件的新版本结点,将旧结点中的失效时间全部更新,即使得旧结点“死亡”。

随着索引的不断构建,版本分裂和键分裂不断持续,TF树形成了越靠近右侧,其索引的数据越“新”的特性。

所述TA树用于索引事件及其参与的用户,其功能为输入查询时间段和关键词集合,输出在该时间段内参与到符合该关键词集合的事件的用户集合。本具体实施例的TA树采用B+树和Bloom Filter(波隆滤波器)实现,结点分为叶结点和非叶结点,图2示例了TA树的结构,描述如下:

叶结点:每个结点中数据项的结构形式为<ui,tp,ak,Wak>,其中ui是用户标识,ak是事件标识,tp是用户ui参与事件ak的时间戳,ak的关键词集合为Wak,TA-tree的搜索码是tp

非叶结点:数据项分为路由数据项和指针数据项,路由数据项为TA-tree的搜索码,即时间戳tp,是经由下级结点分裂形成的,指针数据项不但包含指向的下级结点,还包含Bloom Filter,该Bloom Filter是以所指向结点为根的子树中所有关键词Wak构成的。

TA树的构建过程为:

TA-S1:将叶结点数据项插入第一个叶结点,直到数据项数量达到叶结点容量溢出;

TA-S2:根据数据项中时间戳将叶结点分裂为两个叶结点,根结点中路由数据项为第一个叶结点中最后一个数据项的时间戳,指向第一个叶结点的指针数据项的Bloom Filter由第一个叶结点中所有关键词构建,指向第二个叶结点的指针数据项的Bloom Filter由第二个叶结点中所有关键词构建;

TA-S3:接着插入叶结点数据项,比较根结点中的路由数据项,若大于根结点中的路由数据项,则插入第二个叶结点,反之则插入第一个叶结点;

TA-S4:直到某叶结点达到溢出条件,重复执行类似于S2至S3的操作。

如图3所示,所述简单查询处理方法流程具体包括以下步骤:

S1:使用TA-tree,查找在时间段[ts,te]中,参与到具有关键词集合Wq的事件中的用户集合Uc

S2:对于Uc中的每个用户ui,计算其在时间段[ts,te]中在线时长总和,并利用降序队列Q存储;

S3:初始化返回结果集Rlist;

S4:使用TF-tree,查找时间段[ts,te]内存在的所有朋友关系对集合F;

S5:通过Uc过滤F,intersect(Uc,F)=(Uc×Uc)∩F,得到在时间段[ts,te]中,Uc集合中存在的朋友对集合Fc

S6:在[ts,te]时间段中,计算Fc中朋友关系发生变化的时间戳集合TP;

S7:取出TP中的每个时间点tp

S8:若为空集,则返回Rlist,否则执行S8;

S9:将Q赋值给临时变量replQ;

S10:取出replQ第一第i个元素Ui,若Ui为空转至S6,否则转至S10;

S11:判断u在线时长总和Ui·od是否大于tol,若大于tol,转至S11,否则转至S9;

S12:在时刻tp,生成关于Ui的连接图CGi

S13:判断CGi平均在线时长是否大于等于tol,若是,将CGi加入Rlist然后转至S9,否则,直接转至S9。

简单查询处理方法需要在每个时间点计算连通图,对于数据量较大的情况效率不高,优化查询处理方法在第一个时间点形成所有的连通图,之后只在每个改变关系的时间点,根据变化更新相应连通图,并且检查新的连通图是否符合条件。如图4所示,所述优化查询处理方法的流程具体包括以下步骤:

S1:使用TA-tree,查找在时间段[ts,te]中,参与到具有关键词集合Wq的事件中的用户集合Uc

S2:对于Uc中的每个用户ui,计算其在时间段[ts,te]中在线时长总和,并利用降序队列Q存储;

S3:初始化返回结果集Rlist;

S4:使用TF-tree,查找时间段[ts,te]内存在的所有朋友关系对集合F;

S5:通过Uc过滤F,intersect(Uc,F)=(Uc×Uc)∩F,得到在时间段[ts,te]中,Uc集合中存在的朋友对集合Fc

S6:取出TP中的第一个时间点t1

S7:计算时间点t1上Q中全部连通图,判断每个图平均在线时长是否大于tol,若大于则将此时的连通图加入结果集,否则,不做处理;

S8:取出TP中接下来的每个时间点,并到Fc取出变化的朋友关系,会产生下列情况:

S81:新增朋友关系,有如下3种情况:

S811:连接同一连通图内两个结点:由于连通图的平均在线时长不变,因此不做处理;

S812:连接图内结点(或孤立结点)和孤立结点:重新检验新连通图的平均在线时长是否大于tol,若大于则将此时的连通图加入结果集,否则,不做处理;

S813:连接两个连通图:重新检验新连通图的平均在线时长是否大于tol,若大于则将此时的连通图加入结果集,否则,不做处理;

S82:解除朋友关系,有如下2种情况:

S821:不产生连通图分裂:由于连通图的平均在线时长不变,因此不做处理;

S822:产生连通图分裂:检验这两个新的连通图的平均在线时长是否大于yol,若大于则将此时的连通图加入结果集,否则,不做处理。

本发明针对社交网络中的用户组时态分析需求,提供一种能够按照时态查询用户组的快速查询方法,该方法输入为查询时间段、用户组参与事件的关键词和平均在线时长限定值,输出为在给定时间段内参与相关网络社交事件的用户组,并且用户组的平均在线时长大于给定的时长限定值,且用户组按照时态演化形式给出。本发明是融合了信息检索、数据库索引、查询优化等技术的一种针对社交网络群体演化分析的实用性查询技术。

本领域技术人员将清楚本发明的范围不限制于以上讨论的示例,有可能对其进行若干改变和修改,而不脱离所附权利要求书限定的本发明的范围。尽管己经在附图和说明书中详细图示和描述了本发明,但这样的说明和描述仅是说明或示意性的,而非限制性的。本发明并不限于所公开的实施例。

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