一种针对恐怖袭击事件的数据挖掘方法与流程

文档序号:17320929发布日期:2019-04-05 21:32阅读:576来源:国知局
一种针对恐怖袭击事件的数据挖掘方法与流程

本公开涉及数据分析挖掘技术领域,特别是涉及一种针对恐怖袭击事件的数据挖掘方法。



背景技术:

本部分的陈述仅仅是提高了与本公开相关的背景技术,并不必然构成现有技术。

自二十世纪九十年代以来,各种规模不等的恐怖袭击在世界多地发生,有在全球范围内迅速蔓延的趋势,提醒人们不能忽视恐怖主义对人类的威胁。所以相关安全部门十分重视恐怖组织与恐怖袭击事件数据的搜集和相关数据库的建设,同时基于相关数据库在数据挖掘方面进行了一系列的研究。

数据挖掘是一种在大型数据存储库中自动发现有用信息的过程,一般包括数据预处理、数据挖掘和后处理几部分。目前相关领域关于数据挖掘的应用非常多,但是,根据以往恐怖袭击事件的特征,挖掘恐怖袭击事件与犯罪团伙的相关关系方法尚未有成熟的结果和说明。当今社会,经济迅速发展的同时犯罪率也在逐步上升,且有多起恐怖袭击事件作案者尚未确定。如果将可能是同一个恐怖组织或个人在不同时间、不同地点多次作案的若干特征串联起来,不仅有助于统一组织侦查提高破案效率,而且可以尽早发现新生或者隐藏的恐怖分子。因此利用数据挖掘技术解决此类问题就显得尤为重要,为后期犯罪团伙的筛选提供客观依据。

综上所述,利于数据挖掘技术,发现恐怖袭击事件与犯罪团伙的相关关系,提升相关模型性能,尚缺乏有效的解决方案。



技术实现要素:

为了解决现有技术的不足,本公开提供了一种针对恐怖袭击事件的数据挖掘方法,本发明根据所给数据,对其进行数据分析、数据清洗和特征提取,从原始数据中获得更多信息和更好的训练数据,根据所得级别结合现有特征进行子空间聚类,确定犯罪集团类别,进一步分析恐怖袭击案件与犯罪团伙的相关度。

第一方面,本公开提供了一种针对恐怖袭击事件的数据挖掘方法;

一种针对恐怖袭击事件的数据挖掘方法,包括:

步骤(1):对每个历史事件的历史数据进行处理得到若干个历史数据点;每个历史事件都具有唯一的编号;所述对历史数据进行处理包括:对历史数据进行特征提取和对历史数据作案动机进行量化处理;每个历史数据点是包括每个历史事件对应历史数据的提取特征的特征值和作案动机量化值形成的n*1维向量;

步骤(2):对待预测事件的待测数据进行处理得到待测数据点;对待测数据进行处理,包括:对待测数据进行特征提取和对待测数据作案动机进行量化处理;待测数据点是包括待预测事件对应位置数据的提取特征的特征值和作案动机量化值形成的n*1维向量;

步骤(3):对步骤(1)得到的所有历史数据点进行降维处理;对降维处理后的结果进行子空间聚类,通过子空间聚类获得不同维度的历史数据类簇;

步骤(4):计算待测数据点与历史数据类簇中每个数据对象之间的距离,把待测数据点到对应类簇中最近的数据对象的距离作为待测数据点到类簇的距离,如果待测数据点到类簇的距离在设定范围内,则匹配成功,否则匹配失败;最后,针对匹配成功的待测数据点,按照待测数据点到类簇的距离从小到大进行排序,排序靠前的m个历史事件对应犯罪团伙的名称作为输出值输出。

作为一些可能的是实现方式,所述步骤(1)的对历史数据进行特征提取的具体步骤为:

数据获取步骤:获取历史恐怖袭击事件的记录数据;每个事件都设有唯一的编号;所述记录数据,包括:地区、攻击类型、财产损失金额、受伤总数、死亡总数、凶手数量、抓获的凶手数量、凶手死亡人数、事件摘要、人质绑架结果或事件的解决日期;

数据预处理步骤:对历史恐怖袭击事件的记录数据均进行预处理;

数据分类步骤:采用聚类算法对数据预处理后得到的数据进行分类,划分为若干类数据;

特征一次提取步骤:采用主成分分析算法,从每一类数据中提取出若干个特征;

