(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211224373.8
(22)申请日 2022.10.08
(71)申请人 广东工业大 学
地址 510000 广东省广州市东 风东路72号
(72)发明人 邵长城
(74)专利代理 机构 长沙轩荣专利代理有限公司
43235
专利代理师 张慧敏
(51)Int.Cl.
G06F 16/2458(2019.01)
G06F 16/2455(2019.01)
G06Q 40/00(2012.01)
(54)发明名称
一种互联网金融实时流数据的增量式频繁
项集挖掘方法
(57)摘要
本发明公开了一种互联网金融实时流数据
的增量式频繁项集挖掘方法, 步骤包括: 步骤1):
对原始金融事务数据集FINDB和实时增量金融事
务数据集findb进行数据预处理; 步骤2): 对实时
增量金融事务数据集findb进行频繁项集挖掘,
得到实时增量金融事务数据集findb的频繁项 集
集合finset、 事务数据集fintdb和项目数据集
finidb; 步骤3): 将原始金融事 务数据集FINDB和
实时增量金融事务数据集findb做union操作得
到全局金融数据集TOTALDB, 再通过filter()函
数和最小支持度min_sup的变化得到最终的全局
频繁项集集合TOTALSET。 本发明重点强调对于 金
融实时流数据, 能够增量处理动态数据集, 大幅
缩减参与计算的数据量。
权利要求书3页 说明书8页 附图3页
CN 115525695 A
2022.12.27
CN 115525695 A
1.一种互联网金融实时流数据的增量式频繁项集挖掘方法, 其特征在于, 包含以下步
骤:
步骤1): 数据预处理模块中, 采用常见的数据清洗和数据划分等方法, 对原始金融事务
数据集FINDB和实时增量金融事务数据集findb中常出现的错误标签、 数据项缺失和数据格
式不一致等问题进行处 理;
步骤2): 实时增量频繁项集挖掘模块中, 接收实时增量金融事务数据集findb, 对实时
增量金融事务数据集findb应用频繁模式增长算法和弹性分布式数据集的一些函数进 行频
繁项集挖掘, 得到实时增量金融事务数据集findb的频繁项集集合finset、 事务数据集
fintdb和项目数据集fi nidb;
步骤3): 更新处理模块中, 首先接收原始金融事务数据集FINDB并对其执行步骤2的操
作得到原始金融事务数据集FINDB的频繁项集集合FINSET、 事务数据集FINTDB和 项目数据
集FINIDB, 然后对原始金融事务数据集FINDB的频繁项集集合FINSET和实时增量金融事务
数据集findb的频繁项集集合finset分别做集合的intersect和except操作, 最后将原始金
融事务数据集FINDB和实时增量金融事务数据集findb做union操作生成全局金融数据集
TOTALDB, 再通过filter()函数和最小支持度min_sup的变化得到最终的全局 频繁项集集
合TOTALSET。
2.如权利要求1所述的一种互联网金融业务的实体实时识别的方法, 其特征在于, 所述
步骤1具体包括:
步骤1.1, 针对金融文本数据常出现的错误标签、 数据项缺失和数据格式不一致等问
题, 本发明使用正则表达式定位 错误标签和有问题的数据;
步骤1.2, 分别找出两个事务数据集中所有的非中文、 非英文和 非数字符号, 比如一些
HTML标签、 特殊符号、 无意义字符等, 然后利用正则表达式进行过滤清除实现数据清洗, 对
文本中出现的错 误标签进行定位并针对互联网金融文本进行 数据清洗;
步骤1.3, 由于间隔较长的文本之间没有太大联系, 所以设定在句子长度超过510个的
文本或者无结尾标点的文本的后面直接增加句号隔断, 然后以逗号, 句号, 感叹号, 问号的
优先级将长文本分割成多个 独立短文本, 同时还要对切割索引进行保存, 方便之后拼接 。
3.如权利要求1所述的一种互联网金融业务的实体实时识别的方法, 其特征在于, 所述
步骤2具体包括:
步骤2.1, 接收实时增量金融事务数据集findb, 利用弹性分布式数据集的flatMap()函
数提取实时增量金融事务数据集findb中的项目X以及相应的事务号TID并将其作为垂 直数
据集, 垂直数据集可以使其在每次迭代中不需要扫描完整的数据集, 并且利用弹性分布式
数据集可以更好的利用集群内存并提高容 错率;
步骤2.2, 将实时增量金融事务数据集findb的每个项上, 应用Map()函数生成键值对,
其中键为具体的项目X, 值为相应的事务号TID, 应用groupBy(0)函数, 将每条数据生成的键
值对按照 项目Xi划分, 再通过reduceGroup()函数合 并相同项目Xi下的事务号Tj, 从而得到
所有项目组构成的项目数据集finidb={Xi,(T1,T2,...,Tj,...)|Xi∈X,Tj∈T}, 其中X为所
有项目的集 合, T为所有事务 号的集合, i∈[1,项目的总数], j∈[1,事务 号的总数];
步骤2.3, 应用groupBy(1)函数, 将每条数据生成的键值对按照事务号Tj划分, 再通过
reduceGroup()函数合并相同事务号Tj下的项目Xi, 从而得到所有事务组构成的事务数据权 利 要 求 书 1/3 页
2
CN 115525695 A
2集fintdb={Tj,(X1,X2,...,Xi,...)|Tj∈T,Xi∈X}, 其中T 为所有事务号的集合, X为所有项
目的集合, i∈[1,项目的总数], j∈[1,事务 号的总数];
步骤2.4, 在事务数据集fintdb的每个项上, 统计事务中两两组合的支持度计数, 用
reduceByK ey()函数来进行支持度的更新, 获得支持度矩阵supm;
步骤2.5, 设置计数器cnt=1, 扫描项目数据集finidb, 根据支持度矩阵supm的值以及
应用频繁模式增长算法, 来筛选不满足最小支持度min_sup的事务, 即非频繁项, 再使用
groupByKey()函数进行分组, 使用filter()函数对数据进行合并, 由此得到垂直布局的频
繁1‑项集矩阵和构建成对项集的完整弹性分布式数据集;
步骤2.6, 为了优化构 建频繁模式树占用的空间, 本发明采用非负矩阵分解算法FNMF来
分解频繁1 ‑项集, 其中, 非负矩阵分解 算法FNMF为:
其中Z, W, Q为非负矩阵, min表示取最小值,
为惩罚项, ·T表示矩阵转
置, ||·||F表示是第F 范式, γ为稀疏参数;
步骤2.7, 将上一步骤得到的频繁1 ‑项集的垂直数据作 为广播变量, 可以在所有节点之
间共享; 本发明以弹性分布式数据集的形式存储数据并将其分布在所有集群节点之上; 对
项目数据集finidb, 为每个合理的频繁项集创建一个计数器cnt=2, 创建广播变量
broadcast_value并分配垂直数据集的弹性分布式数据集, 扫描这个弹性分布式数据集, 来
更新支持度矩阵supm, 如果事务的支持度不小于mi n_sup, 则该项集是 频繁的;
步骤2.8, 将所有的频繁项集加载到finset集合 中, finset集合是一个成对的弹性分布
式数据集, 像(键, 值), 其中键为具体的项目X, 为相应的事务号TID, 然后再将垂 直频繁项集
所得到的弹性分布式数据集传给下一轮循环的广播变量broadcast_value, 直到达到最大
循环次数, 循环结束, 得到实时增量金融事务数据集fi ndb的频繁项集 集合finset。
4.如权利要求1所述的一种互联网金融业务的实体实时识别的方法, 其特征在于, 所述
步骤3具体包括:
步骤3.1, 接收原始金融事务数据集FINDB并执行步骤2的操作, 得到原始金融事务数据
集FINDB的频繁项集 集合FINSET、 事务数据集FI NTDB和项目数据集FI NIDB;
步骤3.2, 对原始金融事务数据集FINDB的频繁项集集合FINSET和实时增量金融事务数
据集findb的频繁项集集合finset做intersect操作, 表示为频繁项集交集FINSET∩
finset;
步骤3.3, 对原始金融事务数据集FINDB的频繁项集集合FINSET在实时增量金融事务数
据集findb的频繁项集集合finset的基础上做except操作, 即求出在原始金融事务数据集
FINDB的频繁项集集合FINSET中但是不在实时增量金融事务数据集findb的频繁项集集合
中的项集, 表 示为频繁项集差集FINSET ‑finset, 其中项集出现频度为其对应在原始金融事
务数据集FI NDB和实时增量金融事务数据集fi ndb中出现的频度之和;
步骤3.4, 对于频繁项集差集FINSET ‑finset的计算, 首先得到差集中的每个项集在原
始金融事务数据集FINDB的项目数据集FINIDB, 如果当前轮次的项集是1元项集, 其出现频
度为所属的事务号个数, 否则按多元项集处理, 其 出现频度是每个项目Xi和对应事务号Tj的权 利 要 求 书 2/3 页
3
CN 115525695 A
3
专利 一种互联网金融实时流数据的增量式频繁项集挖掘方法
文档预览
中文文档
15 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:34:06上传分享