CN109034280A - 手写模型训练方法、手写字识别方法、装置、设备及介质 - Google Patents
手写模型训练方法、手写字识别方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN109034280A CN109034280A CN201810563499.5A CN201810563499A CN109034280A CN 109034280 A CN109034280 A CN 109034280A CN 201810563499 A CN201810563499 A CN 201810563499A CN 109034280 A CN109034280 A CN 109034280A
- Authority
- CN
- China
- Prior art keywords
- chinese
- word
- sample
- identification model
- 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.)
- Granted
Links
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/24—Character recognition characterised by the processing or recognition method
- G06V30/242—Division of the character sequences into groups prior to recognition; Selection of dictionaries
- G06V30/244—Division of the character sequences into groups prior to recognition; Selection of dictionaries using graphical properties, e.g. alphabet type or font
- G06V30/2455—Discrimination between machine-print, hand-print and cursive writing
-
- 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
- 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
-
- 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)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (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:获取规范中文字训练样本,并采用中文字库对规范中文字训练样本进行标注,得到规范中文字训练样本中每个样本的真实结果,将规范中文字训练样本输入到双向长短时记忆神经网络中进行训练,根据规范中文字训练样本中每个样本的真实结果,采用基于批量梯度下降的时间相关反向传播算法更新双向长短时记忆神经网络的网络参数,获取规范中文字识别模型。
其中,规范中文字训练样本是指根据标准规范字(如楷体、宋体或隶书等字体,一般选择楷体或者宋体)所获取的训练样本。双向长短时记忆神经网络(Bi-directionalLong Short-Term Memory,简称BILSTM)是一种时间递归神经网络,用于从序列正向和序列反向两个方向训练具有序列特点的数据。双向长短时记忆神经网络不仅能够关联前序数据,还能关联后序数据,因此可以根据序列的前后关系学习数据的与序列相关的深层特征。将该具有序列特点的数据在双向长短时记忆神经网络模型训练,能够获取与该数据相对应的识别模型。真实结果是指规范中文字训练样本中每个样本的标签值,如中文字“一”对应的识别结果的中文字为“一”时的标签值为1,中文字“一”对应的识别结果的中文字不为“一”时的标签值为0。批量梯度下降(Batch Gradient Descent,简称BGD)是指在更新网络中每一参数时都使用所有的样本在训练过程中产生的误差进行更新的处理方法。时间相关反向传播算法(Back Propagation Though Time,简称BPTT算法)是神经网络学习中一种训练与学习方法,用来更新调整神经网络中各个节点之间的网络参数。采用时间相关反向传播算法对神经网络中的网络参数进行调整时需要求出误差函数的极小值,而在本实施例中,误差函数的极小值具体采用批量梯度下降的处理方法求出。
本实施例中,获取规范中文字训练样本,并采用中文字库对规范中文字训练样本进行标注,如对中文字“一”对应的识别结果的中文字为“一”时的标签值标注为1,中文字“一”对应的识别结果的中文字不为“一”时的标签值标注为0,根据中文字库实现对库中每一字的标注,得到每一中文字的真实结果。得到规范中文字训练样本中每个样本的真实结果。该训练样本是由楷体、宋体或隶书等中文字体的标准规范字获取而来,本实施例中以宋体为例进行说明。可以理解地,这里的标准规范字是指目前中文字体中主流字体的字,如计算机设备的输入法中的默认字宋体,常用于临摹的主流字体楷体等;而像日常生活中比较少使用的中文字体如草书、幼圆,则不列入该标准规范字的范围。在获取规范中文字训练样本后,将规范中文字训练样本输入到双向长短时记忆神经网络中进行训练,根据规范中文字训练样本中每个样本的真实结果,采用基于批量梯度下降的时间相关反向传播算法更新双向长短时记忆神经网络的网络参数,获取规范中文字识别模型。该规范中文字识别模型在训练过程中学习了规范中文字训练样本的深层特征,使得该模型能够对标准规范字进行精确的识别,具备对标准规范字的识别能力。需要说明的是,无论规范中文字训练样本采用的是楷体、宋体或隶书等其他中文字体对应的标准规范字,由于这些标准规范字在字识别的层面上差别并不大,因此该规范中文字识别模型可以对楷体、宋体或隶书等标准规范字进行精确的识别,得到较准确的识别结果。
S20:获取非规范中文字训练样本,并采用中文字库对非规范中文字训练样本进行标注,得到非规范中文字训练样本中每个样本的真实结果,将非规范中文字训练样本输入到规范中文字识别模型中进行训练,根据规范中文字训练样本中每个样本的真实结果,采用基于批量梯度下降的时间相关反向传播算法更新规范中文字识别模型的网络参数,获取调整中文手写字识别模型。
其中,非规范中文字训练样本是指根据手写中文字所获取的训练样本,该手写中文字具体可以是按照楷体、宋体或隶书等字体对应的标准规范字的字体形态通过手写方式得到的字。可以理解地,该非规范中文字训练样本与规范中文字训练样本的区别在于非规范中文字训练样本是由手写中文字所获取的,既然是手写的,当然就包含各种各样不同的字体形态。
本实施例中,服务端获取非规范中文字训练样本,并采用中文字库对非规范中文字训练样本进行标注,得到非规范中文字训练样本中每个样本的真实结果。该训练样本包含有手写中文字的特征,将非规范中文字训练样本输入到规范中文字识别模型中进行训练并调整,根据规范中文字训练样本中每个样本的真实结果,采用基于批量梯度下降的时间相关反向传播算法更新规范中文字识别模型的网络参数,获取调整中文手写字识别模型。可以理解地,规范中文字识别模型具备识别标准规范中文字的能力,但是在对手写中文字进行识别时并没有较高的识别精确度。因此本实施例采用非规范中文字训练样本进行训练,让规范中文手写字识别模型在已有识别标准规范字的基础上,对模型中的网络参数(如各神经元相互间连接的权值)进行调整,获取调整中文手写字识别模型。该调整中文手写字识别模型在原本识别标准规范字的基础上学习手写中文字的深层特征,使得该调整中文手写字识别模型结合了标准规范字和手写中文字的深层特征,能够同时对标准规范字和手写中文字进行有效的识别,得到准确率较高的识别结果。
双向长短时记忆神经网络在进行字识别时,是根据字的像素分布进行判断的,在实际生活中的手写中文字与标准规范字(如楷体)存在差别,但是这种差别相比与其他不对应标准规范字的差别小很多的,例如,手写中文字的“我”和标准规范字的“我”在像素分布上存在差别,但是这种差别相比于手写中文字“你”和标准规范字“我”之间的差别明显小很多。可以这样认为,即使手写中文字与相对应的标准规范字之间存在一定的差别,但是这种差别与不相对应的标准规范字的差别小得多,因此,可以通过最相似(即差别最小)的原则确定识别结果。调整中文手写字识别模型是由双向长短时记忆神经网络训练而来的,该模型结合标准规范字和手写中文字的深层特征,能够根据该深层特征对手写中文字进行有效的识别。
需要说明的是,本实施例的步骤S10和步骤S20的顺序是不可调换的,先执行步骤S10再执行步骤S20。先采用规范中文训练样本训练双向长短时记忆神经网络可以使获取的规范中文字识别模型拥有较好的识别能力,使其对标准规范字有精确的识别结果。在拥有良好的识别能力的基础上再进行步骤S20的微调,使得训练获取的调整中文手写字识别模型能够根据学习到的手写中文字的深层特征对手写中文字进行有效的识别,使其对手写中文字识别有较精确的识别结果。若先执行步骤S20或只执行步骤S20,由于手写中文字有各种各样的形态,直接采用手写中文字训练学习到的特征并不能反映手写中文字的本质特征,会使一开始模型就学“坏”,导致后来再怎么进行调整也难以使得对手写中文字识别有精确的识别结果。虽然每个人的手写中文字都不一样,但是极大部分都是与标准规范字相似(如手写中文字模仿标准规范字)。因此,一开始根据标准规范字进行模型训练更符合客观情况,要比直接对手写中文字进行模型训练的效果更好,可以在“好”的模型下进行相应的调整,获取手写中文字识别率高的调整中文手写字识别模型。
S30:获取待测试中文字样本,并采用中文字库对待测试中文字样本进行标注,得到待测试中文字样本中每个样本的真实结果,采用调整中文手写字识别模型识别待测试中文字样本,获取识别结果与真实结果不符的出错字,把所有出错字作为出错字训练样本。
其中,待测试中文字样本是指根据标准规范字和手写中文字所获取的用于测试的训练样本,该步骤采用的标准规范字和步骤S10中用于训练的标准规范字是相同的(因为如楷体、宋体等字体所对应的每个字都是唯一确定的);采用的手写中文字与和步骤S20中用于训练的手写中文字可以是不同的(不同人手写的中文字是不完全相同的,手写中文字所对应的每个字可以对应多种字体形态,为了与步骤S20用于训练的非规范中文字训练样本区分开来,避免模型训练过拟合的情况,一般该步骤采用与步骤S20不同的手写中文字)。
本实施例中,将训练好的调整中文手写字识别模型用来识别待测试中文字样本,获取待测试中文字样本,并采用中文字库对待测试中文字样本进行标注,得到待测试中文字样本中每个样本的真实结果。训练时,标准规范字和手写中文字可以是采用混合的方式输入到调整中文手写字识别模型。在采用调整中文手写字识别模型对待测试中文字样本进行识别时,将获取到相应的识别结果,把识别结果与真实结果(标签值)不相符的所有出错字作为出错字训练样本。该出错字训练样本反映调整中文字手写识别模型仍然存在识别精度不足的问题,以便后续根据该出错字训练样本进一步更新、优化调整中文手写字识别模型。
由于调整中文手写字识别模型的识别精度实际上受到规范中文字训练样本和非规范中文字训练样本的共同影响,在先采用规范中文字训练样本更新网络参数,再采用非规范中文字训练样本更新网络参数的前提下,会导致获取到的调整中文手写字识别模型过度学习非规范中文字训练样本的特征,使得获取的调整中文手写字识别模型对非规范中文字训练样本(包括手写中文字)拥有非常高的识别精度,但却过度学习该非规范中文字样本的特征,影响除该非规范中文字训练样本以外的手写中文字的识别精度,因此,步骤S30采用待测试中文字样本对调整中文手写字识别模型进行识别,能够很大程度上消除训练时采用的非规范中文字训练样本的过度学习。即通过调整中文手写字识别模型识别待测试中文字样本,以找出由于过度学习而产生的误差,该误差具体可以通过出错字反映出来,因此能够根据该出错字进一步地更新、优化调整中文手写字识别模型的网络参数。
S40:将出错字训练样本输入到调整中文手写字识别模型中进行训练,采用基于批量梯度下降的时间相关反向传播算法更新调整中文手写字识别模型的网络参数,获取目标中文手写字识别模型。
本实施例中,将出错字训练样本输入到调整中文手写字识别模型中进行训练,该出错字训练样本反映了在训练调整中文手写字识别模型时,由于过度学习非规范中文字训练样本的特征,导致调整中文手写字识别模型在识别非规范中文字训练样本以外的手写中文字时出现的识别不精确的问题。并且,由于先采用规范中文字训练样本再采用非规范中文字训练样本训练模型的原因,会过度削弱原先学习的标准规范字的特征,这会影响模型初始搭建的对标准规范字进行识别的“框架”。利用出错字训练样本可以很好地解决过度学习和过度削弱的问题,可以根据出错字训练样本反映的识别精确度上的问题,在很大程度上消除原本训练过程中产生的过度学习和过度削弱带来的不利影响。具体地,采用出错字训练样本进行训练时采用的是基于批量梯度下降的时间相关反向传播算法,根据该算法更新调整中文手写字识别模型的网络参数,获取目标中文手写字识别模型,该目标中文手写字识别模型是指最终训练出来的可用于识别中文手写字的模型。在更新网络参数,采用时间相关反向传播算法时选择批量梯度下降能够对整个出错字训练样本在训练过程中产生的误差都进行反向传播更新,保证对模型中参数的充分更新,全面地根据产生的误差进行参数更新,提高目标中文手写字识别模型的识别准确率。
可以理解地,上述训练各个模型采用的双向长短时记忆神经网络能够结合字具有的序列特点,从序列的正向和序列的反向的角度出发,学习字的深层特征,实现对不同的中文手写字进行识别的功能。
步骤S10-S40中,采用规范中文字训练样本训练并获取规范中文字识别模型,再通过非规范中文字对规范中文字识别模型进行调整性的更新,使得更新后获取的调整中文手写字识别模型在具备识别标准规范字能力的前提下,通过训练更新的方式学习手写中文字的深层特征,使得调整中文手写字识别模型能够较好地识别手写中文字。然后采用调整中文手写字识别模型识别待测试中文字样本,获取识别结果与真实结果不相符的出错字,并将所有出错字作为出错字训练样本输入到调整中文手写字识别模型中进行训练更新,获取目标中文手写字识别模型。采用出错字训练样本可以在很大程度上消除原本训练过程中产生的过度学习和过度削弱带来的不利影响,能够进一步优化识别准确率。步骤S10-S40中,进行各个模型训练采用的是双向长短时记忆神经网络,该神经网络能够结合字具有的序列特点,从序列的正向和序列的反向的角度出发,学习字的深层特征;各个模型训练时采用的是基于批量梯度下降的时间相关反向传播算法,采用批量梯度下降能够保证对模型中参数的充分更新,对训练样本在训练过程中产生的误差都进行反向传播更新,全面地根据产生的误差进行参数更新,提高所获取的模型的识别准确率。
在一实施例中,如图3所示,步骤S10中,获取规范中文字训练样本,并采用中文字库对规范中文字训练样本进行标注,得到规范中文字训练样本中每个样本的真实结果,具体包括如下步骤:
S101:获取待处理中文字训练样本中每个中文字的像素值特征矩阵,将像素值特征矩阵中每个像素值进行归一化处理,获取每个中文字的归一化像素值特征矩阵,其中,归一化处理的公式为MaxValue为每个中文字的像素值特征矩阵中像素值的最大值,MinValue为每个中文字的像素值特征矩阵中像素值的最小值,x为归一化前的像素值,y为归一化后的像素值。
其中,待处理中文字训练样本是指初始获取的,未经处理的训练样本。
本实施例中,获取待处理中文字训练样本中每个中文字的像素值特征矩阵,每个中文字的像素值特征矩阵代表着对应字的特征,在这里用像素值代表字的特征,由于字是基于二维表示的(一般一个字用一张m×n的图像表示),故像素值可以采用矩阵表示,即形成像素值特征矩阵。计算机设备能够识别像素值特征矩阵的形式,读取像素值特征矩阵中的数值。服务端获取像素值特征矩阵后,采用归一化处理的公式对特征矩阵中的每个中文字的像素值进行归一化处理,获取每个中文字的归一化像素值特征。本实施例中,采用归一化处理方式能够将每个中文字的各个像素值特征矩阵都压缩在同一个范围区间内,能够加快与该像素值特征矩阵相关的计算,有助于提高训练规范中文字识别模型的训练效率。
S102:将每个中文字的归一化像素值特征矩阵中的像素值划分为两类像素值,基于两类像素值建立每个中文字的二值化像素值特征矩阵,将每个中文字的二值化像素特征矩阵组合作为规范中文字训练样本,并采用中文字库对规范中文字训练样本进行标注,得到规范中文字训练样本中每个样本的真实结果。
本实施例中,将每个中文字的归一化像素值特征矩阵中的像素值划分为两类像素值,该两类像素值是指像素值中只包含像素值A或者像素值B。具体地,可以将归一化像素特征矩阵中大于或等于0.5的像素值取为1,将小于0.5的像素值取为0,建立相应的每个中文字的二值化像素值特征矩阵,每个中文字的二值化像素特征矩阵中的原始只包含0或1。在建立每个中文字的二值化像素值特征矩阵后,将二值化像素值特征矩阵对应的字组合作为规范中文字训练样本。例如,在一张包含字的图像中,包含字像素的部分和空白像素的部分。字上的像素值一般颜色会比较深,二值化像素值特征矩阵中的“1”代表字像素的部分,而“0”则代表图像中空白像素的部分。可以理解地,通过建立二值化像素值特征矩阵可以进一步简化对字的特征表示,仅采用0和1的矩阵就可以将每个中文字表示并区别开来,能够提高计算机处理关于中文字的特征矩阵的速度,进一步提高训练规范中文字识别模型的训练效率。并且,在规范中文字训练样本后,采用中文字库对规范中文字训练样本进行标注,得到规范中文字训练样本中每个样本的真实结果,有助于提高模型训练的精确性。
步骤S101-S102对待处理中文字训练样本进行归一化处理并进行二类值的划分,获每个中文字的取二值化像素值特征矩阵,并将每个中文字的二值化像素特征矩阵对应的字作为规范中文字训练样本,能够显著缩短训练规范中文字识别模型的时长。
可以理解地,输入到双向长短时记忆神经网络进行训练的实际上是各个不同的二值化像素特征矩阵,每一个二值化像素特征矩阵代表着每一个对应的字。字在空间分别上是有序列特征的,该特征同样能够在二值化像素特征矩阵中体现出来,因此,采用双向长短时记忆神经网络能够对二值化像素特征矩阵从序列前后相关性的角度出发,训练并学习字的深层特征。
在一实施例中,如图4所示,步骤S10中,将规范中文字训练样本输入到双向长短时记忆神经网络中进行训练,根据规范中文字训练样本中每个样本的真实结果,采用基于批量梯度下降的时间相关反向传播算法更新双向长短时记忆神经网络的网络参数,获取规范中文字识别模型,具体包括步骤:
S111:将规范中文字训练样本按序列正向输入到双向长短时记忆神经网络中,获取正向输出Fo,将规范中文字训练样本按序列反向输入到双向长短时记忆神经网络中,获取反向输出Bo,将正向输出和反向输出相加,获取前向输出To,公式表示为To=Fo+Bo。
其中,双向长短时记忆神经网络模型包括输入层、输出层和隐藏层。隐藏层包括输入门、遗忘门、输出门、神经元状态和隐藏层输出。遗忘门决定了在神经元状态中所要丢弃的信息。输入门决定了在神经元中所要增加的信息。输出门决定了在神经元中所要输出的信息。神经元状态决定了各个门丢弃、增加和输出的信息,具体表示为与各个门之间连接的权值。隐藏层输出决定了与该隐藏层连接的下一层(隐藏层或输出层)的连接权值。双向长短时记忆神经网络模型的网络参数是指神经网络模型中神经元之间连接的权值和偏置,网络参数(权值和偏置)决定了网络的性质,使得网络具有序列上的记忆功能,输入双向长短时记忆神经网络的数据经过网络参数的计算处理得到相应的输出。本实施例提及的网络参数以权值为例,偏置在更新调整的阶段与更新权值的方法相同,不再对偏置进行赘述。
本实施例中,将规范中文字训练样本输入到双向长短时记忆神经网络中进行训练,规范中文字训练样本在双向长短时记忆神经网络经过网络参数的响应处理,分别计算网络各层的输出值,包括计算规范中文字训练样本在隐藏层的输入门、遗忘门、输出门、神经元状态(又称细胞状态,通过专门设置的神经元,根据该神经元记录并表示该神经元所属隐藏层的状态)的输出以及隐藏层输出。其中,计算输出时采用的具体有三种激活函数f(sigmoid)、g(tanh)和h(softmax)。采用激活函数能够将权值结果转化成分类结果,能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题。
双向长短时记忆神经网络中神经元所接收和处理的数据包括:输入的规范中文字训练样本:X,神经元状态:S。此外,以下提及的参数还包括:神经元的输入用a表示,输出用b表示。下标l、φ和w分别表示输入门、遗忘门和输出门。t代表时刻。神经元跟输入门、遗忘门和输出门连接的权值分别记做wcl、wcφ和wcω。Sc表示神经元状态。I表示输入层的神经元的个数,H是隐藏层神经元的个数,C是神经元状态所对应的神经元的个数(i表示输入层的第i个神经元,h表示隐藏层的第h个神经元,c表示第c个神经元状态所对应的神经元)。
输入门接收当前时刻的输入样本(输入的规范中文字训练样本)上一时刻的输出值bt-1 h以及上一时刻神经元状态St-1 c,通过连接输入的规范中文字训练样本与输入门的权值wil、连接上一时刻的输出值与输入门的权值whl和连接神经元与输入门的权值wcl,根据公式计算得到输入门的输出将激活函数f作用于由公式得到一个0-1区间的标量。此标量控制了神经元根据当前状态和过去状态的综合判断所接收当前信息的比例。
遗忘门接收当前时刻的样本上一时刻的输出值bt-1 h以及上一时刻的状态数据St-1 c,通过连接输入的规范中文字训练样本与遗忘门的权值wiφ、连接上一时刻的输出值与遗忘门的权值whφ和连接神经元与遗忘门的权值wcφ,根据公式计算得到遗忘门的输出将激活函数f作用于由公式得到一个0-1区间的标量,此标量控制了神经元根据当前状态和过去状态的综合判断所遗忘过去信息的比例。
神经元接收当前时刻的样本上一时刻的输出值bt-1 h以及上一时刻的状态数据St-1 c、连接神经元与输入的规范中文字训练样本的权值wic、连接神经元与上一时刻的输出值的权值whc,以及输入门、遗忘门的输出标量,根据式 计算当前时刻的神经元状态其中,式中的项表示隐藏层状态,在更新网络参数的时候需要用到。
输出门接收当前时刻的样本上一时刻的输出值bt-1 h以及当前时刻的神经元状态通过连接输入的规范中文字训练样本与输出门的权值wiw、连接上一时刻的输出值与输出门的权值whw以及连接神经元与输出门的权值wcw,根据公式计算输出门的输出将激活函数f作用于上由公式得到一个0-1区间的标量。
隐藏层输出根据采用激活函数处理后的输出门的输出和神经元状态可以求得,用公式表示为计算得出。由上述对规范中文字训练样本在各层间的计算可获取长短时记忆神经网络模型各层的输出值。
根据以上的计算处理过程,我们可以一层层地计算双向长短时记忆神经网络中每一层的输出,并获得最后输出层的输出值。由于该神经网络是双向的,因此输出值包括正向输出和反向输出,分别用Fo和Bo表示(Fo即Forward output,Bo即Backward output),具体地,将规范中文字训练样本按序列正向输入到双向长短时记忆神经网络中,获取正向输出Fo,将规范中文字训练样本按序列反向输入到双向长短时记忆神经网络中,获取反向输出Bo。可以理解地,假设特征矩阵有N列,则序列正向表示从第1列到第N列,序列反向表示从第N列到第1列。输出层的输出值即前向输出To(即Total output),将正向输出和反向输出相加即可获取前向输出To,用公式表示为To=Fo+Bo。该前向输出展现了输入的规范中文字训练样本经过网络参数的响应处理后得到的输出,可以根据该前向输出与真实结果衡量训练过程中造成的误差,以便根据误差更新网络参数。
S112:根据前向输出和规范中文字训练样本中每个样本的真实结果构建误差函数,误差函数的表达式为其中,N表示规范中文字训练样本的样本总数,xi表示第i个训练样本的前向输出,yi表示与xi相对应的第i个训练样本的真实结果。
其中,真实结果即标签值,用于计算与前向输出的误差。
本实施例中,由于双向长短时记忆神经网络对规范中文字训练样本进行处理后得到的前向输出与规范中文字训练样本中每个样本的真实结果是存在误差的,那么可以根据该误差构建对应的误差函数,以便利用该误差函数训练双向长短时记忆神经网络,更新网络参数,以使更新后的网络参数在处理输入的训练样本是能够得到与规范中文字训练样本中每个样本的真实结果相同或更相似的前向输出。具体地,可以根据实际情况构建合适的误差函数,本实施例构建的误差函数为能够较好地反映前向输出和规范中文字训练样本中每个样本的真实结果之间的误差。
S113:根据误差函数,采用基于批量梯度下降的时间相关反向传播算法更新双向长短时记忆神经网络的网络参数,获取规范中文字识别模型,其中,隐藏层输出的梯度为神经元状态的梯度为输入门的梯度为遗忘门的梯度为输出门的梯度为隐藏层状态的梯度为
本实施例中,在构建合适的误差函数后,采用基于批量梯度下降的时间相关反向传播算法更新网络参数,并将更新后的双向长短时记忆神经网络作为规范中文字识别模型。首先定义隐藏层输出的梯度用公式表示为以及求出神经元状态的梯度用公式表示为有了这两个梯度,即可相应地求得输入门的梯度遗忘门的梯度输出门的梯度以及隐藏层状态的梯度由隐藏层输出的梯度和神经元状态的梯度的定义可计算求得隐藏层输出的梯度和神经元状态的梯度则可以根据和计算求得:输入门的梯度遗忘门的梯度输出门的梯度隐藏层状态的梯度以上公式的参数的含义可以参考步骤S111,在此不再赘述。求得各个梯度后,在更新权重时,将原来的权重减去梯度乘以学习率的积,即得到了更新后的权值。
步骤S111-S113能够根据规范中文字训练样本在双向长短时记忆神经网络得到的前向输出构建误差函数并根据该误差函数反传更新网络参数,能够获取规范中文字识别模型,该模型学习了规范中文字训练样本的深层特征,能够精确地识别标准规范字。
需要说明的是,本实施例中训练各个模型的步骤(S10、S20和S40)都采用了基于批量梯度下降的时间相关反向传播算法。以步骤S10获取规范中文字识别模型的步骤为例进行说明,采用基于批量梯度下降的时间相关反向传播算法更新双向长短时记忆神经网络的网络参数的过程包括如下步骤:
获取规范中文字训练样本中的一个字对应的二值化像素值特征矩阵,把该二值化像素值特征矩阵输入到双向长短时记忆神经网络中得到前向输出,计算该前向输出与真实结果之间的误差,依次输入规范中文字训练样本中剩余的字对应的二值化像素值特征矩阵,计算相应的前向输出与真实结果之间误差,并累加误差得到双向长短时记忆神经网络对于规范中文字训练样本的总误差,采用总误差进行一次基于梯度下降的反向传播算法,更新网络的网络参数,重复上述计算总误差和采用总误差更新网络的网络参数的过程,直到误差小于停止迭代阈值ε时,结束该循环,得到更新好的网络参数,即得到规范中文字识别模型。
采用基于批量梯度下降的时间相关反向传播算法能够将所有规范中文字训练样本在双向长短时记忆神经网络训练时产生的误差都进行反传更新,保证产生的所有误差都能对网络进行调整和更新,能够全面地训练双向长短时记忆神经网络。采用基于批量梯度下降的时间相关反向传播算法能够提高模型训练的有效性,使得训练获取的规范中文字识别模型拥有精确的识别能力。
在一实施例中,如图5所示,步骤S30中,采用调整中文手写字识别模型识别待测试中文字样本,获取识别结果与真实结果不符的出错字,把所有出错字作为出错字训练样本,具体包括如下步骤:
S31:将待测试中文字样本输入到调整中文手写字识别模型,获取待测试中文字样本中每一个字在调整中文手写字识别模型中的输出值。
本实施例中,采用调整中文手写字识别模型对待测试中文字样本进行识别,待测试中文字样本中包含若干中文字。在中文字库中,常用的中文字大概有三千多个,在调整中文手写字识别模型的输出层应设置中文字库中每一个字与输入的待测试中文字样本相似程度的概率值,该概率值为待测试中文字样本中每一字在调整中文手写字识别模型中的输出值,具体可以是通过softmax函数实现。简单地说,当输入“我”字时,在调整中文手写字识别模型中将会获取其与中文字库中每一个字对应的输出值(用概率表示),如与中文字库中“我”对应的输出值为99.5%,其余字的输出值加起来为0.5%。通过设置待测试中文字样本,在经过调整中文手写字识别模型识别后的与中文字库中每一个字对应的输出值,可以根据该输出值得到合理的识别结果。
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,用于将规范中文字训练样本按序列正向输入到双向长短时记忆神经网络中,获取正向输出Fo,将规范中文字训练样本按序列反向输入到双向长短时记忆神经网络中,获取反向输出Bo,将正向输出和反向输出相加,获取前向输出To,公式表示为To=Fo+Bo。
误差函数构建单元112,用于根据前向输出和规范中文字训练样本中每个样本的真实结果构建误差函数,误差函数的表达式为其中,N表示训练样本总数,xi表示第i个训练样本的前向输出,yi表示与xi相对应的第i个训练样本的真实结果。
规范中文字识别模型获取单元113,用于根据误差函数,采用基于批量梯度下降的时间相关反向传播算法更新双向长短时记忆神经网络的网络参数,获取规范中文字识别模型,其中,隐藏层输出的梯度为神经元状态的梯度为输入门的梯度为遗忘门的梯度为输出门的梯度为隐藏层状态的梯度为
优选地,出错字训练样本获取模块30包括模型输出值获取单元31、模型识别结果获取单元32和出错字训练样本获取单元33。
模型输出值获取单元31,用于将待测试中文字样本输入到调整中文手写字识别模型,获取待测试中文字样本中每一个字在调整中文手写字识别模型中的输出值。
模型识别结果获取单元32,用于选取每一字对应的输出值中的最大输出值,根据最大输出值获取每一字的识别结果。
出错字训练样本获取单元33,用于根据识别结果,获取识别结果与真实结果不符的出错字,把所有出错字作为出错字训练样本。
优选地,该手写模型训练装置还包括初始化模块50,用于初始化双向长短时记忆神经网络。
图7示出本实施例中手写字识别方法的一流程图。该手写字识别方法可应用在银行、投资和保险等机构配置的计算机设备,用于对手写中文字进行识别,达到人工智能目的。如图7所示,该手写字识别方法包括如下步骤:
S50:获取待识别中文字,采用目标中文手写字识别模型识别待识别中文字,获取待识别中文字在目标中文手写字识别模型中的输出值,目标中文手写字识别模型是采用上述手写模型训练方法获取到的。
其中,待识别中文字是指要进行识别的中文字。
本实施例中,获取待识别中文字将待识别中文字输入到目标中文手写字识别模型中进行识别,获取待识别中文字在目标中文手写字识别模型中的输出值,一个待识别中文字对应有三千多个(具体数量以中文字库为准)输出值,可以基于该输出值确定该待识别中文字的识别结果。具体地,待识别中文字具体是采用计算机能够直接识别的二值化像素值特征矩阵表示。
S60:根据输出值和预设的中文语义词库获取目标概率输出值,基于目标概率输出值获取待识别中文字的识别结果。
其中,预设的中文语义词库是指预先设置好的基于词频的描述中文词语间语义关系的词库。例如,在该中文语义词库中对于“X阳”这两个字的词,“太阳”出现的概率为30.5%,“大阳”出现的概率为0.5%,剩余的如“骄阳”等“X阳”的两个字的词出现的概率之和为69%。目标概率输出值是结合输出值和预设的中文语义词库,得到的用于获取待识别中文字的识别结果的概率值。
具体地,采用输出值和预设的中文语义词库获取目标概率输出值包括如下步骤:(1)选取待识别中文字中每一字对应的输出值中最大值作为第一概率值,根据第一概率值获取待识别中文字初步的识别结果。(2)根据该初步的识别结果和中文语义词库获取待识别字的向左语义概率值和向右语义概率值。可以理解地,对于一文本,该文本中的字是有先后顺序的,如“红X阳”,则对于“X”字而言,有向左向右两个方向词语“红X”和“X阳”对应的概率值,即向左语义概率值和向右语义概率值。(3)分别设置待识别中文字中每一字对应的输出值的权值、向左语义概率值的权值和向右语义概率值的权值。具体地,可以赋予待识别中文字中每一字对应的输出值0.4的权值,赋予向左语义概率值0.3的权值,赋予0.3向右语义概率值的权值。(4)根据上述设置的各个权值分别乘以各自对应的概率值得到各个加权运算后的概率值,将各个加权运算后的概率值相加得到目标概率输出值(目标概率输出值有多个,具体个数可以按中文字库为准),并选取目标概率输出值中最大值对应的字作为待识别中文字的识别结果。实际上,可以先选取输出值中,数值最大的前5个概率值,该前5个概率值代表最有可能的5个字(识别结果),只对这5字结合中文语义词库算出目标概率输出值,则目标概率输出值就只有5个,可以大大提高识别的效率。通过结合输出值和预设的中文语义词库,可以得到精确的识别结果。可以理解地,对于单个字(非文本)的识别,则可以根据输出值中最大值直接得到相应的识别结果即可,而不必加入基于中文语义的识别。
步骤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所述的手写模型训练方法,其特征在于,所述将所述规范中文字训练样本输入到双向长短时记忆神经网络中进行训练,根据所述规范中文字训练样本中每个样本的真实结果,采用基于批量梯度下降的时间相关反向传播算法更新双向长短时记忆神经网络的网络参数,获取规范中文字识别模型,包括:
将所述规范中文字训练样本按序列正向输入到双向长短时记忆神经网络中,获取正向输出Fo,将所述规范中文字训练样本按序列反向输入到双向长短时记忆神经网络中,获取反向输出Bo,将所述正向输出和所述反向输出相加,获取前向输出To,公式表示为To=Fo+Bo;
根据所述前向输出和规范中文字训练样本中每个样本的真实结果构建误差函数,所述误差函数的表达式为其中,N表示训练样本总数,xi表示第i个训练样本的前向输出,yi表示与xi相对应的第i个训练样本的真实结果;
根据所述误差函数,采用基于批量梯度下降的时间相关反向传播算法更新双向长短时记忆神经网络的网络参数,获取规范中文字识别模型,其中,隐藏层输出的梯度为神经元状态的梯度为输入门的梯度为遗忘门的梯度为输出门的梯度为隐藏层状态的梯度为
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 |
---|---|---|---|
CN201810563499.5A CN109034280B (zh) | 2018-06-04 | 2018-06-04 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
PCT/CN2018/094250 WO2019232857A1 (zh) | 2018-06-04 | 2018-07-03 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810563499.5A CN109034280B (zh) | 2018-06-04 | 2018-06-04 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109034280A true CN109034280A (zh) | 2018-12-18 |
CN109034280B CN109034280B (zh) | 2023-04-25 |
Family
ID=64612037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810563499.5A Active CN109034280B (zh) | 2018-06-04 | 2018-06-04 | 手写模型训练方法、手写字识别方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109034280B (zh) |
WO (1) | WO2019232857A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112561480A (zh) * | 2020-12-16 | 2021-03-26 | 中国平安人寿保险股份有限公司 | 智能推动工作流方法、设备及计算机存储介质 |
CN112800355A (zh) * | 2021-01-19 | 2021-05-14 | 北京明略软件系统有限公司 | 新闻内容标签自动抽取方法及系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111580649B (zh) * | 2020-04-24 | 2023-04-25 | 佛山科学技术学院 | 一种基于深度学习的空中手写交互方法及系统 |
CN111710009B (zh) * | 2020-05-29 | 2023-06-23 | 北京百度网讯科技有限公司 | 人流密度的生成方法、装置、电子设备以及存储介质 |
CN112784845A (zh) * | 2021-01-12 | 2021-05-11 | 安徽淘云科技有限公司 | 手写文字检测方法以及电子设备、存储装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101785030A (zh) * | 2007-08-10 | 2010-07-21 | 微软公司 | 基于隐式马尔可夫模型的手写笔迹/书法生成 |
US20150317336A1 (en) * | 2014-04-30 | 2015-11-05 | Hewlett-Packard Development Company, L.P. | Data reconstruction |
CN107316054A (zh) * | 2017-05-26 | 2017-11-03 | 昆山遥矽微电子科技有限公司 | 基于卷积神经网络和支持向量机的非标准字符识别方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103996057B (zh) * | 2014-06-12 | 2017-09-12 | 武汉科技大学 | 基于多特征融合的实时手写体数字识别方法 |
CN105512692B (zh) * | 2015-11-30 | 2019-04-09 | 华南理工大学 | 基于blstm的联机手写数学公式符号识别方法 |
WO2018071403A1 (en) * | 2016-10-10 | 2018-04-19 | Insurance Services Office, Inc. | Systems and methods for optical charater recognition for low-resolution ducuments |
CN107844740A (zh) * | 2017-09-05 | 2018-03-27 | 中国地质调查局西安地质调查中心 | 一种脱机手写、印刷汉字识别方法及系统 |
-
2018
- 2018-06-04 CN CN201810563499.5A patent/CN109034280B/zh active Active
- 2018-07-03 WO PCT/CN2018/094250 patent/WO2019232857A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101785030A (zh) * | 2007-08-10 | 2010-07-21 | 微软公司 | 基于隐式马尔可夫模型的手写笔迹/书法生成 |
US20150317336A1 (en) * | 2014-04-30 | 2015-11-05 | Hewlett-Packard Development Company, L.P. | Data reconstruction |
CN107316054A (zh) * | 2017-05-26 | 2017-11-03 | 昆山遥矽微电子科技有限公司 | 基于卷积神经网络和支持向量机的非标准字符识别方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112561480A (zh) * | 2020-12-16 | 2021-03-26 | 中国平安人寿保险股份有限公司 | 智能推动工作流方法、设备及计算机存储介质 |
CN112800355A (zh) * | 2021-01-19 | 2021-05-14 | 北京明略软件系统有限公司 | 新闻内容标签自动抽取方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2019232857A1 (zh) | 2019-12-12 |
CN109034280B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108764195A (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
US20200143248A1 (en) | Machine learning model training method and device, and expression image classification method and device | |
CN109034280A (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN109086653A (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN105447498B (zh) | 配置有神经网络的客户端设备、系统和服务器系统 | |
CN108985442A (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN109086654B (zh) | 手写模型训练方法、文本识别方法、装置、设备及介质 | |
KR20200035499A (ko) | 콘볼루셔널 신경 네트워크들에서의 구조 학습 | |
Ahmad et al. | Offline Urdu Nastaleeq optical character recognition based on stacked denoising autoencoder | |
CN106980830A (zh) | 一种基于深度卷积网络自亲缘关系识别方法与装置 | |
CN112232395B (zh) | 一种基于联合训练生成对抗网络的半监督图像分类方法 | |
CN109034279A (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN108985151A (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN110110845A (zh) | 一种基于并行多级宽度神经网络的学习方法 | |
Sawarkar | Deep Learning with PyTorch Lightning: Swiftly Build High-performance Artificial Intelligence (AI) Models Using Python | |
Xu et al. | Academic coupled dictionary learning for sketch-based image retrieval | |
Fernandes et al. | Self-organization of control circuits for invariant fiber projections | |
CN109086651A (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
Kanungo | Analysis of Image Classification Deep Learning Algorithm | |
Aaref | English character recognition algorithm by improving the weights of MLP neural network with dragonfly algorithm | |
Fortuna-Cervantes et al. | Evaluation of CNN Models with Transfer Learning in Art Media Classification in Terms of Accuracy and Class Relationship | |
CN113505783B (zh) | 基于少次学习的甲骨文单字识别方法和装置 | |
CN108985371A (zh) | 一种图像多分辨率字典学习方法及其应用 | |
Murti et al. | Cedarwood Quality Classification using SVM Classifier and Convolutional Neural Network (CNN) | |
KR102111396B1 (ko) | 뉴럴 네트워크 학습 장치 및 그것의 동작 방법 |
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 |