训练文字识别系统的方法、装置、存储介质及电子设备与流程

文档序号:17540254发布日期:2019-04-29 14:30阅读:139来源:国知局
训练文字识别系统的方法、装置、存储介质及电子设备与流程

本发明属于图像识别技术领域,具体涉及一种训练文字识别系统的方法、装置、存储介质及电子设备。



背景技术:

远程桌面协议可以让用户在其他机器上使用服务器的图形界面进行运维,目前常用的远程桌面协议主要是vnc和rdp。堡垒机或者跳板机一般需要对远程桌面协议进行代理,并且事后还需要审计用户的操作。和ssh以及telnet不同,远程桌面协议只能产生图像数据,所以传统审计图形协议的方式是像播放视频一样回放用户的操作,但这样难以进行统一的检索,审计开销很大。为了方便检索,提升审计效率,人们开始借助ocr(光学文字识别系统)来提取图像数据的中的文字信息,使其可以像字符协议那样进行关键字检索。

传统的光学文字识别系统(ocr)主要用来识别使用光学设备扫描生成的文档,如名片、发票等具有相对高的分辨率和对比度的图像,往往缺少对于低dpi字体的识别能力。最出名的ocr系统tesseract就面临这个问题,windows系统屏幕一般是96dpi(在windows上),而不是tesseract官方推荐的300dpi,所以直接使用效果并不好。为了提升低分辨率图像的文字识别效果,传统的ocr系统会先把图像的dpi提升到合适的数值,但对于识别质量的提升依旧有限。或者对于支持rdp字形缓存技术的系统,先获取字形缓存中字形的位图,再使用现成的ocr系统进行识别,但在不同字体的识别上依旧存在问题。

对远程桌面协议的历史记录使用ocr系统来提取文字信息,本质上就是对系统屏幕进行文字提取。由于系统屏幕中的文字往往有低分辨率、复杂背景、不同字体大小和颜色、多种对齐方式等特点,进行文字识别的难度很大。同时,由于桌面设置非常灵活,如用户可以自由设定主题、字体、渲染方式等,因此,使用现成的ocr软件及其提供的数据集进行识别的准确率很低,难以适应运维审计的需求。

目前针对低分辨率文字的识别还使用人工神经网络和隐马尔科夫等监督学习方法,但它们都需要大量的已标注训练数据,而这些已标注训练数据的获取需要消耗大量的人力成本。



技术实现要素:

本发明提供了一种训练文字识别系统的方法、装置、存储介质及电子设备。本发明采用的训练方法可以使用第一字形缓存数据作为已标注训练数据对现有的文字识别系统进行训练,从而大大提高文字识别系统的准确率。

为了解决上述技术问题,本发明实施例提供了如下的技术方案:

本发明第一发面提供一种训练文字识别系统的方法,包括:

获取第一类设备的第一字形缓存数据,其中,所述第一类设备的系统支持字形缓存技术;

使用所述第一字形缓存数据对所述文字识别系统进行训练,得到适应于第一类设备的文字识别系统。

作为优选,所述方法还包括,

获取第二类设备的文字属性信息,其中,所述第二类设备的系统不支持字形缓存技术;

更改第一类设备的文字属性信息,以使其与所述第二类设备的文字属性信息相匹配;

基于更改文字属性信息后的第一类设备,获取第二字形缓存数据;

使用所述第二字形缓存数据对所述文字识别系统进行训练,得到适应于第二类设备的文字识别系统。

作为优选,所述基于更改文字属性信息后的第一类设备,获取第二字形缓存数据,包括,从进行期望提升识别率的操作中来获取所述第二字形缓存数据。

作为优选,所述方法还包括,不断存储新产生的第一字形缓存数据,并使用其对所述文字识别系统进行重新训练。

本发明第二方面提供一种训练文字识别系统的装置,包括:

第一数据获取模块,其用于获取第一类设备的第一字形缓存数据,其中,所述第一类设备的系统支持字形缓存技术;

第一训练模块,其使用所述第一字形缓存数据对所述文字识别系统进行训练,得到适应于第一类设备的文字识别系统。

作为优选,所述装置还包括:

文字属性信息获取模块,其用于获取第二类设备的文字属性信息,其中,所述第二类设备的系统不支持字形缓存技术;

文字属性信息更改模块,其用于更改第一类设备的文字属性信息,以使其与所述第二类设备的文字属性信息相匹配;

第二数据获取模块,其基于更改文字属性信息后的第一类设备,获取第二字形缓存数据;

所述第一训练模块还用于,使用所述第二字形缓存数据对所述文字识别系统进行训练,得到适应于第二类设备的文字识别系统。

作为优选,所述第二数据获取模块还用于从进行期望提升识别率的操作中来获取所述第二字形缓存数据。

作为优选,所述装置还包括,

数据存储模块,其用于不断存储新产生的第一字形缓存数据;

所述第一训练模块还用于,使用新产生的第一字形缓存数据对所述文字识别系统进行重新训练。

本发明第三方面提供一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的任一项所述方法的步骤。

本发明第四方面提供一种电子设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述的任一项所述方法的步骤。

基于上述实施例的公开可以获知,本发明实施例具备如下的有益效果:

1)本发明利用字形缓存技术,生成大量的可以作为已标注训练数据使用的第一字形缓存数据来对文字识别系统进行训练,而不是使用现成的文字识别系统及其提供的数据集,从而构建了一个更加完善的文字识别系统。

2)本发明通过使用字形缓存技术获得的第一字形缓存数据对文字识别系统进行训练,能够获得质量更高的已标注训练数据,不仅解决了监督学习算法需要大量已标注训练数据的问题,还大大减少了人工标注数据集带来的工作量。

3)本发明所提供的训练方法还能够有效解决文字识别系统在不支持字形缓存技术的系统上识别效率低下的问题,以及对不同字体识别效果差的问题。

附图说明

图1为本发明实施例中的一种训练文字识别系统的方法逻辑框图;

图2为本发明实施例中的另一种训练文字识别系统的方法逻辑框图;

图3为本发明实施例中的一种训练文字识别系统的装置的结构示意图。

具体实施方式

下面,结合附图对本发明的具体实施例进行详细的描述,但不作为本发明的限定。

应理解的是,可以对此处公开的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。

包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。

通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本发明的这些和其它特性将会变得显而易见。

还应当理解,尽管已经参照一些具体实例对本发明进行了描述,但本领域技术人员能够确定地实现本发明的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。

当结合附图时,鉴于以下详细说明,本公开的上述和其他方面、特征和优势将变得更为显而易见。

此后参照附图描述本公开的具体实施例;然而,应当理解,所公开的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本公开。

本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。

下面,结合附图详细的说明本发明实施例,

如图1所示,本发明一个实施例提供一种训练文字识别系统的方法,包括:

获取第一类设备的第一字形缓存数据,其中,所述第一类设备的系统支持字形缓存技术;

使用所述第一字形缓存数据对所述文字识别系统进行训练,得到适应于第一类设备的文字识别系统。

本实施例中,第一类设备是指具有windows系统的设备,且其具有windows7以前的系统(不包含作为过渡版本的windows7系统);由于具有windows7以前的系统的设备均可以支持字形缓存技术,故本发明对于字形缓存技术没有具体限定,例如,其可以为rdp字形缓存技术,即利用rdp字形缓存技术获得第一字形缓存数据,本发明以下的实施例中仅是以利用rdp字形缓存技术获得第一字形缓存数据为例;本实施例中获得的第一字形缓存数据用来作为已标注训练数据使用,由于第一字形缓存数据是早期微软为了方便测试rdp,在字形缓存的数据包中带上了文本位图对应的utf-16字段,也就是说,可以直接从数据包中获取图片及对应的文本数据,因此,获得的第一字形缓存数据质量非常高,可以作为已标注训练数据直接进行使用。目前这个字段一般被rdp客户端忽略,所以为了使用这个数据,需要先修改rdp客户端(如rdesktop和freerdp)的代码实现从而提取文本数据。另外,本发明对所述文字识别系统没有特别限制,例如可以为ocr系统,可以为神经网络或隐马尔科夫模型。

在其他实施例中,利用rdp字形缓存技术获得的第一字形缓存数据可以包括下列三种形式:单个字符的黑白图片、一块字符串的黑白图片和一块字符串的带背景的彩色图片,无论是上述哪一种形式,对应的文本都是图像中包含的文本。而在现有技术的方案中这些文本数据只能通过ocr软件生成和人工标注。

本发明通过使用第一字形缓存数据对文字识别系统进行训练,以使得经过训练的文字识别系统对图像数据能够有更高的识别准确率。值得一提的是,第一字形缓存数据是基于windows系统自带的内容获取得到,例如,在windows系统下下载了一个应用程序,应用程序不属于windows系统自带的内容,因此,即使应用了字形缓存技术也不能得到该应用程序的图像数据所对应的文本数据,即该应用程序的相关内容不能作为第一字形缓存数据,故需要使用第一字形缓存数据对文字识别系统进行训练,将完成训练的文字识别系统用于其他应用程序的图像数据的识别。

