CN113761080B - 社区划分方法、装置、设备及存储介质 - Google Patents
社区划分方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113761080B CN113761080B CN202110357637.6A CN202110357637A CN113761080B CN 113761080 B CN113761080 B CN 113761080B CN 202110357637 A CN202110357637 A CN 202110357637A CN 113761080 B CN113761080 B CN 113761080B
- Authority
- CN
- China
- Prior art keywords
- user
- community
- users
- call
- calling
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 103
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 10
- 238000000638 solvent extraction Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 29
- 238000004422 calculation algorithm Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
- H04M3/2254—Arrangements for supervision, monitoring or testing in networks
- H04M3/2263—Network management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出一种社区划分方法、装置、设备及存储介质,其中,方法包括:获取至少一个时间段内的话单数据,并对话单数据进行处理,得到任两用户之间的通话关系,通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长;根据任两用户之间的通话关系,得到任两用户中呼出用户相对呼入用户的关系权重;根据任两用户中呼出用户相对呼入用户的关系权重,生成对应时间段的用户关系图;对对应时间段的用户关系图进行社区划分,以确定用户关系图中各节点对应用户所属的社区。由此,可以提升社区划分结果的准确性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种社区划分方法、装置、设备及存储介质。
背景技术
话单数据是通话记录的集合,其中,通话记录包含通话双方以及通话时间等信息,对话单数据进行分析,能够确定手机号码之间的关系,这些关系构成了一张用户的通话网络图,其中,通话网络图中各用户可以按照联系紧密程度,划分为若干个社区(用户集合),同一个社区内的用户联系紧密,不同社区的用户联系疏远。通过上述分析,能够确定联系较为紧密的用户群体,并且,还能够缩小网络规模,有利于对单个或多个用户进行针对性的分析,得到更精确的结果,例如,可以用于对诈骗电话、广告电话、骚扰电话等进行识别和标记。
目前,通过Louvain算法对通话网络图进行社区划分,然而,Louvain算法具有处理无向图的特点,未考虑到有向边所导致的信息不对称的问题,因此,将Louvain算法应用在通话网络图的节点划分上,划分结果的准确性无法保证。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
本发明提出一种社区划分方法、装置、设备及存储介质,用于解决现有技术中,Louvain算法具有处理无向图的特点,将Louvain算法应用在通话网络图的节点划分上,划分结果的准确性无法保证的技术问题。
本发明第一方面实施例提出了一种社区划分方法,包括:
获取至少一个时间段内的话单数据;
对所述话单数据进行处理,得到任两用户之间的通话关系,所述通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长;
根据所述任两用户之间的通话关系,得到任两用户中呼出用户相对呼入用户的关系权重;
根据任两用户中呼出用户相对呼入用户的关系权重,生成对应所述时间段的用户关系图;其中,所述用户关系图中包括多个节点和多条有向边,各所述节点对应各所述用户,各所述有向边从所述呼出用户所对应节点指向所述呼入用户所对应节点,各所述有向边的权重是所述呼出用户相对所述呼入用户的关系权重;
对所述时间段的用户关系图进行社区划分,以确定所述用户关系图中各节点对应用户所属的社区。
本发明实施例的社区划分方法,通过获取至少一个时间段内的话单数据,并对话单数据进行处理,得到任两用户之间的通话关系,通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长;根据任两用户之间的通话关系,得到任两用户中呼出用户相对呼入用户的关系权重;根据任两用户中呼出用户相对呼入用户的关系权重,生成对应时间段的用户关系图;对对应时间段的用户关系图进行社区划分,以确定用户关系图中各节点对应用户所属的社区。由此,用户关系图中不同节点之间的边的内涵丰富了,不仅具有方向,而且边的权重能同时体现通话次数和通话时长,因此,生成的用户关系图中将携带更多信息,从而对携带更多信息的用户关系图进行社区划分,能够准确反应各用户之间的紧密关系,提升社区划分结果的准确性。
本发明第二方面实施例提出了一种社区划分装置,包括:
获取模块,用于获取至少一个时间段内的话单数据;
统计模块,用于对所述话单数据进行处理,得到任两用户之间的通话关系,所述通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长;
确定模块,用于根据所述任两用户之间的通话关系,得到任两用户中呼出用户相对呼入用户的关系权重;
生成模块,用于根据任两用户中呼出用户相对呼入用户的关系权重,生成对应所述时间段的用户关系图;其中,所述用户关系图中包括多个节点和多条有向边,各所述节点对应各所述用户,各所述有向边从所述呼出用户所对应节点指向所述呼入用户所对应节点,各所述有向边的权重是所述呼出用户相对所述呼入用户的关系权重;
划分模块,用于对所述时间段的用户关系图进行社区划分,以确定所述用户关系图中各节点对应用户所属的社区。
本发明实施例的社区划分装置,通过获取至少一个时间段内的话单数据,并对话单数据进行处理,得到任两用户之间的通话关系,通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长;根据任两用户之间的通话关系,得到任两用户中呼出用户相对呼入用户的关系权重;根据任两用户中呼出用户相对呼入用户的关系权重,生成对应时间段的用户关系图;对对应时间段的用户关系图进行社区划分,以确定用户关系图中各节点对应用户所属的社区。由此,用户关系图中不同节点之间的边的内涵丰富了,不仅具有方向,而且边的权重能同时体现通话次数和通话时长,因此,生成的用户关系图中将携带更多信息,从而对携带更多信息的用户关系图进行社区划分,能够准确反应各用户之间的紧密关系,提升社区划分结果的准确性。
本发明第三方面实施例提出了一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本发明第一方面实施例提出的社区划分方法。
本发明第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明第一方面实施例提出的社区划分方法。
本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本发明第一方面实施例提出的社区划分方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例一所提供的社区划分方法的流程示意图;
图2为本发明实施例二所提供的社区划分方法的流程示意图;
图3为本发明实施例三所提供的社区划分方法的流程示意图;
图4为本发明实施例四所提供的社区划分方法的流程示意图;
图5为本发明实施例中时空网络构图和节点所属社区的划分的流程示意图;
图6为本发明实施例五所提供的社区划分装置的结构示意图;
图7示出了适于用来实现本发明实施方式的示例性计算机设备的框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
目前可以根据话单数据构建通话网络图,之后在通话网络图上使用社区发现算法,对通话网络图中各节点进行社区划分。其中,在构建通话网络图(构图部分)时,将用户作为节点,通话关系作为边,总通话时长或通话次数作为边的权重;在社区发现部分,采用Louvain算法对通话网络图进行社区划分,其中,Louvain算法定义了模块度指标,用于衡量用户群的紧密程度,并将其作为优化函数对划分结果进行优化。
具体地,Louvain算法是基于多层次对模块度(Modularity)进行优化,从而实现社区划分的算法,其优化目标是最大化整个社区网络的模块度。
其中,模块度用于评估社区网络划分结果的合理性,其物理含义为社区网络中所有社区的社区内节点的连变数与随机情况下的边数之差的均值,取值范围为(-1,1),取值越大,表示社区网络按照当前的社区结果进行划分越合理。
模块度Q的定义如下:
公式(1)中,Ci和Cj分别表示节点i和节点j所属的社区,当节点i和节点j属于同一社区时,末尾项δ(Ci,Cj)为1,而当节点i和节点j不属于同一社区时,末尾项δ(Ci,Cj)为0,即:
公式(1)中,Aij表示的节点i和j之间的边的权重,即节点i和j之间的连边权重,对于无权重的图而言,图中所有的边的权重都是1;ki表示所有与节点i相连的边的权重之和,即所有指向节点i的连边权重之和,对于无权重的图而言,ki表示节点i的度数;kj表示所有指向节点j的连边权重之和,对于无权重的图而言,kj表示节点j的度数;m表示图中所有边的权重之和。
Louvain算法的计算过程分以下几个步骤:
1、将图中每个节点看作一个单独的社区;此时,社区中有多少节点,就有多少社区;
2、对于每个节点i,依次尝试将该节点i分别分配到其邻居节点所在的社区,计算分配前和分配后模块度的变化值ΔQ,并记录ΔQ最大的邻居节点。若ΔQ的最大值为正数,则将该节点i分配给最大的ΔQ所对应的邻居节点所在的社区;
3、重复执行步骤2,直到图中节点所属社区不再变化,达到稳定状态;
4、对图进行压缩,将处于同一社区的节点压缩成一个新的社区节点,将社区节点内的各节点之间的边的权重进行加和操作,压缩成一条指向该社区节点的边;将相邻两个社区之间的边的权重加和,转换为相邻社区节点之间的边的权重;
5、重复执行步骤4,直到整个图的模块度不再发生变化。
然而,现有的构图方法以及社区划分方法主要存在以下问题:
第一,现有的构图方法应用在话单数据(话单数据是通话记录的集合)上时,由于同一对用户可能多次发生通话,这种构图方法中,不同节点的边上只能描述用户之间总的通话次数或者通话时长,而无法反应多个指标,因此,构建的通话网络图无法较好地刻画用户之间的通话关系,也不利用后续对用户群体紧密程度的衡量;
第二,现有的构图方法没有考虑到通话关系具有的时间要素和空间要素,而缺乏时间要素,使得在分析用户之间的紧密关系时只进行了单次分析,分析结果不够稳定,而缺乏时间要素,使得在分析通话关系时未考虑到用户之间在地理上的联系,分析结果不够精确;
第三,通话记录中的用户对具有呼出用户和呼入用户的差别,但是原始的Louvain算法具有只能处理无向图的特点,未考虑到有向边所导致的信息不对称的问题,例如A→B的边与B→A的边的重要程度不同,因此,现有的Louvain算法不能直接应用在通话网络图的节点划分上。
为了解决上述问题,本发明实施例主要提出一种社区划分方法,通过获取至少一个时间段内的话单数据,并对话单数据进行处理,得到任两用户之间的通话关系,通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长;根据任两用户之间的通话关系,得到任两用户中呼出用户相对呼入用户的关系权重;根据任两用户中呼出用户相对呼入用户的关系权重,生成对应时间段的用户关系图;对对应时间段的用户关系图进行社区划分,以确定用户关系图中各节点对应用户所属的社区。由此,用户关系图中不同节点之间的边的内涵丰富了,不仅具有方向,而且边的权重能同时体现通话次数和通话时长,因此,生成的用户关系图中将携带更多信息,从而对携带更多信息的用户关系图进行社区划分,能够准确反应各用户之间的紧密关系,提升社区划分结果的准确性。
下面参考附图描述本发明实施例的社区划分方法、装置、设备及存储介质。
图1为本发明实施例一所提供的社区划分方法的流程示意图。
本申请实施例以该社区划分方法被配置于社区划分装置中来举例说明,该社区划分装置可以应用于任一计算机设备中,以使该计算机设备可以执行社区划分功能。
其中,计算机设备可以为个人电脑(Personal Computer,简称PC)、云端设备、移动设备等,移动设备例如可以为手机、平板电脑、个人数字助理、穿戴式设备、车载设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
如图1所示,该社区划分方法可以包括以下步骤:
步骤101,获取至少一个时间段内的话单数据。
在本发明实施例中,至少一个时间段的时长可以为预先设置的,比如,时间段的时长可以为一周,或者,时间段的时长可以为一个月,或者也可以为其他,本发明实施例对此并不做限制。
在本发明实施例中,话单数据是指通话记录的集合,每个时间段的话单数据可以包括多个用户之间的通话记录。可以通过在线采集至少一个时间段内多个用户之间的通话记录,得到上述至少一个时间段内的话单数据,比如可以通过网络爬虫技术,在线采集至少一个时间段内多个用户之间的通话记录,得到上述至少一个时间段内的话单数据,或者,也可以通过线下采集至少一个时间段内多个用户之间的通话记录,得到上述至少一个时间段内的话单数据,本发明实施例对此并不做限制。在采集到至少一个时间段内的话单数据后,可以获取各时间段内的话单数据。
步骤102,对话单数据进行处理,得到任两用户之间的通话关系,通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长。
在本发明实施例中,呼出用户是指发起通话的用户,相对应的,呼入用户是指被呼入的用户。
在本发明实施例中,针对每个时间段,可以对该时间段内的话单数据进行处理或统计,确定任意两个用户中呼出用户向呼入用户发起通话的通话次数和通话时长,从而得到任意两个用户之间的通话关系。
可选地,标记呼出用户为用户i,呼入用户为用户j,则呼出用户向呼入用户发起通话的通话次数可以标记为Ti,j,呼出用户向呼入用户发起通话的通话时长可以标记为Fi,j。
举例而言,某一时间段内用户1向用户2发起了3次通话,3次通话的通话时长分别为1分钟、2分钟和3分钟,则用户1向用户2发起通话的通话次数T1,2为3次,用户1向用户2发起通话的通话时长F1,2为6分钟。再例如,该时间段内用户2向用户1发起了2次通话,2次通话的通话时长分别为2分钟和1分钟,则用户2向用户1发起通话的通话次数T2,1为2次,用户2向用户1发起通话的通话时长F2,1为3分钟。
步骤103,根据任两用户之间的通话关系,得到任两用户中呼出用户相对呼入用户的关系权重。
在本发明实施例中,可以根据任意两个用户之间的通话关系,即呼出用户向呼入用户发起通话的通话次数和通话时长,确定上述任意两个用户中呼出用户相对呼入用户的关系权重。例如,上述任意两个用户中呼出用户相对呼入用户的关系权重可以与该任意两个用户之间的通话关系中的呼出用户向呼入用户发起通话的通话次数成正向关系,以及,与该任意两个用户之间的通话关系中的呼出用户向呼入用户发起通话的通话时长成正向关系。
步骤104,根据任两用户中呼出用户相对呼入用户的关系权重,生成对应时间段的用户关系图。
其中,用户关系图也可以称为通话网络图,各时间段对应的用户关系图中可以包括多个节点和多条有向边,各节点对应各用户,各有向边从呼出用户所对应节点指向呼入用户所对应节点,各有向边的权重是呼出用户相对呼入用户的关系权重。
在本发明实施例中,可以根据任意两个用户中呼出用户相对呼入用户的关系权重,生成对应时间段的用户关系图。具体地,可以将用户作为节点,节点之间具有有向边,该有向边具体是指从呼出用户所对应节点指向呼入用户所对应的节点,有向边的权重是呼出用户相对呼入用户的关系权重。
步骤105,对对应时间段的用户关系图进行社区划分,以确定用户关系图中各节点对应用户所属的社区。
本发明实施例中,在确定每个时间段对应的用户关系图后,可以对各时间段对应的用户关系图进行社区划分,以确定各时间段对应的用户关系图中各节点对应用户所属的社区。
应当理解的是,通过上述方式,用户关系图中不同节点之间的边的内涵丰富了,不仅具有方向,而且边的权重能同时体现通话次数和通话时长,因此,生成的用户关系图中将携带更多信息,从而对携带更多信息的用户关系图进行社区划分,能够准确反应各用户之间的紧密关系,提升社区划分结果的准确性。
本申请实施例的社区划分方法,通过获取至少一个时间段内的话单数据,并对话单数据进行处理,得到任两用户之间的通话关系,通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长;根据任两用户之间的通话关系,得到定任两用户中呼出用户相对呼入用户的关系权重;根据任两用户中呼出用户相对呼入用户的关系权重,生成对应时间段的用户关系图;对对应时间段的用户关系图进行社区划分,以确定用户关系图中各节点对应用户所属的社区。由此,用户关系图中不同节点之间的边的内涵丰富了,不仅具有方向,而且边的权重能同时体现通话次数和通话时长,因此,生成的用户关系图中将携带更多信息,从而对携带更多信息的用户关系图进行社区划分,能够准确反应各用户之间的紧密关系,提升社区划分结果的准确性。
为了清楚说明上一实施例,本实施例提供了另一种社区划分方法,图2为本发明实施例二所提供的社区划分方法的流程示意图。
如图2所示,该社区划分方法可以包括以下步骤:
步骤201,对获取至少一个时间段内的话单数据。
步骤202,对话单数据进行统计,得到任两用户之间的通话关系,通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长。
步骤201至202的执行过程可以参见上述实施例中步骤101至102的执行过程,在此不做赘述。
步骤203,对于任两用户,根据呼出用户向呼入用户发起通话的通话次数,确定第一次数占比和第二次数占比。
其中,第一次数占比是呼出用户向呼入用户发起通话的通话次数与该呼出用户发起通话的总次数之比;第二次数占比是呼出用户向呼入用户发起通话的通话次数与该呼入用户被呼入的总次数之比。
可选地,标记任意两个用户中呼出用户(用户i)向呼入用户(用户j)发起通话的通话次数为Ti,j,上述呼出用户发起通话的总次数为∑uTi,u,则第一次数占比为Ti,j/∑uTi,u。标记呼入用户被呼入的总次数为∑vTv,j,则第二次数占比为Ti,j/∑vTv,j。
步骤204,根据呼出用户向呼入用户发起通话的通话时长,确定第一时长占比和第二时长占比。
其中,第一时长占比是呼出用户向呼入用户发起通话的通话时长与该呼出用户发起通话的总时长之比;第二次数占比是呼出用户向呼入用户发起通话的通话时长与该呼入用户被呼入的总时长之比。
可选地,标记任意两个用户中呼出用户(用户i)向呼入用户(用户j)发起通话的通话时长为Fi,j,呼出用户发起通话的总时长为∑uFi,u,则第一时长占比为Fi,j/∑uFi,u。标记呼入用户被呼入的总时长为∑vFv,j,则第二时长占比可以为Fi,j/∑vFv,j。
步骤205,对第一次数占比和第二次数占比之和,以及第一时长占比和第二时长占比之和进行加权求和,以得到呼出用户相对呼入用户的关系权重。
例如,标记呼出用户(用户i)相对呼入用户(用户j)的关系权重为Wi,j,可以根据下述公式(3),计算Wi,j:
其中,α1和α2为控制权重系数,α1+α2=1。
步骤206,根据任两用户中呼出用户相对呼入用户的关系权重,生成对应时间段的用户关系图。
其中,用户关系图中包括多个节点和多条有向边,各节点对应各用户,各有向边从呼出用户所对应节点指向呼入用户所对应节点,各有向边的权重是呼出用户相对呼入用户的关系权重。
在本发明实施例中,在确定任意两个用户中呼出用户相对呼入用户的关系权重后,可以将呼出用户和呼入用户作为用户关系图中的节点,呼出用户所对应的节点与呼入用户所对应的节点之间具有有向边,该有向边是从呼出用户所对应节点指向呼入用户所对应节点,有向边的权重是呼出用户相对呼入用户的关系权重,根据各节点之间的有向边,可以建立用户关系图。
步骤207,对对应时间段的用户关系图进行社区划分,以确定用户关系图中各节点对应用户所属的社区。
步骤207的执行过程可以参见上述实施例中步骤105的执行过程,在此不做赘述。
本发明实施例的社区划分方法,用户关系图中不同节点之间的边的内涵丰富了,不仅具有方向,而且边的权重能同时体现通话次数和通话时长,因此,生成的用户关系图中将携带更多信息,从而对携带更多信息的用户关系图进行社区划分,能够准确反应各用户之间的紧密关系,提升社区划分结果的准确性。
为了清楚说明上一实施例,本实施例提供了另一种社区划分方法,图3为本发明实施例三所提供的社区划分方法的流程示意图。
如图3所示,该社区划分方法可以包括以下步骤:
步骤301,获取至少一个时间段内的话单数据。
步骤302,对话单数据进行处理,得到任两用户之间的通话关系,通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长。
步骤301至302可以参见上述实施例中步骤101至102的执行过程,在此不做赘述。
步骤303,根据任两用户之间的通话关系,得到任两用户中呼出用户相对呼入用户的关系权重。
步骤303的执行过程可以参见上述实施例中步骤103的执行过程,或者,还可以参见上述实施例中步骤203至205的执行过程,在此不做赘述。
步骤304,根据任两用户中呼出用户相对呼入用户的关系权重,生成对应时间段的用户关系图。
其中,用户关系图中包括多个节点和多条有向边,各节点对应各用户,各有向边从呼出用户所对应节点指向呼入用户所对应节点,各有向边的权重是呼出用户相对呼入用户的关系权重。
步骤304的执行过程可以参见上述实施例中步骤104的执行过程,或者,还可以参见上述实施例中步骤206的执行过程,在此不做赘述。
步骤305,根据用户关系图的模块度,对对应时间段的用户关系图进行社区划分,以确定用户关系图中各节点对应用户所属的社区。
其中,模块度,是根据同一社区内各节点之间的有向边的权重和各节点对应用户之间的地理邻近值确定的。
在本发明实施例中,模块度,用于衡量或评估用户关系图中社区划分结果的合理性。
应当理解的是,一般情况下,两个节点所对应的用户之间的地理位置越远,这两个用户之间的紧密程度可能越低,两个节点所对应的用户之间的地理位置越近,这两个用户之间的紧密程度可能越高,因此,本发明实施例中,为了提升社区划分结果的准确性,可以根据同一社区内各节点之间的有向边的权重和各节点对应用户之间的地理邻近值确定用户关系图的模块度。其中,各节点对应用户之间的地理近邻值可以根据各节点对应用户的地理位置确定。
在本发明实施例的一种可能的实现方式中,可以确定不同的两个节点所对应的用户的地理位置是否属于同一地理区域,在上述不同的两个节点所对应的用户的地址位置属于同一地理区域的情况下,上述两个节点之间的地理近邻值可以为第一取值,而在上述不同的两个节点所对应的用户的地理位置属于不同地理区域的情况下,上述两个节点之间的地理近邻值可以为第二取值,其中,第一取值大于第二取值。
由此,模块度的计算考虑到空间要素,即用户之间的地理位置,可以提升社区划分结果的合理性和准确性。
作为一种示例,标记用户关系图的模块度为Q,则Q可以通过下述公式(4)计算得到:
其中,m表示用户关系图中所有的有向边的权重之和,例如,∑uWi,u表示从节点i指向至的所有有向边的权重之和,∑vWv,j表示指向节点j的所有有向边的权重之和。
其中,ci表示节点i被划分至的社区,cj表示节点j被划分至的社区,当节点i和节点j被划分到同一个社区时,δ(ci,cj)为1,否则为0,即li表示节点i对应用户所属的地理区域,lj表示节点j对应用户所属的地理区域,当节点i和节点j对应用户的地理位置属于同一地理区域时,节点i和节点j之间的地理邻近值δ(li,lj)为1,即第一取值可以为1,当节点i和节点j对应用户的地理位置属于不同地理区域时,节点i和节点j之间的地理邻近值δ(li,lj)为0,即第二取值可以为0。β1和β2为权重系数。
需要说明的是,公式(4)仅以第一取值为1,第二取值为0进行示例,实际应用时,本发明并不限于此,只要第一取值大于第二取值即可,比如,第一取值可以为1,第二取值可以为0.1、0.2、0.3等。
应当理解的是,在对用户关系图进行社区划分时,若划分结果引起模块度的增长,则说明社区划分结果为合理的,而若划分结果引起模块度的下降,则说明社区划分结果不合理,因此,作为本发明实施例的一种可能的实现方式,在对各时间段对应的用户关系图进行社区划分时,可以将该时间段的用户关系图中每个节点分别归入一个社区,并针对各社区,判断将该社区归入其他社区后该时间段对应的用户关系图的模块度是否增加,若否,则拒绝将上述社区与上述其他社区合并,若是,则接受合并,并继续选取其他社区进行合并,迭代上述合并过程,直至该时间段对应的用户关系图的模块度不再增加。也就是说,可以遍历各社区执行合并过程,直至用户关系图的模块度不再增加,其中,合并过程包括判断将一个社区归入另一个社区后,用户关系图的模块度是否增加,若是,则将上述一个社区和上述另一个社区合并。
本发明实施例的社区划分方法,通过根据用户关系图的模块度,对对应时间段的用户关系图进行社区划分,以确定用户关系图中各节点对应用户所属的社区;其中,模块度,是根据同一社区内各节点之间的有向边的权重和各节点对应用户之间的地理邻近值确定的。由此,可以提升社区划分结果的合理性和可靠性。
需要说明的是,在对各时间段对应的用户关系图进行划分,得到各个社区后,还可以统计各时间段中重复出现的社区,并记录各社区重复出现的次数,将各社区重复出现的次数,作为相应社区的可信度。由此,可以考虑到时间维度上,各社区重复出现的次数,将重复出现的次数作为相应社区的可信度,可以体现社区在随时间变化维度上的稳定性,稳定性越高的社区,则认为社区划分结果的准确度越高,由此,可以使得用户可以根据可信度,确定社区划分的准确性。
下面结合图4,对上述过程进行详细说明。
图4为本发明实施例四所提供的社区划分方法的流程示意图。
如图4所示,该社区划分方法可以包括以下步骤:
步骤401,获取至少一个时间段内的话单数据。
步骤402,对话单数据进行处理,得到任两用户之间的通话关系,通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长。
步骤403,根据任两用户之间的通话关系,得到任两用户中呼出用户相对呼入用户的关系权重。
步骤404,根据任两用户中呼出用户相对呼入用户的关系权重,生成对应时间段的用户关系图。
其中,用户关系图中包括多个节点和多条有向边,各节点对应各用户,各有向边从呼出用户所对应节点指向呼入用户所对应节点,各有向边的权重是呼出用户相对呼入用户的关系权重。
步骤405,对对应时间段的用户关系图进行社区划分,以确定用户关系图中各节点对应用户所属的社区。
步骤401至405可以分别采用本发明的各实施例中的任一种方式实现,本发明实施例并不对此作出限定,也不再赘述。
应当理解的是,对各时间段对应的用户关系图进行社区划分后,并不能确定划分得到的各个社区为最合理的,比如,遍历各社区执行合并过程,直至用户关系图的模块度不再增加后,社区1中的某个节点可能与该社区中的部分节点联系紧密,但与该社区中的剩余节点联系稀疏,再例如,社区1中的节点1可能与社区2中的某些节点联系紧密。因此,在本申请实施例的一种可能的实现方式中,为了进一步提升社区划分结果的合理性和可靠性,还可以对各时间段对应的用户关系图中,各节点执行社区调整过程;其中,社区调整过程包括判断将任意一个社区归入邻接的节点所在的社区后,用户关系图的模块度是否增加,若是,则将上述任意一个节点划分到上述邻接的节点所在社区中。并重复遍历用户关系图中的各节点以执行社区调整过程,直至用户关系图的模块度不再增加。
在本发明实施例的一种可能的实现方式中,针对各时间段的用户关系图,还可以迭代执行上述合并过程以及社区调整过程,直至各时间段的用户关系图的模块度不再增加。由此,可以进一步提升社区划分结果的合理性和可靠性。
步骤406,从各时间段对应的用户关系图划分出的社区中,确定目标社区;其中,目标社区在至少两个用户关系图中重复出现。
在本发明实施例中,通过上述步骤可以划分得到各时间段对应的用户关系图所对应的各社区,针对各时间段对应的用户关系图划分得到的社区中,可以确定至少在两个用户关系图中重复出现的社区,本发明实施例中记为目标社区。
步骤407,根据重复出现的次数,确定目标社区的可信度。
在本发明实施例中,可以统计目标社区在各时间段对应的用户关系图中重复出现的次数,将目标社区重复出现的次数,作为该目标社区的可信度。举例而言,社区1分别在时间段1、时间段2和时间段4对应的用户关系图中出现,则社区1的可信度为3,再例如,社区2在时间段2、时间段3、时间段4和时间段5对应的用户关系图中出现,则社区2的可信度为4。
由此,不仅可以输出得到社区划分方式,还能确定各社区划分的可信度,使得用户可以根据可信度,确定社区划分的准确性和合理性。并且,考虑到时间维度,将重复出现的次数,作为社区的可信度,可以体现社区在随时间变化维度上的稳定性,其中,稳定性越高的社区,则认为准确度以及合理性越高。
作为一种示例,本发明实施例主要包含两个部分,第一部分为:基于话单数据的时空网络构图。在基于话单数据构图时,可以将话单数据按照时间段进行切分,在每个时间段内,可以将用户作为网络节点,通过对用户之间的通话记录进行聚合,建立有通话关系的用户之间的有向边,构建用户关系图(即通话网络图),作为分析用户群体之间的关系紧密程度的依据。
第二部分为:在时空网络上对节点所属社区的划分。为了在有向图上进行节点所属社区的划分,可以对原始的模块度计算公式进行改造,依据用户之间的通话关系来计算携带方向信息的模块度,同时在划分目标中加入用户空间位置关系的约束。最后对每个时间段的用户网络图进行切分之后,可以合并各时间段对应的划分结果,分析各个社区的关联强度。
例如,时空网络构图和节点所属社区的划分方法具体可以如图5所示,其中,时空网络构图和节点所属社区的划分以构建用户关系图(即通话网络图)为分界。时空网络构图阶段包含按时间段切分话单数据、计算节点间有向边的权重和构图三个部分,首先将话单数据按照时间段,例如一个星期或一个月切分数据,对每个时间段内的话单数据提取出现过的用户,然后遍历每对用户,按照用户对之间的通话关系计算有向边的权重,最后将用户作为节点,通话关系作为有向边进行构图。节点所属社区的划分包含建立模块度指标、生成初始方案、迭代划分和输出结果三个步骤,首先,将有向边的权重和空间指标(即地理邻近值)进行加权求和,建立模块度指标,之后,将用户归入不同的社区,生成初始方案,然后选取社区进行合并,并迭代这一过程,直至算法结果稳定。对每个时间段的用户关系图均进行划分之后,合并所有的划分结果并输出。
具体地,时空网络构图:根据构图需求,从话单数据中按照时间顺序提取信息,包括作为节点的用户和作为边的通话记录。首先,将用户按照时间段切分,统计每条通话记录所落在的时间段。之后,在每个时间段中收集通话记录中出现的用户,即遍历话单数据,记录其呼出用户和呼入用户,形成一个列表,去重后得到用户集合。然后,按照有序用户对,对通话记录进行聚合,得到每对用户之间的所有通话记录,根据每对用户之间的所有通话记录,计算呼出用户向呼入用户发起通话的总通话时间和通话次数,按照上述公式(3)计算从呼出用户指向呼入用户的有向边的权重。在得到各有向边的权重后,可以将用户集合作为节点,根据公式(3)计算得到的有向边的权重建立用户关系图。并对每个时间段的话单数据执行以上操作,形成各时间段对应的用户关系图。
节点所属社区的划分:在已经建好的通话网络上,对用户之间的关系进行分析,从而将关系紧密的节点分别划分至同一社区,使得同一社区内用户之间的紧密程度尽量高,而不同社区内用户的紧密程度尽量低。为此,首先需要确定衡量关系紧密程度的指标,Louvain算法的模块度指标只能用于无向图,为了在有向图中使用,需要对其加以修正,本发明实施例提出了如公式(4)下所示的,基于有向图的模块度指标。公式(4)中的第一项表示在合并前后社区间的总边权变化,第二项表示计算社区内的节点是否在同一个地理区域,δ(ci,cj)表示只有节点i和j在同一个社区时,才计算模块度。最后得到的模块度越大,则表示社区划分的质量越好。
在定义了有向图上的模块度之后,可以按照与Louvain算法相似的方式进行迭代,对每个用户,按照使模块度上升最大的方式,将每个用户所对应的节点归入到一个的社区中,生成初始方案,并计算其模块度Q0,在第二步中,选取社区进行合并,并计算合并后的新方案的模块度Q1,如果新方案的模块度大于初始方案,则替换掉初始方案,并迭代这一过程,直到算法结果稳定,最后输出社区划分方案。
在对每个时间段的用户关系图进行节点所属社区的划分后,可以确定划分得到的社区之间的交集(即目标社区),记录目标社区在用户关系图中出现的次数,作为目标社区的可信度,最后输出各社区以及对应的可信度。
与上述图1至图4实施例提供的社区划分方法相对应,本公开还提供一种社区划分装置,由于本公开实施例提供的社区划分装置与上述图1至图4实施例提供的社区划分方法相对应,因此在社区划分方法的实施方式也适用于本公开实施例提供的社区划分装置,在本公开实施例中不再详细描述。
图6为本发明实施例五所提供的社区划分装置的结构示意图。
如图6所示,该社区划分装置600可以包括:获取模块610、处理模块620、确定模块630、生成模块640以及划分模块650。
其中,获取模块610,用于获取至少一个时间段内的话单数据。
处理模块620,用于对话单数据进行处理,得到任两用户之间的通话关系,通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长。
确定模块630,用于根据任两用户之间的通话关系,得到任两用户中呼出用户相对呼入用户的关系权重。
生成模块640,用于根据任两用户中呼出用户相对呼入用户的关系权重,生成对应时间段的用户关系图;其中,用户关系图中包括多个节点和多条有向边,各节点对应各用户,各有向边从呼出用户所对应节点指向呼入用户所对应节点,各有向边的权重是呼出用户相对呼入用户的关系权重。
划分模块650,用于对对应时间段的用户关系图进行社区划分,以确定用户关系图中各节点对应用户所属的社区。
进一步地,在本发明实施例的一种可能的实现方式中,确定模块630,具体用于:对于任两用户,根据呼出用户向呼入用户发起通话的通话次数,确定第一次数占比和第二次数占比;其中,第一次数占比是呼出用户向呼入用户发起通话的通话次数与呼出用户发起通话的总次数之比;第二次数占比是呼出用户向呼入用户发起通话的通话次数与呼入用户被呼入的总次数之比;根据呼出用户向呼入用户发起通话的通话时长,确定第一时长占比和第二时长占比;其中,第一时长占比是呼出用户向呼入用户发起通话的通话时长与呼出用户发起通话的总时长之比;第二次数占比是呼出用户向呼入用户发起通话的通话时长与呼入用户被呼入的总时长之比;对第一次数占比和第二次数占比之和,以及第一时长占比和第二时长占比之和进行加权求和,以得到呼出用户相对呼入用户的关系权重。
进一步地,在本发明实施例的一种可能的实现方式中,划分模块650,具体用于:根据用户关系图的模块度,对对应时间段的用户关系图进行社区划分,以确定用户关系图中各节点对应用户所属的社区;其中,模块度,是根据同一社区内各节点之间的有向边的权重和各节点对应用户之间的地理邻近值确定的。
进一步地,在本发明实施例的一种可能的实现方式中,确定模块630,还用于:根据各节点对应用户的地理位置,确定各节点对应用户之间的地理邻近值;其中,若不同的两节点对应用户的地理位置属于同一地理区域,则两节点之间的地理邻近值为第一取值;若不同的两节点对应用户的地理位置属于不同地理区域,则两节点之间的地理邻近值为第二取值;其中,第一取值大于第二取值。
进一步地,在本发明实施例的一种可能的实现方式中,划分模块650,具体用于:对每一时间段的用户关系图,将每一节点分别归入一个社区;遍历各社区执行合并过程,直至用户关系图的模块度不再增加;其中,合并过程包括对一个社区,若归入另一社区后用户关系图的模块度增加,则将一个社区和另一社区合并。
进一步地,在本发明实施例的一种可能的实现方式中,该社区划分装置600还可以包括:
执行模块,用于对用户关系图中,各节点执行社区调整过程;其中,社区调整过程包括对任一节点,若一节点归入邻接的节点所在社区后用户关系图的模块度增加,则将一节点划分到社区中。
遍历模块,用于重复遍历用户关系图中的各节点以执行社区调整过程,直至用户关系图的模块度不再增加。
进一步地,在本发明实施例的一种可能的实现方式中,该社区划分装置600还可以包括:
迭代模块,用于迭代执行合并过程和社区调整过程,直至用户关系图的模块度不再增加。
进一步地,在本发明实施例的一种可能的实现方式中,确定模块630,还用于:从各时间段对应的用户关系图划分出的社区中,确定目标社区;其中,目标社区在至少两个用户关系图中重复出现;根据重复出现的次数,确定目标社区的可信度。
本发明实施例的社区划分装置,通过获取至少一个时间段内的话单数据,并对话单数据进行处理,得到任两用户之间的通话关系,通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长;根据任两用户之间的通话关系,得到任两用户中呼出用户相对呼入用户的关系权重;根据任两用户中呼出用户相对呼入用户的关系权重,生成对应时间段的用户关系图;对对应时间段的用户关系图进行社区划分,以确定用户关系图中各节点对应用户所属的社区。由此,用户关系图中不同节点之间的边的内涵丰富了,不仅具有方向,而且边的权重能同时体现通话次数和通话时长,因此,生成的用户关系图中将携带更多信息,从而对携带更多信息的用户关系图进行社区划分,能够准确反应各用户之间的紧密关系,提升社区划分结果的准确性。
为了实现上述实施例,本发明还提出一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本发明前述任一实施例提出的社区划分方法。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明前述任一实施例提出的社区划分方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本发明前述任一实施例提出的社区划分方法。
图7示出了适于用来实现本发明实施方式的示例性计算机设备的框图。图7显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (17)
1.一种社区划分方法,其特征在于,所述方法包括:
获取至少一个时间段内的话单数据;
对所述话单数据进行处理,得到任两用户之间的通话关系,所述通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长;
根据所述任两用户之间的通话关系,得到任两用户中呼出用户相对呼入用户的关系权重;
根据任两用户中呼出用户相对呼入用户的关系权重,生成对应所述时间段的用户关系图;其中,所述用户关系图中包括多个节点和多条有向边,各所述节点对应各所述用户,各所述有向边从所述呼出用户所对应节点指向所述呼入用户所对应节点,各所述有向边的权重是所述呼出用户相对所述呼入用户的关系权重;
对所述时间段的用户关系图进行社区划分,以确定所述用户关系图中各节点对应用户所属的社区,包括:
根据所述用户关系图的模块度,对所述时间段的用户关系图进行社区划分,以确定所述用户关系图中各节点对应用户所属的社区;
其中,所述模块度,是根据同一社区内各节点之间的有向边的权重和各节点对应用户之间的地理邻近值确定的。
2.根据权利要求1所述的方法,其特征在于,所述根据所述任两用户之间的通话关系,得到任两用户中呼出用户相对呼入用户的关系权重,包括:
对于任两用户,根据所述呼出用户向所述呼入用户发起通话的通话次数,确定第一次数占比和第二次数占比;其中,所述第一次数占比是所述呼出用户向所述呼入用户发起通话的通话次数与所述呼出用户发起通话的总次数之比;所述第二次数占比是所述呼出用户向所述呼入用户发起通话的通话次数与所述呼入用户被呼入的总次数之比;
根据所述呼出用户向所述呼入用户发起通话的通话时长,确定第一时长占比和第二时长占比;其中,所述第一时长占比是所述呼出用户向所述呼入用户发起通话的通话时长与所述呼出用户发起通话的总时长之比;所述第二次数占比是所述呼出用户向所述呼入用户发起通话的通话时长与所述呼入用户被呼入的总时长之比;
对所述第一次数占比和所述第二次数占比之和,以及所述第一时长占比和第二时长占比之和进行加权求和,以得到所述呼出用户相对所述呼入用户的关系权重。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据各节点对应用户的地理位置,确定各节点对应用户之间的地理邻近值;
其中,若不同的两节点对应用户的地理位置属于同一地理区域,则所述两节点之间的所述地理邻近值为第一取值;
若不同的两节点对应用户的地理位置属于不同地理区域,则所述两节点之间的所述地理邻近值为第二取值;其中,所述第一取值大于所述第二取值。
4.根据权利要求1所述的方法,其特征在于,所述根据所述用户关系图的模块度,对所述时间段的用户关系图进行社区划分,包括:
对每一时间段的用户关系图,将每一节点分别归入一个社区;
遍历各社区执行合并过程,直至所述用户关系图的模块度不再增加;其中,所述合并过程包括对一个社区,若归入另一社区后所述用户关系图的模块度增加,则将所述一个社区和所述另一社区合并。
5.根据权利要求4所述的方法,其特征在于,所述遍历各社区执行合并过程,直至所述用户关系图的模块度不再增加之后,还包括:
对所述用户关系图中,各节点执行社区调整过程;其中,所述社区调整过程包括对任一节点,若所述一节点归入邻接的节点所在社区后所述用户关系图的模块度增加,则将所述一节点划分到所述社区中;
重复遍历所述用户关系图中的各节点以执行所述社区调整过程,直至所述用户关系图的模块度不再增加。
6.根据权利要求5所述的方法,其特征在于,所述重复遍历所述用户关系图中的各节点以执行所述社区调整过程,直至所述用户关系图的模块度不再增加之后,还包括:
迭代执行所述合并过程和所述社区调整过程,直至所述用户关系图的模块度不再增加。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述对所述时间段的用户关系图进行社区划分,以确定所述用户关系图中各节点对应用户所属的社区之后,还包括:
从各所述时间段对应的用户关系图划分出的社区中,确定目标社区;其中,所述目标社区在至少两个所述用户关系图中重复出现;
根据所述重复出现的次数,确定所述目标社区的可信度。
8.一种社区划分装置,其特征在于,包括:
获取模块,用于获取至少一个时间段内的话单数据;
处理模块,用于对所述话单数据进行处理,得到任两用户之间的通话关系,所述通话关系包括呼出用户向呼入用户发起通话的通话次数和通话时长;
确定模块,用于根据所述任两用户之间的通话关系,得到任两用户中呼出用户相对呼入用户的关系权重;
生成模块,用于根据任两用户中呼出用户相对呼入用户的关系权重,生成对应所述时间段的用户关系图;其中,所述用户关系图中包括多个节点和多条有向边,各所述节点对应各所述用户,各所述有向边从所述呼出用户所对应节点指向所述呼入用户所对应节点,各所述有向边的权重是所述呼出用户相对所述呼入用户的关系权重;
划分模块,用于对所述时间段的用户关系图进行社区划分,以确定所述用户关系图中各节点对应用户所属的社区;
所述划分模块,具体用于:
根据所述用户关系图的模块度,对所述时间段的用户关系图进行社区划分,以确定所述用户关系图中各节点对应用户所属的社区;
其中,所述模块度,是根据同一社区内各节点之间的有向边的权重和各节点对应用户之间的地理邻近值确定的。
9.根据权利要求8所述的装置,其特征在于,所述确定模块,具体用于:
对于任两用户,根据所述呼出用户向所述呼入用户发起通话的通话次数,确定第一次数占比和第二次数占比;其中,所述第一次数占比是所述呼出用户向所述呼入用户发起通话的通话次数与所述呼出用户发起通话的总次数之比;所述第二次数占比是所述呼出用户向所述呼入用户发起通话的通话次数与所述呼入用户被呼入的总次数之比;
根据所述呼出用户向所述呼入用户发起通话的通话时长,确定第一时长占比和第二时长占比;其中,所述第一时长占比是所述呼出用户向所述呼入用户发起通话的通话时长与所述呼出用户发起通话的总时长之比;所述第二次数占比是所述呼出用户向所述呼入用户发起通话的通话时长与所述呼入用户被呼入的总时长之比;
对所述第一次数占比和所述第二次数占比之和,以及所述第一时长占比和第二时长占比之和进行加权求和,以得到所述呼出用户相对所述呼入用户的关系权重。
10.根据权利要求8所述的装置,其特征在于,所述确定模块,还用于:
根据各节点对应用户的地理位置,确定各节点对应用户之间的地理邻近值;
其中,若不同的两节点对应用户的地理位置属于同一地理区域,则所述两节点之间的所述地理邻近值为第一取值;
若不同的两节点对应用户的地理位置属于不同地理区域,则所述两节点之间的所述地理邻近值为第二取值;其中,所述第一取值大于所述第二取值。
11.根据权利要求8所述的装置,其特征在于,所述划分模块,具体用于:
对每一时间段的用户关系图,将每一节点分别归入一个社区;
遍历各社区执行合并过程,直至所述用户关系图的模块度不再增加;其中,所述合并过程包括对一个社区,若归入另一社区后所述用户关系图的模块度增加,则将所述一个社区和所述另一社区合并。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
执行模块,用于对所述用户关系图中,各节点执行社区调整过程;其中,所述社区调整过程包括对任一节点,若所述一节点归入邻接的节点所在社区后所述用户关系图的模块度增加,则将所述一节点划分到所述社区中;
遍历模块,用于重复遍历所述用户关系图中的各节点以执行所述社区调整过程,直至所述用户关系图的模块度不再增加。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
迭代模块,用于迭代执行所述合并过程和所述社区调整过程,直至所述用户关系图的模块度不再增加。
14.根据权利要求8-13任一项所述的装置,其特征在于,所述确定模块,还用于:
从各所述时间段对应的用户关系图划分出的社区中,确定目标社区;其中,所述目标社区在至少两个所述用户关系图中重复出现;
根据所述重复出现的次数,确定所述目标社区的可信度。
15.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-7中任一所述的社区划分方法。
16.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的社区划分方法。
17.一种计算机程序产品,其特征在于,当所述计算机程序产品中的指令由处理器执行时,执行如权利要求1-7中任一所述的社区划分方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110357637.6A CN113761080B (zh) | 2021-04-01 | 2021-04-01 | 社区划分方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110357637.6A CN113761080B (zh) | 2021-04-01 | 2021-04-01 | 社区划分方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113761080A CN113761080A (zh) | 2021-12-07 |
CN113761080B true CN113761080B (zh) | 2024-07-19 |
Family
ID=78786861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110357637.6A Active CN113761080B (zh) | 2021-04-01 | 2021-04-01 | 社区划分方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113761080B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109711746A (zh) * | 2019-01-02 | 2019-05-03 | 中国联合网络通信集团有限公司 | 一种基于复杂网络的信用评估方法和系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164474B (zh) * | 2011-12-15 | 2016-03-30 | 中国移动通信集团贵州有限公司 | 一种对数据业务进行分析的方法 |
CN106709800B (zh) * | 2016-12-06 | 2020-08-11 | 中国银联股份有限公司 | 一种基于特征匹配网络的社团划分方法和装置 |
US11068511B2 (en) * | 2018-03-27 | 2021-07-20 | International Business Machines Corporation | Aggregate relationship graph |
CN109948641B (zh) * | 2019-01-17 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 异常群体识别方法及装置 |
CN110825935A (zh) * | 2019-09-26 | 2020-02-21 | 福建新大陆软件工程有限公司 | 社区核心人物挖掘方法、系统、电子设备及可读存储介质 |
US10868910B1 (en) * | 2020-04-07 | 2020-12-15 | Motorola Solutions, Inc. | Call management system including a call transcription supervisory monitoring interactive dashboard at a command center |
-
2021
- 2021-04-01 CN CN202110357637.6A patent/CN113761080B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109711746A (zh) * | 2019-01-02 | 2019-05-03 | 中国联合网络通信集团有限公司 | 一种基于复杂网络的信用评估方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113761080A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110633222B (zh) | 一种回归测试用例的确定方法及装置 | |
CN110956255B (zh) | 难样本挖掘方法、装置、电子设备及计算机可读存储介质 | |
CN107169768A (zh) | 异常交易数据的获取方法和装置 | |
CN111191601A (zh) | 同行用户识别方法、装置、服务器及存储介质 | |
CA2590438A1 (en) | System and method for predictive product requirements analysis | |
CN108875043B (zh) | 用户数据处理方法、装置、计算机设备和存储介质 | |
CN110737641A (zh) | 一种信审模型的构建方法,装置及系统 | |
CN112233051B (zh) | 一种中值滤波方法、中值滤波装置和计算机可读存储介质 | |
CN103970646A (zh) | 一种用于操作序列的自动分析方法及其系统 | |
CN113344217A (zh) | 一种结合个性化差分隐私的联邦学习方法和系统 | |
CN113761080B (zh) | 社区划分方法、装置、设备及存储介质 | |
CN113887551B (zh) | 基于话单数据的目标人分析方法、终端设备及存储介质 | |
CN111985503B (zh) | 一种基于改进的特征金字塔网络结构的目标检测方法和装置 | |
CN106485521A (zh) | 用户信用度评估方法及装置 | |
Inoue et al. | Estimating customer impatience in a service system with unobserved balking | |
CN110738625B (zh) | 图像重采样方法、装置、终端及计算机可读存储介质 | |
CN113572721A (zh) | 一种异常访问检测方法、装置、电子设备及存储介质 | |
CN110675009A (zh) | 小区便利性评价方法和装置 | |
CN115471672A (zh) | 图像处理方法、电子设备、存储介质及程序产品 | |
CN114358540A (zh) | 指标时序数据的异常检测方法、装置、设备及存储介质 | |
CN110554916B (zh) | 基于分布式集群的风险指标计算方法及装置 | |
CN114077962A (zh) | 基于用户标签的资源配额重新确定方法、装置和计算机设备 | |
Krishnamurthy et al. | Segregation in social networks: Markov bridge models and estimation | |
CN113743704A (zh) | 事件的监测方法、装置、计算机设备及存储介质 | |
Jung et al. | Robust statistical pixel estimation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |