CN114462045B - 一种智能合约漏洞检测方法 - Google Patents
一种智能合约漏洞检测方法 Download PDFInfo
- Publication number
- CN114462045B CN114462045B CN202111662475.3A CN202111662475A CN114462045B CN 114462045 B CN114462045 B CN 114462045B CN 202111662475 A CN202111662475 A CN 202111662475A CN 114462045 B CN114462045 B CN 114462045B
- Authority
- CN
- China
- Prior art keywords
- operation code
- training
- training operation
- intelligent contract
- fragment
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种智能合约漏洞检测方法,包括如下步骤:构建与智能合约训练样本对应的训练操作码,滑动窗口对训练操作码进行遍历截取以获得多个训练操作码片段,生成与训练操作码对应的训练操作码片段集;将Transformer模型作为智能合约漏洞检测模型,采用训练操作码片段集对Transformer模型进行训练;对待检测智能合约进行预处理生成待检测操作码,滑动窗口对待检测操作码进行截取生成待检测操作码片段集,将待检测操作码片段集输入至Transformer模型;由分类器输出智能合约漏洞检测结果。Transformer模型会对具体训练操作码片段和其他所有训练操作码片段之间的相关性进行计算,因此最终训练完成的Transformer模型在实际使用的时候能够输出充分展现智能合约漏洞线索的结果。
Description
技术领域
本发明涉及一种智能合约漏洞检测方法,属于数据漏洞检测领域。
背景技术
智能合约是区块链技术中的一个重要的新兴分支,其语言尚未成熟,开发人员水平有限,因此现有的绝大部分已有的智能合约或多或少都有漏洞,且智能合约的数据量也相对不足。
针对智能合约漏洞检测现阶段主要依靠训练完成的CNN,并采用分词器对智能合约操作码以操作码单元为基本单元的方式进行拆分,但是CNN本质上是一个n-gram模型,这就导致在对智能合约中特定操作码单元计算关联分数的时候只会考虑该特定操作码单元之前的操作码单元,这就导致CNN的训练效果很差,不能很好地识别智能合约漏洞。
也因此,大部分情况下CNN更多地只适用于视觉图像以及自然语言处理,在对智能合约漏洞检测上的应用存在很大的局限性。
发明内容
本发明所要解决的技术问题在于克服现有技术的不足而提供一种智能合约漏洞检测方法。
解决上述技术问题,本发明采用如下技术方案:
一种智能合约漏洞检测方法,包括如下步骤:
步骤S1:构建与智能合约训练样本对应的训练操作码,以窗口大小为n的滑动窗口对训练操作码进行遍历截取以获得多个训练操作码片段,每个训练操作码片段包含多个训练操作码单元,选取部分或全部训练操作码片段生成与训练操作码对应的训练操作码片段集;
步骤S2:将Transformer模型作为智能合约漏洞检测模型,采用训练操作码片段集对Transformer模型进行训练,直至损失函数达到最小值,以使Transformer模型训练完成;
步骤S3:对待检测智能合约进行预处理,以生成待检测操作码,以窗口大小为n的滑动窗口对待检测操作码进行遍历截取,以生成待检测操作码片段集,将待检测操作码片段集输入至Transformer模型;
步骤S4:Transformer模型将结果输出至分类器,由分类器输出智能合约漏洞检测结果。
本发明的有益效果为:
Transformer模型在自身自注意力机制作用下通过训练操作码片段集进行训练的时候,在针对具体训练操作码片段相关性计算的环节,会对具体训练操作码片段和其他所有训练操作码片段之间的相关性进行计算,因此最终训练完成的Transformer模型在实际使用的时候能够输出充分展现智能合约漏洞线索的结果,同时具体训练操作码片段和其他所有训练操作码片段之间的相关性计算为并行运算,因此Transformer模型的训练过程也被极大缩短。
本发明步骤S1中,同一个训练操作码对应的训练操作码片段集有多个,训练操作码片段集分为正训练操作码片段集和负训练操作码片段集;
其中,训练操作码经过滑动窗口的遍历截取后依次生成x1,x2,......,xm,x1,x2,......,xm均为由滑动窗口截取的训练操作码片段,锁定x1,x2,......,xm中的无漏洞训练操作码片段,选取若干无漏洞训练操作码片段作为正训练操作码片段集,选取无漏洞训练操作码片段上下文处的若干有漏洞训练操作码片段作为负训练操作码片段集。
本发明正训练操作码片段集数量为负训练操作码片段集数量的1-1.5倍。
本发明生成训练操作码片段集后,构建训练操作码片段集对应的漏洞信息矩阵,漏洞信息矩阵中包含多种漏洞类型信息,步骤S2和步骤S3之间还包括步骤S2’;
步骤S2’:对训练完成后的Transformer模型输入训练操作码片段集,使得Transformer模型输出分类器训练数据,利用漏洞信息矩阵和分类器训练数据对分类器进行训练。
本发明训练操作码的构建方法如下:爬取智能合约训练样本的Solidity源码,采用Solc编译器将Solidity源码编译成字节码,字节码根据以太坊黄皮书中的对应关系生成原始操作码,原始操作码经移除操作数后得到训练操作码。
本发明Transformer模型中包含有用于进行特征降维的全连接层。
本发明有漏洞训练操作码片段生成负训练操作码片段集的过程中,保留有漏洞训练操作码片段在x1,x2,......,xm中的相对位置信息,以使Transformer模型在步骤S2中能够进行位置嵌入。
本发明的其他特点和优点将会在下面的具体实施方式、附图中详细的揭露。
附图说明
下面结合附图对本发明做进一步的说明:
图1为本发明实施例1的智能合约漏洞检测方法的流程图。
具体实施方式
下面结合本发明实施例的附图对本发明实施例的技术方案进行解释和说明,但下述实施例仅为本发明的优选实施例,并非全部。基于实施方式中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得其他实施例,都属于本发明的保护范围。
在下文描述中,出现诸如术语“内”、“外”、“上”、“下”、“左”、“右”等指示方位或者位置关系仅是为了方便描述实施例和简化描述,而不是指示或暗示所指的装置或者元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
实施例1:
参见图1,本实施例提供了一种智能合约漏洞检测方法,包括如下步骤:
步骤S1:从数据库中调取一份已有的漏洞检测完成的智能合约作为训练样本,称为智能合约训练样本,为了生成与智能合约训练样本对应的训练操作码,首先爬取智能合约训练样本的Solidity源码,采用Solc编译器将Solidity源码编译成字节码,字节码根据以太坊黄皮书中的对应关系生成原始操作码,可以发现,原始操作码中的操作数与智能合约训练样本中的漏洞之间并不存在任何关联性,因此本实施例对原始操作码进行移除操作数操作,从而得到训练操作码,该训练操作码与智能合约训练样本相对应,训练操作码相对原始操作码更为精简,以此为基础,智能合约漏洞检测模型的训练精度也能有所增加;
与自然语言处理不同,针对训练操作码并不适用分词器进行分割,分词器对训练操作码的分词结果往往并不准确,这就导致分词结果之间的关联性很差,严重影响了后续的智能合约漏洞检测模型的训练效果;
针对这一问题,本实施例以窗口大小为n的滑动窗口对训练操作码进行遍历截取以获得多个训练操作码片段,截取获得的各个训练操作码片段依次为x1,x2,......,xm,同时每个训练操作码片段包含多个训练操作码单元;
例如,训练操作码为abcde,则a、b、c、d、e即为训练操作码中的训练操作码单元,若以n=2的滑动窗口对训练操作码进行遍历截取,则可以按顺序依次获得ab、bc、cd、de共计四个训练操作码片段,对应的,相应的ab为x1,bc为x2,cd为x3,de为x4,每个训练操作码片段中包含两个,即n个训练操作码单元;
可以发现,虽然单个训练操作码单元本身并不具备智能合约漏洞的线索,但是任一训练操作码片段中均包含多个训练操作码单元,同一个训练操作码片段中不同的训练操作码单元之间的相关性可以提供智能合约漏洞的线索,因此训练操作码片段可以作为后续智能合约漏洞检测模型训练的最基础数据单元;
此外,以ab和bc两个训练操作码片段为例,在两个训练操作码片段中具有相同的训练操作码单元b,因此相邻两个训练操作码片段之间也具备一定关联性,该关联性的存在无关于滑动窗口的窗口大小,因此相邻两个训练操作码片段之间也存在智能合约漏洞的线索;
在其他实施例中,若进一步增加n的数值,就可以使更多相邻的训练操作码片段之间存在关联性,从而展现出更多的智能合约漏洞的线索;
基于此,本实施例选取部分或全部训练操作码片段生成与训练操作码对应的训练操作码片段集;
同样以ab、bc、cd、de四个训练操作码片段为例,训练操作码abcde对应的训练操作码片段集既可以为(ab,bc,cd,de),也可以是(ab,bc),又或者是(bc、cd、de),后续以训练操作码片段集对智能合约漏洞检测模型进行训练即可;
步骤S2:本实施例将Transformer模型作为智能合约漏洞检测模型,采用步骤1中获得的训练操作码片段集对Transformer模型进行训练,直至损失函数达到最小值,以使Transformer模型训练完成;
Transformer模型能够对训练操作码片段集进行特征提取,从而获得训练操作码片段集中不同训练操作码片段之间的关联性,同时该关联性还部分体现了训练操作码片段内部不同训练操作码单元之间的相关程度;
以训练操作码片段集(ab,bc,cd,de)为例,Transformer模型在自身自注意力机制作用下通过(ab,bc,cd,de)进行训练的时候,在针对训练操作码片段bc相关性计算的环节,不仅会计算训练操作码片段ab和训练操作码片段bc之间的相关性,还会计算训练操作码片段bc和训练操作码片段cd之间的相关性,以及训练操作码片段bc和训练操作码片段de之间的相关性,因此最终训练完成的Transformer模型在实际使用的时候能够输出充分展现智能合约漏洞线索的结果,同时上述三个相关性计算为并行运算,因此Transformer模型的训练过程也被极大缩短,这些特点都使Transformer模型的训练过程充分有别于CNN和LSTM;
值得注意的是,为了保证Transformer模型的训练效果,用于对Transformer模型进行训练的训练操作码片段集数量应当尽可能多,尤其Transformer模型训练过程中使用的数据量相较CNN和LSTM而言奇大,此外,对Transformer模型进行训练的所有训练操作码片段集中,应当一部分是作为正样本(无漏洞线索)的正训练操作码片段集,另一部分为作为负样本(有漏洞线索)的负训练操作码片段集;
但是针对智能合约漏洞这一领域而言,存在与上述要求相悖的实际情况,首先智能合约作为一个新兴领域,现有的漏洞检测完成的智能合约数量很少,因此无法或者很难通过在步骤S1中增加漏洞检测完成的智能合约获得训练操作码片段集,其次智能合约大概率是存在漏洞的,因此极难获得作为正样本的正训练操作码片段集,不仅如此,训练完成的Transformer模型为了不对无漏洞的智能合约进行错判,在训练过程中对正训练操作码片段集的需求量更高于对负训练操作码片段集的需求量,以使得Transformer模型能够对无漏洞的智能合约更好地进行判别,通常Transformer模型对正训练操作码片段集的需求数量为负训练操作码片段集需求数量的1-1.5倍;
为了解决上述这一矛盾的情况,针对滑动窗口滑动截取获得的训练操作码片段x1,x2,......,xm,锁定其中的无漏洞训练操作码片段,选取若干无漏洞训练操作码片段作为正训练操作码片段集,选取无漏洞训练操作码片段上下文处的若干有漏洞训练操作码片段作为负训练操作码片段集,以此通过一份已有的漏洞检测完成的智能合约(存在漏洞),获得大量的正训练操作码片段集和负训练操作码片段集;
同样以ab、bc、cd、de四个训练操作码片段为例,通过分析单个训练操作码片段内部训练操作码单元之间的关联性,可以确定四个训练操作码片段是否存在漏洞。以训练操作码片段ab和cd为无漏洞训练操作码片段,训练操作码片段bc和de为有漏洞训练操作码片段的情况为例,此时可以构建作为正训练操作码片段集的(ab)、(cd)和(ab,cd),可以看到一个智能合约就能构建出三个正训练操作码片段集,同样的,还可以构建出如(bc)、(de)、(ab,bc)、(cd,de)、(ab,bc,cd)等等的负训练操作码片段集,只要从中挑选合适数量的负训练操作码片段集配合正训练操作码片段集就能够对Transformer模型进行充分有效的训练;
以负训练操作码片段集(ab,bc)为例,若其对Transformer模型进行训练的情况下,Transformer模型会对训练操作码片段ab和bc分别进行编码,以将训练操作码片段ab和bc分别转换成词向量,词向量由词嵌入和位置嵌入两部分组合得到,例如Transformer模型在对训练操作码片段ab进行编码过程中不仅会提取训练操作码片段ab自身所包含的特征,还会提取训练操作码片段ab和训练操作码片段bc在负训练操作码片段集(ab,bc)中的相对位置特征,从而使得最终训练完成的Transformer模型能够更精准地处理智能合约漏洞线索;
基于此,为了使负训练操作码片段集能够充分反映智能合约训练样本中的漏洞线索和漏洞信息,有漏洞训练操作码片段在生成负训练操作码片段集的过程中,保留有漏洞训练操作码片段在x1,x2,......,xm中的相对位置信息;
再以ab、bc、cd、de四个训练操作码片段为例,这四个训练操作码片段是滑动窗口在对训练操作码滑动截取过程中依次产生的,故而在将训练操作码片段ab、bc、cd组合形成负训练操作码片段集时,只可以产生负训练操作码片段集(ab,bc,cd),而不会产生(bc,ab,cd)、(cd,bc,ab)等等负训练操作码片段集;
优选的,Transformer模型中包含有用于进行特征降维的全连接层,从而简化对各个训练操作码片段的编码结果,有效剔除编码结果中与漏洞线索无关的特征;
步骤S3:对待检测智能合约进行预处理,以生成待检测操作码,以窗口大小为n的滑动窗口对待检测操作码进行遍历依次截取,以生成待检测操作码片段集,将待检测操作码片段集输入至Transformer模型;
例如待检测操作码为a’b’c’d’e’,同样以窗口大小为2的滑动窗口对待检测操作码a’b’c’d’e’进行遍历依次截取,获得了a’b’、b’c’、c’d’、d’e’四个待检测操作码片段,为了保证对待检测智能合约漏洞检测的全面性,同时也为了匹配于Transformer模型的训练过程,生成的待检测操作码片段集仅为(a’b’,b’c’,c’d’,d’e’);
步骤S4:Transformer模型将结果输出至训练完成的分类器,由分类器输出待检测智能合约的漏洞检测结果,即是否存在漏洞,若存在漏洞,则输出结果1,若无漏洞,则输出结果0。
实施例2:
智能合约漏洞的类型多种多样,不同类型的漏洞修复方案也差别很大,为了能够进一步对智能合约漏洞的类型进行确定,以确定漏洞的修复方案,本实施例与实施例1的区别在于,还包括步骤S2’,步骤S2’为分类器的训练过程,位于步骤S2和步骤S3之间。
具体的,步骤S2’如下进行:
针对一个已经构建完成的负训练操作码片段集,将其输入至训练完成后的Transformer模型,而后Transformer模型输出分类器训练数据。此外,针对该负训练操作码片段集还构建对应的漏洞信息矩阵,漏洞信息矩阵中包含多种漏洞类型信息。例如,常见的智能合约漏洞类型有五种,那么漏洞信息矩阵就是1×5的矩阵,漏洞信息矩阵中的元素若为0,则表示负训练操作码片段集没有对应类型的漏洞,漏洞信息矩阵中的元素若为1,则表示负训练操作码片段集具有对应类型的漏洞。例如,若漏洞信息矩阵为(0,0,1,1,0),则表示负训练操作码片段集具有第三种和第四种类型的漏洞,而没有第一种、第二种和第五种类型的漏洞。而后利用漏洞信息矩阵和分类器训练数据对分类器进行训练,针对多种类型的漏洞,本实施例的分类器通常为多标签分类器。
由于分类器的训练过程是在Transformer模型训练完成后进行的,故而分类器的训练过程不会影响Transformer模型的训练结果,避免了Transformer模型的二次训练。
本发明以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,熟悉该本领域的技术人员应该明白本发明包括但不限于附图和上面具体实施方式中描述的内容。任何不偏离本发明的功能和结构原理的修改都将包括在权利要求书的范围中。
Claims (4)
1.一种智能合约漏洞检测方法,其特征在于,包括如下步骤:
步骤S1:构建与智能合约训练样本对应的训练操作码,以窗口大小为n的滑动窗口对训练操作码进行遍历截取以获得多个训练操作码片段,每个训练操作码片段包含多个训练操作码单元,选取部分或全部训练操作码片段生成与训练操作码对应的训练操作码片段集;步骤S1中,同一个训练操作码对应的训练操作码片段集有多个,训练操作码片段集分为正训练操作码片段集和负训练操作码片段集;
其中,训练操作码经过滑动窗口的遍历截取后依次生成训练操作码片段x1,x2,......,xm,锁定训练操作码片段x1,x2,......,xm中的无漏洞训练操作码片段,选取若干无漏洞训练操作码片段作为正训练操作码片段集,选取无漏洞训练操作码片段上下文处的若干有漏洞训练操作码片段作为负训练操作码片段集;
有漏洞训练操作码片段生成负训练操作码片段集的过程中,保留有漏洞训练操作码片段在x1,x2,......,xm中的相对位置信息,以使Transformer模型在步骤S2中能够进行位置嵌入;
步骤S2:将Transformer模型作为智能合约漏洞检测模型,采用训练操作码片段集对Transformer模型进行训练,直至损失函数达到最小值,以使Transformer模型训练完成;
生成训练操作码片段集后,构建负训练操作码片段集对应的漏洞信息矩阵,漏洞信息矩阵中包含多种漏洞类型信息,步骤S2’:对训练完成后的Transformer模型输入负训练操作码片段集,使得Transformer模型输出分类器训练数据,利用漏洞信息矩阵和分类器训练数据对分类器进行训练;
步骤S3:对待检测智能合约进行预处理,以生成待检测操作码,以窗口大小为n的滑动窗口对待检测操作码进行遍历截取,以生成待检测操作码片段集,将待检测操作码片段集输入至Transformer模型;
步骤S4:Transformer模型将结果输出至分类器,由分类器输出智能合约漏洞检测结果。
2.根据权利要求1所述的智能合约漏洞检测方法,其特征在于,正训练操作码片段集数量为负训练操作码片段集数量的1-1.5倍。
3.根据权利要求1所述的智能合约漏洞检测方法,其特征在于,训练操作码的构建方法如下:爬取智能合约训练样本的Solidity源码,采用Solc编译器将Solidity源码编译成字节码,字节码根据以太坊黄皮书中的对应关系生成原始操作码,原始操作码经移除操作数后得到训练操作码。
4.根据权利要求1所述的智能合约漏洞检测方法,其特征在于,Transformer模型中包含有用于进行特征降维的全连接层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111662475.3A CN114462045B (zh) | 2021-12-31 | 2021-12-31 | 一种智能合约漏洞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111662475.3A CN114462045B (zh) | 2021-12-31 | 2021-12-31 | 一种智能合约漏洞检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114462045A CN114462045A (zh) | 2022-05-10 |
CN114462045B true CN114462045B (zh) | 2022-09-09 |
Family
ID=81407203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111662475.3A Active CN114462045B (zh) | 2021-12-31 | 2021-12-31 | 一种智能合约漏洞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114462045B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115659176A (zh) * | 2022-10-14 | 2023-01-31 | 湖南大学 | 智能合约漏洞检测模型的训练方法及相关设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111310191B (zh) * | 2020-02-12 | 2022-12-23 | 广州大学 | 一种基于深度学习的区块链智能合约漏洞检测方法 |
US11164152B2 (en) * | 2020-03-24 | 2021-11-02 | Saudi Arabian Oil Company | Autonomous procurement system |
CN113591093B (zh) * | 2021-07-22 | 2023-05-16 | 燕山大学 | 基于自注意力机制的工业软件漏洞检测方法 |
-
2021
- 2021-12-31 CN CN202111662475.3A patent/CN114462045B/zh active Active
Non-Patent Citations (1)
Title |
---|
A Multi-Modal Transformer-based Code Summarization Approach for Smart Contracts;Zhen Yang等;《2021 IEEE/ACM 29th International Conference on Program Comprehension (ICPC) 》;《IEEE》;20210628;1-12 * |
Also Published As
Publication number | Publication date |
---|---|
CN114462045A (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Petrick | A recognition procedure for transformational grammars. | |
CN112036162B (zh) | 文本纠错的适配方法、装置、电子设备及存储介质 | |
CN117076653B (zh) | 基于思维链及可视化提升上下文学习知识库问答方法 | |
CN113900923B (zh) | 一种跨指令集架构的二进制函数相似性检查系统及方法 | |
CN113010209A (zh) | 一种抗编译差异的二进制代码相似性比较技术 | |
WO2022089227A1 (zh) | 地址参数处理方法及相关设备 | |
CN115577362A (zh) | 基于源代码和汇编代码跨模态特征增强的漏洞检测方法 | |
CN109144879B (zh) | 测试分析方法及装置 | |
CN114462045B (zh) | 一种智能合约漏洞检测方法 | |
CN115510236A (zh) | 基于信息融合和数据增强的篇章级事件检测方法 | |
CN115329088A (zh) | 图神经网络事件检测模型的鲁棒性分析方法 | |
CN114742016A (zh) | 一种基于多粒度实体异构图的篇章级事件抽取方法及装置 | |
CN110852066A (zh) | 一种基于对抗训练机制的多语言实体关系抽取方法及系统 | |
CN110866172B (zh) | 一种面向区块链系统的数据分析方法 | |
US7571153B2 (en) | Systems and methods for performing streaming checks on data format for UDTs | |
CN116757184A (zh) | 融合发音特征的越南语语音识别文本纠错方法及系统 | |
CN115203438B (zh) | 一种实体链接方法及存储介质 | |
CN116663567A (zh) | 一种基于语义增强双编码器的方面级情感三元组抽取方法及系统 | |
CN112528674B (zh) | 文本处理方法、模型的训练方法、装置、设备及存储介质 | |
Kaili et al. | A simple but effective classification model for grammatical error correction | |
CN111562943B (zh) | 一种基于事件嵌入树及gat网络的代码克隆检测方法和装置 | |
CN114997147B (zh) | 基于混合mask的poi地址纠错方法、装置、存储介质和设备 | |
CN117407051B (zh) | 一种基于结构位置感知的代码自动摘要方法 | |
CN116610791B (zh) | 针对结构化信息的基于语义分析的问答方法、系统及设备 | |
Zeng et al. | CLG-Trans: Contrastive learning for code summarization via graph attention-based transformer |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |