CN114357174A - 基于ocr和机器学习的代码分类系统及方法 - Google Patents
基于ocr和机器学习的代码分类系统及方法 Download PDFInfo
- Publication number
- CN114357174A CN114357174A CN202210270268.1A CN202210270268A CN114357174A CN 114357174 A CN114357174 A CN 114357174A CN 202210270268 A CN202210270268 A CN 202210270268A CN 114357174 A CN114357174 A CN 114357174A
- Authority
- CN
- China
- Prior art keywords
- code
- image
- unit
- feature
- standard
- 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.)
- Granted
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明实施例公开了一种基于OCR和机器学习的代码分类系统及方法,其系统包括:模型构建模块,用于基于问答数据集构建出最优分类器;图片转换模块,用于将所述问答数据集中包含的代码图像转换成三通道彩色图像;字符提取模块,用于基于预设的文本识别程序抽取出所述三通道彩色图像中的目标代码字符;代码分类模块,用于将所述目标代码字符输入至所述最优分类器,获得对应的分类结果。便于对代码图片中的代码进行分类,满足线上代码分类的最低准确率要求。
Description
技术领域
本发明涉及光学字符识别和机器学习融合技术领域,尤其涉及一种基于OCR和机器学习的代码分类系统及方法。
背景技术
目前,在CSDN App 问答板块中,有许多用户上传了图片,没有给问题打上标签,通过互联网搜索,现有的解决方案都是通过文本去分类,准备好各种编程语言的训练文件,每种语言放在同一个文件夹,利用sklearn中的机器学习分类方法,训练一个分类模型,使用训练好的模型,预测输入的代码的所属编程语言类别,对于图片中的代码,无法分类,缺乏数据,并且,对于较短的代码块,现有技术对短代码块的分类准确率较低,不能达到上线最低准确率要求,且其需要的训练数据较多。
因此,本发明提出一种基于OCR和机器学习的代码分类系统及方法。
发明内容
基于此,有必要针对上述问题,提出了一种基于OCR和机器学习的代码分类系统及方法。
本发明提出一种基于OCR和机器学习的代码分类系统,包括:
模型构建模块,用于基于问答数据集构建出最优分类器;
图片转换模块,用于将所述问答数据集中包含的代码图像转换成三通道彩色图像;
字符提取模块,用于基于预设的文本识别程序抽取出所述三通道彩色图像中的目标代码字符;
代码分类模块,用于将所述目标代码字符输入至所述最优分类器,获得对应的分类结果。
优选的,所述模型构建模块,包括:
抽取构建单元,用于对所述问答数据集进行抽取并构建出训练集和测试集;
字符处理单元,用于对所述问答数据集中包含的字符进行筛选处理,获得对应的处理文件;
模块构建单元,用于对预设的文本特征提取模型和支持向量网络进行流式化封装,获得初始分类器;
模型优化单元,用于基于网格搜索对所述初始分类器进行不断调参,获得多个优化分类器,将对所述训练集的分类结果的最优准确率对应的优化分类器作为最优分类器。
优选的,所述图片转换模块,包括:
图像筛选单元,用于从所述问答数据集包含的测试集中筛选出代码图像;
定位符确定单元,用于确定出所述代码图像对应的统一资源定位符;
图像下载单元,用于基于所述统一资源定位符下载对应的代码图像,获得对应的待处理图像;
图像转换单元,用于基于预设方式将所述待处理图像转换成对应的三通道彩色图像。
优选的,所述字符提取模块,包括:
字符抽取单元,用于基于预设的文本识别程序抽取出所述三通道彩色图像中的代码字符;
特征提取单元,用于基于特征提取模型对所述三通道彩色图像进行特征提取,获得对应的特征图像;
标准化处理单元,用于基于标准化模型对所述特征图像进行标准化处理,获得标准特征图像;
降维处理单元,用于基于降维算法模型对所述标准特征图像进行降维处理,获得对应的低维特征图像;
融合处理单元,用于基于融合模型将所述低维特征图像和所述标准特征图像进行融合,获得对应的综合特征图像;
区域检测单元,用于将所述综合特征图像输入至所述代码区域检测模型,确定出所述三通道彩色图像中的代码区域;
字体识别单元,用于对所述代码区域中的代码进行识别,确定出对应的代码标准字体数据;
字体设置单元,用于将所述代码字符的字体数据设置成所述代码标准字体数据,获得对应的标准代码字符;
二值化处理单元,用于对所述代码区域进行二值化处理,获得对应的二值化区域;
列格式确定单元,用于确定出所述二值化区域中每列代码的列向代码起始位置和列向代码终止位置以及列向长度,将所述列向代码起始位置和所述列向代码终止位置以及所述列向长度作为对应的列格式;
行格式确定单元,用于确定出所述二值化区域中每行代码的横向代码起始位置和横向代码终止位置以及横向长度,将所述横向代码起始位置和所述横向代码终止位置以及横向长度作为对应的行格式;
格式整理单元,用于基于所述列格式和所述行格式对所述标准代码字符进行格式整理,获得对应的目标代码字符。
优选的,所述抽取构建单元,包括:
抽取子单元,用于从所述问答数据集中抽取出含有标签的第一代码数据以及不含标签的第二代码数据;
分类子单元,用于按照编程语言类型将所述第一代码数据分类,获得第一分类代码数据,并将所述第一分类代码数据存储至以对应编程语言类型命名的第一文件夹中,获得训练集,同时,按照编程语言类型将所述第二代码数据分类,获得第二分类代码数据,并将所述第二分类代码数据存储至以对应编程语言类型命名的第二文件夹中,获得测试集。
优选的,所述字符处理单元,包括:
字符筛选子单元,用于从所述问答数据集包含的训练集中筛选出每种编程语言类型对应的保留字文件和对应的关键字文件;
去重处理子单元,用于对所有保留字文件进行去重处理,获得对应的特有保留字文件,同时,对所述关键字文件进行去重处理,获得对应的特有关键字文件;
文件存储子单元,用于将所述特有保留字文件和所述特有关键字文件存储至对应编程语言类型对应的第一文件夹中;
其中,所述字符筛选子单元,包括:
第一筛选子单元,用于基于保留字列表从所述训练集中筛选出每种编程语言类型对应的保留字集合,并基于所述保留字集合生成每种编程语言类型对应的保留字文件;
第二筛选子单元,用于基于关键字列表从所述训练集中筛选出每种编程语言类型对应的关键字集合,并基于所述关键字集合生成每种编程语言类型对应的关键字文件。
优选的,所述模块构建单元,包括:
构建子单元,用于基于预设的文本特征提取模型和支持向量网络构建出分类器;
模块封装单元,用于将所述分类器中包含预设的文本特征提取模型和支持向量网络进行流式化封装,获得初始分类器。
优选的,所述图像筛选单元,包括:
第一筛选单元,用于筛选出所述测试集中包含的所有第一图像;
归一化处理单元,用于对所述第一图像进行归一化处理,获得对应的标准图像;
卷积处理单元,用于基于预设梯度大小的卷积核对所述标准图像进行卷积处理,获得对应的特征图像集合;
向量化单元,用于基于所述标准图像集合生成对应的特征向量集合;
轮廓确定单元,用于基于所述特征向量集合对所述标准图像集合进行特征向量轮廓回归处理,确定出所述标准图像中包含的目标特征轮廓;
非线性处理单元,用于将所述目标特征轮廓进行非线性特征处理,获得对应的非线性目标特征轮廓;
式中,为所述标准图像中第i行第j列的非线性目标特征轮廓与代码特征轮廓库中第k个代码特征轮廓的匹配率,为所述标准图像中第i行第j列的非线性目标特征轮廓中与代码特征轮廓库中第k个代码特征轮廓中匹配的像素点总个数,为所述标准图像中第i行第j列的非线性目标特征轮廓中包含的像素点总个数,为代码特征轮廓库中第k个代码特征轮廓中包含的像素点总个数;为所述标准图像中第i行第j列的非线性目标特征轮廓中与代码特征轮廓库中第k个代码特征轮廓中不匹配的像素点总个数;为所述标准图像中第i行第j列的非线性目标特征轮廓中与代码特征轮廓库中第k个代码特征轮廓中可能匹配的像素个数比值;P表示历史存在可能匹配的像素的概率;
匹配单元,用于将最大匹配率对应的代码特征轮廓以及对应的最大匹配率作为所述非线性目标特征轮廓对应的匹配结果,基于所述匹配结果,确定出所述标准图像中的匹配分布数据;
第二计算单元,用于基于所述匹配分布数据计算出所述标准图像对应的图像匹配度,包括:
式中,为所述标准图像对应的图像匹配度,m为所述标准图像中包含的非线性目标特征轮廓的总行数,n为所述标准图像中包含的非线性目标特征轮廓的总列数,即为所述标准图像中第i行第j列的非线性目标特征轮廓对应的最大匹配率;
代码图像确定单元,用于将所述图像匹配度大于图像匹配度阈值的特征图像对应的第一图像作为代码图像。
优选的,所述定位符确定单元,包括:
信息确定子单元,用于确定出所述代码图像对应的传输协议、服务器名称和路径以及在所述测试集中对应的存储文件名;
定位符生成子单元,用于基于所述传输协议、服务器名称和路径以及在所述测试集中对应的存储文件名,生成所述代码凸显对应的统一资源定位符。
本发明提出一种基于OCR和机器学习的代码分类方法,包括:
步骤1:基于问答数据集构建出最优分类器;
步骤2:将所述问答数据集中包含的代码图像转换成三通道彩色图像;
步骤3:基于预设的文本识别程序抽取出所述三通道彩色图像中的目标代码字符;
步骤4:将所述目标代码字符输入至所述最优分类器,获得对应的分类结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
步骤1:基于问答数据集构建出最优分类器;
步骤2:将所述问答数据集中包含的代码图像转换成三通道彩色图像;
步骤3:基于预设的文本识别程序抽取出所述三通道彩色图像中的目标代码字符;
步骤4:将所述目标代码字符输入至所述最优分类器,获得对应的分类结果。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
步骤1:基于问答数据集构建出最优分类器;
步骤2:将所述问答数据集中包含的代码图像转换成三通道彩色图像;
步骤3:基于预设的文本识别程序抽取出所述三通道彩色图像中的目标代码字符;
步骤4:将所述目标代码字符输入至所述最优分类器,获得对应的分类结果。
与现有技术相比,本申请的有益效果是:
通过光学字符识别技术,提取出图片中的代码,并保留其缩进格式,使用少量的训练数据,训练了一个准确率高达83%的8种语言的最优分类器,进而对代码图片中的代码进行分类,满足线上代码分类的最低准确率要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中一种基于OCR和机器学习的代码分类系统的结构框图;
图2为一个实施例中一种基于OCR和机器学习的代码分类方法的应用环境图;
图3为一个实施例中一种基于OCR和机器学习的代码分类方法的流程图;
图4为一个实施例中代码分类方法的一个流程图;
图5为一个实施例中代码分类方法的另一流程图;
图6为一个实施例中计算机设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种基于OCR和机器学习的代码分类系统,参考图1,包括:
模型构建模块,用于基于问答数据集构建出最优分类器;
图片转换模块,用于将所述问答数据集中包含的代码图像转换成三通道彩色图像;
字符提取模块,用于基于预设的文本识别程序抽取出所述三通道彩色图像中的目标代码字符;
代码分类模块,用于将所述目标代码字符输入至所述最优分类器,获得对应的分类结果。
该实施例中,问答数据集即为即为包含csdn上的问答数据的集合。
该实施例中,最优分类器即为通过对构建出的份额里奇进行优化使其的分类准确率达到最高时对应的分类器。
该实施例中,代码图像即为问答数据集中包含的包含代码的图像。
该实施例中,三通道彩色图像即为利用python版本的opencv库将代码图像转化成的对应的RGB图像。
该实施例中,预设的文本识别程序即为百度的paddleocr。
该实施例中,目标代码字符即为代码图像中包含的代码字符。
该实施例中,分类结果即为基于最优分类器对代码图像中包含的代码按照编程语言类型进行分类后获得的结果。
以上技术的有益效果为:通过光学字符识别技术,提取出图片中的代码,并保留其缩进格式,使用少量的训练数据,训练了一个准确率高达83%的8种语言的最优分类器,进而对代码图片中的代码进行分类,满足线上代码分类的最低准确率要求。
在一个实施例中,所述模型构建模块,包括:
抽取构建单元,用于对所述问答数据集进行抽取并构建出训练集和测试集;
字符处理单元,用于对所述问答数据集中包含的字符进行筛选处理,获得对应的处理文件;
模块构建单元,用于对预设的文本特征提取模型和支持向量网络进行流式化封装,获得初始分类器;
模型优化单元,用于基于网格搜索对所述初始分类器进行不断调参,获得多个优化分类器,将对所述训练集的分类结果的最优准确率对应的优化分类器作为最优分类器。
该实施例中,训练集即为对问答数据集进行抽取获得的用于训练分类器的问答数据集中的部分数据。
该实施例中,测试集即为对问答数据集进行抽取获得的需要进行分类的问答数据集中的部分数据。
该实施例中,处理文件即为对问答数据集中包含的字符进行筛选处理后获得的文件。
该实施例中,预设的文本特征提取模型即为tfidf模型。
该实施例中,支持向量网络即为svm。
该实施例中,对预设的文本特征提取模型和支持向量网络进行流式化封装,即为:利用sklearn(是针对Python 编程语言的免费软件机器学习库)的pipline(对全部步骤的流式化封装和管理),构建一个tfidf(文本特征提取)+svm(分类)的分类器,其中,tfidf的作用是计算代码中的词频,并将其转为向量,利用svm算法训练一个多分类器。
该实施例中,初始分类器即为对预设的文本特征提取模型和支持向量网络进行流式化封装后获得的分类器。
该实施例中,网格搜索即为grid search。
该实施例中,最优分类器即为从基于网格搜索对所述初始分类器进行不断调参获得的多个优化分类器中筛选出对所述训练集的分类结果的准确率最优时对应的优化分类器。
该实施例中,优化分类器即为基于网格搜索对所述初始分类器进行不断调参获得的多个经过参数优化后的分类器。
以上技术的有益效果为:巧妙地结合tfidf和svm的优点,使用较短的时间,较少的数据,构建并训练出一个较好的编程语言分类器。
在一个实施例中,所述图片转换模块,包括:
图像筛选单元,用于从所述问答数据集包含的测试集中筛选出代码图像;
定位符确定单元,用于确定出所述代码图像对应的统一资源定位符;
图像下载单元,用于基于所述统一资源定位符下载对应的代码图像,获得对应的待处理图像;
图像转换单元,用于基于预设方式将所述待处理图像转换成对应的三通道彩色图像。
该实施例中,统一资源定位符即为url。
该实施例中,待处理图像即为基于对应的统一资源定位符下载对应的代码图像后获得的图像。
该实施例中,预设方式即为利用python版本的opencv库对图像格式进行转换。
以上技术的有益效果为:通过对问答数据集中的代码图像进行筛选、下载、转换,可以获得问答数据集汇总包含的所有代码图像及其对应的三通道彩色图像,为后续对代码图像中包含的代码按照编程语言类型进行分类提供了基础。
在一个实施例中,所述字符提取模块,包括:
字符抽取单元,用于基于预设的文本识别程序抽取出所述三通道彩色图像中的代码字符;
特征提取单元,用于基于特征提取模型对所述三通道彩色图像进行特征提取,获得对应的特征图像;
标准化处理单元,用于基于标准化模型对所述特征图像进行标准化处理,获得标准特征图像;
降维处理单元,用于基于降维算法模型对所述标准特征图像进行降维处理,获得对应的低维特征图像;
融合处理单元,用于基于融合模型将所述低维特征图像和所述标准特征图像进行融合,获得对应的综合特征图像;
区域检测单元,用于将所述综合特征图像输入至所述代码区域检测模型,确定出所述三通道彩色图像中的代码区域;
字体识别单元,用于对所述代码区域中的代码进行识别,确定出对应的代码标准字体数据;
字体设置单元,用于将所述代码字符的字体数据设置成所述代码标准字体数据,获得对应的标准代码字符;
二值化处理单元,用于对所述代码区域进行二值化处理,获得对应的二值化区域;
列格式确定单元,用于确定出所述二值化区域中每列代码的列向代码起始位置和列向代码终止位置以及列向长度,将所述列向代码起始位置和所述列向代码终止位置以及所述列向长度作为对应的列格式;
行格式确定单元,用于确定出所述二值化区域中每行代码的横向代码起始位置和横向代码终止位置以及横向长度,将所述横向代码起始位置和所述横向代码终止位置以及横向长度作为对应的行格式;
格式整理单元,用于基于所述列格式和所述行格式对所述标准代码字符进行格式整理,获得对应的目标代码字符。
该实施例中,特征提取模型即为VGG卷积神经网络。
该实施例中,特征图像即为基于VGG卷积神经网络对所述三通道彩色图像进行特征提取后获得的图像。
该实施例中,标准化模型即为用于对特征图像进行标准化处理的模型。
该实施例中,标准特征图像即为基于标准化模型对特征图像进行标准化处理后获得的图像。
该实施例中,降维算法例如有umap算法。
该实施例中,低维特征图像即为基于降维算法模型对特征图像进行降维处理后获得的图像。
该实施例中,融合模型即为用于将低维空间的特征图图像和标准的特征图像进行融合的模型。
该实施例中,综合特征图像即为基于融合模型将低维特征图像和标准特征图像进行融合后获得的图像。
该实施例中,代码区域检测模型即为用于确定综合特征图像中的代码区域的模型。
该实施例中,代码区域即为基于代码区域检测模型确定出的三通道彩色图像中包含代码的区域。
该实施例中,代码标准字体数据即为代码区域中国的代码字体数据。
该实施例中,标准代码字符即为将代码字符的字体数据设置成代码标准字体数据后获得的代码字符。
该实施例中,二值化区域即为对代码区域进行二值化处理后获得的图像区域。
该实施例中,列向代码起始位置即为二值化区域中没每列代码在列向方向的起始位置。
该实施例中,列向代码终止位置即为二值化区域中每列代码在列向方向的终止位置。
该实施例中,列向长度即为二值化区域中每列代码的长度。
该实施例中,列格式即为二值化区域中代码的列向格式。
该实施例中,横向代码起始位置即为二值化区域中没每行代码在横向方向的起始位置。
该实施例中,横向代码终止位置即为二值化区域中每行代码在横向方向的终止位置。
该实施例中,横向长度即为二值化区域中每行代码的长度。
该实施例中,行格式即为二值化区域中代码的横向格式。
该实施例中,目标代码字符即为基于列格式和行格式对标准代码字符进行格式整理后获得的代码字符。
以上技术的有益效果为:通过对代码图像对应的三通道彩色图像进行特征提取、标准化处理、降维处理、特征融合,进而确定出对应的代码区域,再对代码区域进行字体统一,二值化处理、格式整理,使得获得的目标代码字符,保留了图片中的字符字体以及代码格式,方便后续分类查看,并且保证了识别和代码分类的准确率。
在一个实施例中,所述抽取构建单元,包括:
抽取子单元,用于从所述问答数据集中抽取出含有标签的第一代码数据以及不含标签的第二代码数据;
分类子单元,用于按照编程语言类型将所述第一代码数据分类,获得第一分类代码数据,并将所述第一分类代码数据存储至以对应编程语言类型命名的第一文件夹中,获得训练集,同时,按照编程语言类型将所述第二代码数据分类,获得第二分类代码数据,并将所述第二分类代码数据存储至以对应编程语言类型命名的第二文件夹中,获得测试集。
该实施例中,第一代码数据即为问答数据集中含有标签的代码数据。
该实施例中,第二代码数据即为问答数据集中不含标签的代码数据。
该实施例中,第一分类代码数据即为按照编程语言类型将第一代码数据分类后获得的分类好的代码数据。
该实施例中,第一文件夹即为用于存储对应编程语言类型对应的第一分类代码数据的文件夹。
该实施例中,第二分类代码数据即为按照编程语言类型将第二代码数据分类后获得的分类好的代码数据。
该实施例中,第二文件夹即为用于存储对应编程语言类型对应的第二分类代码数据的文件夹。
以上技术的有益效果为:通过将问答数据集中含有标签的代码数据和不含标签的代码数据抽取出来,再对抽取的代码数据进行分类存储进而获得对应的训练集和测试集,为后续对分类器进行优化提供了数据基础。
在一个实施例中,所述字符处理单元,包括:
字符筛选子单元,用于从所述问答数据集包含的训练集中筛选出每种编程语言类型对应的保留字文件和对应的关键字文件;
去重处理子单元,用于对所有保留字文件进行去重处理,获得对应的特有保留字文件,同时,对所述关键字文件进行去重处理,获得对应的特有关键字文件;
文件存储子单元,用于将所述特有保留字文件和所述特有关键字文件存储至对应编程语言类型对应的第一文件夹中。
该实施例中,保留字文件即为包含对应编程语言类型的保留字的文件。
该实施例中,关键字文件即为包含对应编程语言类型的关键字对应的文件。
该实施例中,特有保留字文件即为对保留字文件进行去重处理后获得的文件。
该实施例中,特有关键字文件即为对关键字文件进行去重处理后获得的文件。
以上技术的有益效果为:通过提取出问答数据集中包含的保留字和关键字,并将其按照编程语言类型进行存储,作为训练集的一部分,丰富了训练集中的分类数据,使得后续优化过程的结果更加准确。
在一个实施例中,所述模块构建单元,包括:
构建子单元,用于基于预设的文本特征提取模型和支持向量网络构建出分类器;
模块封装单元,用于将所述分类器中包含预设的文本特征提取模型和支持向量网络进行流式化封装,获得初始分类器。
以上技术的有益效果为:通过基于sklearn的pipline,构建出一个tfidf+svm的分类器,其中,tfidf的作用是计算代码中的词频,并将其转为向量,利用svm算法训练一个多分类器,为后续生成最优分类器提供了模型基础。
在一个实施例中,所述图像筛选单元,包括:
第一筛选单元,用于筛选出所述测试集中包含的所有第一图像;
归一化处理单元,用于对所述第一图像进行归一化处理,获得对应的标准图像;
卷积处理单元,用于基于预设梯度大小的卷积核对所述标准图像进行卷积处理,获得对应的特征图像集合;
向量化单元,用于基于所述标准图像集合生成对应的特征向量集合;
轮廓确定单元,用于基于所述特征向量集合对所述标准图像集合进行特征向量轮廓回归处理,确定出所述标准图像中包含的目标特征轮廓;
非线性处理单元,用于将所述目标特征轮廓进行非线性特征处理,获得对应的非线性目标特征轮廓;
式中,为所述标准图像中第i行第j列的非线性目标特征轮廓与代码特征轮廓库中第k个代码特征轮廓的匹配率,为所述标准图像中第i行第j列的非线性目标特征轮廓中与代码特征轮廓库中第k个代码特征轮廓中匹配的像素点总个数,为所述标准图像中第i行第j列的非线性目标特征轮廓中包含的像素点总个数,为代码特征轮廓库中第k个代码特征轮廓中包含的像素点总个数;为所述标准图像中第i行第j列的非线性目标特征轮廓中与代码特征轮廓库中第k个代码特征轮廓中不匹配的像素点总个数;为所述标准图像中第i行第j列的非线性目标特征轮廓中与代码特征轮廓库中第k个代码特征轮廓中可能匹配的像素个数比值;P表示历史存在可能匹配的像素的概率;
匹配单元,用于将最大匹配率对应的代码特征轮廓以及对应的最大匹配率作为所述非线性目标特征轮廓对应的匹配结果,基于所述匹配结果,确定出所述标准图像中的匹配分布数据;
第二计算单元,用于基于所述匹配分布数据计算出所述标准图像对应的图像匹配度,包括:
式中,为所述标准图像对应的图像匹配度,m为所述标准图像中包含的非线性目标特征轮廓的总行数,n为所述标准图像中包含的非线性目标特征轮廓的总列数,即为所述标准图像中第i行第j列的非线性目标特征轮廓对应的最大匹配率;
代码图像确定单元,用于将所述图像匹配度大于图像匹配度阈值的特征图像对应的第一图像作为代码图像。
该实施例中,第一图像即为问答数据集中包含的图像。
该实施例中,标准图像即为对第一图像进行归一化处理后获得的图像。
该实施例中,特征图像集合即为基于预设梯度大小的卷积核对标准图像进行卷积处理,获得标准图像对应的多个特征图像,基于多个特征图像构成的图像集合。
该实施例中,基于所述标准图像集合生成对应的特征向量集合,即为将特征图像集合中包含的特征图像向量化后获得对应的特征向量,将所有特征图像向量后获得的特征向量构成的集合。
该实施例中,目标特征轮廓即为基于特征向量集合对特征图像进行特征向量轮廓回归处理后确定出的特征图像中包含的特征轮廓。
该实施例中,非线性目标特征轮廓即为将目标特征轮廓进行非线性特征处理后获得的。
该实施例中,匹配结果即为非线性目标特征轮廓对应的最大匹配率和对应的代码特征轮廓。
该实施例中,匹配分布数据即为标准图像中包含的每个非线性目标特征轮廓对应的代码特征轮廓以及最大匹配率。
该实施例中,可能匹配的像素点指的是,该像素点可以不能被定义为是匹配的像素点也不可以被定义为是不匹配的像素点,一般来说是介于两者之间的像素点,存在某些误差,导致不会存在不能被定义为匹配或者不匹配的情况,且P的取值范围一般为[0.2,0.6]。
以上技术的有益效果为:通过对问答数据集中包含的所有图片进行归一化处理、特征提取、特征向量化、向量回归轮廓确定、轮廓非线性处理,进而确定出问答数据集中包含的所有图片中包含的非线性轮廓,将所述非线性轮廓与代码特征轮廓中的代码耳针轮廓进行匹配,可以获得标准图像中的匹配分布数据,基于该匹配分布数据可以确定出对应的图片匹配率,将匹配率满足要求的图像作为代码图像,实现了将问答数据集中的代码图像准确地筛选出来,为后续将问答数据集中包含的所有代码图像中的代码进行准确分类提供了基础。
在一个实施例中,所述定位符确定单元,包括:
信息确定子单元,用于确定出所述代码图像对应的传输协议、服务器名称和路径以及在所述测试集中对应的存储文件名;
定位符生成子单元,用于基于所述传输协议、服务器名称和路径以及在所述测试集中对应的存储文件名,生成所述代码凸显对应的统一资源定位符。
该实施例中,基于所述传输协议、服务器名称和路径以及在所述测试集中对应的存储文件名,生成所述代码凸显对应的统一资源定位符,包括:传输协议://服务器名称授权/路径/在所述测试集中对应的存储文件名。
以上技术的有益效果为:基于代码图像对应的传输协议、服务器名称和路径以及在所述测试集中对应的存储文件名,生成对应的统一资源定位符,为后续下载代码图像提供了便利。
在一个实施例中,所述字符筛选子单元,包括:
第一筛选子单元,用于基于保留字列表从所述训练集中筛选出每种编程语言类型对应的保留字集合,并基于所述保留字集合生成每种编程语言类型对应的保留字文件;
第二筛选子单元,用于基于关键字列表从所述训练集中筛选出每种编程语言类型对应的关键字集合,并基于所述关键字集合生成每种编程语言类型对应的关键字文件。
该实施例中,保留字列表即为包含每种编程语言类型对应的保留字的列表。
该实施例中,保留字集合即为包含对应种编程语言类型对应的保留字的集合。
该实施例中,关键字列表即为包含每种编程语言类型对应的关键字的列表。
该实施例中,关键字集合即为包含对应种编程语言类型对应的关键字的集合。
以上技术的有益效果为:通过提取出问答数据集中包含的保留字和关键字,并将其按照编程语言类型进行存储,作为训练集的一部分,丰富了训练集中的分类数据,使得后续优化过程的结果更加准确。
图2为一个实施例中一种基于OCR和机器学习的代码分类方法的应用环境图。参照图1,该一种基于OCR和机器学习的代码分类方法应用于代码分类系统。该代码分类系统包括终端110和服务器120。终端110和服务器120通过网络连接,终端110具体可以是台式终端或移动终端,移动终端具体可以是手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端110和服务器120用于执行代码分类方法的流程图。
如图3-5所示,在一个实施例中,提供了一种基于OCR和机器学习的代码分类方法。该方法既可以应用于终端,也可以应用于服务器,本实施例以应用于终端举例说明。该一种基于OCR和机器学习的代码分类方法具体包括如下步骤:
步骤1:基于问答数据集构建出最优分类器;
步骤2:将所述问答数据集中包含的代码图像转换成三通道彩色图像;
步骤3:基于预设的文本识别程序抽取出所述三通道彩色图像中的目标代码字符;
步骤4:将所述目标代码字符输入至所述最优分类器,获得对应的分类结果。
图6示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图6所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现基于OCR和机器学习的代码分类方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行基于OCR和机器学习的代码分类方法。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
步骤1:基于问答数据集构建出最优分类器;
步骤2:将所述问答数据集中包含的代码图像转换成三通道彩色图像;
步骤3:基于预设的文本识别程序抽取出所述三通道彩色图像中的目标代码字符;
步骤4:将所述目标代码字符输入至所述最优分类器,获得对应的分类结果。
在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
步骤1:基于问答数据集构建出最优分类器;
步骤2:将所述问答数据集中包含的代码图像转换成三通道彩色图像;
步骤3:基于预设的文本识别程序抽取出所述三通道彩色图像中的目标代码字符;
步骤4:将所述目标代码字符输入至所述最优分类器,获得对应的分类结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于OCR和机器学习的代码分类系统,其特征在于,包括:
模型构建模块,用于基于问答数据集构建出最优分类器;
图片转换模块,用于将所述问答数据集中包含的代码图像转换成三通道彩色图像;
字符提取模块,用于基于预设的文本识别程序抽取出所述三通道彩色图像中的目标代码字符;
代码分类模块,用于将所述目标代码字符输入至所述最优分类器,获得对应的分类结果。
2.根据权利要求1所述的一种基于OCR和机器学习的代码分类系统,其特征在于,所述模型构建模块,包括:
抽取构建单元,用于对所述问答数据集进行抽取并构建出训练集和测试集;
字符处理单元,用于对所述问答数据集中包含的字符进行筛选处理,获得对应的处理文件;
模块构建单元,用于对预设的文本特征提取模型和支持向量网络进行流式化封装,获得初始分类器;
模型优化单元,用于基于网格搜索对所述初始分类器进行不断调参,获得多个优化分类器,将对所述训练集的分类结果的最优准确率对应的优化分类器作为最优分类器。
3.根据权利要求2所述的一种基于OCR和机器学习的代码分类系统,其特征在于,所述图片转换模块,包括:
图像筛选单元,用于从所述问答数据集包含的测试集中筛选出代码图像;
定位符确定单元,用于确定出所述代码图像对应的统一资源定位符;
图像下载单元,用于基于所述统一资源定位符下载对应的代码图像,获得对应的待处理图像;
图像转换单元,用于基于预设方式将所述待处理图像转换成对应的三通道彩色图像。
4.根据权利要求1所述的一种基于OCR和机器学习的代码分类系统,其特征在于,所述字符提取模块,包括:
字符抽取单元,用于基于预设的文本识别程序抽取出所述三通道彩色图像中的代码字符;
特征提取单元,用于基于特征提取模型对所述三通道彩色图像进行特征提取,获得对应的特征图像;
标准化处理单元,用于基于标准化模型对所述特征图像进行标准化处理,获得标准特征图像;
降维处理单元,用于基于降维算法模型对所述标准特征图像进行降维处理,获得对应的低维特征图像;
融合处理单元,用于基于融合模型将所述低维特征图像和所述标准特征图像进行融合,获得对应的综合特征图像;
区域检测单元,用于将所述综合特征图像输入至代码区域检测模型,确定出所述三通道彩色图像中的代码区域;
字体识别单元,用于对所述代码区域中的代码进行识别,确定出对应的代码标准字体数据;
字体设置单元,用于将代码字符的字体数据设置成所述代码标准字体数据,获得对应的标准代码字符;
二值化处理单元,用于对所述代码区域进行二值化处理,获得对应的二值化区域;
列格式确定单元,用于确定出所述二值化区域中每列代码的列向代码起始位置和列向代码终止位置以及列向长度,将所述列向代码起始位置和所述列向代码终止位置以及所述列向长度作为对应的列格式;
行格式确定单元,用于确定出所述二值化区域中每行代码的横向代码起始位置和横向代码终止位置以及横向长度,将所述横向代码起始位置和所述横向代码终止位置以及横向长度作为对应的行格式;
格式整理单元,用于基于所述列格式和所述行格式对所述标准代码字符进行格式整理,获得对应的目标代码字符。
5.根据权利要求2所述的一种基于OCR和机器学习的代码分类系统,其特征在于,所述抽取构建单元,包括:
抽取子单元,用于从所述问答数据集中抽取出含有标签的第一代码数据以及不含标签的第二代码数据;
分类子单元,用于按照编程语言类型将所述第一代码数据分类,获得第一分类代码数据,并将所述第一分类代码数据存储至以对应编程语言类型命名的第一文件夹中,获得训练集,同时,按照编程语言类型将所述第二代码数据分类,获得第二分类代码数据,并将所述第二分类代码数据存储至以对应编程语言类型命名的第二文件夹中,获得测试集。
6.根据权利要求2所述的一种基于OCR和机器学习的代码分类系统,其特征在于,所述字符处理单元,包括:
字符筛选子单元,用于从所述问答数据集包含的训练集中筛选出每种编程语言类型对应的保留字文件和对应的关键字文件;
去重处理子单元,用于对所有保留字文件进行去重处理,获得对应的特有保留字文件,同时,对所述关键字文件进行去重处理,获得对应的特有关键字文件;
文件存储子单元,用于将所述特有保留字文件和所述特有关键字文件存储至对应编程语言类型对应的第一文件夹中;
其中,所述字符筛选子单元,包括:
第一筛选子单元,用于基于保留字列表从所述训练集中筛选出每种编程语言类型对应的保留字集合,并基于所述保留字集合生成每种编程语言类型对应的保留字文件;
第二筛选子单元,用于基于关键字列表从所述训练集中筛选出每种编程语言类型对应的关键字集合,并基于所述关键字集合生成每种编程语言类型对应的关键字文件。
7.根据权利要求2所述的一种基于OCR和机器学习的代码分类系统,其特征在于,所述模块构建单元,包括:
构建子单元,用于基于预设的文本特征提取模型和支持向量网络构建出分类器;
模块封装单元,用于将所述分类器中包含预设的文本特征提取模型和支持向量网络进行流式化封装,获得初始分类器。
8.根据权利要求3所述的一种基于OCR和机器学习的代码分类系统,其特征在于,所述图像筛选单元,包括:
第一筛选单元,用于筛选出所述测试集中包含的所有第一图像;
归一化处理单元,用于对所述第一图像进行归一化处理,获得对应的标准图像;
卷积处理单元,用于基于预设梯度大小的卷积核对所述标准图像进行卷积处理,获得对应的特征图像集合;
向量化单元,用于基于所述标准图像集合生成对应的特征向量集合;
轮廓确定单元,用于基于所述特征向量集合对所述标准图像集合进行特征向量轮廓回归处理,确定出所述标准图像中包含的目标特征轮廓;
非线性处理单元,用于将所述目标特征轮廓进行非线性特征处理,获得对应的非线性目标特征轮廓;
第一计算单元,用于将所述非线性目标特征轮廓与代码特征轮廓库中的代码特征轮廓进行匹配,并计算出每个非线性目标特征轮廓与代码特征轮廓库中的代码特征轮廓的匹配率:
式中,为所述标准图像中第i行第j列的非线性目标特征轮廓与代码特征轮廓库中第k个代码特征轮廓的匹配率,为所述标准图像中第i行第j列的非线性目标特征轮廓中与代码特征轮廓库中第k个代码特征轮廓中匹配的像素点总个数,为所述标准图像中第i行第j列的非线性目标特征轮廓中包含的像素点总个数,为代码特征轮廓库中第k个代码特征轮廓中包含的像素点总个数;为所述标准图像中第i行第j列的非线性目标特征轮廓中与代码特征轮廓库中第k个代码特征轮廓中不匹配的像素点总个数;为所述标准图像中第i行第j列的非线性目标特征轮廓中与代码特征轮廓库中第k个代码特征轮廓中可能匹配的像素个数比值;P表示历史存在可能匹配的像素的概率;
匹配单元,用于将最大匹配率对应的代码特征轮廓以及对应的最大匹配率作为所述非线性目标特征轮廓对应的匹配结果,基于所述匹配结果,确定出所述标准图像中的匹配分布数据;
第二计算单元,用于基于所述匹配分布数据计算出所述标准图像对应的图像匹配度,包括:
式中,为所述标准图像对应的图像匹配度,m为所述标准图像中包含的非线性目标特征轮廓的总行数,n为所述标准图像中包含的非线性目标特征轮廓的总列数,即为所述标准图像中第i行第j列的非线性目标特征轮廓对应的最大匹配率;
代码图像确定单元,用于将所述图像匹配度大于图像匹配度阈值的特征图像对应的第一图像作为代码图像。
9.根据权利要求3所述的一种基于OCR和机器学习的代码分类系统,其特征在于,所述定位符确定单元,包括:
信息确定子单元,用于确定出所述代码图像对应的传输协议、服务器名称和路径以及在所述测试集中对应的存储文件名;
定位符生成子单元,用于基于所述传输协议、服务器名称和路径以及在所述测试集中对应的存储文件名,生成所述代码凸显对应的统一资源定位符。
10.一种基于OCR和机器学习的代码分类方法,其特征在于,包括:
步骤1:基于问答数据集构建出最优分类器;
步骤2:将所述问答数据集中包含的代码图像转换成三通道彩色图像;
步骤3:基于预设的文本识别程序抽取出所述三通道彩色图像中的目标代码字符;
步骤4:将所述目标代码字符输入至所述最优分类器,获得对应的分类结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210270268.1A CN114357174B (zh) | 2022-03-18 | 2022-03-18 | 基于ocr和机器学习的代码分类系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210270268.1A CN114357174B (zh) | 2022-03-18 | 2022-03-18 | 基于ocr和机器学习的代码分类系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114357174A true CN114357174A (zh) | 2022-04-15 |
CN114357174B CN114357174B (zh) | 2022-06-10 |
Family
ID=81095219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210270268.1A Active CN114357174B (zh) | 2022-03-18 | 2022-03-18 | 基于ocr和机器学习的代码分类系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114357174B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116436974A (zh) * | 2023-06-15 | 2023-07-14 | 国能日新科技股份有限公司 | 一种数据传输方法及系统 |
CN116662206A (zh) * | 2023-07-24 | 2023-08-29 | 泰山学院 | 计算机软件在线实时可视化调试方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108564088A (zh) * | 2018-04-17 | 2018-09-21 | 广东工业大学 | 车牌识别方法、装置、设备及可读存储介质 |
US20180336405A1 (en) * | 2017-05-17 | 2018-11-22 | Tab2Ex, Llc | Method of digitizing and extracting meaning from graphic objects |
CN110765907A (zh) * | 2019-10-12 | 2020-02-07 | 安徽七天教育科技有限公司 | 一种基于深度学习的视频中试卷纸质文档信息提取系统及方法 |
CN111476067A (zh) * | 2019-01-23 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 图像的文字识别方法、装置、电子设备及可读存储介质 |
CN112149523A (zh) * | 2020-09-04 | 2020-12-29 | 开普云信息科技股份有限公司 | 基于深度学习和并查集算法的ocr识别并抽取图片的方法、装置、电子设备及存储介质 |
CN113505775A (zh) * | 2021-07-15 | 2021-10-15 | 大连民族大学 | 一种基于字符定位的满文单词识别方法 |
CN113837167A (zh) * | 2021-08-31 | 2021-12-24 | 北京捷通华声科技股份有限公司 | 一种文本图像识别方法、装置、设备及存储介质 |
-
2022
- 2022-03-18 CN CN202210270268.1A patent/CN114357174B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180336405A1 (en) * | 2017-05-17 | 2018-11-22 | Tab2Ex, Llc | Method of digitizing and extracting meaning from graphic objects |
CN108564088A (zh) * | 2018-04-17 | 2018-09-21 | 广东工业大学 | 车牌识别方法、装置、设备及可读存储介质 |
CN111476067A (zh) * | 2019-01-23 | 2020-07-31 | 腾讯科技(深圳)有限公司 | 图像的文字识别方法、装置、电子设备及可读存储介质 |
CN110765907A (zh) * | 2019-10-12 | 2020-02-07 | 安徽七天教育科技有限公司 | 一种基于深度学习的视频中试卷纸质文档信息提取系统及方法 |
CN112149523A (zh) * | 2020-09-04 | 2020-12-29 | 开普云信息科技股份有限公司 | 基于深度学习和并查集算法的ocr识别并抽取图片的方法、装置、电子设备及存储介质 |
CN113505775A (zh) * | 2021-07-15 | 2021-10-15 | 大连民族大学 | 一种基于字符定位的满文单词识别方法 |
CN113837167A (zh) * | 2021-08-31 | 2021-12-24 | 北京捷通华声科技股份有限公司 | 一种文本图像识别方法、装置、设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116436974A (zh) * | 2023-06-15 | 2023-07-14 | 国能日新科技股份有限公司 | 一种数据传输方法及系统 |
CN116436974B (zh) * | 2023-06-15 | 2023-08-11 | 国能日新科技股份有限公司 | 一种数据传输方法及系统 |
CN116662206A (zh) * | 2023-07-24 | 2023-08-29 | 泰山学院 | 计算机软件在线实时可视化调试方法及装置 |
CN116662206B (zh) * | 2023-07-24 | 2024-02-13 | 泰山学院 | 计算机软件在线实时可视化调试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114357174B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10482174B1 (en) | Systems and methods for identifying form fields | |
US11080910B2 (en) | Method and device for displaying explanation of reference numeral in patent drawing image using artificial intelligence technology based machine learning | |
CN114357174B (zh) | 基于ocr和机器学习的代码分类系统及方法 | |
US11416531B2 (en) | Systems and methods for parsing log files using classification and a plurality of neural networks | |
US11157816B2 (en) | Systems and methods for selecting and generating log parsers using neural networks | |
CN110705233B (zh) | 基于文字识别技术的笔记生成方法、装置和计算机设备 | |
CN112651238A (zh) | 训练语料扩充方法及装置、意图识别模型训练方法及装置 | |
CN111695439A (zh) | 图像结构化数据提取方法、电子装置及存储介质 | |
CN111666932B (zh) | 单据审核方法、装置、计算机设备及存储介质 | |
CN112699923A (zh) | 文档分类预测方法、装置、计算机设备及存储介质 | |
CN111984792A (zh) | 网站分类方法、装置、计算机设备及存储介质 | |
CN110750523A (zh) | 数据标注方法、系统、计算机设备和存储介质 | |
CN113806613B (zh) | 训练图像集生成方法、装置、计算机设备及存储介质 | |
CN107943881B (zh) | 题库生成方法、服务器及计算机可读存储介质 | |
CN112380346B (zh) | 金融新闻情感分析方法、装置、计算机设备及存储介质 | |
CN116469111B (zh) | 一种文字生成模型训练方法及目标文字生成方法 | |
CN111357015B (zh) | 文本转换方法、装置、计算机设备和计算机可读存储介质 | |
CN116384344A (zh) | 一种文档转换方法、装置及存储介质 | |
CN115994232A (zh) | 在线多版本文献同一性鉴别方法、系统及计算机设备 | |
CN112363929B (zh) | 系统上线方法、装置、计算机设备及存储介质 | |
CN112989256B (zh) | 识别响应信息中web指纹的方法和装置 | |
CN115223183A (zh) | 一种信息提取方法、装置及电子设备 | |
CN114638229A (zh) | 笔录数据的实体识别方法、装置、介质及设备 | |
CN114743204A (zh) | 针对表格的自动问答方法、系统、设备及存储介质 | |
CN113723359A (zh) | 用户情绪识别方法、装置、计算机设备及可读存储介质 |
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 |