为了更加充分的证明,经过使用第一字形缓存数据训练的文字识别系统具有更高的识别率,暂且只考虑字体和dpi的这两个容易理解的要素,对比经过使用第一字形缓存数据训练的ocr系统与原始的ocr系统对于同一段文本图像的识别情况。具体情况如表1所示,为原始ocr系统与使用第一字形缓存数据训练后的ocr系统识别文本结果对比表。

表1

从表1可以看出,当原始的tesseract遇到低dpi和特殊字体(如仿宋)时,识别效果会差很多,哪怕是例子中的常用文字。实际使用更多的文字图片进行测试的时候,起伏很大,大部分情况准确率不到一半。而使用了第一字形缓存数据对ocr系统训练之后,并且在不进行特别调整参数和算法的情况下,识别率很容易达到50%以上。可见在低dpi+特殊字体的场景下,获取合适的已标注训练数据是提高文字识别系统识别率的基本条件。

对于一些设备(本发明中的第二类设备)其并不能支持字形缓存技术,为了能使文字识别系统应用于该类设备时也能具有良好的识别率,如图2所示,故所述方法还包括,

获取第二类设备的文字属性信息,其中,所述第二类设备的系统不支持字形缓存技术;

更改第一类设备的文字属性信息,以使其与所述第二类设备的文字属性信息相匹配;

基于更改文字属性信息后的第一类设备,获取第二字形缓存数据;

使用所述第二字形缓存数据对所述文字识别系统进行训练,得到适应于第二类设备的文字识别系统。

该过程即为通过第一类设备获取字形缓存数据并进一步对文字识别系统进行训练过程的具体应用。本发明中的第二类设备的系统不支持字形缓存技术,第二类设备同样为windows系统,为windows7以后的系统;严格意义上来讲,windows7也不属于第二类设备,因为windows7系统能够支持字形缓存技术;但是windows7作为一个过渡版本,其字形缓存技术获得的文字数据并不能严格对应其图像数据,即windows7的字形缓存数据包中的utf-16字段并不能和相应的位图对应,故本发明中将windows7归类于第二类设备,即,即使其能够支持字形缓存技术,也不能利用其字形缓存技术产生的数据对其进行训练。

一般情况下,不能将适用于第一类设备的文字识别系统不经过处理而直接应用于第二类设备,其会产生过拟合的现象。为了避免这种情况,在第一类设备上训练文字识别系统时要与第二类设备产生关联,例如,可先熟悉第二类设备的文字属性信息,在本发明中,其文字属性信息主要包括系统的默认字体配置、主题配置、渲染配置等;然后将第一类设备的文字属性信息更改为与所述第二类设备的文字属性信息相匹配;即,将第一类设备的系统的默认字体配置、主题配置、渲染配置更改为与所述第二类设备的系统的默认字体配置、主题配置、渲染配置分别相匹配;尤其是在低分辨率的情况下,字体配置和渲染配置尤为重要。原因是在低分辨率的情况下windows采用的字体一般是点阵字体,不同字体显示出来的效果差异很大,过拟合的情况会比较严重。

其中,第一类设备的文字属性信息与所述第二类设备的文字属性信息相匹配,可以为第一类设备的文字属性信息与第二类设备的文字属性信息相同,如果没有办法变得完全相同,应当尽量使二者相似。此时再从第一类设备上应用rdp字形缓存技术获取第二字形缓存数据;最后使用所述第二字形缓存数据对所述文字识别系统进行训练,就得到适应于第二类设备的文字识别系统。

在另一个实施例中,所述基于更改文字属性信息后的第一类设备,获取第二字形缓存数据,包括,从进行期望提升识别率的操作中来获取所述第二字形缓存数据。在本实施例中,在第一类设备上,可以是有目的性地获取第二字形缓存数据;即,第二类设备上需要识别何种数据,就将该种数据在第一类设备上进行显示,并在显示的过程中获取第二字形缓存数据。例如,需要在第二类设备上进行识别某一个文本文件,此时需要先在第一类设备上对所述文本文件进行显示,具体操作为,在记事本或者word中打开事先收集好的所述文本文件,慢慢滚动直到所有文字都在图片中显示过一遍,尤其当系统的字体比较特别,即不是常用的字体时,这一步十分重要;然后第一类设备可以根据显示过的所述文本文件生成第二字形缓存数据。这一步骤主要是为了更有针对性地获取训练数据对文字识别系统进行训练,使得训练完成的文字识别系统能够更有效地适用于第二类设备。