特征整合步骤:对所有类数据提取的所有特征进行特征整合,得到特征集合;将特征集合以及每个特征对应的特征值作为结果输出。

作为一些可能的是实现方式,所述数据预处理步骤,包括:数据筛选子步骤、数据填充子步骤、数据转换子步骤和数据归一化子步骤;

所述数据筛选子步骤,对事件摘要、人质绑架结果和事件的解决日期进行剔除;

所述数据填充子步骤,对恐怖袭击事件发生的凶手数量、死亡总数、抓获的凶手数量、受伤总数、死亡总数、凶手死亡人数和财产损失金额记录缺失值进行填充,对于待测数据进行零填充;

所述数据转换子步骤,对恐怖袭击事件发生的地区、攻击类型,由文本数据转换成数字数据;

所述数据归一化子步骤,对经过数据筛选、数据填充和数据转换得到的数据,采用最大最小归一化算法进行归一化处理,根据归一化处理后的数据,针对每个事件均建立n*1的矩阵,n表示数据的个数,矩阵中每个元素的值是每个记录数据对应的数值归一化后的结果。

作为一些可能的是实现方式,将地区文本数据转换成数字数据的步骤为:将每个地区对应事件的死亡总数和凶手数量进行求和,对求和结果按照从大到小进行排序,排序后,按照从大到小的顺序依次对地区进行数字打分,数字打分依次递减。

将攻击类型文本数据转换成数字数据的步骤为:将每种攻击类型对应事件的死亡总数和凶手数量进行求和,对求和结果按照从大到小进行排序,排序后,按照从大到小的顺序依次对攻击类型进行数字打分,数字打分依次递减。

作为一些可能的是实现方式,所述步骤(1)的对历史数据作案动机进行量化处理的具体步骤为:

步骤(101):采集以英文文本形式记录的历史数据作案动机,对历史数据的作案动机进行分词,利用python语言中的正则表达式删除历史数据中非文本内容得到初步处理的集合f1;

步骤(102):拼写检查更正,利用python中的pyenchant包检查集合f1中单词拼写是否正确,将拼写错误的单词修改为拼写正确的单词,最后得到拼写正确的数据集合f2;

步骤(103):词型还原,利用python中的nltk包中的wordnetlemmatizer类库,将数据集合f2中可组合成一个单词的相邻字符还原成对应单词,并利用python中的textblob库进行api处理,将所有单词统一为小写,输出还原为单个单词的集合f3;

步骤(104):对集合f3的数据进行向量化处理,采用k均值聚类算法对向量化处理的结果进行关键词提取:

以每个历史事件的历史数据为一个数据对象,依次统计每条数据对象中不同单词出现的频率,作为对应的特征值,输出形式为(pi,bij,c),其中pi代表集合中第i个历史事件,bij代表第i个历史事件中的第j个单词,c代表第i个历史事件中的第j个单词在第i个历史事件中对应的词频,每个历史事件的所有单词的词频以一维向量vm表示;

对生成的所有历史事件的一维向量进行k均值聚类,通过不断调整k值确定最优分类,最后产生k个类簇,根据类簇半径从大到小对k个类簇进行排序,然后,对排序的结果依次赋值,所述赋值为依次递减的自然数,每个赋值表示对应历史事件的历史数据作案动机的分值。

作为一些可能的是实现方式,所述步骤(2)的对待测数据进行特征提取的具体步骤为:

数据获取步骤:获取待测事件的记录数据;每个事件都设有唯一的编号;所述记录数据,包括:地区、攻击类型、财产损失金额、受伤总数、死亡总数、凶手数量、抓获的凶手数量、凶手死亡人数、事件摘要、人质绑架结果或事件的解决日期;

数据预处理步骤:对待测事件的记录数据均进行预处理;

数据分类步骤:采用聚类算法对数据预处理后得到的数据进行分类,划分为若干类数据;

特征一次提取步骤:采用主成分分析算法,从每一类数据中提取出若干个特征;

特征整合步骤:对所有类数据提取的所有特征进行特征整合,得到特征集合。

作为一些可能的是实现方式,所述步骤(2)的对待测数据作案动机进行量化处理的具体步骤为:

步骤(201):对历史数据和待测数据的作案动机分别进行分词,利用python语言中的正则表达式删除历史数据中非文本内容得到初步处理的集合f1;

步骤(202):拼写检查更正,利用python中的pyenchant包检查集合f1中单词拼写是否正确,最后得到拼写完全正确的数据集合f2;

步骤(203):词型还原,利用python中的nltk包中的wordnetlemmatizer类库,将数据集合f2中可组合成一个单词的相邻字符还原成对应单词,并利用python中的textblob库进行api处理,即将所有单词统一为小写,输出还原为单个单词的集合f3;

步骤(204):对集合f3的数据进行向量化处理,采用k均值聚类算法对向量化处理的结果进行关键词提取:

将每个事件的作案动机数据为一个数据对象,依次统计每条数据对象中不同单词出现的频率,作为对应的特征值,输出形式为(pi,bij,c),其中pi代表集合中第i个事件,bij代表第i个事件中的第j个单词,c代表第i个事件中的第j个单词在第i个历史事件中对应的词频,每个事件的所有单词的词频以一维向量vm表示;

对生成的所有事件的一维向量进行k均值聚类,通过不断调整k值确定最优分类,最后产生k个类簇,根据类簇半径从大到小对k个类簇进行排序,然后,对排序的结果依次赋值,所述赋值为依次递减的自然数,每个赋值表示对应事件的历史数据作案动机的分值;最后输出待测事件的作案动机分值。

作为一些可能的是实现方式,所述步骤(3)对步骤(1)得到的数据进行降维处理是采用主成分分析法进行降维处理。

作为一些可能的是实现方式,所述步骤(3)对降维处理后的结果进行子空间聚类,通过子空间聚类获得历史数据类簇的具体步骤为:

步骤(301):使用dbscan聚类算法在每一维上对所有数据对象进行聚类,将所得一维空间的聚类集合记为x1,设x1,x2为所形成的聚类,则x1,x2∈x1

步骤(302):计算所有聚类的类间相似度,相似度定义为聚类所包含的相同数据对象元素的数目,依次计算集合中两个聚类的类间相似度sim;

步骤(303):根据类间相似度,对每个类簇选取k个最相似类簇作为合并候选类簇;

步骤(304):根据子空间的期望密度计算对应子空间的密度阈值;

设dth(sm)为sm子空间的密度阈值,是sm子空间期望密度,c={c1,c2,…,cd}代表历史数据维集合,c=c1×c2×…×cd代表一个d维数据空间,其中,d为正整数;

其中,r为自定义值,设为r∈[0,1],

步骤(305):采用深度优先搜索的方式搜索子空间产生子空间聚类;

如果当前类簇与合并候选类簇中的类簇之间的距离小于子空间的密度阈值,则将当前类簇与候选类簇进行合并;

如果当前类簇与合并候选类簇中的类簇之间的距离大于等于子空间的密度阈值,则不将当前类簇与候选类簇进行合并;

步骤(306):删除剩余数据噪声点,通过子空间聚类获得若干个历史数据类簇。

作为一些可能的是实现方式,所述步骤(4)的具体步骤为:

计算待测数据点与历史数据类簇每个数据对象之间的距离d:

其中,bi表示待测数据点的向量坐标,ui表示历史数据类簇中数据对象的向量坐标,ri为对应子空间的半径,由于不同子空间的维度可能不同,所以采用一个基本缩放因子来调节固定半径r大小,si代表对应子空间中数据对象的特征维度。

把待测数据点到对应类簇中最近的数据对象的距离作为待测数据到类簇的距离,如果待测数据在该类簇的设定半径范围内,则匹配成功,否则匹配失败;

最后,针对匹配成功的待测数据点,按照待测数据点到类簇的距离小到大进行排序,排序靠前的m个犯罪团伙的名称作为输出值输出。

与现有技术相比,本公开的有益效果是:

本发明通过数据清洗、数据变换等预处理方式挖掘有用信息标准化数据集,以便不断优化相关度模型。本发明使用的数据挖掘和子空间聚类实现方法极好的利用和提取了有关恐怖袭击事件的相关特征,具有较高准确率和执行效率,有助于尽快根据待测的恐怖袭击事件提供的待测数据与历史恐怖袭击事件的历史数据之间的数据关系,从历史犯罪团伙中挖掘出最接近的犯罪团伙,为恐怖袭击事件尽快破案提供辅助数据支持。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1为本发明整体过程流程图;

图2为历史数据特征初步提取流程图;

图3为历史数据作案动机量化流程图;

图4为待测数据特征初步提取流程图;

图5待测数据作案动机量化流程图。

具体实施方式

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

本发明的典型实施例是针对恐怖袭击案件中相关数据确定模型进行犯罪团伙相关度预测。

