CN117312989A - 一种基于GCN和RoBERTa的上下文感知的列语义识别方法和系统 - Google Patents
一种基于GCN和RoBERTa的上下文感知的列语义识别方法和系统 Download PDFInfo
- Publication number
- CN117312989A CN117312989A CN202311380815.2A CN202311380815A CN117312989A CN 117312989 A CN117312989 A CN 117312989A CN 202311380815 A CN202311380815 A CN 202311380815A CN 117312989 A CN117312989 A CN 117312989A
- Authority
- CN
- China
- Prior art keywords
- data
- column
- gcn
- semantic
- layer
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 239000013598 vector Substances 0.000 claims abstract description 152
- 230000007246 mechanism Effects 0.000 claims abstract description 103
- 238000012549 training Methods 0.000 claims abstract description 54
- KHMVXSQLPUNRCF-UHFFFAOYSA-N DL-Adalin Natural products C1CCC2CC(=O)CC1(CCCCC)N2 KHMVXSQLPUNRCF-UHFFFAOYSA-N 0.000 claims abstract description 31
- 238000004140 cleaning Methods 0.000 claims abstract description 25
- 230000003993 interaction Effects 0.000 claims abstract description 23
- 230000001360 synchronised effect Effects 0.000 claims abstract description 16
- 238000007781 pre-processing Methods 0.000 claims abstract description 10
- 239000010410 layer Substances 0.000 claims description 176
- 230000006870 function Effects 0.000 claims description 56
- 238000010586 diagram Methods 0.000 claims description 54
- 238000012937 correction Methods 0.000 claims description 47
- 238000005457 optimization Methods 0.000 claims description 40
- 238000012545 processing Methods 0.000 claims description 37
- 238000004422 calculation algorithm Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 19
- 239000011159 matrix material Substances 0.000 claims description 19
- 238000009826 distribution Methods 0.000 claims description 17
- 230000002159 abnormal effect Effects 0.000 claims description 16
- 238000005192 partition Methods 0.000 claims description 15
- 230000004927 fusion Effects 0.000 claims description 14
- 238000005096 rolling process Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000013075 data extraction Methods 0.000 claims description 8
- 238000011176 pooling Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 238000012935 Averaging Methods 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 238000012512 characterization method Methods 0.000 claims description 3
- 239000002355 dual-layer Substances 0.000 claims description 3
- 238000005259 measurement Methods 0.000 claims description 3
- 239000002356 single layer Substances 0.000 claims description 3
- JCJIZBQZPSZIBI-UHFFFAOYSA-N 2-[2,6-di(propan-2-yl)phenyl]benzo[de]isoquinoline-1,3-dione Chemical compound CC(C)C1=CC=CC(C(C)C)=C1N(C1=O)C(=O)C2=C3C1=CC=CC3=CC=C2 JCJIZBQZPSZIBI-UHFFFAOYSA-N 0.000 claims 7
- 238000007726 management method Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 101000862627 Homo sapiens eIF-2-alpha kinase activator GCN1 Proteins 0.000 description 4
- 102100030495 eIF-2-alpha kinase activator GCN1 Human genes 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 101000926525 Homo sapiens eIF-2-alpha kinase GCN2 Proteins 0.000 description 3
- 102100034175 eIF-2-alpha kinase GCN2 Human genes 0.000 description 3
- 241000282472 Canis lupus familiaris Species 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000271566 Aves Species 0.000 description 1
- 208000025174 PANDAS Diseases 0.000 description 1
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 241000282458 Ursus sp. Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种基于GCN和RoBERTa的上下文感知的列语义识别方法和系统,包括:数据预处理:设置增量同步数据获取任务,进行数据采集和清洗,加载到Mysql环境当中;列语义识别:基于数据集的列关系属性及属性关系构建词汇关系图,作为双层GCN图卷积网络输入来获取GCN全局语义特征嵌入;通过RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制来获取局部语义特征嵌入,将并联输出的嵌入向量通过注意力机制融合权值,得到全局‑局部交互的上下文语义信息,并使用Adaline进行分类预测;本发明构建了上下文列语义识别模型,基于关系列投影进行元数据的语义识别。
Description
技术领域
本发明涉及自然语言处理技术领域,尤其涉及一种基于GCN和RoBERTa的上下文感知的列语义识别方法和系统。
背景技术
在人们在日常生活和管理过程中,各种行业和领域的信息管理系统、数据库系统产生了大量繁杂数据。
目前在各个业务领域中,数据在类型、结构、来源等方面都呈现多元化特征。结构化关系数据在数据资源中占据最重要地位,为数据资源管理提供了基础和依据。当聚焦于关系型数据库的列投影元数据时,在表格数据中,每一列通常代表一种特定类型的信息,例如,在财务报表中,一列可能表示“销售额”,另一列可能表示“净利润”。在医疗记录中,一列可能包含“患者姓名”,另一列可能包含“诊断结果”。这些列的含义对于数据的解释和应用至关重要,但由于受到业务系统软件厂商的技术保护,目前数据库表结构中的列投影元数据不包含相关标签机制或注释信息,导致即便获取到的列投影元数据也缺乏真实语义信息以及会出现列投影元数据同义不同名问题。
此外,基于关系数据列进行语义识别的研究中仍存在很多问题:首先,文本语义识别需要人工进行特征工程,成本高昂。其次,传统机器学习仅仅依赖于数据库单独列的属性值进行语义区分,缺乏对关系数据表的上下文语义信息的特征捕获,无法准确区分其列语义信息,若想获取上下文语义信息,便可以利用注意力机制获取每个单词权重,但是仅重点关注于局部连续词序列,仅提供关系数据表的局部上下文序列语义特征信息,对于捕获关系表的全局语义信息的特征的方面受到限制;最后,关系表数据不同于一般文本数据,具备结构化数据的列顺序无关的特征,即对于关系数据列的属性值,若任意交换列位置,并不影响全局语义表达,而传统模型对关系数据的列顺序敏感,导致对模型预测结果准确率有很大干扰。
发明内容
针对上述技术中存在的问题,本发明提供了一种基于GCN和RoBERTa的上下文感知的列语义识别方法。
基于上下文信息以及关系列顺序无关性的特征,本发明提出了基于词汇图卷积网络(GCN)和RoBERTa并联结合的共现属性交互列语义识别模型,其中GCN将能够有效捕捉文档、单词以及全局依赖关系的共现信息的词汇图,RoBERTa模型高效关注于局部连续单词序列,提供局部上下文信息。该方法首先通过采集Hudi数据湖的多业务系统关系表数据作为初始化数据;其次,输入列关系依赖以及属性关系依赖,通过双层GCN网络和RoBERTa的多头自注意力机制分别捕捉全局结构语义信息特征及局部结构语义信息特征,通过注意力机制将GCN网络的全局上下文特征输出向量和RoBERTa的局部上下文特征输出向量进行交互融合,让待预测列投影元数据学习到更丰富的上下文信息。最后通过嵌入AdaLine自适应策略分类层预测分类;再次,基于同一关系数据主题的语义标签的共现特征语义依赖,通过Transformer-Encoder将上述预测的不完全正确的标签序列映射为正确的标签;最终,通过交叉熵函数以及设置固定时间周期内从数据湖中抽取的增量数据来更新优化模型。
术语解释:
1、元数据:描述数据的数据,用于提供关于数据及信息资源的描述性信息,换言之,元数据是关于数据的组织、数据域以及关系的信息,帮助人们理解、管理、组织和使用数据。
2、GCN:GCN(GraphConvolutionalNetwork)是一种深度学习模型,可以直接作用在在图上并且利用结构信息的图卷积神经网络。它通过多个图卷积层逐步更新节点的表示,允许节点之间传递和聚合信息,从而捕捉图中的复杂关系。
3、RoBERTa:RoBERTa(ARobustlyOptimizedBERTPretrainingApproach)是一种自然语言处理(NLP)中的预训练语言模型,基于BERT模型提出的效果更好的改进版本。
4、Spark作业:Apache Spark是一个开源、快速、通用、可扩展的分布式计算框架,设计用于处理大规模数据集的高性能数据处理和分析。Spark作业(Spark jobs)通常是指在Apache Spark框架上运行的数据处理、分析、计算任务,它们通常由一系列数据转换和计算操作组成,这些作业可以在分布式集群上并行执行,以提供高性能的数据处理能力。
5、Spark会话:Spark会话(SparkSession)是一个高级别的与Spark集群通信的编程接口,作为Spark的核心入口点,提供了一种统一的方式来访问各种Spark功能和处理分布式数据。Spark会话构建在底层的Spark核心之上,封装了各种功能,包括SQL查询、DataFrame操作、流处理、机器学习和图处理等。
6、Hudi:Hudi(Hadoop Upserts Delete and Incremental)是一个支持插入、更新、删除以及增量处理的数据湖框架。Apache Hudi将核心仓库和数据库功能直接引入数据湖。Hudi提供了表、事务、高效的upserts/delete、高级索引、流摄取服务、数据集群/压缩优化和并发,同时保持数据的开源文件格式。
7、MySQL:MySQL是一种开源的关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,用于存储、检索和管理数据。关系数据库依据关系模型基础将数据保存在不同的表中,MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
8、HDFS:HDFS(Hadoop Distributed File System)是一个用于存储和管理大规模数据的分布式文件系统,一个HDFS集群通常由一个名称节点(NameNode)和多个数据节点(DataNode)组成,这些节点协同工作以存储和管理数据。
9、Spark DataFrame:Spark DataFrame是Spark中的一个核心抽象,它是一种以RDD为基础的分布式数据集。DataFrame可以被看作是一个表格或二维数据结构,类似于传统数据库表或Pandas DataFrame。它提供了高度优化的分布式数据处理能力,适用于大规模数据集的操作。
10、Token化:Tokenization是将原始文本数据分割成更小的单元的处理过程,这些单元通常是单词、标点符号、子词或字符等。常见的tokenization工具包括NLTK(NaturalLanguage Toolkit)、spaCy、Tokenizer等各种NLP工具包中的内置函数。
本发明的技术方案为:
一种基于GCN和RoBERTa的上下文感知的列语义识别方法,包括:
数据预处理:编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务,并且按照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中;
列语义识别:基于GCN和RoBERTa构造的列语义识别模型作为预测模型;使用数据集的列关系属性及属性关系构建词汇关系图,作为双层GCN图卷积网络输入来获取GCN全局语义特征嵌入;与此同时,通过RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制来获取局部语义特征嵌入,将GCN以及RoBERta的并联输出的嵌入向量通过注意力机制融合权值,得到全局-局部交互的上下文语义信息,并使用Adaline进行分类预测;
标签纠错及更新优化:通过Self-Attention机制实现标签之间地共现纠错,并且通过交叉熵损失函数对模型参数优化以及抽取增量数据循环更新优化模型。
进一步地,在该方法中,编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务,并且按照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中;包括:
通过编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务;包括:在Spark作业中导入相关所需库,并创建一个Spark会话编写代码,来获取Hudi的底层存储HDFS中的增量数据,并转换成MySQL的数据格式,将转换成MySQL的数据格式的数据写入MySQL数据库;
按照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中;数据清洗包括对采集到的数据依次进行缺失值处理、异常值处理以及文本处理操作。
进一步地,在该方法中,基于GCN和RoBERTa构造的列语义识别模型作为预测模型;使用数据集的列关系属性及属性关系构建词汇关系图,作为双层GCN图卷积网络输入来获取GCN全局语义特征嵌入;与此同时,通过RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制来获取局部语义特征嵌入,将GCN以及RoBERta的并联输出的嵌入向量通过注意力机制融合权值,得到全局-局部交互的上下文语义信息,并使用Adaline进行分类预测;包括:
捕获GCN全局语义特征嵌入向量;GCN全局语义特征嵌入向量是指经过双层GCN图卷积网络进行卷积后输出的包含全局上下文语义信息的特征向量;
基于已写入MySQL数据库的全部数据作为关系数据集,并使用关系数据集中的列关系属性及属性关系构建词汇关系图,作为双层GCN图卷积网络的输入;
其中,关系数据集中行列交汇的单元格包含的特定数据作为双层GCN图卷积网络的单词节点,关系数据集的每一列的全部数据作为双层GCN图卷积网络的文档节点;
将构建的词汇关系图以及依赖关系图进行Concat拼接构建大型异构的词汇关系图,并使用两层MLP进行串联操作,输出GCN全局初步向量,并将GCN全局初步向量输入到为双层GCN图卷积网络进行卷积操作,并根据节点的邻域属性引出节点的嵌入向量。
进一步地,构建词汇关系图,包括:
使用WordNet语义词典和NPMI(NormalizedPointwiseMutualInformation)归一化逐点互信息来构建词汇图,包括:
首先,通过NPMI计算两个单词节点之间的权重以及通过仅包含动词、名词、形容词、副词的WordNet聚类操作计算单词节点相似度,如果两个单词节点的NPMI大于阈值,则在两个单词节点之间创建一个语义相关边;否则,进行下一步操作;单词节点i和单词节点j的NPMI的计算公式如式(Ⅰ)所示:
式(Ⅰ)中,i和j为单词节点,#w为滑动窗口总数,#w(i)为含有单词节点i的所有滑动窗口的数量,#w(i,j)为含有单词节点i以及单词节点j的所有滑动窗口数量;
其次,两个单词节点的NPMI不大于设定阈值时,则使用WordNet中WUP(Wu-PalmerSimilarity)方法,基于路径结构进行语义相似性度量,通过计算两个单词节点的最低公共上位词LCS(LowestCommonSubsumer,LCS)与各自到其LCS的距离来衡量它们的语义相似性,再进行归一化操作来计算相似性分数,如果两个单词的NPMI不大于设定阈值但WUP大于设定的阈值,则仍在两个单词节点之间创建一个语义相关边;得到词汇图;单词节点i和单词节点j的WUP的计算公式如式(Ⅱ)所示:
式(Ⅱ)中,LCS(i,j):表示单词节点i和单词节点j的最低公共上位词,depth(LCS(i,j)表示单词节点i,j最低公共上位词的深度,即从根节点到LCS的路径的长度,depth(i)表示单词节点i在WordNet层次结构中的深度,depth(j)表示单词节点j在WordNet层次结构中的深度;
利用TF-IDF(TermFrequency-InverseDocumentFrequency)词频-逆文档频次算法创建词汇关系图,包括:
若TF-IDF值高于设定阈值的50%,则在该单词-文档节点之间创建一条语义依赖关系边;若TF-IDF值低于设定阈值的50%,则不需要创建语义依赖关系边,对每一个单词-文档节点进行加权计算,最终得到关系依赖图;文档节点i和文档节点j的TF-IDF值的求取公式如式(Ⅲ)所示:
式(Ⅲ)中,ni,j表示特定单词在给定文档中出现的频次,∑knk,j表示文档中所有单词的总数,|D|表示所有文档数目,|j:ti∈dj|表示包含特定单词ti的文档数目;
将构建词汇图以及依赖关系图进行Concat拼接,并使用两层MLP(多层感知器)进行串联操作,得到词汇关系图,包括:
获取词汇图以及关系依赖图的相似度向量进行Concat拼接,并使用两层MLP进行串联操作,获得包含单词节点的词汇图和文档节点的关系依赖图的交互语义信息的大型异构的词汇关系图,其中该词汇关系图表示为G=(V,E),其中V为节点的集合,E为边的集合。
进一步地,将向量输入到为双层GCN图卷积网络进行卷积操作,并根据节点的邻域属性引出节点的嵌入向量,包括:
首先,针对每个节点分别构建出各自的邻域计算图,将邻域计算图的第0层的节点向量表征初始化为节点属性;
其次,依照聚合当前节层的节点信息,并将特征传输到下一层分层传播规则,分别对从第0层到第2层进行消息传递,来获取相邻节点的信息;对于双层GCN图卷积网络的单一卷积层,对第k层的节点进行逐元素求和再除以连接数,即逐元素求平均操作,将得到的向量输入到双层GCN图卷积网络中,进行两层卷积操作,经过激活函数得到第K+1层v节点的嵌入,最终得到该节点的GCN全局语义特征嵌入向量;
双层GCN图卷积网络遵循的单层卷积公式如式(IV)、式(V)所示:
式(IV)、(V)中,表示数据集的词汇关系图,W表示单个文档的一个权值的隐藏状态,维数为|V|*h;m表示批量大小,n表示为词汇量大小,h表示为隐藏层大小,s表示为句子嵌入大小。
进一步地,通过RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制来获取局部语义特征嵌入,包括:
首先,对数据集列关系属性及属性关系进行Token化,进行线性化编码,输入到RoBERTa预训练模型中;
其次,通过输入到Tansformer的三层多头列注意力机制,对关系数据列的重点内容使用Q、K、V矩阵计算获取不同维度与类型的信息;
最后,将多个注意头的输出拼接为更深层次的包含上下文局部嵌入表示。
进一步地,线性化编码,包括:
数据集关系列按行拼接成为一段文本,将该文本进行Token化后作为RoBERTa预训练模型的输入表示,经RoBERTa预训练模型Embedding编码后输出初步列向量;设置固定512最大行数,依照同一关系主题,将每张关系表拆分成多个表,再对关系表各列的列关系依赖按行拼接进行线性化;若线性化的输入列关系依赖的长度超过设置阈值,进行截取拆分,若长度小于设置阈值,则使用0填补至设置阈值。
进一步的,获取上下文局部嵌入表示,包括:
首先,将上步骤获取得到的初步列向量,输入到Tansformer的三层多头列注意力机制,Tansformer的三层多头列注意力机制对关系数据列;使用多组Q、K、V矩阵投影到不同的表示子空间中,其中每个子空间中的每个矩阵使用Q、K、V矩阵重点关注学习计算出当前词与句子中所有其他词之间的相互关系,并不断调整每个词的权重,从而增强当前词局部特征的向量表示,最终最终将三层多头列注意力机制的输出拼接为更深层次的包含上下文局部嵌入表示;
Tansformer的单头自注意力机制的公式如(Ⅵ)所示:
式(Ⅵ)中,Q表示为查询矩阵,K表示为关键词矩阵,V表示为原始特征,QKT是点乘操作,为K的维度大小;
其次,采用多头注意力机制中的设置“头”数为12、隐藏层维度为128、batch_size为64配置的三层多头列注意力机制,通过多组QKV矩阵将输入的词向量投影到不同的表示子空间中,让RoBERTa预训练模型充分关注不同维度与类型的信息,将原始RoBERTa预训练模型的128维数据经过8次不同的线性投影,得到8个128维的输出,最终将三层多头列注意力机制的输出拼接为更深层次的包含上下文局部嵌入表示;多头注意力机制公式如(Ⅶ)所示:
Multi(Q,K,V)=Concat(head1,head2,...,headn)W
where headi=Attention(QWi Q,KWi K,VWi V)(Ⅶ)
式(Ⅶ)中,headi为注意力机制的头,n为注意力机制的头数。
进一步的,信息融合预测分类,包括:
首先,将GCN全局语义特征嵌入与RoBERTa局部语义特征嵌入通过注意力机制融合权值,得到全局-局部交互的上下文语义特征向量;
其次,在RoBERTa预训练模型训练过程中,将输出的向量经过MLP全连接层以及Softmax函数归一化操作,最终输出每个样本对应的所属语义类别概率,进行预测分类;采用Adaline算法对输出的所属语义类别概率进行整合,包括:采用多路MLP的方法,将经过不同层数全连接层得到的结果组成一个向量,该向量即Adaline算法的输入,Adaline算法根据输出的所属语义类别概率,给不同MLP的输出进行打分;其中,输出的所属语义类别概率越接近标签的输出值将得到更高的分数;接下来,根据这个打分的分布,在一个正态分布上进行采样,并且根据采样值对每个打分进行了不同权重的累加,按照该累加的值获得当前样本的加权得分,获得样本最终所属分类的概率。
进一步地,在该方法中,通过Self-Attention机制实现标签之间地共现纠错,并且通过交叉熵损失函数对模型参数优化以及抽取增量数据循环更新优化模型,包括:
首先,利用Transformer模型Encoder部分的Self-Attention机制实现标签之间的共现,使每一个输入标签都得到对应的输出向量,进一步分类映射到真实的类别标签;
其次,损失函数采用联合训练对模型参数进行更新;
最后,通过设定固定时间周期,从hudi数据湖中抽取的增量数据来更新优化模型。
进一步地,通过Self-Attention机制实现标签之间地共现纠错,包括:
搭建一个共现标签搭建的纠错模型,将上述预测模型预测的不完全正确的标签序列y(1)映射到更正确的标签序列y(2);纠错模型选择并行化的且具有顺序无关性的Transformer模型的Encoder模块,纠错模型输入为预测模型预测的标签,标签对每一个标签进行向量化,利用Transformer模型Encoder部分的Self-Attention机制实现标签之间的共现,每一个输入标签都得到对应的输出向量,进一步分类映射到真实的类别标签,y={y0,y1,...,yn-1},其中每一个输出位置都是关于输入的标签序列的概率最大化。
进一步地,更新优化模型,包括:
首先,采用三元熵损失函数联合训练,对预测模型参数进行更新,以及采用交叉熵损失函数对纠错模型进行优化更新;
其次,通过设定固定时间周期,从hudi数据湖中抽取的增量数据来更新优化预测模型;
进一步地,三元熵损失函数,包括:
采用Adam优化器来优化目标函数,并通过反向传播来更新每轮迭代过程中预测模型的各种参数,直到预测模型达到拟合要求;并且使用三元熵损失函数采用联合训练对预测模型参数进行微调,通过两两计算交叉熵并对其进行平均池化操作,获取实际输出与期望输出的距离;
对于每个样本,预测模型预测概率分布为实际的标签真值分布表示为y={y0,y1,...,yn-1},对于每一对类别i和j,计算交叉熵损失公式如(Ⅸ)所示:
生成个交叉熵损失值,对这些交叉熵损失值进行平均池化(averagepooling),得到最终的三元熵损失如(Ⅹ)所示:
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现一种基于GCN和RoBERTa的上下文感知的列语义识别方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现一种基于GCN和RoBERTa的上下文感知的列语义识别方法的步骤。
本发明提供一种基于GCN和RoBERTa的上下文感知的列语义识别系统,用于实现上述用于一种基于GCN和RoBERTa的上下文感知的列语义识别方法,包括数据预处理模块、列语义识别模块、标签纠错及更新优化模块;
所述数据预处理模块,用于编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务,并且按照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中。
所述列语义识别模块,用于于数据集的列关系属性及属性关系构建词汇关系图,作为双层图卷积网络输入来获取GCN全局语义特征嵌入;与此同时,通过RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制来获取局部语义特征嵌入,将GCN以及RoBERta的并联输出的嵌入向量通过注意力机制融合权值,得到全局-局部交互的上下文语义信息,并使用Adaline进行分类预测;
所述标签纠错及更新优化模块,用于通过Self-Attention机制实现标签之间地共现纠错,并且通过交叉熵损失函数对模型参数优化以及抽取增量数据循环更新优化模型;
进一步地,数据抽取模块包括数据采集模块、数据清洗模块;
数据抽取模块用于编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务;
数据清洗模块用于照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中;包括缺失值处理模块、异常值处理模块、文本处理模块;
缺失值处理模块用于将使用时间序列插值方法以及前后有效值插值方法填充填充数据缺失处;
异常值处理模块用于将错误的异常值进行删除;
文本处理模块用于将文本去除特殊字符、去除停用词以及jieba分词操作。
进一步地,所述列语义识别模块包括GCN全局语义特征嵌入模块,局部语义特征嵌入模块和信息融合预测分类模块;
GCN全局语义特征嵌入模块用于利用WordNet语义词典,NPMI构建词汇图,以及使用TF-IDF词频-逆文档频次算法创建词汇关系图,将构建词汇图以及依赖关系图进行Concat拼接,并使用两层MLP进行串联操作,将向量输入到为双层GCN进行卷积操作,并根据节点的邻域属性引出节点的嵌入向量;
局部语义特征嵌入模块用于RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制中的Q、K、V矩阵来获取局部特征的向量表示,以及使用多头注意机制将输入的词向量投影到不同的表示子空间中进行线性学习,并且将多个注意头输出拼接更深层次的局部语义特征嵌入;
信息融合预测分类模块用于将GCN输出的全局语义特征信息与RoBERTa预训练模型中的核心模块Transformer多头自注意力机制获取得到的局部语义特征信息通过注意力机制融合权值,得到全局-局部交互的上下文语义信息以及使用Adaline算法对输出的预测分类概率进行了整合,采用了多路MLP的方法,将经过不同层数全连接层得到的结果组成一个向量,这个向量即为Adaline的输入,Adaline会根据输出分类的概率,给不同MLP的输出进行打分。
进一步地,所述标签纠错及更新优化模块包括纠错模块、损失函数更新模块、增量数据更新模块;
纠错模块用于利用Transformer模型Encoder部分的Self-Attention机制实现标签之间的共现,使每一个输入标签都可以得到对应的输出向量,进一步分类映射到真实的类别标签;
损失函数更新模块用于三元熵损失函数联合训练对预测模型参数进行更新以及采用交叉熵损失函数对纠错模型参数进行优化更新;
增量数据更新模块用于通过设定固定时间周期,从hudi数据湖中抽取的增量数据来更新优化模型。
本发明的有益效果为:
本发明构建了上下文列语义识别模型,实现了基于关系列投影进行元数据的语义识别。本发明形成一套完整的语义识别系统,联合关系数据表单独列的属性值以及关系数据表的上下文语义信息,提出了局部特征语义以及全局特征语义信息集成的上下文感知的列语义识别模型;此外,该模型具有列顺序不敏感的特征,使模型预测结果更精确。本发明解决了在数据库表结构中元数据信息缺乏语义信息,有效为后续基于元数据的数据分析、数据治理等一系列环节奠定基础,使结构化元数据不同部门系统中语义的互联互通。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于GCN和RoBERTa的上下文感知的列语义识别方法的流程示意图;
图2为本发明提出的基于GCN和RoBERTa的上下文感知的列语义识别模型框架示意图;
图3为本发明双层GCN图卷积网络的具体网络架构示意图;
图4为本发明RoBERTa模型的具体网络架构示意图。
具体实施方式
显然,在具体实施方式中所列举的示例只是本发明的一部分示例,而不是所有的示例。基于本发明的示例,技术人员在没有做创造性劳动的前提下所获得的所有其他示例,都应当属于本发明的保护范围。下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
实施例1
一种基于GCN和RoBERTa的上下文感知的列语义识别方法,如图1所示,包括:
数据预处理:编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务,并且按照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中;
列语义识别:基于GCN和RoBERTa构造的列语义识别模型作为预测模型;使用数据集的列关系属性及属性关系构建词汇关系图,作为双层GCN图卷积网络输入来获取GCN全局语义特征嵌入;与此同时,通过RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制来获取局部语义特征嵌入,将GCN以及RoBERta的并联输出的嵌入向量通过注意力机制融合权值,得到全局-局部交互的上下文语义信息,并使用Adaline进行分类预测;
标签纠错及更新优化:通过Self-Attention机制实现标签之间地共现纠错,并且通过交叉熵损失函数对模型参数优化以及抽取增量数据循环更新优化模型。
实施例2
根据实施例1所述的一种基于GCN和RoBERTa的上下文感知的列语义识别方法,如图2所示,其区别在于:
在该方法中,编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务,并且按照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中;包括:
通过编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务;包括:在Spark作业中导入相关所需库,具体是指Apache Spark相关依赖项(SparkConf、SparkSession),Apache Hudi依赖项(DataSourceWriteOptions、DataSourceReadOptions、HoodieWriteConfig)以及MySQL连接库(java.sql.{Connection,DriverManager}),并创建一个Spark会话编写代码,来获取Hudi的底层存储HDFS中的增量数据,增量数据即在HDFS中更新变化的数据,并转换成MySQL的数据格式,使用SparkDataFrame的write方法将转换成MySQL的数据格式的数据写入MySQL数据库;最后spark-submit命令来提交作业以执行上述步骤;
按照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中;数据清洗包括对采集到的数据依次进行缺失值处理、异常值处理以及文本处理操作。
缺失值处理,包括:对于时间序列数据,可以使用时间序列插值方法来估算缺失值;对于其他类型数据,则使用列属性中的前一个或后一个有效值填充。
异常值处理,包括:在处理异常值时,如果异常值是错误,不代表真实情况,将对其进行删除操作。
文本处理,包括:去除特殊字符、去除停用词以及jieba分词。去除特殊字符包含去除文本中的特殊字符如“%”,特殊标点如“...”,去除停用词包含不具备分析价值的常见词语,如“的”“是”等,jieba分词包含使用jieba.cut分词函数将文本分割成词语并保存构建词表。
在该方法中,基于GCN和RoBERTa构造的列语义识别模型作为预测模型;使用数据集的列关系属性及属性关系构建词汇关系图,作为双层GCN图卷积网络输入来获取GCN全局语义特征嵌入;与此同时,通过RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制来获取局部语义特征嵌入,将GCN以及RoBERta的并联输出的嵌入向量通过注意力机制融合权值,得到全局-局部交互的上下文语义信息,并使用Adaline进行分类预测;包括:
捕获GCN全局语义特征嵌入向量;GCN全局语义特征嵌入向量是指经过双层GCN图卷积网络进行卷积后输出的包含全局上下文语义信息的特征向量;
GCN全局语义特征嵌入向量的捕获过程:基于已写入MySQL数据库的全部数据作为关系数据集,并使用关系数据集中的列关系属性(MySQL数据库中每列的全部数据)及属性关系(MySQL数据库中每列的全部数据中对应的标签数据)构建包含单词节点的词汇图和文档节点的关系依赖图的交互语义信息的大型异构的词汇关系图,经过Concat连接,经过双层MLP全连接层输出得到GCN全局初步向量,以此获取GCN全局初步语义特征。并将GCN全局初步向量输入到为双层GCN图卷积网络进行卷积操作,并针对每一个节点分别构建出各自的邻域计算图,将邻域计算图的第0层的节点向量表征初始化节点属性,依照聚合当前节层的节点信息,并将特征传输到下一层分层传播规则,分别对从第0层到第2层进行消息传递,来获取该节点的相邻节点包含的邻域属性,最终得到该节点的GCN全局语义特征嵌入向量;
基于已写入MySQL数据库的全部数据作为关系数据集,并使用关系数据集中的列关系属性(MySQL数据库中每列的全部数据)及属性关系(MySQL数据库中每列的全部数据中对应的标签数据)构建词汇关系图,作为双层GCN图卷积网络的输入;
其中,关系数据集中行列交汇的单元格包含的特定数据作为双层GCN图卷积网络的单词节点,关系数据集的每一列的全部数据作为双层GCN图卷积网络的文档节点;
将构建的词汇关系图以及依赖关系图进行Concat拼接构建大型异构的词汇关系图,并使用两层MLP(多层感知器)进行串联操作,输出GCN全局初步向量,并将GCN全局初步向量输入到为双层GCN图卷积网络进行卷积操作,并根据节点的邻域属性引出节点的嵌入向量。
双层GCN图卷积网络如图3所示;
双层GCN图卷积网络包括输入层、GCN1、隐藏层、GCN2、输出层;
输入层(Input Layer):输入是构建词汇关系图,表示为邻接矩阵。邻接矩阵表示图中节点之间的连接关系,节点特征矩阵包含了每个节点的特征向量。
GCN1(GCN Layer 1):GCN1接收输入的邻接矩阵中自带的属性特征,找到第一层中每个节点V的一阶邻域节点,对一阶邻域节点进行逐元素求平均(逐元素求和再除以连接数)操作,以此获取其邻域信息,再经过Relu激活函数引入非线性特征,最终获取到GCN1输出的包含的V节点一阶邻域信息的嵌入向量。
隐藏层:隐藏层用于学习更高级的特征表示,包括多个神经元对上一层的输出进行线性和非线性变换。
GCN2(GCN Layer 2):GCN2接收GCN1的输出的包含的V节点一阶邻域信息的嵌入向量作为输入,基于V节点的每一个一阶邻域节点M,找到M节点的邻域节点,对其进行逐元素求平均(逐元素求和再除以连接数)操作,以此进一步获取其间接邻域信息。再经过Relu激活函数引入非线性特征以此获取到GCN1输出的包含的V节点间接邻域信息的嵌入向量。
输出层(Output Layer):最终输出GCN全局语义特征嵌入向量。
构建词汇关系图,包括:
使用WordNet语义词典和NPMI(NormalizedPointwiseMutualInformation)归一化逐点互信息来构建词汇图,使用WordNet语义词典和NPMI(NormalizedPointwiseMutualInformation)归一化逐点互信息判断单词-单词节点集合之间的语义相关性,以此来构建包含单词节点大型异构词汇图。包括:
首先,通过NPMI计算两个单词节点之间的权重以及通过仅包含动词、名词、形容词、副词的WordNet聚类操作计算单词节点相似度,如果两个单词节点的NPMI大于阈值例如设定阈值为0.86,则在两个单词节点之间创建一个语义相关边;否则,进行下一步操作;单词节点i和单词节点j的NPMI的计算公式如式(Ⅰ)所示:
式(Ⅰ)中,i和j为单词节点, #w为滑动窗口总数,#w(i)为含有单词节点i的所有滑动窗口的数量,#w(i,j)为含有单词节点i以及单词节点j的所有滑动窗口数量;
其次,两个单词节点的NPMI不大于设定阈值时,则使用WordNet中WUP(Wu-PalmerSimilarity)方法,基于路径结构进行语义相似性度量,通过计算两个单词节点的最低公共上位词LCS(LowestCommonSubsumer,LCS)与各自到其LCS的距离来衡量它们的语义相似性,再进行归一化操作来计算相似性分数,如果两个单词的NPMI不大于设定阈值但WUP大于设定的阈值例如设定阈值为0.8,则仍在两个单词节点之间创建一个语义相关边;得到词汇图;单词节点i和单词节点j的WUP的计算公式如式(Ⅱ)所示:
式(Ⅱ)中,LCS(i,j):表示单词节点i和单词节点j的最低公共上位词,depth(LCS(i,j)表示单词节点i,j最低公共上位词的深度,即从根节点到LCS的路径的长度,depth(i)表示单词节点i在WordNet层次结构中的深度,depth(j)表示单词节点j在WordNet层次结构中的深度;
利用TF-IDF(TermFrequency-InverseDocumentFrequency)词频-逆文档频次算法创建词汇关系图,包括:
通过TF-IDF词频-逆文档频次的加权算法判断单词-文档节点集合之间的重要性,以此来构建大型依赖关系图。TF表示特定单词在给定文档中出现的频率,IDF表示特定单词在整个文档集合的重要性,统计个特定单词在给定文档中的频率,再用包含该单词的文档数除以文档总数并对其取对数。若TF-IDF值高于设定阈值的50%,则在该单词-文档节点之间创建一条语义依赖关系边;若TF-IDF值低于设定阈值的50%,则不需要创建语义依赖关系边,对每一个单词-文档节点进行加权计算,最终得到关系依赖图;文档节点i和文档节点j的TF-IDF值的求取公式如式(Ⅲ)所示:
式(Ⅲ)中,ni,j表示特定单词在给定文档中出现的频次,∑knk,j表示文档中所有单词的总数,|D|表示所有文档数目,|j:ti∈dj|表示包含特定单词ti的文档数目;
将构建词汇图以及依赖关系图进行Concat拼接,并使用两层MLP(多层感知器)进行串联操作,得到词汇关系图,包括:
获取词汇图以及关系依赖图的相似度向量进行Concat拼接,并使用两层MLP进行串联操作,将向量转换为适合双层GCN图卷积网络的表示形式,获得包含单词节点的词汇图和文档节点的关系依赖图的交互语义信息的大型异构的词汇关系图,其中该词汇关系图表示为G=(V,E),其中V为节点的集合,E为边的集合。
将向量输入到为双层GCN图卷积网络进行卷积操作,并根据节点的邻域属性引出节点的嵌入向量,包括:
首先,针对每个节点分别构建出各自的邻域计算图,将邻域计算图的第0层的节点向量表征初始化为节点属性;
其次,依照聚合当前节层的节点信息,并将特征传输到下一层分层传播规则,分别对从第0层到第2层进行消息传递,来获取相邻节点的信息;对于双层GCN图卷积网络的单一卷积层,对第k层的节点进行逐元素求和再除以连接数,即逐元素求平均操作,将得到的向量输入到双层GCN图卷积网络中,进行两层卷积操作,经过激活函数得到第K+1层v节点的嵌入,最终得到该节点的GCN全局语义特征嵌入向量;
双层GCN图卷积网络遵循的单层卷积公式如式(IV)、式(V)所示:
式(IV)、(V)中,表示数据集的词汇关系图,W表示单个文档的一个权值的隐藏状态,维数为|V|*h;m表示批量大小,n表示为词汇量大小,h表示为隐藏层大小,s表示为句子嵌入大小。
通过RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制来获取局部语义特征嵌入,包括:
首先,对数据集列关系属性及属性关系进行Token化,进行线性化编码,输入到RoBERTa预训练模型中;
其次,通过输入到Tansformer的三层多头列注意力机制,对关系数据列的重点内容使用Q、K、V矩阵计算获取不同维度与类型的信息;
最后,将多个注意头的输出拼接为更深层次的包含上下文局部嵌入表示。
RoBERTa模型的网络架构如图4所示;RoBERTa模型包括Embedding模块、Transformer模块及预微调模块;
Embedding模块:负责将输入文本映射到向量表示。
Transformer模块:Transformer模块是RoBERTa的核心,包括多个TransformerEncoder层的堆叠。每个Transformer Encoder层都包括自注意力层(Multi-Head Self-Attention Layer)和前馈神经网络层(Feed-Forward Neural Network Layer)。
预微调模块:经过中间层Transformer的处理后,BERT的最后一层根据任务的不同需求而做不同的调整。本发明则采取增加多路MLP以及Adaline算法分类预测语义标签。
线性化编码,包括:
数据集关系列按行拼接成为一段文本,将该文本进行Token化后作为RoBERTa预训练模型的输入表示,经RoBERTa预训练模型Embedding编码后输出初步列向量;其中由于关系数据表的每行数量不统一,并且训练需打乱表中所有行的顺序,因此采用更大批次的RoBERTa并需要设置固定512最大行数,依照同一关系主题,将每张关系表拆分成多个表,再对关系表各列的列关系依赖按行拼接进行线性化;若线性化的输入列关系依赖的长度超过设置阈值,进行截取拆分,若长度小于设置阈值,则使用0填补至设置阈值。
获取上下文局部嵌入表示,包括:
首先,将上步骤获取得到的初步列向量,输入到Tansformer的三层多头列注意力机制,Tansformer的三层多头列注意力机制对关系数据列;使用多组Q、K、V矩阵投影到不同的表示子空间中,其中每个子空间中的每个矩阵使用Q、K、V矩阵重点关注学习计算出当前词与句子中所有其他词之间的相互关系,并不断调整每个词的权重,从而增强当前词局部特征的向量表示,最终最终将三层多头列注意力机制的输出拼接为更深层次的包含上下文局部嵌入表示;
Tansformer的单头自注意力机制的公式如(Ⅵ)所示:
式(Ⅵ)中,Q表示为查询矩阵,K表示为关键词矩阵,V表示为原始特征,QKT是点乘操作,为K的维度大小;
其次,为了获取列本身的特征和学习到关系表上下文之后的特征,采用多头注意力机制中的设置“头”数为12、隐藏层维度为128、batch_size为64配置的三层多头列注意力机制,通过多组QKV矩阵将输入的词向量投影到不同的表示子空间中,让RoBERTa预训练模型充分关注不同维度与类型的信息,将原始RoBERTa预训练模型的128维数据经过8次不同的线性投影,得到8个128维的输出,最终将三层多头列注意力机制的输出拼接为更深层次的包含上下文局部嵌入表示;多头注意力机制公式如(Ⅶ)所示:
Multi(Q,K,V)=Concat(head1,head2,...,headn)W
where headi=Attention(QWi Q,KWi K,VWi V)(Ⅶ)
式(Ⅶ)中,headi为注意力机制的头,n为注意力机制的头数。
式(Ⅵ)表示Tansformer的列自注意力机制的计算过程:通过给定一个任务相关的查询Query向量Q,通过计算与Key的注意力分布并附加在Value上,从而计算注意力分数;式(Ⅶ)表示多头注意力机制的计算过程,将模型分成N个“头”,形成N多个子空间,对于每个头使用公式(Ⅵ)的计算每个头的注意力分数,最终合并形成包含多方面关于上下文信息的向量。
信息融合预测分类,包括:
首先,将GCN全局语义特征嵌入与RoBERTa局部语义特征嵌入通过注意力机制融合权值,得到全局-局部交互的上下文语义特征向量;具体过程如下:
获取GCN全局语义特征嵌入向量以及RoBERTa局部语义特征嵌入向量,分别记做G(Global)和L(Local)
使用自注意力机制中的点积注意力权值函数计算权值,点击注意力计算公式如(VIII)所示:
A[i]=softmax(G·L[i])(VIII)
其中,A[i]表示全局特征向量G与局部特征向量L[i]之间的点积计算得到的权值,softmax函数用于归一化这些权值,以确保它们相加等于1。
应用注意力权值A对局部特征向量加权求和,即对于局部特征向量L中的每个元素L[i],使用相应的权值A[i]来加权得到C[i],以此得到全局-局部交互的上下文语义特征向量。
其次,在RoBERTa预训练模型训练过程中,将输出的向量经过MLP全连接层以及Softmax函数归一化操作,最终输出每个样本对应的所属语义类别概率,进行预测分类;为了增强MLP层的鲁棒性,本发明采用Adaline算法对输出的所属语义类别概率进行整合,包括:采用多路MLP的方法,将经过不同层数全连接层得到的结果组成一个向量,该向量即Adaline算法的输入,Adaline算法根据输出的所属语义类别概率,给不同MLP的输出进行打分;其中,输出的所属语义类别概率越接近标签的输出值将得到更高的分数;接下来,根据这个打分的分布,在一个正态分布上进行采样,并且根据采样值对每个打分进行了不同权重的累加,按照该累加的值获得当前样本的加权得分,获得样本最终所属分类的概率。
MLP模型输出预测语义类别标签的概率,本发明训练了4个MLP模型A,B,C,D来接收融合后的全局-局部交互的上下文语义特征向量,MLP模型层数分别包含3、4、5、6个全连接层。
以仅有四个语义标签为例,四个语义标签分别为猫、狗、熊、鸟,假设MLP模型A输出为[0.2,0.7,0.1,0.0],MLP模型B输出为[0.1,0.6,0.2,0.1],MLP模型C输出为[0.3,0.4,0.2,0.1],MLP模型D输出为[0.0,0.2,0.6,0.2],将四个MLP模型输出的概率向量进行合并,合并向量=[0.2,0.7,0.1,0.0,0.1,0.6,0.2,0.1,0.3,0.4,0.2,0.1,0.0,0.2,0.6,0.2]。
Adaline算法接受合并向量,将每个概率值乘以一个权重,根据这个打分的分布,在一个正态分布上进行采样,并且根据采样值对每个打分进行了不同权重的累加为每个语义类别打分。
假设使用以下权重进行评分:狗的权重:0.5,猫的权重:0.7,熊的权重:0.4,鸟的权重:0.2。
MLP模型A的得分=(0.2*0.5)+(0.7*0.7)+(0.1*0.4)+(0.0*0.2)=0.39
MLP模型B的得分=(0.1*0.5)+(0.6*0.7)+(0.2*0.4)+(0.1*0.2)=0.42
MLP模型C的得分=(0.3*0.5)+(0.4*0.7)+(0.2*0.4)+(0.1*0.2)=0.38
MLP模型D的得分=(0.0*0.5)+(0.2*0.7)+(0.6*0.4)+(0.2*0.2)=0.35
由于MLP模型B的得分最高,最终获得样本最终所属分类的为猫。
在该方法中,通过Self-Attention机制实现标签之间地共现纠错,并且通过交叉熵损失函数对模型参数优化以及抽取增量数据循环更新优化模型,包括:
首先,利用Transformer模型Encoder部分的Self-Attention机制实现标签之间的共现,使每一个输入标签都得到对应的输出向量,进一步分类映射到真实的类别标签;
其次,损失函数采用联合训练对模型参数进行更新;
最后,通过设定固定时间周期,从hudi数据湖中抽取的增量数据来更新优化模型。
通过Self-Attention机制实现标签之间地共现纠错,包括:
搭建一个共现标签搭建的纠错模型,将上述预测模型预测的不完全正确的标签序列y(1)映射到更正确的标签序列y(2);纠错模型选择并行化的且具有顺序无关性的Transformer模型的Encoder模块,Transformer Encoder模块的核心是自注意力机制和前馈神经网络,用于建模输入序列中元素之间的关系。自注意力机制用于建模标签序列y(1)中不同标签之间的依赖关系,以及捕捉标签之间的关联。自注意力机制使模型能够动态地关注输入序列中的不同部分,而不是固定地关注特定位置。对于每个输入元素,自注意力机制计算一个加权组合,其中包括来自输入序列中所有其他元素的信息。前馈神经网络有助于捕捉输入序列中的局部模式和非线性关系。最终输出纠正后的标签特征向量。纠错模型输入为预测模型预测的标签,标签对每一个标签进行向量化,利用Transformer模型Encoder部分的Self-Attention机制实现标签之间的共现,每一个输入标签都得到对应的输出向量,进一步分类映射到真实的类别标签,y={y0,y1,...,yn-1},其中每一个输出位置都是关于输入的标签序列的概率最大化。
更新优化模型,包括:
首先,采用三元熵损失函数联合训练,对预测模型参数进行更新,以及采用交叉熵损失函数对纠错模型进行优化更新;
其次,通过设定固定时间周期,从hudi数据湖中抽取的增量数据来更新优化预测模型;
三元熵损失函数,包括:
采用Adam优化器来优化目标函数,避免模型陷入局部最小值,并通过反向传播来更新每轮迭代过程中预测模型的各种参数,直到预测模型达到拟合要求;并且使用三元熵损失函数采用联合训练对预测模型参数进行微调,通过两两计算交叉熵并对其进行平均池化操作,获取实际输出与期望输出的距离;若交叉熵的值越小说明模型预测误差损失值越小,实际值与目标值越相近;
对于每个样本,预测模型预测概率分布为实际的标签真值分布表示为y={y0,y1,...,yn-1},对于每一对类别i和j,计算交叉熵损失公式如(Ⅸ)所示:
生成个交叉熵损失值,对这些交叉熵损失值进行平均池化(averagepooling),得到最终的三元熵损失如(Ⅹ)所示:
纠错模型的交叉熵损失函数,包括:
对于每个样本,纠错模型使用交叉熵损失,对原有的标签分布向量与预测向量进行损失计算,从而得到最大化对齐概率的匹配结果。
抽取增量数据循环更新优化模型,包括:
其中固定时间周期根据其业务数据更新频率来进行增量更新,一些业务场景可能需要每天更新,如就餐管理系统中的就餐记录表,则需要使用Spark编写数据获取脚本,按照天级别维度进行增量数据抽取,而其他某些任务每周更新或每月更新,如成果转化系统中的专利成果转化表以及教师管理系统中的教师基本信息表,可选择天级别,即需要按周或月级别抽取增量数据抽取。并将增量数据抽取到到步骤一中采集清洗进行增量循环更新模型。即编写Shell相关代码,使得Torch模型能够进行例行化,例行化得到的模型即为使用增量数据训练得到的模型(结构相同,但是参数不同),然后T+1增量模型会取代T增量模型成为推断模型。
实施例3
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现实施例1或2所述一种基于GCN和RoBERTa的上下文感知的列语义识别方法的步骤。
实施例4
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现实施例1或2所述一种基于GCN和RoBERTa的上下文感知的列语义识别方法的步骤。
实施例5
一种基于GCN和RoBERTa的上下文感知的列语义识别系统,用于实现实施例1或2所述的一种基于GCN和RoBERTa的上下文感知的列语义识别方法,包括数据预处理模块、列语义识别模块、标签纠错及更新优化模块;
数据预处理模块,用于编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务,并且按照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中。
列语义识别模块,用于于数据集的列关系属性及属性关系构建词汇关系图,作为双层图卷积网络输入来获取GCN全局语义特征嵌入;与此同时,通过RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制来获取局部语义特征嵌入,将GCN以及RoBERta的并联输出的嵌入向量通过注意力机制融合权值,得到全局-局部交互的上下文语义信息,并使用Adaline进行分类预测;
标签纠错及更新优化模块,用于通过Self-Attention机制实现标签之间地共现纠错,并且通过交叉熵损失函数对模型参数优化以及抽取增量数据循环更新优化模型;
数据抽取模块包括数据采集模块、数据清洗模块;数据抽取模块用于编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务;数据清洗模块用于照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中;包括缺失值处理模块、异常值处理模块、文本处理模块;缺失值处理模块用于将使用时间序列插值方法以及前后有效值插值方法填充填充数据缺失处;异常值处理模块用于将错误的异常值进行删除;文本处理模块用于将文本去除特殊字符、去除停用词以及jieba分词操作。
列语义识别模块包括GCN全局语义特征嵌入模块,局部语义特征嵌入模块和信息融合预测分类模块;
GCN全局语义特征嵌入模块用于利用WordNet语义词典,NPMI构建词汇图,以及使用TF-IDF词频-逆文档频次算法创建词汇关系图,将构建词汇图以及依赖关系图进行Concat拼接,并使用两层MLP(多层感知器)进行串联操作,将向量输入到为双层GCN进行卷积操作,并根据节点的邻域属性引出节点的嵌入向量;
局部语义特征嵌入模块用于RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制中的Q、K、V矩阵来获取局部特征的向量表示,以及使用多头注意机制将输入的词向量投影到不同的表示子空间中进行线性学习,并且将多个注意头输出拼接更深层次的局部语义特征嵌入;
信息融合预测分类模块用于将GCN输出的全局语义特征信息与RoBERTa预训练模型中的核心模块Transformer多头自注意力机制获取得到的局部语义特征信息通过注意力机制融合权值,得到全局-局部交互的上下文语义信息以及使用Adaline算法对输出的预测分类概率进行了整合,采用了多路MLP的方法,将经过不同层数全连接层得到的结果组成一个向量,这个向量即为Adaline的输入,Adaline会根据输出分类的概率,给不同MLP的输出进行打分。
标签纠错及更新优化模块包括纠错模块、损失函数更新模块、增量数据更新模块;纠错模块用于利用Transformer模型Encoder部分的Self-Attention机制实现标签之间的共现,使每一个输入标签都可以得到对应的输出向量,进一步分类映射到真实的类别标签;损失函数更新模块用于三元熵损失函数联合训练对预测模型参数进行更新以及采用交叉熵损失函数对纠错模型参数进行优化更新;增量数据更新模块用于通过设定固定时间周期,从hudi数据湖中抽取的增量数据来更新优化模型。
Claims (10)
1.一种基于GCN和RoBERTa的上下文感知的列语义识别方法,其特征在于,包括:
数据预处理:编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务,并且按照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中;
列语义识别:基于GCN和RoBERTa构造的列语义识别模型作为预测模型;使用数据集的列关系属性及属性关系构建词汇关系图,作为双层GCN图卷积网络输入来获取GCN全局语义特征嵌入;与此同时,通过RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制来获取局部语义特征嵌入,将GCN以及RoBERta的并联输出的嵌入向量通过注意力机制融合权值,得到全局-局部交互的上下文语义信息,并使用Adaline进行分类预测;
标签纠错及更新优化:通过Self-Attention机制实现标签之间地共现纠错,并且通过交叉熵损失函数对模型参数优化以及抽取增量数据循环更新优化模型。
2.根据权利要求1所述的一种基于GCN和RoBERTa的上下文感知的列语义识别方法,其特征在于,在该方法中,编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务,并且按照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中;包括:
通过编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务;包括:在Spark作业中导入相关所需库,并创建一个Spark会话编写代码,来获取Hudi的底层存储HDFS中的增量数据,并转换成MySQL的数据格式,将转换成MySQL的数据格式的数据写入MySQL数据库;
按照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中;数据清洗包括对采集到的数据依次进行缺失值处理、异常值处理以及文本处理操作;
进一步地,在该方法中,基于GCN和RoBERTa构造的列语义识别模型作为预测模型;使用数据集的列关系属性及属性关系构建词汇关系图,作为双层GCN图卷积网络输入来获取GCN全局语义特征嵌入;与此同时,通过RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制来获取局部语义特征嵌入,将GCN以及RoBERta的并联输出的嵌入向量通过注意力机制融合权值,得到全局-局部交互的上下文语义信息,并使用Adaline进行分类预测;包括:
捕获GCN全局语义特征嵌入向量;GCN全局语义特征嵌入向量是指经过双层GCN图卷积网络进行卷积后输出的包含全局上下文语义信息的特征向量;
基于已写入MySQL数据库的全部数据作为关系数据集,并使用关系数据集中的列关系属性及属性关系构建词汇关系图,作为双层GCN图卷积网络的输入;
其中,关系数据集中行列交汇的单元格包含的特定数据作为双层GCN图卷积网络的单词节点,关系数据集的每一列的全部数据作为双层GCN图卷积网络的文档节点;
将构建的词汇关系图以及依赖关系图进行Concat拼接构建大型异构的词汇关系图,并使用两层MLP进行串联操作,输出GCN全局初步向量,并将GCN全局初步向量输入到为双层GCN图卷积网络进行卷积操作,并根据节点的邻域属性引出节点的嵌入向量。
3.根据权利要求2所述的一种基于GCN和RoBERTa的上下文感知的列语义识别方法,其特征在于,构建词汇关系图,包括:
使用WordNet语义词典和NPMI归一化逐点互信息来构建词汇图,包括:
首先,通过NPMI计算两个单词节点之间的权重以及通过仅包含动词、名词、形容词、副词的WordNet聚类操作计算单词节点相似度,如果两个单词节点的NPMI大于阈值,则在两个单词节点之间创建一个语义相关边;否则,进行下一步操作;单词节点i和单词节点j的NPMI的计算公式如式(Ⅰ)所示:
式(Ⅰ)中,i和j为单词节点,#w为滑动窗口总数,#w(i)为含有单词节点i的所有滑动窗口的数量,#w(i,j)为含有单词节点i以及单词节点j的所有滑动窗口数量;
其次,两个单词节点的NPMI不大于设定阈值时,则使用WordNet中WUP方法,基于路径结构进行语义相似性度量,通过计算两个单词节点的最低公共上位词LCS与各自到其LCS的距离来衡量它们的语义相似性,再进行归一化操作来计算相似性分数,如果两个单词的NPMI不大于设定阈值但WUP大于设定的阈值,则仍在两个单词节点之间创建一个语义相关边;得到词汇图;单词节点i和单词节点j的WUP的计算公式如式(Ⅱ)所示:
式(Ⅱ)中,LCS(i,j):表示单词节点i和单词节点j的最低公共上位词,depth(LCS(i,j)表示单词节点i,j最低公共上位词的深度,即从根节点到LCS的路径的长度,depth(i)表示单词节点i在WordNet层次结构中的深度,depth(j)表示单词节点j在WordNet层次结构中的深度;
利用TF-IDF词频-逆文档频次算法创建词汇关系图,包括:
若TF-IDF值高于设定阈值的50%,则在该单词-文档节点之间创建一条语义依赖关系边;若TF-IDF值低于设定阈值的50%,则不需要创建语义依赖关系边,对每一个单词-文档节点进行加权计算,最终得到关系依赖图;文档节点i和文档节点j的TF-IDF值的求取公式如式(Ⅲ)所示:
式(Ⅲ)中,ni,j表示特定单词在给定文档中出现的频次,∑knk,j表示文档中所有单词的总数,|D|表示所有文档数目,|j:ti∈dj|表示包含特定单词ti的文档数目;
将构建词汇图以及依赖关系图进行Concat拼接,并使用两层MLP进行串联操作,得到词汇关系图,包括:
获取词汇图以及关系依赖图的相似度向量进行Concat拼接,并使用两层MLP进行串联操作,获得包含单词节点的词汇图和文档节点的关系依赖图的交互语义信息的大型异构的词汇关系图,其中该词汇关系图表示为G=(V,E),其中V为节点的集合,E为边的集合。
4.根据权利要求1所述的一种基于GCN和RoBERTa的上下文感知的列语义识别方法,其特征在于,将向量输入到为双层GCN图卷积网络进行卷积操作,并根据节点的邻域属性引出节点的嵌入向量,包括:
首先,针对每个节点分别构建出各自的邻域计算图,将邻域计算图的第0层的节点向量表征初始化为节点属性;
其次,依照聚合当前节层的节点信息,并将特征传输到下一层分层传播规则,分别对从第0层到第2层进行消息传递,来获取相邻节点的信息;对于双层GCN图卷积网络的单一卷积层,对第k层的节点进行逐元素求和再除以连接数,即逐元素求平均操作,将得到的向量输入到双层GCN图卷积网络中,进行两层卷积操作,经过激活函数得到第K+1层v节点的嵌入,最终得到该节点的GCN全局语义特征嵌入向量;
双层GCN图卷积网络遵循的单层卷积公式如式(IV)、式(V)所示:
式(IV)、(V)中,表示数据集的词汇关系图,W表示单个文档的一个权值的隐藏状态,维数为|V|*h;m表示批量大小,n表示为词汇量大小,h表示为隐藏层大小,s表示为句子嵌入大小。
5.根据权利要求1所述的一种基于GCN和RoBERTa的上下文感知的列语义识别方法,其特征在于,通过RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制来获取局部语义特征嵌入,包括:
首先,对数据集列关系属性及属性关系进行Token化,进行线性化编码,输入到RoBERTa预训练模型中;
其次,通过输入到Tansformer的三层多头列注意力机制,对关系数据列的重点内容使用Q、K、V矩阵计算获取不同维度与类型的信息;
最后,将多个注意头的输出拼接为更深层次的包含上下文局部嵌入表示。
6.根据权利要求5所述的一种基于GCN和RoBERTa的上下文感知的列语义识别方法,其特征在于,线性化编码,包括:
数据集关系列按行拼接成为一段文本,将该文本进行Token化后作为RoBERTa预训练模型的输入表示,经RoBERTa预训练模型Embedding编码后输出初步列向量;设置固定512最大行数,依照同一关系主题,将每张关系表拆分成多个表,再对关系表各列的列关系依赖按行拼接进行线性化;若线性化的输入列关系依赖的长度超过设置阈值,进行截取拆分,若长度小于设置阈值,则使用0填补至设置阈值;
进一步的,获取上下文局部嵌入表示,包括:
首先,将上步骤获取得到的初步列向量,输入到Tansformer的三层多头列注意力机制,Tansformer的三层多头列注意力机制对关系数据列;使用多组Q、K、V矩阵投影到不同的表示子空间中,其中每个子空间中的每个矩阵使用Q、K、V矩阵重点关注学习计算出当前词与句子中所有其他词之间的相互关系,并不断调整每个词的权重,从而增强当前词局部特征的向量表示,最终最终将三层多头列注意力机制的输出拼接为更深层次的包含上下文局部嵌入表示;
Tansformer的单头自注意力机制的公式如(Ⅵ)所示:
式(Ⅵ)中,Q表示为查询矩阵,K表示为关键词矩阵,V表示为原始特征,QKT是点乘操作,为K的维度大小;
其次,采用多头注意力机制中的设置“头”数为12、隐藏层维度为128、batch_size为64配置的三层多头列注意力机制,通过多组QKV矩阵将输入的词向量投影到不同的表示子空间中,让RoBERTa预训练模型充分关注不同维度与类型的信息,将原始RoBERTa预训练模型的128维数据经过8次不同的线性投影,得到8个128维的输出,最终将三层多头列注意力机制的输出拼接为更深层次的包含上下文局部嵌入表示;多头注意力机制公式如(Ⅶ)所示:
Multi(Q,K,V)=Concat(head1,head2,...,headn)W
where headi=Attention(QWi Q,KWi K,VWi V)(Ⅶ)
式(Ⅶ)中,headi为注意力机制的头,n为注意力机制的头数。
7.根据权利要求1-6任一所述的一种基于GCN和RoBERTa的上下文感知的列语义识别方法,其特征在于,信息融合预测分类,包括:
首先,将GCN全局语义特征嵌入与RoBERTa局部语义特征嵌入通过注意力机制融合权值,得到全局-局部交互的上下文语义特征向量;
其次,在RoBERTa预训练模型训练过程中,将输出的向量经过MLP全连接层以及Softmax函数归一化操作,最终输出每个样本对应的所属语义类别概率,进行预测分类;采用Adaline算法对输出的所属语义类别概率进行整合,包括:采用多路MLP的方法,将经过不同层数全连接层得到的结果组成一个向量,该向量即Adaline算法的输入,Adaline算法根据输出的所属语义类别概率,给不同MLP的输出进行打分;其中,输出的所属语义类别概率越接近标签的输出值将得到更高的分数;接下来,根据这个打分的分布,在一个正态分布上进行采样,并且根据采样值对每个打分进行了不同权重的累加,按照该累加的值获得当前样本的加权得分,获得样本最终所属分类的概率;
进一步地,在该方法中,通过Self-Attention机制实现标签之间地共现纠错,并且通过交叉熵损失函数对模型参数优化以及抽取增量数据循环更新优化模型,包括:
首先,利用Transformer模型Encoder部分的Self-Attention机制实现标签之间的共现,使每一个输入标签都得到对应的输出向量,进一步分类映射到真实的类别标签;
其次,损失函数采用联合训练对模型参数进行更新;
最后,通过设定固定时间周期,从hudi数据湖中抽取的增量数据来更新优化模型;
进一步地,通过Self-Attention机制实现标签之间地共现纠错,包括:
搭建一个共现标签搭建的纠错模型,将上述预测模型预测的不完全正确的标签序列y(1)映射到更正确的标签序列y(2);纠错模型选择并行化的且具有顺序无关性的Transformer模型的Encoder模块,纠错模型输入为预测模型预测的标签,标签对每一个标签进行向量化,利用Transformer模型Encoder部分的Self-Attention机制实现标签之间的共现,每一个输入标签都得到对应的输出向量,进一步分类映射到真实的类别标签,y={y0,y1,...,yn-1},其中每一个输出位置都是关于输入的标签序列的概率最大化;
进一步地,更新优化模型,包括:
首先,采用三元熵损失函数联合训练,对预测模型参数进行更新,以及采用交叉熵损失函数对纠错模型进行优化更新;
其次,通过设定固定时间周期,从hudi数据湖中抽取的增量数据来更新优化预测模型;
进一步地,三元熵损失函数,包括:
采用Adam优化器来优化目标函数,并通过反向传播来更新每轮迭代过程中预测模型的各种参数,直到预测模型达到拟合要求;并且使用三元熵损失函数采用联合训练对预测模型参数进行微调,通过两两计算交叉熵并对其进行平均池化操作,获取实际输出与期望输出的距离;
对于每个样本,预测模型预测概率分布为实际的标签真值分布表示为y={y0,y1,...,yn-1},对于每一对类别i和j,计算交叉熵损失公式如(Ⅸ)所示:
生成个交叉熵损失值,对这些交叉熵损失值进行平均池化(average pooling),得到最终的三元熵损失如(Ⅹ)所示:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7任一所述的一种基于GCN和RoBERTa的上下文感知的列语义识别方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一所述的一种基于GCN和RoBERTa的上下文感知的列语义识别方法的步骤。
10.一种基于GCN和RoBERTa的上下文感知的列语义识别系统,其特征在于,用于实现权利要求1-7任一所述的一种基于GCN和RoBERTa的上下文感知的列语义识别方法,包括数据预处理模块、列语义识别模块、标签纠错及更新优化模块;
所述数据预处理模块,用于编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务,并且按照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中;
所述列语义识别模块,用于于数据集的列关系属性及属性关系构建词汇关系图,作为双层图卷积网络输入来获取GCN全局语义特征嵌入;与此同时,通过RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制来获取局部语义特征嵌入,将GCN以及RoBERta的并联输出的嵌入向量通过注意力机制融合权值,得到全局-局部交互的上下文语义信息,并使用Adaline进行分类预测;
所述标签纠错及更新优化模块,用于通过Self-Attention机制实现标签之间地共现纠错,并且通过交叉熵损失函数对模型参数优化以及抽取增量数据循环更新优化模型;
进一步地,数据抽取模块包括数据采集模块、数据清洗模块;
数据抽取模块用于编写Spark作业执行将Hudi与MySQL数据链路打通操作来设置增量同步数据获取任务;
数据清洗模块用于照固定维度分区进行数据采集和清洗,采集得到的数据按照覆盖现有数据的形式加载到Mysql环境当中;包括缺失值处理模块、异常值处理模块、文本处理模块;
缺失值处理模块用于将使用时间序列插值方法以及前后有效值插值方法填充填充数据缺失处;
异常值处理模块用于将错误的异常值进行删除;
文本处理模块用于将文本去除特殊字符、去除停用词以及jieba分词操作;
进一步地,所述列语义识别模块包括GCN全局语义特征嵌入模块,局部语义特征嵌入模块和信息融合预测分类模块;
GCN全局语义特征嵌入模块用于利用WordNet语义词典,NPMI构建词汇图,以及使用TF-IDF词频-逆文档频次算法创建词汇关系图,将构建词汇图以及依赖关系图进行Concat拼接,并使用两层MLP进行串联操作,将向量输入到为双层GCN进行卷积操作,并根据节点的邻域属性引出节点的嵌入向量;
局部语义特征嵌入模块用于RoBERTa预训练模型线性化编码,将初步列向量输入到三层Tansformer使用其多头列注意力机制中的Q、K、V矩阵来获取局部特征的向量表示,以及使用多头注意机制将输入的词向量投影到不同的表示子空间中进行线性学习,并且将多个注意头输出拼接更深层次的局部语义特征嵌入;
信息融合预测分类模块用于将GCN输出的全局语义特征信息与RoBERTa预训练模型中的核心模块Transformer多头自注意力机制获取得到的局部语义特征信息通过注意力机制融合权值,得到全局-局部交互的上下文语义信息以及使用Adaline算法对输出的预测分类概率进行了整合,采用了多路MLP的方法,将经过不同层数全连接层得到的结果组成一个向量,这个向量即为Adaline的输入,Adaline会根据输出分类的概率,给不同MLP的输出进行打分;
进一步地,所述标签纠错及更新优化模块包括纠错模块、损失函数更新模块、增量数据更新模块;
纠错模块用于利用Transformer模型Encoder部分的Self-Attention机制实现标签之间的共现,使每一个输入标签都可以得到对应的输出向量,进一步分类映射到真实的类别标签;
损失函数更新模块用于三元熵损失函数联合训练对预测模型参数进行更新以及采用交叉熵损失函数对纠错模型参数进行优化更新;
增量数据更新模块用于通过设定固定时间周期,从hudi数据湖中抽取的增量数据来更新优化模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311380815.2A CN117312989A (zh) | 2023-10-24 | 2023-10-24 | 一种基于GCN和RoBERTa的上下文感知的列语义识别方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311380815.2A CN117312989A (zh) | 2023-10-24 | 2023-10-24 | 一种基于GCN和RoBERTa的上下文感知的列语义识别方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117312989A true CN117312989A (zh) | 2023-12-29 |
Family
ID=89249775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311380815.2A Pending CN117312989A (zh) | 2023-10-24 | 2023-10-24 | 一种基于GCN和RoBERTa的上下文感知的列语义识别方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312989A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648633A (zh) * | 2024-01-29 | 2024-03-05 | 西南石油大学 | 一种基于增强图注意力网络的敏感信息识别方法及系统 |
CN117909506A (zh) * | 2024-03-15 | 2024-04-19 | 中国电子科技集团公司第十研究所 | 一种基于细微特征的核心主题事件监测方法及设备 |
-
2023
- 2023-10-24 CN CN202311380815.2A patent/CN117312989A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648633A (zh) * | 2024-01-29 | 2024-03-05 | 西南石油大学 | 一种基于增强图注意力网络的敏感信息识别方法及系统 |
CN117648633B (zh) * | 2024-01-29 | 2024-04-19 | 西南石油大学 | 一种基于增强图注意力网络的敏感信息识别方法及系统 |
CN117909506A (zh) * | 2024-03-15 | 2024-04-19 | 中国电子科技集团公司第十研究所 | 一种基于细微特征的核心主题事件监测方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3920044A1 (en) | Data-driven structure extraction from text documents | |
CN109446341A (zh) | 知识图谱的构建方法及装置 | |
Feng et al. | Enhanced sentiment labeling and implicit aspect identification by integration of deep convolution neural network and sequential algorithm | |
JP2019533259A (ja) | 逐次正則化を用いた同時多タスクニューラルネットワークモデルのトレーニング | |
Maass et al. | Pairing conceptual modeling with machine learning | |
CN117312989A (zh) | 一种基于GCN和RoBERTa的上下文感知的列语义识别方法和系统 | |
JP7486250B2 (ja) | 高速スクリーニングのためのドメイン固有言語インタープリタ及び対話型視覚インターフェース | |
US20220100963A1 (en) | Event extraction from documents with co-reference | |
US20220100772A1 (en) | Context-sensitive linking of entities to private databases | |
US11507901B1 (en) | Apparatus and methods for matching video records with postings using audiovisual data processing | |
Sadr et al. | ACNN-TL: attention-based convolutional neural network coupling with transfer learning and contextualized word representation for enhancing the performance of sentiment classification | |
US8170967B2 (en) | Knowledge base comprising executable stories | |
Frolov et al. | Parsimonious generalization of fuzzy thematic sets in taxonomies applied to the analysis of tendencies of research in data science | |
WO2022072237A1 (en) | Lifecycle management for customized natural language processing | |
Lavrač et al. | Representation Learning: Propositionalization and Embeddings | |
Sanprasit et al. | Intelligent approach to automated star-schema construction using a knowledge base | |
US10685281B2 (en) | Automated predictive modeling and framework | |
Jeyaraman et al. | Practical Machine Learning with R: Define, build, and evaluate machine learning models for real-world applications | |
US11599588B1 (en) | Apparatus and method of entity data aggregation | |
US20230153335A1 (en) | Searchable data structure for electronic documents | |
US20230297963A1 (en) | Apparatus and method of opportunity classification | |
Sharma et al. | Deep learning in big data and data mining | |
Cellier et al. | Machine Learning and Knowledge Discovery in Databases: International Workshops of ECML PKDD 2019, Würzburg, Germany, September 16–20, 2019, Proceedings, Part I | |
US11868313B1 (en) | Apparatus and method for generating an article | |
Mishra | PyTorch Recipes: A Problem-Solution Approach |
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 |