CN109086654B - 手写模型训练方法、文本识别方法、装置、设备及介质 - Google Patents
手写模型训练方法、文本识别方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN109086654B CN109086654B CN201810564063.8A CN201810564063A CN109086654B CN 109086654 B CN109086654 B CN 109086654B CN 201810564063 A CN201810564063 A CN 201810564063A CN 109086654 B CN109086654 B CN 109086654B
- Authority
- CN
- China
- Prior art keywords
- text
- chinese
- training
- model
- chinese text
- 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
- 238000012549 training Methods 0.000 title claims abstract description 334
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000013528 artificial neural network Methods 0.000 claims abstract description 63
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 56
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 42
- 230000036962 time dependent Effects 0.000 claims abstract description 41
- 238000007635 classification algorithm Methods 0.000 claims abstract description 36
- 239000011159 matrix material Substances 0.000 claims description 50
- 230000006870 function Effects 0.000 claims description 47
- 238000004590 computer program Methods 0.000 claims description 22
- 230000001902 propagating effect Effects 0.000 claims description 15
- 238000010606 normalization Methods 0.000 claims description 14
- 230000000306 recurrent effect Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000001788 irregular Effects 0.000 description 5
- 230000003313 weakening effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 230000002411 adverse Effects 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 210000005266 circulating tumour cell Anatomy 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
-
- 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
-
- 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/36—Matching; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/28—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet
- G06V30/287—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet of Kanji, Hiragana or Katakana characters
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开了一种手写模型训练方法、文本识别方法、装置、设备及介质。该手写模型训练方法包括:获取规范中文文本训练样本,并将所述规范中文字训练样本按预设批次进行批分,将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新网络参数,获取规范中文文本识别模型;获取并采用非规范中文文本训练样本,训练获取调整中文手写文本识别模型;获取并采用待测试中文文本样本得到出错文本训练样本;采用出错文本训练样本更新中文手写文本识别模型的网络参数,获取目标中文手写文本识别模型。采用该手写模型训练方法,能够得到识别手写文本识别率高的目标中文手写文本识别模型。
Description
技术领域
本发明涉及中文文本识别领域,尤其涉及一种手写模型训练方法、文本识别方法、装置、设备及介质。
背景技术
采用传统文本识别方法在识别较为潦草的非规范文本(手写中文文本)时,识别的精确度不高,使得其识别效果不理想。传统文本识别方法很大程度上只能识别规范文本,对实际生活中各种各样的手写文本进行识别时,准确率较低。
发明内容
本发明实施例提供一种手写模型训练方法、装置、设备及介质,以解决当前手写中文文本识别准确率不高的问题。
一种手写模型训练方法,包括:
获取规范中文文本训练样本,并将所述规范中文字训练样本按预设批次进行批分,将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新循环神经网络的网络参数,获取规范中文文本识别模型;
获取非规范中文文本训练样本,并将所述非规范中文字训练样本按预设批次进行批分,将批分后的非规范中文文本训练样本输入到所述规范中文文本识别模型中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新所述规范中文文本识别模型的网络参数,获取调整中文手写文本识别模型;
获取待测试中文文本样本,采用所述调整中文手写文本识别模型识别所述待测试中文文本样本,获取识别结果与真实结果不符的出错文本,把所有所述出错文本作为出错文本训练样本;
将所述出错文本训练样本输入到所述调整中文手写文本识别模型中,基于连续时间分类算法进行训练,采用批量梯度下降的时间相关反向传播算法更新调整中文手写文本识别模型的网络参数,获取目标中文手写文本识别模型。
一种手写模型训练装置,包括:
规范中文文本识别模型获取模块,用于获取规范中文文本训练样本,并将所述规范中文字训练样本按预设批次进行批分,将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新循环神经网络的网络参数,获取规范中文文本识别模型;
调整中文手写文本识别模型获取模块,用于获取非规范中文文本训练样本,并将所述非规范中文字训练样本按预设批次进行批分,将批分后的非规范中文文本训练样本输入到所述规范中文文本识别模型中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新所述规范中文文本识别模型的网络参数,获取调整中文手写文本识别模型;
出错文本训练样本获取模块,用于获取待测试中文文本样本,采用所述调整中文手写文本识别模型识别所述待测试中文文本样本,获取识别结果与真实结果不符的出错文本,把所有所述出错文本作为出错文本训练样本;
目标中文手写文本识别模型获取模块,用于将所述出错文本训练样本输入到所述调整中文手写文本识别模型中,基于连续时间分类算法进行训练,采用批量梯度下降的时间相关反向传播算法更新调整中文手写文本识别模型的网络参数,获取目标中文手写文本识别模型。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述手写模型训练方法的步骤。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述手写模型训练方法的步骤。
本发明实施例还提供一种文本识别方法、装置、设备及介质,以解决当前手写文本识别准确率不高的问题。
一种文本识别方法,包括:
获取待识别中文文本,采用目标中文手写文本识别模型识别所述待识别中文文本,获取所述待识别中文文本在所述目标中文手写文本识别模型中的输出值;所述目标中文手写文本识别模型是采用所述手写模型训练方法获取到的;
选取所述待识别中文文本对应的输出值中的最大输出值,根据所述最大输出值获取待识别中文文本的识别结果。
本发明实施例提供一种文本识别装置,包括:
输出值获取模块,用于获取待识别中文文本,采用目标中文手写文本识别模型识别所述待识别中文文本,获取所述待识别中文文本在所述目标中文手写文本识别模型中的输出值;所述目标中文手写文本识别模型是采用所述手写模型训练方法获取到的;
识别结果获取模块,用于选取所述待识别中文文本对应的输出值中的最大输出值,根据所述最大输出值获取待识别中文文本的识别结果。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述文本识别方法的步骤。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述文本识别方法的步骤。
本发明实施例所提供的手写模型训练方法、装置、设备及介质中,获取规范中文文本训练样本,并将规范中文字训练样本按预设批次进行批分,将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新循环神经网络的网络参数,获取规范中文文本识别模型,该规范中文文本识别模型具备识别规范中文手写文本能力。然后再通过批分后的非规范中文文本,基于连续时间分类算法进行训练,实现对规范中文文本识别模型进行的调整性更新,使得更新后获取的调整中文手写文本识别模型在具备识别标准规范文本能力的前提下,通过训练更新的方式学习手写中文文本的深层特征,让调整中文手写文本识别模型能够较好地识别手写中文文本,并且,不需对训练样本进行手动标记和数据对齐,能够直接进行对非对齐不定长序列样本的训练。接着采用调整中文手写文本识别模型识别待测试中文文本样本,获取识别结果与真实结果不相符的出错文本,并将所有出错文本作为出错文本训练样本输入到调整中文手写文本识别模型中,基于连续时间分类算法进行训练,采用批量梯度下降的时间相关反向传播算法更新调整中文手写文本识别模型的网络参数,获取目标中文手写文本识别模型。采用出错文本训练样本能够进一步优化识别准确率,可以进一步地降低训练模型时产生的过分学习和过度削弱的影响。训练各个模型采用的是循环神经网络,该神经网络能够结合中文文本具有的序列特点,学习中文文本的深层特征,实现对不同的手写中文文本进行识别的功能。训练各个模型采用的算法是连续时间分类算法,采用该算法进行训练,不需要对训练样本进行手动标记和数据对齐,能够减少模型复杂度,实现直接进行非对齐不定长序列的训练。规范中文文本识别模型和调整中文手写文本识别模型在训练时采用的是基于小批量梯度的后向传播算法(以训练规范中文文本识别模型为例,即:将规范中文文本训练样本按预设批次进行批分,并采用批分后的规范中文文本训练样本训练规范中文文本识别模型),在训练样本数量多的情况下有较好的训练效率和训练效果,并且还能保证误差相对于单个训练样本来说在一定范围内具有全局特征,更容易找到误差函数的极小值。目标中文手写文本识别模型在训练时采用的是采用批量梯度下降的时间相关反向传播算法,能够保证对模型中参数的充分更新,全面地根据产生的误差进行参数更新,提高所获取的模型的识别准确率。
本发明实施例所提供的文本识别方法、装置、设备及介质中,将待识别中文文本输入到目标中文手写文本识别模型中进行识别并获取识别结果。采用该目标中文手写文本识别模型对中文手写文本进行识别时,可以得到精确的识别结果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中手写模型训练方法的一应用环境图;
图2是本发明一实施例中手写模型训练方法的一流程图;
图3是图2中步骤S10的一具体流程图;
图4是图2中步骤S10的另一具体流程图;
图5是图2中步骤S30的一具体流程图;
图6是本发明一实施例中手写模型训练装置的一示意图;
图7是本发明一实施例中文本识别方法的一流程图;
图8是本发明一实施例中文本识别装置的一示意图;
图9是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出本发明实施例提供的手写模型训练方法的应用环境。该手写模型训练方法的应用环境包括服务端和客户端,其中,服务端和客户端之间通过网络进行连接,客户端是可与用户进行人机交互的设备,包括但不限于电脑、智能手机和平板等设备,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。本发明实施例提供的手写模型训练方法应用于服务端。
图2示出本发明实施例中手写模型训练方法的一流程图,如图2所示,该手写模型训练方法包括如下步骤:
S10:获取规范中文文本训练样本,并将规范中文字训练样本按预设批次进行批分,将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新循环神经网络的网络参数,获取规范中文文本识别模型。
其中,规范中文文本训练样本是指由标准规范文本(如属于楷体、宋体或隶书等中文字体所有序组成的文本,字体一般选择楷体或者宋体)所获取的训练样本。循环神经网络(Recurrent neural networks,简称RNN)是一种对序列数据建模的神经网络。中文文本是由若干字体有序组成的,因此采用RNN能够较好地学习中文文本在序列上的深层特征。连续时间分类(Connectionist temporal classification,简称CTC)算法,是一种完全端到端的声学模型训练的算法,不需要预先对训练样本做对齐,只需要一个输入序列和一个输出序列即可训练。在一实施例中,将批分后的规范中文文本训练样本输入到循环神经网络中进行训练,采用后向传播算法更新卷积神经网络的权值和偏置的过程采用的是小批量梯度下降的方法。小批量梯度下降(Mini-batch Gradient Descent,简称MBGD)是在更新网络参数时,将训练过程中产生的误差按预设批次批分累加,得到若干批次对应的累加误差,并采用该若干批次对应的累加误差进行参数更新的方法。时间相关反向传播算法(BackPropagation Though Time,简称BPTT算法)是神经网络学习中一种训练与学习方法,用来更新调整神经网络中各个节点之间的网络参数。采用时间相关反向传播算法对神经网络中的网络参数进行调整时需要求出误差函数的极小值,而在本实施例中,误差函数的极小值具体采用小批量梯度下降的处理方法求出。
本实施例中,获取规范中文文本训练样本,并将规范中文字训练样本按预设批次进行批分。规范中文文本训练样本中采用的字体是相同的(不将多种字体混杂),如进行模型训练的规范中文文本训练样本全部采用宋体,本实施例中以宋体为例进行说明。可以理解地,这里组成标准规范文本中的中文字体是指属于目前中文字体中的主流字体,如计算机设备的输入法中的默认字体宋体,常用于临摹的主流字体楷体等;而像日常生活中比较少使用的中文字体,如草书、幼圆,则不列入组成该标准规范文本的中文字体的范围。在获取规范中文文本训练样本并将规范中文字训练样本按预设批次进行批分后,将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类算法进行训练,采用时间相关反向传播算法(基于小批量梯度)更新循环神经网络的网络参数,获取规范中文文本识别模型。该规范中文文本识别模型在训练过程中学习了规范中文文本训练样本的深层特征,使得该模型能够对标准规范文本进行精确的识别,具备对标准规范文本的识别能力,并且,训练规范中文文本识别模型的过程中不需对规范中文文本训练样本进行手动标记和数据对齐,能够直接进行端到端的训练。需要说明的是,无论规范中文文本训练样本中的字体采用的是楷体、宋体或隶书等其他中文字体,由于这些不同的中文字体组成的标准规范文本在字体识别的层面上差别并不大,因此训练好的规范中文文本识别模型可以对楷体、宋体或隶书等字体对应的标准规范文本进行精确的识别,得到较准确的识别结果。
S20:获取非规范中文文本训练样本,并将非规范中文字训练样本按预设批次进行批分,将批分后的非规范中文文本训练样本输入到规范中文文本识别模型中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新规范中文文本识别模型的网络参数,获取调整中文手写文本识别模型。
其中,非规范中文文本训练样本是指根据手写中文文本所获取的训练样本,该手写中文文本具体可以是按照楷体、宋体或隶书等主流字体通过手写方式得到的文本。可以理解地,该非规范中文文本训练样本与规范中文文本训练样本的区别在于非规范中文文本训练样本是由手写中文文本所获取的,既然是手写的,当然就包含各种各样不同的字体形态。
本实施例中,服务端获取非规范中文文本训练样本,并将非规范中文字训练样本按预设批次进行批分,该训练样本包含有手写中文文本的特征。将批分后的非规范中文文本训练样本输入到规范中文文本识别模型中,基于连续时间分类算法进行训练并调整,采用时间相关反向传播算法(基于小批量梯度)更新规范中文文本识别模型的网络参数,获取调整中文手写文本识别模型。可以理解地,规范中文文本识别模型具备识别标准规范中文文本的能力,但是在对手写中文文本进行识别时并没有较高的识别精确度。因此本实施例采用非规范中文文本训练样本进行训练,让规范中文手写文本识别模型在已有识别标准规范文本的基础上,对模型中的网络参数进行调整,获取调整中文手写文本识别模型。该调整中文手写文本识别模型在原本识别标准规范文本的基础上学习手写中文文本的深层特征,使得该调整中文手写文本识别模型结合了标准规范文本和手写中文文本的深层特征,能够同时对标准规范文本和手写中文文本进行有效的识别,得到准确率较高的识别结果。
循环神经网络在进行文本识别时,是根据文本的像素分布及序列进行判断的,在实际生活中的手写中文文本与标准规范文本存在差别,但是这种差别相比与其他不对应标准规范文本的差别小很多的,例如,手写中文文本的“你好”和标准规范文本的“你好”在像素分布上存在差别,但是这种差别相比于手写中文文本“你好”和标准规范文本“再见”之间的差别明显小很多。可以这样认为,即使手写中文文本与相对应的标准规范文本之间存在一定的差别,但是这种差别比与不相对应的标准规范文本的差别小得多,因此,可以通过最相似(即差别最小)的原则确定识别结果。调整中文手写文本识别模型是由循环神经网络训练而来的,该模型结合标准规范文本和手写中文文本的深层特征,能够根据该深层特征对手写中文文本进行有效的识别。
需要说明的是,本实施例的步骤S10和步骤S20的顺序是不可调换的,需先执行步骤S10再执行步骤S20。先采用规范中文训练样本训练循环神经网络可以使获取的规范中文文本识别模型拥有较好的识别能力,使其对标准规范文本有精确的识别结果。在拥有良好的识别能力的基础上再进行步骤S20的微调,使得训练获取的调整中文手写文本识别模型能够根据学习到的手写中文文本的深层特征对手写中文文本进行有效的识别,使其对手写中文文本识别有较精确的识别结果。若先执行步骤S20或只执行步骤S20,由于手写中文文本包含的手写字体有各种各样的形态,直接采用手写中文文本训练学习到的特征并不能较好地反映手写中文文本的特征,会使一开始模型就学“坏”,导致后来再怎么进行调整也难以使得对手写中文文本识别有精确的识别结果。虽然每个人的手写中文文本都不一样,但是极大部分都是与标准规范文本相似(如手写中文文本模仿标准规范文本)。因此,一开始根据标准规范文本进行模型训练更符合客观情况,要比直接对手写中文文本进行模型训练的效果更好,可以在“好”的模型下进行相应的调整,获取手写中文文本识别率高的调整中文手写文本识别模型。
S30:获取待测试中文文本样本,采用调整中文手写文本识别模型识别待测试中文文本样本,获取识别结果与真实结果不符的出错文本,把所有出错文本作为出错文本训练样本。
其中,待测试中文文本样本是指根据标准规范文本和手写中文文本所获取的用于测试的训练样本,该步骤采用的标准规范文本和步骤S10中用于训练的标准规范文本是相同的(因为如楷体、宋体等字体所对应的每个字都是唯一确定的);采用的手写中文文本与和步骤S20中用于训练的手写中文文本可以是不同的(不同人手写的中文文本是不完全相同的,手写中文文本的每个文本可以对应多种字体形态,为了与步骤S20用于训练的非规范中文文本训练样本区分开来,避免模型训练过拟合的情况,一般该步骤采用与步骤S20不同的手写中文文本)。
本实施例中,将训练好的调整中文手写文本识别模型用来识别待测试中文文本样本。训练时标准规范文本和手写中文文本可以是采用混合的方式输入到调整中文手写文本识别模型。在采用调整中文手写文本识别模型对待测试中文文本样本进行识别时,将获取到相应的识别结果,把识别结果与标签值(真实结果)不相符的所有出错文本作为出错文本训练样本。该出错文本训练样本反映调整中文文本手写识别模型仍然存在识别精度不足的问题,以便后续根据该出错文本训练样本进一步更新、优化调整中文手写文本识别模型。
由于调整中文手写文本识别模型的识别精度实际上受到规范中文文本训练样本和非规范中文文本训练样本的共同影响,在先采用规范中文文本训练样本更新网络参数,再采用非规范中文文本训练样本更新网络参数的前提下,会导致获取到的调整中文手写文本识别模型过度学习非规范中文文本训练样本的特征,使得获取的调整中文手写文本识别模型对非规范中文文本训练样本(包括手写中文文本)拥有非常高的识别精度,但却过度学习该非规范中文文本样本的特征,影响除该非规范中文文本训练样本以外的手写中文文本的识别精度,因此,步骤S30采用待测试中文文本样本对调整中文手写文本识别模型进行识别,能够很大程度上消除训练时采用的非规范中文文本训练样本的过度学习。即通过调整中文手写文本识别模型识别待测试中文文本样本,以找出由于过度学习而产生的误差,该误差具体可以通过出错文本反映出来,因此能够根据该出错文本进一步地更新、优化调整中文手写文本识别模型的网络参数。
S40:将出错文本训练样本输入到调整中文手写文本识别模型中,基于连续时间分类算法进行训练,采用批量梯度下降的时间相关反向传播算法更新调整中文手写文本识别模型的网络参数,获取目标中文手写文本识别模型。
本实施例中,将出错文本训练样本输入到调整中文手写文本识别模型中,基于连续时间分类算法进行训练,该出错文本训练样本反映了在训练调整中文手写文本识别模型时,由于过度学习非规范中文文本训练样本的特征,导致调整中文手写文本识别模型在识别非规范中文文本训练样本以外的手写中文文本时出现的识别不精确的问题。并且,由于先采用规范中文文本训练样本再采用非规范中文文本训练样本训练模型的原因,会过度削弱原先学习的标准规范文本的特征,这会影响模型初始搭建的对标准规范文本进行识别的“框架”。利用出错文本训练样本可以很好地解决过度学习和过度削弱的问题,可以根据出错文本训练样本反映的识别精确度上的问题,在很大程度上消除原本训练过程中产生的过度学习和过度削弱带来的不利影响。
具体地,采用出错文本训练样本进行训练时采用的是批量梯度下降的时间相关反向传播算法,根据该算法更新调整中文手写文本识别模型的网络参数,获取目标中文手写文本识别模型,该目标中文手写文本识别模型是指最终训练出来的可用于识别中文手写文本的模型。训练采用的是循环神经网络,该神经网络能够结合中文文本具有的序列特点,学习中文文本的深层特征,提高目标中文手写文本识别模型的识别率。训练采用的算法是连续时间分类算法,采用该算法进行训练,不需要对训练样本进行手动标记和数据对齐,能够减少模型复杂度,实现直接进行非对齐不定长序列的训练。在更新网络参数时,出错文本训练样本的样本容量较少(出错文本较少),采用批量梯度下降的时间相关反向传播算法能够将所有出错文本训练样本在循环神经网络训练时产生的误差都进行反传更新,保证产生的所有误差都能对网络进行调整和更新,能够全面地训练循环神经网络,提高目标中文手写文本识别模型的识别准确率。
步骤S10-S40中,采用批分后的规范中文文本训练样本训练并获取规范中文文本识别模型,再通过批分后的非规范中文文本对规范中文文本识别模型进行调整性的更新,使得更新后获取的调整中文手写文本识别模型在具备识别标准规范文本能力的前提下,通过训练更新的方式学习手写中文文本的深层特征,使得调整中文手写文本识别模型能够较好地识别手写中文文本。然后采用调整中文手写文本识别模型识别待测试中文文本样本,获取识别结果与真实结果不相符的出错文本,并将所有出错文本作为出错文本训练样本输入到调整中文手写文本识别模型中,基于连续时间分类算法进行训练更新,获取目标中文手写文本识别模型。采用出错文本训练样本可以在很大程度上消除原本训练过程中产生的过度学习和过度削弱带来的不利影响,能够进一步优化识别准确率。训练规范中文文本识别模型和调整中文手写文本识别模型采用了采用时间相关反向传播算法(基于小批量梯度),能够在训练样本数量多的情况下仍然有较好的训练效率和训练效果,并且还能保证误差相对于单个训练样本来说在一定范围内具有全局特征,更容易找到误差函数的极小值。训练目标中文手写文本识别模型采用了采用批量梯度下降的时间相关反向传播算法,采用批量梯度下降能够保证对模型中参数的充分更新,对训练样本在训练过程中产生的误差都进行反向传播更新,全面地根据产生的误差进行参数更新,提高所获取的模型的识别准确率。训练各个模型采用的是循环神经网络,该神经网络能够结合中文文本具有的序列特点,学习中文文本的深层特征,实现对不同的手写中文文本进行识别的功能。训练各个模型采用的算法是连续时间分类算法,采用该算法进行训练,不需要对训练样本进行手动标记和数据对齐,能够减少模型复杂度,实现直接进行非对齐不定长序列的训练。
在一实施例中,如图3所示,步骤S10中,获取规范中文文本训练样本,并将规范中文字训练样本按预设批次进行批分,具体包括如下步骤:
S101:获取待处理中文文本训练样本中每个中文文本的像素值特征矩阵,将每个中文文本的像素值特征矩阵中每个像素值进行归一化处理,获取每个中文文本的归一化像素值特征矩阵,其中,归一化处理的公式为MaxValue为像素值特征矩阵中像素值的最大值,MinValue为像素值特征矩阵中像素值的最小值,x为归一化前的像素值,y为归一化后的像素值。
其中,待处理中文文本训练样本是指初始获取的,未经处理的训练样本。
本实施例中,可以采用成熟的、开源的卷积神经网络提取待处理中文文本训练样本的特征,获取待处理中文文本训练样本中每个中文文本的像素值特征矩阵。每个中文文本的像素值特征矩阵代表着对应文本的特征,在这里用像素值代表文本的特征,由于文本是通过图像二维表示的,故像素值可以采用矩阵表示,即像素值特征矩阵。计算机设备能够识别像素值特征矩阵的形式,读取像素值特征矩阵中的数值。服务端获取每个中文文本的像素值特征矩阵后,采用归一化处理的公式对特征矩阵中的各个像素值进行归一化处理,获取每个中文文本的归一化像素值特征。本实施例中,采用归一化处理方式能够将每个中文文本的像素值特征矩阵都压缩在同一个范围区间内,能够加快与该像素值特征矩阵相关的计算,有助于提高训练规范中文文本识别模型的训练效率。
S102:将每个中文文本的归一化像素值特征矩阵中的像素值划分为两类像素值,基于两类像素值建立每个中文文本的二值化像素值特征矩阵,将每个中文文本的二值化像素值特征矩阵对应的中文文本组合作为规范中文文本训练样本,并将规范中文字训练样本按预设批次进行批分。
本实施例中,将每个中文文本的归一化像素值特征矩阵中的像素值划分为两类像素值,该两类像素值是指像素值中只包含像素值A或者像素值B。具体地,可以将归一化像素特征矩阵中大于或等于0.5的像素值取为1,将小于0.5的像素值取为0,建立相应的每个中文文本的二值化像素值特征矩阵,每个中文文本的二值化像素特征矩阵中的原始只包含0或1。在建立每个中文文本的二值化像素值特征矩阵后,将二值化像素值特征矩阵对应的中文文本组合作为规范中文文本训练样本,并将规范中文字训练样本按预设批次进行批分。例如,在一张包含文本的图像中,包含文本像素的部分和空白像素的部分。文本上的像素值一般颜色会比较深,二值化像素值特征矩阵中的“1”代表文本像素的部分,而“0”则代表图像中空白像素的部分。可以理解地,通过建立二值化像素值特征矩阵可以进一步简化对文本的特征表示,仅采用0和1的矩阵就可以将各个文本表示并区别开来,能够提高计算机处理关于文本的特征矩阵的速度,进一步提高训练规范中文文本识别模型的训练效率。
步骤S101-S102对待处理中文文本训练样本进行归一化处理并进行二类值的划分,获取每个中文文本的二值化像素值特征矩阵,并将每个中文文本的二值化像素值特征矩阵对应的文本作为规范中文文本训练样本,能够显著缩短训练规范中文文本识别模型的时长。
在一实施例中,如图4所示,步骤S10中,将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新循环神经网络的网络参数,获取规范中文文本识别模型,具体包括如下步骤:
S111:将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类算法进行训练,获取批分后的规范中文文本训练样本在循环神经网络中的前向传播输出和后向传播输出,前向传播输出表示为其中,t表示序列步数,u表示与t相对应的输出的标签值,表示在第t步的输出为标签值l'u的概率,后向传播输出表示为其中,t表示序列步数,u表示与t相对应的输出的标签值,表示在第t+1步的输出为标签值l'u的概率,
本实施例中,将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类(CTC)算法进行训练。CTC算法本质上是一种计算误差函数的算法,该算法是用来衡量输入的序列数据经过神经网络之后,和真实结果(客观事实,也称为标签值)之间的误差有多少。因此,可以通过获取批分后的规范中文文本训练样本在循环神经网络中的前向传播输出和后向传播输出,再利用前向传播输出和后向传播输出描述、构建相对应的误差函数。首先简单介绍几个CTC中的基本定义,以更好地理解CTC的实现过程。表示在第t步的输出为标签值k的概率。例如:当输出序列为(a-ab-)时,表示在第3步输出的字母为a的概率,字母a是该第三步对应的标签值。p(π|x):表示给定的输入序列x,输出路径为π的概率;由于假设在每一个序列步相应输出的标签值的概率都是相互独立的,那么p(π|x)用公式来表示为可以理解为每一个序列步输出路径π相应的标签值的概率的乘积。F:表示一种多对一的映射,将输出路径π映射到标签序列l的一种变换,例如:F(a-ab-)=F(-aa-abb)=aab(其中-代表了空格),本实施例中,该映射变换可以是如上述例子的去除叠字和去除空格处理。p(l|x):表示给定的输入序列x(如规范中文文本训练样本中的某个样本),输出为序列l的概率,因此,输出为序列l的概率可以表示为所有输出路径π映射后的序列为l的概率之和,用公式表示为可以理解地,随着序列l长度的增加,相对应的路径的数目是成指数增加的,因此可以采用迭代的思路,从序列第t步与t-1步、t+1步的关于前向传播和后向传播的角度出发计算序列l对应的路径概率,提高计算的效率。
具体地,在进行计算之前,需要对序列l做一些预处理,在序列l的开头与结尾分别加上空格,并且在字母与字母之间都添加上空格。如果原来序列l的长度为U,那么预处理之后,序列l'的长度为2U+1。对于一个序列l,可以定义前向变量α(t,u)为输出序列长度为t,且经过F映射之后为序列l的路径的概率之和,用公式表示为:其中,V(t,u)={π∈A't:F(π)=l1:u/2,πt=l'u},表示所有满足经过F映射之后为序列l,长度为t的路径集合,且在第t序列步的输出为l'u,这里的u/2表示的是索引,因此需要向下取整。所有正确路径的开头必须是空格或者l1(即序列l的第一个字母),因此存在着初始化的约束条件:(b表示blank,空格),则p(l|x)可以由前向变量来表示,即:p(l|x)=α(T,U')+α(T,U'-1),其中,α(T,U')可以理解为所有路径长度为T,经过F映射之后为序列l,且第T时刻的输出的标签值为:l'U或者l'U-1,也就是路径的最后一个是否包括了空格。于是,前向变量的计算可以按照时间来进行递归,用公式表示为:其中,这里的f(u),实际上是对前一时刻的所有可能路径的列举,其具体条件公式如下:
与前向传播的过程类似,可以定义一个后向变量β(t,u),表示从t+1时刻开始,在前向变量α(t,u)上添加路径π',使得最后通过F映射之后为序列l的概率之和,用公式表示为:其中,后向传播也有相对应的初始化条件:β(T,U')=β(T,U'-1)=1,于是,后向变量同样可以根据递归的方式求出,用公式表示为:其中,g(u)表示t+1时刻可能的路径选择函数,表示为则可以根据前向变量的递归表达式和后向变量的递归表达式对前向传播的过程和后向传播的过程进行描述,获取相对应的前向传播输出和后向传播输出(前向变量的递归表达式即表示前向传播输出,后向变量的递归表达式即表示后向传播输出)。
S112:根据前向传播输出和后向传播输出构建误差函数。
在一实施例中,可以根据前向传播输出和后向传播输出构建误差函数,具体地,可以使用概率的负对数作为误差函数。设l=z,则误差函数可以表示为其中,S表示规范中文文本训练样本。该式中的p(z|x)可以根据前向传播输出和后向传播输出进行计算。首先定义一个集合X,其代表t时刻位置处在u的所有正确的路径,用公式表示为:X(t,u)={π∈A'T:F(π)=z,πt=z'u},于是,任意时刻前向变量与后向变量的乘积表示所有可能路径的概率和,即该式是t时刻位置恰好处于u的所有正确路径的概率和,则对于一般情况,对于任意时刻t,可以计算所有位置的正确路径得到总概率:则根据误差函数的定义能够得到误差函数在得到误差函数之后就可以根据误差函数更新网络参数,获取规范中文文本识别模型。
S113:根据误差函数,采用时间相关反向传播算法更新循环神经网络的网络参数,获取规范中文文本识别模型。
在一实施例中,根据获取的误差函数可以采用时间相关反向传播算法(基于小批量梯度)更新网络参数,具体地,求出该误差函数对未经过sofmax层的网络输出的偏导数(即梯度),将该梯度乘以学习率,用原来的网络参数减去梯度乘以学习率的积即实现网络参数的更新。
步骤S111-S113能够根据规范中文文本训练样本在循环神经网络得到的前向传播输出和后向传播输出构建误差函数并根据该误差函数进行误差反传,更新网络参数,实现获取规范中文文本识别模型的目的。该模型学习了规范中文文本训练样本的深层特征,能够精确地识别标准规范文本。
在一实施例中,如图5所示,步骤S30中,采用调整中文手写文本识别模型识别待测试中文文本样本,获取识别结果与真实结果不符的出错文本,把所有出错文本作为出错文本训练样本,具体包括如下步骤:
S31:将待测试中文文本样本输入到调整中文手写文本识别模型,获取待测试中文文本样本中每一文本在调整中文手写文本识别模型中的输出值。
本实施例中,采用调整中文手写文本识别模型对待测试中文文本样本进行识别,待测试中文文本样本中包含若干个中文文本。文本包括文字,本实施例提及的每一文本的输出值具体是指每一文字中各个字体对应的各个输出值。在中文字库中,常用的中文字大概有三千多个(包括空格和各种中文标点符号),在调整中文手写文本识别模型的输出层应设置中文字库中每一个字与输入的待测试中文文本样本中的字的相似程度的概率值,具体可以通过softmax函数实现。可以理解地,若待测试中文文本样本中的一个文本样本假设为一张分辨率为8*8的图像,上面是“你们好”三个字,则识别时把图片进行垂直切割成8列,8个3维的向量,然后作为调整中文手写文本识别模型的8个输入数。调整中文手写文本识别模型的输出数和输入数的数量应该是相同的,而实际上该文本样本只有3个输出数,而不应是8个输出数,因此实际输出的情况会出现叠字的情况,例如:“你你们们好___”、“你_们_们_好_”、“_你你_们_好_”等输出情况,在这8个输出数中,每一个输出数对应的中文字都存在与中文字库中每一个字计算相似程度的概率值,该概率值即测试中文文本样本中每一文本在调整中文手写文本识别模型中的输出值,该输出值有很多个,每一输出值对应该输出数所对应的中文字与中文字库中每一个字相似程度的概率值。根据该概率值可以确定每一文本的识别结果。
S32:选取每一文本对应的输出值中的最大输出值,根据最大输出值获取每一文本的识别结果。
本实施例中,选取每一文本对应的所有输出值中的最大输出值,根据该最大输出值即可获取该文本的识别结果。可以理解地,输出值直接反映了输入的待测试中文文本样本中的字与中文字库中每一字的相似程度,而最大输出值则表明待测试文本样本中的字最接近中文字库中的某个字,则可以根据该最大输出值对应的字确定实际输出,如实际输出为“你你们们好___”、“你_们_们_好_”、“_你你_们_好_”等输出情况而不是像“妳妳扪扪好___”、“你_们_们_好_”、“_你妳_扪_好_”等实际输出,根据连续时间分类算法的定义,还需要对实际输出作进一步地处理,把实际输出中的叠词字去除,只保留一个;并把空格去除,则可以得到识别结果,如本实施例中的识别结果为“你们好”。通过最大输出值确定实际输出的字的正确性,再作去叠字和去空格的处理,能够有效获取每一文本的识别结果。
S33:根据识别结果,获取识别结果与真实结果不符的出错文本,把所有出错文本作为出错文本训练样本。
本实施例中,将得到的识别结果与真实结果(客观事实)作比较,将比较识别结果与真实结果不符的出错文本作为出错文本训练样本。可以理解地,该识别结果只是待测试中文文本训练样本在调整中文手写文本识别模型识别出来的结果,与真实结果相比有可能是不相同的,反映了该模型在识别的精确度上仍有不足,而这些不足可以通过出错文本训练样本进行优化,以达到更精确的识别效果。
步骤S31-S33根据待测试中文文本样本中每一文本在调整中文手写文本识别模型中的输出值,从输出值中选择能够反映文本间(实际上是字的相似程度)相似程度的最大输出值;再通过最大输出值得到识别结果,并根据识别结果得到出错文本训练样本,为后续利用出错文本训练样本进一步优化识别精确度提供了重要的技术前提。
在一实施例中,在步骤S10之前,即在获取规范中文文本训练样本的步骤之前,该手写模型训练方法还包括如下步骤:初始化循环神经网络。
在一实施例中,初始化循环神经网络即初始化该网络的网络参数,赋予网络参数初始值。若初始化的权值处在误差曲面的一个相对平缓的区域时,循环神经网络模型训练的收敛速度可能会异常缓慢。可以将网络参数初始化在一个具有0均值的相对小的区间内均匀分布,比如[-0.30,+0.30]这样的区间内。合理地初始化循环神经网络可以使网络在初期有较灵活的调整能力,可以在训练过程中对网络进行有效的调整,能够快速有效地找到误差函数的极小值,有利于循环神经网络的更新和调整,使得基于循环神经网络进行模型训练获取的模型在进行中文手写字识别时具备精确的识别效果。
本实施例所提供的手写模型训练方法中,将循环神经网络的网络参数初始化在一个具有0均值的相对小的区间内均匀分布,比如[-0.30,+0.30]这样的区间,采用该初始化的方式能够快速有效地找到误差函数的极小值,有利于循环神经网络的更新和调整。对待处理中文文本训练样本进行归一化处理并进行二类值的划分,获取每个中文文本的二值化像素值特征矩阵,并将每个中文文本的二值化像素值特征矩阵对应的文本作为规范中文文本训练样本,能够显著缩短训练规范中文文本识别模型的时长。根据批分的规范中文文本训练样本在循环神经网络得到的前向传播输出和后向传播输出构建误差函数并根据该误差函数反传更新网络参数,能够获取规范中文文本识别模型,该模型学习了规范中文文本训练样本的深层特征,能够精确地识别标准规范文本。接着通过批分的非规范中文文本对规范中文文本识别模型进行调整性的更新,使得更新后获取的调整中文手写文本识别模型在具备识别规范中文手写文本能力的前提下,通过训练更新的方式学习非规范中文文本的深层特征,使得调整中文手写文本识别模型能够较好地识别非规范中文手写文本。接着,根据待测试中文文本样本中每一文本在调整中文手写文本识别模型中的输出值,从输出值中选择能够反映文本间相似程度的最大输出值,利用最大输出值得到识别结果,并根据识别结果得到出错文本训练样本,并将所有出错文本作为出错文本训练样本输入到调整中文手写文本识别模型中,基于连续时间分类算法进行训练更新,获取目标中文手写文本识别模型。采用出错文本训练样本可以在很大程度上消除原本训练过程中产生的过度学习和过度削弱带来的不利影响,能够进一步优化识别准确率。此外,本实施例所提供的手写模型训练方法中,规范中文文本识别模型和调整中文手写文本识别模型在训练时采用的是基于小批量梯度(按预设批次对规范中文文本训练样本进行批分)的后向传播算法,在训练样本数量多的情况下仍然有较好的训练效率和训练效果。目标中文手写文本识别模型在训练时采用的是采用批量梯度下降的时间相关反向传播算法,能够保证对模型中参数的充分更新,对训练样本在训练过程中产生的误差都进行反向传播更新,全面地根据产生的误差进行参数更新,提高所获取的模型的识别准确率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出与实施例中手写模型训练方法一一对应的手写模型训练装置的原理框图。如图6所示,该手写模型训练装置包括规范中文文本识别模型获取模块10、调整中文手写文本识别模型获取模块20、出错文本训练样本获取模块30和目标中文手写文本识别模型获取模块40。其中,规范中文文本识别模型获取模块10、调整中文手写文本识别模型获取模块20、出错文本训练样本获取模块30和目标中文手写文本识别模型获取模块40的实现功能与实施例中手写模型训练方法对应的步骤一一对应,为避免赘述,本实施例不一一详述。
规范中文文本识别模型获取模块10,用于获取规范中文文本训练样本,并将规范中文字训练样本按预设批次进行批分,将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新循环神经网络的网络参数,获取规范中文文本识别模型。
调整中文手写文本识别模型获取模块20,用于获取非规范中文文本训练样本,并将非规范中文字训练样本按预设批次进行批分,将批分后的非规范中文文本训练样本输入到规范中文文本识别模型中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新规范中文文本识别模型的网络参数,获取调整中文手写文本识别模型。
出错文本训练样本获取模块30,用于获取待测试中文文本样本,采用调整中文手写文本识别模型识别待测试中文文本样本,获取识别结果与真实结果不符的出错文本,把所有出错文本作为出错文本训练样本。
目标中文手写文本识别模型获取模块40,用于将出错文本训练样本输入到调整中文手写文本识别模型中,基于连续时间分类算法进行训练,采用批量梯度下降的时间相关反向传播算法更新调整中文手写文本识别模型的网络参数,获取目标中文手写文本识别模型。
优选地,规范中文文本识别模型获取模块10包括归一化像素值特征矩阵获取单元101、规范中文文本训练样本获取单元102、传播输出获取单元111、误差函数构建单元112和规范中文文本识别模型获取单元113。
归一化像素值特征矩阵获取单元101,用于获取待处理中文文本训练样本中每个中文文本的像素值特征矩阵,将每个中文文本的像素值特征矩阵中每个像素值进行归一化处理,获取每个中文文本的归一化像素值特征矩阵,其中,归一化处理的公式为MaxValue为像素值特征矩阵中像素值的最大值,MinValue为像素值特征矩阵中像素值的最小值,x为归一化前的像素值,y为归一化后的像素值。
规范中文文本训练样本获取单元102,用于将每个中文文本的归一化像素值特征矩阵中的像素值划分为两类像素值,基于两类像素值建立每个中文文本的二值化像素值特征矩阵,将每个中文文本的二值化像素值特征矩阵对应的中文文本组合作为规范中文文本训练样本,并将规范中文字训练样本按预设批次进行批分。
传播输出获取单元111,用于将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类算法进行训练,获取批分后的规范中文文本训练样本在循环神经网络中的前向传播输出和后向传播输出,前向传播输出表示为其中,t表示序列步数,u表示与t相对应的输出的标签值,表示在第t步的输出为标签值l'u的概率,后向传播输出表示为其中,t表示序列步数,u表示与t相对应的输出的标签值,表示在第t+1步的输出为标签值l'u的概率,
误差函数构建单元112,用于根据前向传播输出和后向传播输出构建误差函数。
规范中文文本识别模型获取单元113,用于根据误差函数,采用时间相关反向传播算法更新循环神经网络的网络参数,获取规范中文文本识别模型。
优选地,出错文本训练样本获取模块30包括模型输出值获取单元31、模型识别结果获取单元32和出错文本训练样本获取单元33。
模型输出值获取单元31,用于将待测试中文文本样本输入到调整中文手写文本识别模型,获取待测试中文文本样本中每一文本在调整中文手写文本识别模型中的输出值。
模型识别结果获取单元32,用于选取每一文本对应的输出值中的最大输出值,根据最大输出值获取每一文本的识别结果。
出错文本训练样本获取单元33,用于根据识别结果,获取识别结果与真实结果不符的出错文本,把所有出错文本作为出错文本训练样本。
优选地,该手写模型训练装置还包括初始化模块50,用于初始化循环神经网络。
图7示出本实施例中文本识别方法的一流程图。该文本识别方法可应用在银行、投资和保险等机构配置的计算机设备,用于对手写中文文本进行识别,达到人工智能目的。如图7所示,该文本识别方法包括如下步骤:
S50:获取待识别中文文本,采用目标中文手写文本识别模型识别待识别中文文本,获取待识别中文文本在目标中文手写文本识别模型中的输出值,目标中文手写文本识别模型是采用上述手写模型训练方法获取到的。
其中,待识别中文文本是指要进行识别的中文文本。
本实施例中,获取待识别中文文本,将待识别中文文本输入到目标中文手写文本识别模型中进行识别,获取待识别中文文本在目标中文手写文本识别模型中的每一个输出数对应的中文字与中文字库中每一个字的相似程度的概率值,该概率值即待识别中文文本在目标中文手写文本识别模型中的输出值,可以基于该输出值确定该待识别中文文本的识别结果。
S60:选取待识别中文文本对应的输出值中的最大输出值,根据最大输出值获取待识别中文文本的识别结果。
本实施例中,选取待识别中文文本对应的所有输出值中的最大输出值,根据该最大输出值确定其对应的实际输出,例如,实际输出为“你_们_们_好_”。然后再对该实际输出作进一步地处理,把实际输出中的叠词字去除,只保留一个;并把空格去除,则可以得到待识别中文文本的识别结果。通过最大输出值确定实际输出阶段的字的正确性,再作去叠字和去空格的处理,能够有效获取每一文本的识别结果,提高识别的准确率。
步骤S50-S60,采用目标中文手写文本识别模型识别待识别中文文本,根据最大输出值以及去叠字和去空格的处理,获取待识别中文文本的识别结果。采用该目标中文手写文本识别模型本身拥有较高的识别精确度,再结合中文语义词库进一步提高中文手写的识别准确率。
本发明实施例所提供的文本识别方法中,将待识别中文文本输入到目标中文手写文本识别模型中进行识别,并结合预设的中文语义词库获取识别结果。采用该目标中文手写文本识别模型对中文手写文本进行识别时,可以得到精确的识别结果。
图8示出与实施例中文本识别方法一一对应的文本识别装置的原理框图。如图8所示,该文本识别装置包括输出值获取模块60和识别结果获取模块70。其中,输出值获取模块60和识别结果获取模块70的实现功能与实施例中文本识别方法对应的步骤一一对应,为避免赘述,本实施例不一一详述。
文本识别装置包括输出值获取模块60,用于获取待识别中文文本,采用目标中文手写文本识别模型识别待识别中文文本,获取待识别中文文本在目标中文手写文本识别模型中的输出值;目标中文手写文本识别模型是采用手写模型训练方法获取到的。
识别结果获取模块70,用于选取待识别中文文本对应的输出值中的最大输出值,根据最大输出值获取待识别中文文本的识别结果。
本实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现实施例中手写模型训练方法,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现实施例中手写模型训练装置的各模块/单元的功能,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现实施例中文本识别方法中各步骤的功能,为避免重复,此处不一一赘述。或者,该计算机程序被处理器执行时实现实施例中文本识别装置中各模块/单元的功能,为避免重复,此处不一一赘述。
图9是本发明一实施例提供的计算机设备的示意图。如图9所示,该实施例的计算机设备80包括:处理器81、存储器82以及存储在存储器82中并可在处理器81上运行的计算机程序83,该计算机程序83被处理器81执行时实现实施例中的手写模型训练方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器81执行时实现实施例中手写模型训练装置中各模型/单元的功能,为避免重复,此处不一一赘述。或者,该计算机程序被处理器81执行时实现实施例中文本识别方法中各步骤的功能,为避免重复,此处不一一赘述。或者,该计算机程序被处理器81执行时实现实施例中文本识别装置中各模块/单元的功能。为避免重复,此处不一一赘述。
计算机设备80可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可包括,但不仅限于,处理器81、存储器82。本领域技术人员可以理解,图9仅仅是计算机设备80的示例,并不构成对计算机设备80的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器81可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器82可以是计算机设备80的内部存储单元,例如计算机设备80的硬盘或内存。存储器82也可以是计算机设备80的外部存储设备,例如计算机设备80上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器82还可以既包括计算机设备80的内部存储单元也包括外部存储设备。存储器82用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器82还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种手写模型训练方法,其特征在于,包括:
获取规范中文文本训练样本,并将所述规范中文字训练样本按预设批次进行批分,将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新循环神经网络的网络参数,获取规范中文文本识别模型;
获取非规范中文文本训练样本,并将所述非规范中文字训练样本按预设批次进行批分,将批分后的非规范中文文本训练样本输入到所述规范中文文本识别模型中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新所述规范中文文本识别模型的网络参数,获取调整中文手写文本识别模型;
获取待测试中文文本样本,采用所述调整中文手写文本识别模型识别所述待测试中文文本样本,获取识别结果与真实结果不符的出错文本,把所有所述出错文本作为出错文本训练样本;
将所述出错文本训练样本输入到所述调整中文手写文本识别模型中,基于连续时间分类算法进行训练,采用批量梯度下降的时间相关反向传播算法更新调整中文手写文本识别模型的网络参数,获取目标中文手写文本识别模型。
2.根据权利要求1所述的手写模型训练方法,其特征在于,所述获取规范中文文本训练样本,并将所述规范中文字训练样本按预设批次进行批分,包括:
获取待处理中文文本训练样本中每个中文文本的像素值特征矩阵,将每个中文文本的像素值特征矩阵中每个像素值进行归一化处理,获取每个中文文本的归一化像素值特征矩阵,其中,归一化处理的公式为MaxValue为所述像素值特征矩阵中像素值的最大值,MinValue为所述像素值特征矩阵中像素值的最小值,x为归一化前的像素值,y为归一化后的像素值;
将每个中文文本的归一化像素值特征矩阵中的像素值划分为两类像素值,基于所述两类像素值建立每个中文文本的二值化像素值特征矩阵,将每个中文文本的二值化像素值特征矩阵对应的中文文本组合作为规范中文文本训练样本,并将所述规范中文字训练样本按预设批次进行批分。
3.根据权利要求1所述的手写模型训练方法,其特征在于,所述将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新循环神经网络的网络参数,获取规范中文文本识别模型,包括:
将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类算法进行训练,获取批分后的规范中文文本训练样本在所述循环神经网络中的前向传播输出和后向传播输出,所述前向传播输出表示为其中,t表示序列步数,u表示与t相对应的输出的标签值,表示在第t步的输出为标签值l'u的概率,f(u)表示t-1时刻可能的路径选择函数;所述后向传播输出表示为其中,t表示序列步数,u表示与t相对应的输出的标签值,表示在第t+1步的输出为标签值l'u的概率,
根据所述前向传播输出和所述后向传播输出构建误差函数;
根据所述误差函数,采用时间相关反向传播算法更新循环神经网络的网络参数,获取规范中文文本识别模型。
4.根据权利要求1所述的手写模型训练方法,其特征在于,所述采用调整中文手写文本识别模型识别待测试中文文本样本,获取识别结果与真实结果不符的出错文本,把所有所述出错文本作为出错文本训练样本,包括:
将待测试中文文本样本输入到调整中文手写文本识别模型,获取所述待测试中文文本样本中每一文本在所述调整中文手写文本识别模型中的输出值;
选取每一所述文本对应的输出值中的最大输出值,根据所述最大输出值获取每一所述文本的识别结果;
根据识别结果,获取识别结果与真实结果不符的出错文本,把所有所述出错文本作为出错文本训练样本。
5.根据权利要求1所述的手写模型训练方法,其特征在于,在所述获取规范中文文本训练样本的步骤之前,所述手写模型训练方法还包括:
初始化循环神经网络。
6.一种文本识别方法,其特征在于,包括:
获取待识别中文文本,采用目标中文手写文本识别模型识别所述待识别中文文本,获取所述待识别中文文本在所述目标中文手写文本识别模型中的输出值;所述目标中文手写文本识别模型是采用权利要求1-5任一项所述手写模型训练方法获取到的;
选取所述待识别中文文本对应的输出值中的最大输出值,根据所述最大输出值获取待识别中文文本的识别结果。
7.一种手写模型训练装置,其特征在于,包括:
规范中文文本识别模型获取模块,用于获取规范中文文本训练样本,并将所述规范中文字训练样本按预设批次进行批分,将批分后的规范中文文本训练样本输入到循环神经网络中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新循环神经网络的网络参数,获取规范中文文本识别模型;
调整中文手写文本识别模型获取模块,用于获取非规范中文文本训练样本,并将所述非规范中文字训练样本按预设批次进行批分,将批分后的非规范中文文本训练样本输入到所述规范中文文本识别模型中,基于连续时间分类算法进行训练,采用时间相关反向传播算法更新所述规范中文文本识别模型的网络参数,获取调整中文手写文本识别模型;
出错文本训练样本获取模块,用于获取待测试中文文本样本,采用所述调整中文手写文本识别模型识别所述待测试中文文本样本,获取识别结果与真实结果不符的出错文本,把所有所述出错文本作为出错文本训练样本;
目标中文手写文本识别模型获取模块,用于将所述出错文本训练样本输入到所述调整中文手写文本识别模型中,基于连续时间分类算法进行训练,采用批量梯度下降的时间相关反向传播算法更新调整中文手写文本识别模型的网络参数,获取目标中文手写文本识别模型。
8.一种文本识别装置,其特征在于,包括:
输出值获取模块,用于获取待识别中文文本,采用目标中文手写文本识别模型识别所述待识别中文文本,获取所述待识别中文文本在所述目标中文手写文本识别模型中的输出值;所述目标中文手写文本识别模型是采用权利要求1-5任一项所述手写模型训练方法获取到的;
识别结果获取模块,用于选取所述待识别中文文本对应的输出值中的最大输出值,根据所述最大输出值获取待识别中文文本的识别结果。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述手写模型训练方法的步骤;或者,所述处理器执行所述计算机程序时实现如权利要求6所述文本识别方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述手写模型训练方法的步骤;或者,所述处理器执行所述计算机程序时实现如权利要求6所述文本识别方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810564063.8A CN109086654B (zh) | 2018-06-04 | 2018-06-04 | 手写模型训练方法、文本识别方法、装置、设备及介质 |
PCT/CN2018/094344 WO2019232869A1 (zh) | 2018-06-04 | 2018-07-03 | 手写模型训练方法、文本识别方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810564063.8A CN109086654B (zh) | 2018-06-04 | 2018-06-04 | 手写模型训练方法、文本识别方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109086654A CN109086654A (zh) | 2018-12-25 |
CN109086654B true CN109086654B (zh) | 2023-04-28 |
Family
ID=64839332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810564063.8A Active CN109086654B (zh) | 2018-06-04 | 2018-06-04 | 手写模型训练方法、文本识别方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109086654B (zh) |
WO (1) | WO2019232869A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111626065A (zh) * | 2019-02-26 | 2020-09-04 | 株式会社理光 | 神经机器翻译模型的训练方法、装置及存储介质 |
CN110750640B (zh) * | 2019-09-17 | 2022-11-04 | 平安科技(深圳)有限公司 | 基于神经网络模型的文本数据分类方法、装置及存储介质 |
CN110866499B (zh) * | 2019-11-15 | 2022-12-13 | 爱驰汽车有限公司 | 手写文本识别方法、系统、设备及介质 |
CN113128296B (zh) * | 2019-12-31 | 2023-05-09 | 重庆傲雄在线信息技术有限公司 | 一种电子手写签字模糊标签化识别系统 |
CN113111234B (zh) * | 2020-02-13 | 2024-07-19 | 北京明亿科技有限公司 | 基于正则表达式的处警警情类别确定方法和装置 |
CN111461403B (zh) * | 2020-03-06 | 2023-09-29 | 上海汽车集团股份有限公司 | 车辆路径规划方法及装置、计算机可读存储介质、终端 |
CN111783427B (zh) * | 2020-06-30 | 2024-04-02 | 北京百度网讯科技有限公司 | 用于训练模型与输出信息的方法、装置、设备及存储介质 |
CN112115268B (zh) * | 2020-09-28 | 2024-04-09 | 支付宝(杭州)信息技术有限公司 | 基于特征编码器的训练方法及装置、分类方法及装置 |
CN112784845A (zh) * | 2021-01-12 | 2021-05-11 | 安徽淘云科技有限公司 | 手写文字检测方法以及电子设备、存储装置 |
CN113408373B (zh) * | 2021-06-02 | 2024-06-07 | 中金金融认证中心有限公司 | 手写识别方法、系统、客户端和服务器端 |
CN114973267A (zh) * | 2022-05-31 | 2022-08-30 | 北京智通东方软件科技有限公司 | 模型训练方法、文本识别方法、装置、介质及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101785030A (zh) * | 2007-08-10 | 2010-07-21 | 微软公司 | 基于隐式马尔可夫模型的手写笔迹/书法生成 |
CN107316054A (zh) * | 2017-05-26 | 2017-11-03 | 昆山遥矽微电子科技有限公司 | 基于卷积神经网络和支持向量机的非标准字符识别方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150317336A1 (en) * | 2014-04-30 | 2015-11-05 | Hewlett-Packard Development Company, L.P. | Data reconstruction |
CN105184226A (zh) * | 2015-08-11 | 2015-12-23 | 北京新晨阳光科技有限公司 | 数字识别方法和装置及神经网络训练方法和装置 |
CN107818289A (zh) * | 2016-09-13 | 2018-03-20 | 北京搜狗科技发展有限公司 | 一种药方识别方法和装置、一种用于药方识别的装置 |
CN106650933A (zh) * | 2017-01-12 | 2017-05-10 | 西安电子科技大学 | 基于协同进化和反向传播的深度神经网络优化方法 |
CN107909101B (zh) * | 2017-11-10 | 2019-07-12 | 清华大学 | 基于卷积神经网络的半监督迁移学习字符识别方法及系统 |
-
2018
- 2018-06-04 CN CN201810564063.8A patent/CN109086654B/zh active Active
- 2018-07-03 WO PCT/CN2018/094344 patent/WO2019232869A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101785030A (zh) * | 2007-08-10 | 2010-07-21 | 微软公司 | 基于隐式马尔可夫模型的手写笔迹/书法生成 |
CN107316054A (zh) * | 2017-05-26 | 2017-11-03 | 昆山遥矽微电子科技有限公司 | 基于卷积神经网络和支持向量机的非标准字符识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109086654A (zh) | 2018-12-25 |
WO2019232869A1 (zh) | 2019-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109086654B (zh) | 手写模型训练方法、文本识别方法、装置、设备及介质 | |
CN108764195B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN109086653B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN110472675B (zh) | 图像分类方法、图像分类装置、存储介质与电子设备 | |
CN109002461B (zh) | 手写模型训练方法、文本识别方法、装置、设备及介质 | |
CN108985442B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN109034280B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN111784699B (zh) | 一种对三维点云数据进行目标分割方法、装置及终端设备 | |
CN113987236B (zh) | 基于图卷积网络的视觉检索模型的无监督训练方法和装置 | |
CN113065525A (zh) | 年龄识别模型训练方法、人脸年龄识别方法及相关装置 | |
WO2022126917A1 (zh) | 基于深度学习的人脸图像评估方法、装置、设备及介质 | |
CN109101984B (zh) | 一种基于卷积神经网络的图像识别方法及装置 | |
CN109034279B (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN114882315A (zh) | 样本生成方法、模型训练方法、装置、设备及介质 | |
CN114387602A (zh) | 医疗ocr数据优化模型训练方法、优化方法及设备 | |
WO2019232844A1 (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN109241869A (zh) | 答题卡分数识别方法、装置及终端设备 | |
CN112733932A (zh) | 基于训练数据相似度聚合的模型加速训练方法及装置 | |
CN113762005A (zh) | 特征选择模型的训练、对象分类方法、装置、设备及介质 | |
CN116432608A (zh) | 基于人工智能的文本生成方法、装置、计算机设备及介质 | |
US11609936B2 (en) | Graph data processing method, device, and computer program product | |
CN116958626A (zh) | 一种图像分类模型训练、图像分类方法、装置及电子设备 | |
CN113177602B (zh) | 图像分类方法、装置、电子设备和存储介质 | |
CN114970732A (zh) | 分类模型的后验校准方法、装置、计算机设备及介质 | |
CN109086651B (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 |