发明内容
针对上述技术问题,本说明书实施例提供一种可疑群组发现方法和装置,技术方案如下:
根据本说明书实施例的第一方面,提供一种可疑群组发现方法,该方法包括:
获取预设时间段内,不同用户发表的文本内容;
利用预设算法计算文本内容之间的相似度,将相似度满足条件的文本确定为同类文本,将同类文本中内容相似度高于预设阈值的两两文本确定为相似文本对;
以发表相似文本对的用户作为网络中的节点,构建相似用户网络;
对相似用户网络进行社区划分,以确定至少一个子网络,将所述子网络中包含的用户组确定为可疑群组。
根据本说明书实施例的第二方面,提供一种可疑群组发现装置,该装置包括:
文本获取模块:用于获取预设时间段内,不同用户发表的文本内容;
相似计算模块:用于利用预设算法计算文本内容之间的相似度,将相似度满足条件的文本确定为同类文本,将同类文本中内容相似度高于预设阈值的两两文本确定为相似文本对;
网络构建模块:用于以发表相似文本对的用户作为网络中的节点,构建相似用户网络;
群组发现模块:用于对相似用户网络进行社区划分,以确定至少一个子网络,将所述子网络中包含的用户组确定为可疑群组。
根据本说明书实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现一种可疑群组发现方法,该方法包括:
获取预设时间段内,不同用户发表的文本内容;
利用预设算法计算文本内容之间的相似度,将相似度满足条件的文本确定为同类文本,将同类文本中内容相似度高于预设阈值的两两文本确定为相似文本对;
以发表相似文本对的用户作为网络中的节点,构建相似用户网络;
对相似用户网络进行社区划分,以确定至少一个子网络,将所述子网络中包含的用户组确定为可疑群组。
本说明书实施例所提供的技术方案,先获取用户和用户发表的文本内容,利用特定算法计算大量文本之间的相似度,并以用户发表文本的相似度作为连接关系构建相似用户网络,最后通过对用户相似网络的社区划分发现可疑群组,实现基于相似文本的可疑群组发现。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
互联网社区平台的日益发展给广大用户提供了便捷有效的沟通交流平台,同时也产生了大量违规违禁的内容,通常情况下,灰黑产人员会采用团伙作案的方式以保证其违规内容得到大范围传播。
现有技术中,为了维护社区的健康发展,社区平台常利用成员间的直接关系网络进行团伙挖掘,比如以某一黑用户为基础,利用互为好友,关注同一博主,同在某一群组等信息进行关系拓展,进而挖掘出相关团伙。
但是随着平台和灰黑产之间的对抗升级,为了规避社区平台的监控,检测,处罚,灰黑产也在有意识的淡化其成员之间的关系,并运用多种手段对自己的行为进行掩饰,例如大量传播广告、色情等违规信息的同一团伙人员在社区平台中并无直接连接关系,但是会大量传播类似的广告信息,并通过修改其中部分文字的方式加大平台风险防控的难度。从宏观角度看,他们可能是一个个单独的个体,此时基于关系的团伙挖掘方式则不能起到很好的挖掘效果。
针对以上问题,本说明书实施例提供一种可疑群组发现方法,以及一种用于执行该方法的可疑群组发现装置。本说明书实施例提到的方法主要应用于互联网社区平台,具体地,社区平台可以包括BBS/论坛、贴吧、公告栏、个人知识发布、群组讨论等网上交流平台。
下面对本实施例涉及的可疑群组发现方法进行详细说明,参见图1所示,该方法可以包括以下步骤:
S101,获取预设时间段内,不同用户发表的文本内容;
集预设时间段内社区平台上用户与其对应发表的文本内容,并记录多组该一一对应关系。参考表1所示,获取并记录用户1001及其对应发表的文本1,用户1002及其对应发表的文本2等多组一一对应关系。
用户 |
用户发表的文本 |
1001 |
文本1 |
1002 |
文本2 |
1003 |
文本3 |
1004 |
文本4 |
…… |
…… |
表1
其中,预设时间段可以有多种设定方式,举例说明:若该社区平台用户活跃度较高,单位时间可采集的文本量很大,则相应设定较短预设时间。或根据实际情况,如过往经验中可疑群组的实际活动规律进行设定。
需要注意的是,本说明书实施例此处及后续提到的“用户”指的均为社区账号。每个人,每个网络IP或访问终端都可能在同一个社区注册多个账号。
S102,利用预设算法计算文本内容之间的相似度,将相似度满足条件的文本确定为同类文本;
本步骤即是在海量文本中将包含大量相同元素,相似度较高的文本们划分为同类文本。举例说明:灰黑产团伙大量散播基于文本A的广告信息,发表的相关文本均为文本A的变形,变形方式可以是将文本A增添或修改几个字符等,则利用预设算法将基于文本A的广告信息划为一组同类文本。
在实际应用中,可使用聚类算法对不同文本进行聚类进而确定同类文本,数据聚类即是根据数据的内在性质将数据分成一些聚合类,每一聚合类中的元素尽可能具有相同的特性,不同聚合类之间的特性差别尽可能大。每个聚合类即是本说明书实施例中的一组同类文本。参见附图2,为本说明书实施例示出的一种文本聚类示意图,图中的每个聚合类均包含若干文本,以聚合类A为例,聚合类A中包含的各个文本彼此相似,而聚合类A中包含的文本与聚合类B,聚合类C中包含的文本彼此相异。可以理解,聚合类A中包含的若干文本即是本说明书实施例的一组同类文本。
S103,将同类文本中内容相似度高于预设阈值的两两文本确定为相似文本对;
在任一组同类文本中,计算两两文本之间的相似度,将内容相似度高于预设阈值的两两文本确定为相似文本对。
在实际应用中,可使用simhash算法进行文本相似度计算,simhash算法可以计算出文档的simhash值,通过各个文档计算出的二进制值来计算文档之间的汉明距离,然后根据汉明距离来比较文档之间的相似度。汉明距离是指两个相同长度的字符串相同位置上不同的字符的个数。简单来说,simhash算法为每个文档计算一个64位的指纹,然后计算指纹的距离,从而判断两个文档是否相似。
S104,以发表相似文本对的用户作为网络中的节点,构建相似用户网络;
具体地,可以通过文本映射的方式构建相似用户网络。参考附图3,包括以下步骤:
S401,以相似文本对的文本两方作为网络节点,以相似文本对之间的关系作为网络中的边,构建相似文本网络;
参见附图4,为一组相似文本网络构建流程图。如图所示,在任一组同类文本中,利用simhash等文本相似度算法计算中这组同类文本中两两文本之间的相似度,进而构建出以文本1,2,3,4为节点的文本相似网络;
进一步筛选两两文本之间的相似度的值,只保留文本相似度值超过一定阈值的文本对,据此进一步简化该文本相似网络。如图所示,只有文本1与文本2之间,文本3与文本4之间的相似度高于预设阈值。文本相似网络最终只保留文本1与文本2之间,文本3与文本4之间的边。
S402,将所述网络节点中的文本信息映射为发表所述文本信息的用户信息,进而构建出以用户作为网络节点,以发表同一相似文本对的用户关系作为网络中的边的相似用户网络。
如附图5所示,将文本1,2,3,4分别映射为发表该文本的用户1001,1002,1003,1004。进行形成以该4个用户作为网络节点,以发表同一相似文本对的用户1001,1002与用户1003,1004之间的关系作为网络中的边的相似用户网络。
进一步地,可以以用户作为网络节点,以发表同一相似文本对的用户关系作为网络中的边,以用户间发表的相似文本对的数量作为网络中边的权重,构建相似用户网络。不同用户之间可能有发表多条相似文本对的情况,这两个用户间具有更紧密的联系,属于同一可疑群组的可能性更高。因此,将用户间发表的相似文本对的数量作为网络中边的权重可以更有利于网络中可疑群组的挖掘。
S105,对相似用户网络进行社区划分,以确定至少一个子网络,将所述子网络中包含的用户组确定为可疑群组。
社区通常指网络中存在的一组节点,它们彼此都相似,而组内的节点与网络中的其他节点则不相似。更形象的表述可以为:社区是指网络中节点的集合,这些节点内部连接较为紧密而外部连接较为稀疏。
社区划分可以利用包括分割、图聚类、节点表示等算法,对于相似用户网络来说,网络节点,网络节点之间的边,以及边的权重的均可作为参数对社区划分造成影响。社区划分是为了从相似用户网络结构中挖掘出用户之间相互联系更为紧密的子图。该子图即为相似用户网络中的子网络,相似用户网络结构中可能挖掘出一个或多个子网络,一个子网络中包含的用户组即可确定为一个可疑群组。
本说明书实施例还提供一种更为具体的可疑群组发现方法,参见图6所示,该方法可以包括以下步骤:
S601,获取预设时间段内,不同用户发表的文本内容;
S602,利用聚类算法对不同文本进行聚类,以生成至少一个聚类簇;
S603,利用simhash算法计算任一聚类簇中文本之间的相似度,并将内容相似度高于预设阈值的两两文本确定为相似文本对;
S604,以相似文本对的文本两方作为网络节点,以相似文本对之间的关系作为网络中的边,构建相似文本网络;
S605,将所述网络节点中的文本信息映射为发表所述文本信息的用户信息,进而构建出以用户作为网络节点,以发表同一相似文本对的用户关系作为网络中的边,以用户间发表的相似文本对的数量作为网络中边的权重,构建相似用户网络;
S606,利用社区发现算法对所述相似用户网络进行子图分割,进而从所述相似用户网络中确定至少一个子网络;
S607,将所述子网络中包含的用户组确定为可疑群组。
相应于上述方法实施例,本说明书实施例还提供一种可疑群组发现装置,参见图7所示,所述装置可以包括:文本获取模块710,相似计算模块720,网络构建模块730,群组发现模块740。
文本获取模块710:用于获取预设时间段内,不同用户发表的文本内容;
相似计算模块720:用于利用预设算法计算文本内容之间的相似度,将相似度满足条件的文本确定为同类文本,将同类文本中内容相似度高于预设阈值的两两文本确定为相似文本对;
网络构建模块730:用于以发表相似文本对的用户作为网络中的节点,构建相似用户网络;
群组发现模块740:用于对相似用户网络进行社区划分,以确定至少一个子网络,将所述子网络中包含的用户组确定为可疑群组。
参考附图8,对本说明书实施例提供的可疑群组发现方法在实际应用场景下的一种应用方式进行简单介绍,流程如下:
S801,获取文本内容;
获取不同用户在一定时间内于社区平台上发表的文本内容。
S802,对文本进行聚类;
利用聚类算法对步骤S801中获取的大量文本进行聚类;
S803,生成相似文本图模型;
在步骤S802生成的每个聚类簇中,利用simhash计算中两两文本之间的相似度,以有相似度关系的文本作为节点构成相似文本图模型;
S804,对相似文本图模型进行剪枝;
对步骤S803中得到的相似文本图模型进行进一步处理,去掉simhash相似度值较低的文本对,只保留simhash相似度值超过一定阈值的文本对;
S805,构建用户网络;
将步骤S804中进一步处理过的文本相似图模型终的文本节点信息映射到对应的用户信息,即将用户信息替代文本信息作为网络节点。因为不同用户之间可能有多条文本相似的情况,将相似文本条数作为用户节点之间边的权重,进而构建出基于用户的图网络结构;
S806,发现可疑群组。
步骤S802-S805为利用文本内容之间的相似度构建相似用户网络的过程,基于步骤S805构建出的相似用户网络结构,利用图分割、图聚类、节点表示等社区发现算法从网络结构中挖掘出子图,进而发现可疑群组。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述可疑群组发现方法,所述方法至少包括:
获取预设时间段内,不同用户发表的文本内容;
利用预设算法计算文本内容之间的相似度,将相似度满足条件的文本确定为同类文本,将同类文本中内容相似度高于预设阈值的两两文本确定为相似文本对;
以发表相似文本对的用户作为网络中的节点,构建相似用户网络;
对相似用户网络进行社区划分,以确定至少一个子网络,将所述子网络中包含的用户组确定为可疑群组。
图9示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的可疑群组发现方法,所述方法至少包括:
获取预设时间段内,不同用户发表的文本内容;
利用预设算法计算文本内容之间的相似度,将相似度满足条件的文本确定为同类文本,将同类文本中内容相似度高于预设阈值的两两文本确定为相似文本对;
以发表相似文本对的用户作为网络中的节点,构建相似用户网络;
对相似用户网络进行社区划分,以确定至少一个子网络,将所述子网络中包含的用户组确定为可疑群组。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。