当前世界上尤其是国外恐怖袭击事件常有发生,随着社会快速发展,一些反社会分子也愈发猖狂,且作案手段和作案工具也愈发先进,其带来的危害性更是不容小觑,且大多数案件的作案人员极有可能是同一个恐怖组织或个人在不同时间、不同地点多次作案。若将其串联起来统一组织侦査,有助于提高破案效率,尽早发现新生或者隐藏的恐怖分子。运用所得结果结合处理后的历史数据进行子空间聚类,旨于将近两年间可能是同一个恐怖组织或个人在不同时间、不同地点多次作案的若干案件归为一类,再利用待测数据测试模型准确度,确定其与特定组织或个人的嫌疑关系。

本实施例采用的数据总共有114184例恐怖袭击事件的相关记录数据,每项事件需记录的指标有135项,表1所列的有20项主要指标。

表1sepsis特征表

具体实例步骤,如图1所示,包括:

步骤一:历史数据特征初步处理,如图2所示,

(1-1)对获取的历史样本数据进行数据处理:

第一步:缺失值清洗。我们观察数据,计算其缺失值比例,确定缺失值的范围。按照缺失比例和字段重要性,采取不同的处理策略。对于重要性高、缺失率低的特征,通过经验或业务知识估计进行填充;对于重要性高、缺失率高的特征,使用其他比较复杂的模型计算补全。

第二步:进行数据格式转换:由于某些特征对应文本类型,比如地区等特征,对解决问题有一定的重要性的,所以将文本进行数字转换。对导入数据存在的部分列没有对齐的问题,以及多出列的情况,进行优化处理。

第三步:进行非需求数据清洗。数据中的gtd标志号、事件摘要、声称负责和持续事件解决的日期等与本发明无关,属于非需求数据,因此将其直接删除掉。

第四步:对清洗后的数据进行归一化处理,用于采用恐怖袭击事件的记录数据的最大值和最小值对筛选后的恐怖袭击事件的记录数据进行归一化处理,使得预处理的数据被限定在一定的范围内([0,1]),从而消除奇异样本数据导致的不良影响。

(1-2)数据分类:

利用系统聚类方法,将预处理后数据特征分为不同类进行特征提取。具体的,本发明采用最远邻元素聚类法,度量标准以pearson相关性划分区间。所有特征共分为四类,其中第一组特征包括:死亡总数、凶手死亡人数、经度。第二组特征包括:国家、目标/受害者的国籍等特征。第三组特征包括:受害者类型、纬度等特征。第四组特征包括:财产损失、地区、武器类型等特征。

(1-3)特征一次提取:

采用主成分分析法分别对每组数据进行特征一次提取,每组得到ni个不同的特征。

(1-4)特征整合:

将每组数据一次提取后的特征ni进行整合,得到n个主成分特征,包括:main1,main2,main3......mainn。

由上述四步得到初步处理的历史数据。

步骤二:历史数据作案动机量化,如图3所示,

由于该特征以英文文本形式呈现,所以我们需要进行英文文本挖掘预处理,主要包括以下步骤:

(3-1)按空格\符号分词:

提取作案动机特征,将只含一个特征的历史数据对象集合定义为f,利用python语言中的正则表达式,输入f集合,删除历史数据中少量的非文本内容和长度小于2的单词,得到初步处理的集合f1。

(3-2)拼写检查更正:

输入数据集合f1,利用python中的pyenchant包,检查集合中单词拼写是否正确,输出得到拼写错误的单词并将其改正,最后得到拼写完全正确的数据集合f2。

(3-3)词型还原:

输入集合f2,利用nltk包中的wordnetlemmatizer类库,将集合中可能组合成一个单词的相邻字符还原成对应单词,并利用textblob库进行api处理,即将同一条数据对象中同一单词统一为小写,输出还原为单个单词的集合f3。

(3-4)关键词提取:

对集合f3的数据进行向量化处理,采用k均值聚类算法对向量化处理的结果进行关键词提取:

以每个历史事件的历史数据为一个数据对象,依次统计每条数据对象中不同单词出现的频率,作为对应的特征值,输出形式为(pi,bij,c),其中pi代表集合中第i个历史事件,bij代表第i个历史事件中的第j个单词,c代表第i个历史事件中的第j个单词在第i个历史事件中对应的词频,每个历史事件的所有单词的词频以一维向量vm表示;

