本发明属于人工智能,具体涉及一种基于记忆动态异构图和层次多模态融合的健康保险欺诈检测方法。
背景技术:
1、在健康保险领域,欺诈行为对于保险公司和整个保险行业都是一个严重的问题。欺诈行为可能导致巨大的经济损失,并对保险公司的声誉和客户信任产生负面影响。因此,开发一种高效准确的健康保险欺诈检测方法至关重要。
2、目前,传统的健康保险欺诈检测方法主要基于规则引擎和统计模型,这些方法往往依赖于人工定义的规则和特征,限制了它们的适应性和准确性。近年来,图神经网络在图数据处理和分析方面取得了显著的进展。gnn能够对复杂的关系和结构进行建模,并从图中提取有用的特征信息。然而,在健康保险欺诈检测中,现有的gnn方法往往忽视了动态性和多模态数据的特点。
3、因此,本发明提出了一种基于记忆动态异构图和层次多模态融合的健康保险欺诈检测方法,旨在克服传统方法和现有gnn方法的局限性。该方法将动态异构图模型引入健康保险欺诈检测中,能够捕捉到复杂的关系和结构,并利用多模态数据源的信息来提高欺诈检测的准确性。
4、相比传统方法和现有gnn方法,本发明的方法具有以下优势:能够处理动态和异构的健康保险数据,充分挖掘数据中的关系和结构信息;利用记忆机制进行历史信息的存储和更新,提高欺诈检测的准确性;通过层次多模态融合,融合多源数据的信息,提供更全面的特征表示。因此,本发明的方法在健康保险欺诈检测领域具有广泛的应用前景和商业价值。
技术实现思路
1、为克服现有技术不足,本发明提出一种基于记忆动态异构图和层次多模态融合的健康保险欺诈检测方法。实现了健康保险欺诈检测。本发明提出了一种名为hirdnet(health insurance fraud detection network)的深度学习模型,具体的步骤如下:
2、步骤1、建立异质图;
3、步骤2、构建健康保险欺诈检测网络hirdnet;
4、步骤3、训练和测试健康保险欺诈检测网络hirdnet;
5、所述步骤1具体包括以下步骤:
6、步骤1.1构建动态异质图。
7、健康保险记录可以表示为其中是t时刻的快照图,x∈rp×k是所有索赔人结点的上下文特征矩阵。在图中,是在时间点t的结点集合{v}。ξ是在时间点t的边的集合{u,r,v}。是结点标签{claimer,department,hospital,health care,timestamp},是边种类的集合{(claimer,department),(claimer,hospital),(claimer,health care),(claimer,timestamp)},简记为{cdc,chc,cmc,ctc}。每个结点都已经被标记了是欺诈结点或者非欺诈结点。
8、步骤1.2构建实体嵌入entity2vec。
9、我们使用基于skip-gram的四个预训练编码器将离散的实体映射到连续的向量空间。与item2vec类似,我们在预训练过程中不考虑实体的顺序关系。我们获得了对应的m维向量和
10、所述步骤2具体包括以下步骤:
11、步骤2.1建立通用聚合器。
12、为了聚合同一模态内的实体和不同模态的实体,本发明设计了一个简单且通用的聚合器作为hirdnet的核心。第一步是通过自我注意力机制学习每个实体的上下文信息。具体来说,对于每个实体向量我们首先计算查询向量和关键字向量
13、
14、
15、其中wq∈ra×m和wk∈ra×m是可学习的权重矩阵。
16、然后我们获得自我注意力权重
17、
18、其中f是softmax函数,是缩放因子,因此上下文向量可以计算为:
19、
20、然后我们获得聚合注意权重该权重关注关键实体,例如可能存在欺诈的高价药物或异常就诊情况。
21、
22、其中是可学习的权重矩阵。最后,对于每个实体向量的全局表示为:
23、
24、网络中的内模态级别、跨模态级别和时间级别融合都是基于通用聚合器实现的。
25、步骤2.2异质多模态融合模块。
26、异质多模态融合模块模块是网络的核心部分,采用层次化的融合结构:内模态级别、跨模态级别和时间级别融合。该模块旨在对索赔人p的所有就诊中不同模态的实体进行全局融合。
27、在内模态级别融合中,我们使用设计的通用聚合器(uag)来融合医疗保健实体的表示向量:
28、
29、其中指的是索赔人p在时间t的就诊中医疗保健实体的表示向量,是医疗保健实体的医学语义嵌入。
30、接下来,在跨模态级别融合中,我们使用潜在映射矩阵和将不同模态实体的表示向量投影到相同的特征空间。然后,我们使用通用聚合器来融合来自医疗、空间和时间模态的实体的表示向量:
31、
32、其中,和分别表示科室、医院和时间实体的表示向量,||表示连接操作,是索赔人p在时间t的就诊的模态级别嵌入。
33、最后,在时间级别融合中,对于索赔人p的所有就诊的全局语义表示向量我们使用一个标准的三层lstm编码器结合通用聚合器来学习索赔人p的所有就诊的全局纵向表示向量
34、
35、其中,是的隐藏向量。特别地,为了学习每个就诊表示对索赔人p的重要性,我们使用上下文特征χp来计算通用聚合器的聚合注意权重其中
36、
37、步骤2.3建立时间间隔模块。
38、时间戳向量无法清楚地反映时间间隔信息,而时间间隔信息则反映了索赔人就诊的频率模式,有助于识别欺诈者。具体而言,本发明使用时间间隔编码器将时间间隔嵌入到连续的向量空间中,具体如下:
39、
40、其中和是可学习的参数矩阵,是索赔人p在时间t的访问的时间间隔表示向量。
41、然后,在时间级别融合中,对于每次访问的时间间隔表示向量我们使用一个标准的三层lstm编码器结合通用聚合器来学习索赔人p的所有访问的全局时间间隔表示向量
42、
43、步骤2.4建立图结构模块。
44、hirdnet的最后一个组成部分是图结构模块。该模块与具体模型无关,这里我们采用广泛使用的han作为拓扑信息学习的骨干。是时间t的拓扑表示向量。索赔人p在图中的全局图拓扑表示向量是通过lstm编码器和通用聚合器计算得出的:
45、
46、步骤2.5建立hirdnet。
47、首先,我们在时间t取一个图其中包含与索赔人p相关的多个模态的实体。在“entity2vec”步骤中,我们首先使用四个编码器将它们转换为连续向量。接下来,层次多模态融合模块实现了实体编码的模态内部融合、模态间融合和时间级别融合。在模态内部融合中,层次多模态融合模块模块学习了时间t的医疗保健的医学语义表示向量,有助于区分欺诈者和正常索赔人。在模态间融合中,层次多模态融合模块模块使用潜在映射和通用聚合器来获得索赔人p在时间t的不同模态的全局语义表示向量。在获得每次就诊的表示向量后,在时间级别融合中,层次多模态融合模块模块使用lstm编码器结合通用聚合器为索赔人p的所有就诊生成全局纵向表示向量。需要注意的是,在欺诈检测中,通用聚合器中的注意机制可以更关注索赔人p的异常就诊。
48、此外,我们设计了时间间隔模块作为层次多模态融合模块的补充,旨在学习索赔人的全局时间间隔表示,该表示反映了索赔人p的疾病状况。在图结构模块中,我们使用han来聚合与索赔人p相邻的索赔人节点的拓扑信息。最后,我们将索赔人p的初始上下文特征与三个模块的表示向量连接起来,并使用多层感知机(mlp)作为欺诈预测器。
49、所述步骤3具体包括以下步骤:
50、步骤3.1构建输出和损失函数。
51、获得的最终表示被输入到具有sigmoid(·)激活函数的预测器中,如下所示:
52、
53、
54、其中,concat(·)表示连接操作,mlp(·)表示多层感知机。这里是索赔人p的预测欺诈概率。最后,我们的模型使用交叉熵损失进行训练:
55、
56、其中yp是真实标签,θ是hirdnet的所有参数集合,是所有的训练集。
57、步骤3.2构建网络评价指标。
58、由于我们将图欺诈检测定义为一个分类问题,我们使用auc、宏平均f1值和宏平均召回率作为评估指标。auc表示模型检测到的欺诈者在排名上超过正常用户的概率。宏平均召回率表示模型识别真实正常或异常节点的能力。
59、宏平均f1值是精确率和召回率之间的平衡指标。对于类别不平衡分类问题,我们通过计算真阳性率(tpr)和真阴性率(tnr)的几何平均值(gmean)来评估模型的结果。
60、
61、
62、
63、步骤3.3训练hirdnet。
64、在优化过程中,我们采用adam来优化我们的模型。对于优化器的参数设置,学习率为0.01,权重衰减都为0.00001。我们使用python 3.8和pytorch 1.8.0来实现hirdnet模型。此外,所有实验都在装有nvidia rtx3090显卡和512g内存的ubuntu 18.04系统上进行。
65、步骤3.4评估hirdnet。
66、nhic是经过数据预处理后发布的数据集,包含18687个索赔人、210家医院、10865种药物和189个时间戳,其中4.6%的索赔人是欺诈者。我们按照6:2:2的比例划分训练集、验证集和测试集,在nhic数据集上测试模型。