再例如,需要在第二类设备上进行识别系统自带的各种常用软件,此时需要先在第一类设备上进行操作,具体操作为,打开预进行识别的常用软件,包括打开常用软件的各种菜单栏选项,特殊背景的按钮等等,第一类设备可以根据显示过的上述信息生成第二字形缓存数据。

在其他实施例中,所述方法还包括,不断存储新产生的第一字形缓存数据,并使用其对所述文字识别系统进行重新训练。在本实施例中,可以对适用于第一类设备的文字识别系统进行重新训练,在训练完成的文字识别系统应用于第一类设备上时,在使用过程中会不断产生新的第一字形缓存数据,例如,在使用过程中,rdp字形缓存技术可以不断获取系统自带的各种常用软件所产生的新的第一字形缓存数据(即非首次对文字识别系统进行训练的第一字形缓存数据,就叫做新的第一字形缓存数据或新产生的第一字形缓存数据),因此,每隔一段时间,当新产生的第一字形缓存数据足够多时,可以利用新产生的第一字形缓存数据对文字识别系统进行重新训练,以使得文字识别系统的应用更加广泛,有效提升识别的准确率。

在另一个实施例中,也可以对适用于第二类设备的文字识别系统进行重新训练,其具体做法与所述从进行期望提升识别率的操作中来获取所述第二字形缓存数据的方法类似。也是有针对性质的对适用于第二类设备的文字识别系统进行重新训练,即,将需要重新训练的内容作为在第一类设备上应用字形缓存技术所需要的原数据,对所述原数据应用字形缓存技术就可以得到第二字形缓存数据,进一步地,使用第二字形缓存数据对所述文字识别系统进行训练,就可以重新得到适用于第二类设备的文字识别系统。

基于同一发明构思,本发明的一个实施例提供一种训练文字识别系统的装置,该装置的结构示意如图3所示,包括:

第一数据获取模块10,其用于获取第一类设备的第一字形缓存数据,其中,所述第一类设备的系统支持字形缓存技术;

第一训练模块20,与第一数据获取模块10耦合,其使用所述第一字形缓存数据对所述文字识别系统进行训练,得到适应于第一类设备的文字识别系统。

在一个实施例中,所述装置还包括:

文字属性信息获取模块,其用于获取第二类设备的文字属性信息,其中,所述第二类设备的系统不支持字形缓存技术;

文字属性信息更改模块,其用于更改第一类设备的文字属性信息,以使其与所述第二类设备的文字属性信息相匹配;

第二数据获取模块,其基于更改文字属性信息后的第一类设备,获取第二字形缓存数据;

所述第一训练模块还用于,使用所述第二字形缓存数据对所述文字识别系统进行训练,得到适应于第二类设备的文字识别系统。

在其他实施例中,所述第二数据获取模块还用于从进行期望提升识别率的操作中来获取所述第二字形缓存数据。

在一个实施例中,所述装置还包括,

数据存储模块,其用于不断存储新产生的第一字形缓存数据;

所述第一训练模块还用于,使用新产生的第一字形缓存数据对所述文字识别系统进行重新训练。

在一个具体实施例中,所述数据存储模块包括两个单元,第一单元和第二单元,其中第一单元用于存储第一字形缓存数据和在使用中不断产生的新的第一字形缓存数据,第二单元用于存储不能由字形缓存技术获得且只是通过训练后的文字识别系统识别而来的数据。第一单元所存储的数据,其是由字形缓存技术得到,准确率相对较高,可以用来训练或重新训练适用于第一类设备的文字识别系统。

将训练完成的适用于第二类设备的文字识别系统应用于第二类设备上时,由于第二类设备不支持字形缓存技术,其只能依靠文字识别系统对图像进行识别,此时,将依靠文字识别系统对图像进行识别的图像数据和得到的文本数据存入第二单元,随着使用的不断进行,第二单元的数据会不断增加,当使用一段时间后,用户期望对适用于第二类设备的文字识别系统进行重新训练时,此时就可将第二单元的图像数据作为需要重新训练的内容,使该部分内容作为在第一类设备上应用字形缓存技术所需要的原数据,对所述原数据应用字形缓存技术就可以得到第二字形缓存数据,进一步地,使用第二字形缓存数据对所述文字识别系统进行训练,就可以重新得到适用于第二类设备的文字识别系统。

基于同一发明构思,本发明实施例还提供一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的任一项所述方法的步骤。

基于相同的发明构思,本发明实施例还提供一种计算机设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述的任一项所述方法的步骤。

以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1