对生成的所有历史事件的一维向量进行k均值聚类,通过不断调整k值确定最优分类,最后产生k个类簇,根据类簇半径从大到小对k个类簇进行排序,然后,对排序的结果依次赋值,所述赋值为依次递减的自然数,每个赋值表示对应历史事件的历史数据作案动机的分值。

步骤三:待测数据特征初步处理,如图4所示,

此步骤采取与步骤一同样的处理操作,最后得到初步处理的特征集合。

步骤四:待测数据作案动机量化,如图5所示,

同样地,将原始待测数据实施步骤二的操作,得到量化后的作案动机特征。

步骤五:降维

对步骤一和步骤二所得特征进行整合,整合完成之后,由于特征矩阵过大,导致计算量大,训练时间长的问题,因此需要降低特征矩阵维度。本发明使用的降维方法是主成分分析(pca),主要过程包括:特征中心化,即每一维的数据都减去该维的均值;计算协方差矩阵;计算协方差矩阵的特征值和特征向量;选取大的特征值对应的特征向量,得到新的数据集合fm。

步骤六:子空间聚类

(6-1)数据预处理,在每一维上形成基本聚类。

设c={c1,c2,…,cd}代表历史数据维集合,c=c1×c2×…×cd代表一个d维数据空间,其中,d为正整数。设a代表由n个位于d维特征空间的数据对象组成的集合,记为a={ai|i∈[1,n],aij=ai.cj},其中,点ai=(ai1,ai2,…,aij,…,aid),ai的第j个属性值aij为其在cj维上的取值。设k维子空间其中,k≤n。在sk子空间中的元组集合表示为

tsk(ai1,ai2,...,aik)={ai|ai∈sk,aij=ai.cj|j∈[1,k]}。

输入数据集合fm,集合中每个数据对象均含有n维属性值。使用dbscan方法在每一维上对所有数据对象进行聚类,将所得一维空间的聚类集合记为x1

(6-2)计算所有基本聚类间的相似度

给定x1,x2∈x1,其中,x1在ci维,x2在cj维,且i≠j,其相似度定义为基本聚类x1,x2所包含的相同数据对象元素的数目,记为sim(x1,x2)=|x1∩x2|。输入一维聚类集合x1,依次计算集合中两个元素的类间相似度sim。

(6-3)计算每个基本聚类的k个最相似聚类

给定聚类x∈x1,若其中msc(x)∈x1,则称msc(x)是x的最相似聚类。

将每个基本聚类x的最相似聚类限定在k个作为该基本聚类的合并候选,选取不同的k值会对聚类精度产生不同影响,实验结果显示,随着k值增大,聚类精度不断改善,对于本发明的历史数据集,当k取值为8-13之间时,可以达到最好的聚类精度。

(6-4)选取局部密度阈值

由于子空间聚类的特性,子空间密度随着数据维数的增高而降低,在全局应用相同密度阈值是不合理的,因此根据子空间的期望密度为不同的子空间应用不同的密度阈值。

设dth(sm)为sm子空间的密度阈值,是sm子空间期望密度,则可得公式

其中,r为自定义值,在此设为r∈[0,1]。

(6-5)搜索子空间产生子空间聚类

采用深度优先搜索的方式产生子空间聚类。首先,对于第一步得到的基本聚类x∈x1,形成s1子空间;其次,由第三步所得各个基本聚类的k个最相似聚类,对基本聚类相似度大于等于dth(s2)的基本聚类进行合并,形成s2子空间;最后,运用递归方式依次搜索产生子空间聚类。

(6-6)删除剩余数据噪声点

(6-7)计算恐怖袭击案件与犯罪团伙之间的相关度

对于一个待分类的待测数据,若数据有多条,则以集合的形式输入,首先将它投影到si维空间中提取对应特征集,然后依次计算它与ai中数据对象之间的距离,具体表示为

其中,bi、ui分别表示待测数据和对应数据对象的向量坐标,ri为si子空间的半径,由于不同子空间的维度可能不同,所以采用一个基本缩放因子来调节固定半径r大小,si代表对应子空间中数据对象的特征维度。

本公开把待测数据点到对应类簇中最近的数据对象的距离作为待测数据到类簇的距离(即距离的最小值),如果待测数据在该类簇的预定半径范围内,则匹配成功,否则匹配失败,最后再根据距离大小确定与不同聚类的嫌疑相关度,距离越小则嫌疑相关度越大。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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