CN114341954A - 文本行提取 - Google Patents
文本行提取 Download PDFInfo
- Publication number
- CN114341954A CN114341954A CN202080062570.7A CN202080062570A CN114341954A CN 114341954 A CN114341954 A CN 114341954A CN 202080062570 A CN202080062570 A CN 202080062570A CN 114341954 A CN114341954 A CN 114341954A
- Authority
- CN
- China
- Prior art keywords
- strokes
- line
- stroke
- pair
- ordered list
- 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
- 238000000605 extraction Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 claims abstract description 85
- 238000013528 artificial neural network Methods 0.000 claims abstract description 71
- 238000004458 analytical method Methods 0.000 claims abstract description 47
- 238000001914 filtration Methods 0.000 claims abstract description 15
- 230000002123 temporal effect Effects 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 27
- 239000011159 matrix material Substances 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 12
- 230000003247 decreasing effect Effects 0.000 claims description 6
- 230000005484 gravity Effects 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 19
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000010355 oscillation Effects 0.000 description 5
- 101000849522 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 40S ribosomal protein S13 Proteins 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 239000013256 coordination polymer Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 206010010071 Coma Diseases 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000739 chaotic effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 208000034530 PLAA-associated neurodevelopmental disease Diseases 0.000 description 1
- NIXOWILDQLNWCW-UHFFFAOYSA-N acrylic acid group Chemical group C(C=C)(=O)O NIXOWILDQLNWCW-UHFFFAOYSA-N 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012732 spatial analysis Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000009466 transformation Effects 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
- G06V30/347—Sampling; Contour coding; Stroke 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
- G06V10/421—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation by analysing segments intersecting the pattern
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Character Discrimination (AREA)
- Character Input (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种由设备实现的用于在显示区域中显示数字墨水的笔划(ST)以及用于执行文本行提取以从所述笔划(ST)提取文本行的方法。特别地,所述文本行提取可涉及:将所述显示区域切片成条带(SP);针对每个条带(SP),将所述笔划(ST)排序为排序列表,所述排序列表共同形成排序列表的第一集合;针对每个条带(SP),通过从所述第一集合的所述排序列表中过滤出低于给定大小阈值的笔划来形成排序列表的第二集合;以及基于所述第一集合和所述第二集合执行神经网络分析,以针对每个笔划确定它所属于的相应文本行。
Description
技术领域
本公开总体涉及能够识别用户文本手写输入的计算设备接口的领域。具体地,本公开涉及用于从数字墨水的笔划中识别文本行的计算设备和对应的方法。
背景技术
计算设备在日常生活中变得越来越普遍。它们可采取各种形式,诸如计算机台式电脑、膝上型电脑、平板电脑、混合式计算机(二合一)、电子书阅读器、移动电话、智能电话、可穿戴计算机(包括智能手表、智能眼镜/耳机)、全球定位系统(GPS)单元、企业数字助理(EDA)、个人数字助理(PDA)、游戏机等。此外,计算设备正被并入车辆和装备中,诸如汽车、卡车、农用装备、制造装备、建筑环境控制(例如,照明、HVAC)以及家用和商用电器中。
已知各种形式的计算设备用于输入和识别用户手绘或手写的输入元素,诸如文本内容(例如,字母数字字符)或非文本内容(例如形状、图画)。为此,已知的计算设备通常配备有触敏表面等,以使用户能够以可显示在显示屏上的数字墨水笔划的形式输入手写内容。
用户通常可使用输入表面(或任何适当的用户界面)以自由手写格式(或自由手写模式)(即,不受文本手写输入的位置、大小和取向的任何手写约束)在计算设备上手写输入笔划。在自由手写模式下,不将线条图案强加给用户以进行手写。自由手写格式在手写输入期间给予用户完全的自由,这有时是期望的,例如以进行快速和杂项笔记或进行文本和非文本的混合输入。
图1A示出计算设备1的实例,所述计算设备1包括显示设备1,所述显示设备1使用适当的用户界面显示用户以自由手写模式手绘或手写的墨水输入元素。在这种情况下,计算设备1检测并显示文本内容4和6以及非文本内容8、10和12。这些元素中的每一个由一个或多个数字墨水笔划形成。输入元素可包括例如文本手写、图表、音乐注释等。在此实例中,形状8是构成包含文本内容6的容器(框)的矩形等,使得可一起选择和操纵元素6和8。
此外,也可由计算设备通过实施各种已知技术来执行手写识别。用户手写输入通常使用实时手写识别系统或方法来解释。可使用在线系统(使用基于云的解决方案等执行的识别)或离线系统。一旦被识别,计算设备就可将输入笔划转换成排版版本,如图1B中的这个实例中所描绘的。
文本行提取是文本手写识别的一个关键步骤。此操作旨在从用户以自由手写格式输入的文本内容中识别不同的文本行。换句话说,文本行提取允许计算设备确定各种输入笔划属于哪个文本行。虽然在一些情况下文本行提取可能相对简单,但它也可能变得特别复杂,并且在其他情况下,特别是当用户没有按年月顺序手写时可能导致错误。在许多情况下,用户以逻辑时间顺序手写文本,使得计算设备可依赖每个输入笔划的时间顺序来鉴定每个文本行的开始和结束。然而,当用户手写延迟笔划,即以非时间顺序时,难度急剧增加。
用户可例如决定沿着某个方向手写一组字符而不使用变音符号以节省时间,并且稍后决定用丢失的变音符号来补充所有字符组。一些语言特别倾向于这种非年月顺序的手写输入。例如,图2A和图2B示出以阿拉伯语和越南语手写输入的实例。可以看出,大量不同形式和风格的变音符号附在字符上。在此类语言中,非年月顺序的手写输入的问题变得至关重要。已知的计算设备可能特别难以确定给定的变音符号是附在字符的顶部处(这意味着变音符号属于下面的文本行)还是附在另一个字符的底部处(这意味着变音符号属于上面的文本行)。类似地,标点符号可能在手写完整的句子等之后添加在数据包中,从而产生更多的不确定性。例如,变音符号可能很容易与昏迷(coma)等混淆,从而使文本行提取任务变得更加复杂。
更一般地,任何用于纠正或完成先前输入的文本手写的延迟笔划可能引起时间顺序的中断,从而增加文本行提取过程中错误的风险。
考虑到文本手写有时用户输入不佳(例如因为太快的手写速度或难以识别的手写风格),已知的手写识别系统受到非可靠的文本行提取的影响。特别地,变音符号、标点符号等的不良定位(即通过将笔划与错误的文本行相关联)可能对文本手写识别产生负面影响,因此破坏全局用户体验。
因此,需要一种允许在计算设备中进行有效且可靠的文本行提取的解决方案,特别是对于以自由手写模式输入的文本手写,以避免输入笔划(变音符号、标点符号等)与不适当的文本行相关联。
发明内容
下文描述的本发明的实例提供用于执行文本行提取的计算设备、方法和对应的计算机程序。
根据特定方面,本发明提供一种由计算设备实现的用于处理文本手写的方法,包括:
-在显示区域中显示基本上沿手写取向输入的数字墨水的笔划;
-执行文本行提取以从所述笔划中提取文本行,所述文本行提取包括:
○将所述显示区域切片成横向于所述手写取向延伸的条带,其中相邻的条带彼此部分地重叠,使得每个笔划包含在至少两个相邻的条带中;
○针对每个条带,对至少部分地包含在所述条带中的所述笔划进行排序,以生成按时间顺序排列的第一时间排序的笔划列表和根据至少一个相应的空间标准排序的至少一个第一空间排序的笔划列表,从而形成排序列表的第一集合;
○针对每个条带,通过分别从所述第一时间排序列表和所述至少一个第一空间排序列表中过滤出低于大小阈值的笔划,形成包括第二时间排序的笔划列表和至少一个第二空间排序的笔划列表的排序列表的第二集合;
○执行神经网络分析,以针对所述第一集合和所述第二集合的每个排序列表中的每对连续笔划,作为决策类确定所述对的所述笔划是否属于同一文本行,关联所述决策类的概率分数;
○针对包括在所述第一集合和所述第二集合的至少一个排序列表中的每对连续笔划,选择在所述神经网络分析期间被确定为具有最高概率分数的所述决策类;以及
通过基于针对每对连续笔划选择的具有最高概率分数的所述决策类将笔划组合到行假设中来定义文本行。
如前面所指示,行提取是文本识别的关键步骤,并且它可能并不总是产生令人满意的结果,特别是关于一些类型的笔划,诸如变音符号、标点符号等。更一般地,当按非年月顺序输入文本手写时,在文本行提取期间可能出现错误。当计算设备对文本手写执行手写识别时,本发明允许有效且可靠的文本行提取。
在特定实施方案中,以没有任何手写引导约束的自由手写格式输入所述数字墨水的笔划。
在特定实施方案中,所述切片被配置为使得所述条带沿相同的条带取向延伸。
在特定实施方案中,所述切片包括:
-基于所述笔划的比例确定所述条带的宽度;以及
-将每个笔划分配给所述笔划至少部分地包含在其中的每个条带。
在特定实施方案中,所述切片被配置为使得每对相邻的条带彼此部分地重叠,以共享它们的相应面积的50%与85%之间。
在特定实施方案中,所述排序中的针对每个条带生成的所述至少一个第一空间排序列表包括以下项中的至少一者:
-空间排序的笔划列表,所述空间排序的笔划列表根据所述条带的每个笔划的相应重心沿所述条带取向的位置进行排序;
-空间排序的笔划列表,所述空间排序的笔划列表根据所述条带的每个笔划在沿所述条带取向的第一方向上的最外侧坐标进行排序;以及
-空间排序的笔划列表,所述空间排序的笔划列表根据所述条带的每个笔划的在沿所述条带取向的与所述第一方向相反的第二方向上的最外侧坐标进行排序。
在特定实施方案中,所述形成排序列表的第二集合包括:针对每个条带,
-基于所述条带的每个笔划在所述条带取向上的高度或最大距离中的至少一者评估所述笔划的第一大小,并且基于所述条带的每个笔划的长度评估所述笔划的第二大小;所述笔划的所述长度可对应于笔划点定义的路径的长度;
-当所述第一大小或所述第二大小低于大小阈值时,从所述第一时间排序列表和所述至少一个第一空间排序列表中移除每个笔划,从而分别生成第二时间排序列表和所述至少一个第二空间排序列表。
在特定实施方案中,所述神经网络分析包括:
-通过至少一个人工分类器(例如神经网络)计算概率分数,所述概率分数表示包括在排序列表的所述第一集合和所述第二集合的排序列表中的每对连续笔划中的所述笔划属于同一文本行的概率;
-针对每对连续笔划,如果所述概率分数达到至少概率阈值,则作为决策类确定所述对的所述笔划属于同一文本行。
在特定实施方案中,所述至少一个人工分类器或神经网络循序地分析所述第一集合和所述第二集合的每个排序列表中的每对连续笔划,以基于与所述排序列表中的所述笔划相关的空间和时间信息确定相应的决策类和概率分数。
在特定实施方案中,所述选择包括:
-针对包括在所述第一集合和所述第二集合的至少一个排序列表中的每对连续笔划,将所选择的决策类关联所述相应的概率分数编译成概率矩阵。
在特定实施方案中,所述定义文本行包括:
-将所述概率矩阵变换为条目的向量列表,所述条目的向量列表包括所述概率矩阵中所包括的每对连续笔划的所述决策类和相关联的概率分数,所述向量列表根据每对的所述概率分数的值的递减顺序排列;以及
-在所述向量列表中针对每对连续笔划从最高到最低的相关联的概率分数循序地确定分配给所述一对连续笔划的行假设,其中每个行假设包括同一文本行的至少一个笔划,
其中一旦所述向量列表的所有笔划均已分配给相应的行假设,则所获得的每个行假设定义相应的文本行。
在特定实施方案中,在所述定义文本行期间,如果先前针对所述向量列表中包括的一对连续笔划选择的具有所述最高概率分数的所述决策类指示在所述对中的两个连续笔划属于同一文本行并且如果所述最高概率分数达到至少最终阈值,则将所述两个笔划组合到对应于同一文本行的同一行假设中。
在特定实施方案中,所述定义文本行包括:
选择包括在所述向量列表中的一对连续笔划,即分别属于第一行假设和第二行假设的第一笔划和第二笔划,其中所述第一行假设和所述第二行假设中的至少一者包括至少两个笔划;
在检测到所述对的所述第一笔划和所述第二笔划属于同一文本行,且最高概率分数达到至少所述最终阈值时,所述计算设备执行决策过程,所述决策过程包括:
-基于已经分配给所述第一行假设的每对连续笔划的所述概率分数,计算所述第一行假设的第一行分数,所述第一行分数表示所述第一行假设的每个笔划是第一文本行的一部分的可能性;
-基于已经分配给所述第二行假设的每对连续笔划的所述概率分数,计算所述第二行假设的第二行分数,所述第二行分数表示所述第二行假设的每个笔划是第二文本行的一部分的可能性;
-基于分配给组合所述第一行假设和所述第二行假设的每个笔划的第三行假设的每对连续笔划的所述概率分数,计算第三行分数,所述第三行分数表示所述第一行假设和所述第二行假设的每个笔划一起形成第三文本行的可能性;以及
基于所述第一行分数和所述第二行分数的总和与所述第三行分数的比较,确定是否将所述第一行假设和所述第二行假设合并为所述第三行假设。
在特定实施方案中,所述方法还包括:
-对所述显示区域中的所有笔划进行排序,以生成按时间顺序排列的第三时间排序的笔划列表;以及
-通过从所述第一第三时间排序列表中过滤出低于大小阈值的笔划,形成第四时间排序的笔划列表;
其中所述神经网络分析包括:针对所述第三时间排序列表和所述第四时间排序列表中的每对连续笔划,作为决策类确定所述对的笔划是否属于同一文本行,关联所述决策类的概率分数;
其中在所述选择期间,针对包括在所述第一集合和所述第二集合的排序列表、第三时间排序列表和第四时间排序列表中的至少一者中的每对连续笔划,选择在所述神经网络分析期间被确定为具有最高概率分数的决策类。
根据另一个方面,本发明涉及一种非暂时性计算机可读介质,所述非暂时性计算机可读介质在其上记录有计算机可读程序代码(或计算机程序),所述计算机可读程序代码(或计算机程序)包括用于执行如本文档中所定义的本发明的方法的步骤的指令。
本发明的计算机程序可以任何编程语言表达,并且可呈源代码、目标代码或源代码与目标代码之间的任何中间代码的形式,使得例如呈部分编译的形式,或呈任何其他适当的形式。
本发明还提供一种如上文所提及的计算机程序。
先前提及的非暂时性计算机可读介质可以是能够存储计算机程序的任何实体或设备。例如,记录介质可包括存储装置,诸如ROM存储器(在微电子电路中实现的CD-ROM或ROM),或者磁存储装置,例如诸如软盘或硬盘。
本发明的非暂时性计算机可读介质可对应于可传输介质,诸如电信号或光信号,其可通过电缆或光缆、或通过无线电或任何其他适当的装置传送。根据本公开的计算机程序特别地可从因特网或类似的网络下载。
替代地,非暂时性计算机可读介质可对应于其中加载了计算机程序的集成电路,所述电路适于执行或用于执行本发明的方法。
在特定实施方案中,本发明涉及一种非暂时性计算机可读介质,所述非暂时性计算机可读介质在其中收录有计算机可读程序代码,所述计算机可读程序代码适于被执行以实现一种用于在如在本文档中定义的计算设备上手绘输入元素的方法,所述计算设备包括用于执行所述方法的步骤的处理器。
本发明还涉及一种适合于实现如在本公开中定义的方法的计算设备。更特别地,本发明提供一种用于处理手写文本的计算设备,包括:
-显示单元,所述显示单元用于在显示区域中显示基本上沿手写取向输入的数字墨水的笔划;
-行提取单元,所述行提取单元用于执行文本行提取以从所述笔划提取文本行,所述行提取单元包括:
○切片模块,所述切片模块用于将所述显示区域切片成横向于所述手写取向延伸的条带,其中相邻的条带彼此部分地重叠,使得每个笔划包含在至少两个相邻的条带中;
○排序模块,所述排序模块用于针对每个条带,对至少部分地包含在所述条带中的笔划进行排序,以生成按时间顺序排列的第一时间排序的笔划列表和根据至少一个相应的空间标准排序的至少一个第一空间排序的笔划列表,从而形成排序列表的第一集合;
○形成模块,所述形成模块用于针对每个条带,通过分别从所述第一时间排序列表和所述至少一个第一空间排序列表中过滤出低于大小阈值的笔划,形成包括第二时间排序的笔划列表和至少一个第二空间排序的笔划列表的排序列表的第二集合;
○神经网络模块,所述神经网络模块用于执行神经网络分析,以针对所述第一集合和所述第二集合的每个排序列表中的每对连续笔划,作为决策类确定所述对的所述笔划是否属于同一文本行,关联所述决策类的概率分数;
○选择模块,所述选择模块用于针对包括在所述第一集合和所述第二集合的至少一个排序列表中的每对连续笔划,选择在所述神经网络分析期间被确定为具有最高概率分数的所述决策类;以及
○行定义模块,所述行定义模块用于通过基于针对每对连续笔划选择的具有最高概率分数的所述决策类将笔划组合到行假设中来定义文本行。
以上结合本发明的方法定义的各种实施方案以相似的方式应用于本公开的计算设备、计算机程序和非暂时性计算机可读介质。
对于如在本公开中定义的本发明的方法的每个步骤,计算设备可包括被配置为执行所述步骤的对应模块。
在特定实施方案中,可使用软件和/或硬件部件来实现本公开。在此上下文中,术语“单元”和“模块”在本公开中可指代软件部件,以及硬件部件或多个软件和/或硬件部件。
附图说明
本公开的其他特性和优点将从以下参考附图进行的描述中显现,附图示出不具有限制字符的实施方案。在附图中:
-图1A至图1B表示文本手写识别的过程;
-图2A至图2B示出不同语言的文本手写实例;
-图3示意性地描绘根据本发明的特定实施方案的计算设备;
-图4表示计算设备上的文本手写输入;
-图5是根据本发明的特定实施方案示意性地表示由图3的计算设备实现的模块的框图;
-图6是示意性地表示根据本发明的特定实施方案的方法的步骤的流程图;
-图7和图8示意性地表示根据本发明的特定实施方案的对文本手写进行切片的步骤;
-图9表示根据本发明的特定实施方案的在文本行提取期间生成的排序向量列表的第一集合;
-图10示意性地表示根据本发明的特定实施方案的具有其一些几何描述符的笔划;
-图11表示根据本发明的特定实施方案的在文本行提取期间生成的排序向量列表的第二集合;
-图12是根据本发明的特定实施方案的示意性地表示在文本行提取期间执行的步骤的框图;
-图13表示根据本发明的特定实施方案的在文本行提取期间鉴定的文本行;
-图14是根据本发明的特定实施方案的示意性地表示在文本行提取期间执行的步骤的框图;
-图15A是示意性地表示根据本发明的第一实例的方法的步骤的流程图;
-图15B是示意性地表示根据本发明的第二实例的方法的步骤的流程图;
-图16示意性地表示根据本发明的特定实施方案的在文本行提取期间生成的行假设;
-图17A至图17D示意性地示出根据特定实施方案本发明可如何限制竖直混乱排序;
-图18A至图18B示意性地示出根据特定实施方案本发明可如何带来笔划上下文的可变性;以及
-图19是示意性地表示根据本发明的特定实施方案的方法的步骤的流程图。
附图中的部件不一定按比例绘制,而是重点放在说明本发明的原理上。
为了说明的简单性和清晰性,除非另有指示,否则将在整个附图中使用相同的附图标记来指代相同或相似的部分。
具体实施方式
在以下详细描述中,以举例的方式阐述众多具体细节,以便提供对相关教义的透彻理解。然而,对本领域技术人员应明显的是,在不具有此类细节的情况下也可实践本教义。在其他情况下,以相对高水平、没有细节对众所周知的方法、程序和/或部件进行描述,以便避免不必要地模糊本教义的方面。
示例性实施方案的以下描述参考了附图。以下详细描述不限制本发明。相反,本发明的范围由所附权利要求限定。在如图所示的各种实施方案中,讨论了计算设备、对应的方法和对应的计算机程序。
在本说明书中使用术语“文本”被理解为涵盖以任何书面语言和书面文本中使用的任何符号的所有字符(例如字母数字字符等)及其字符串。
本说明书中的术语“非文本”被理解为涵盖自由形式的手写或手绘内容(例如形状、图画等)和图像数据,以及字符及其字符串,或用于非文本上下文中的符号。非文本内容以线性或非线性配置定义图形或几何形态,包括容器、图画、常见形状(例如箭头、框等)等。例如,在图表中,文本内容可能包含在称为容器的形状(矩形、椭圆形、卵形……)中。
此外,这些图中所示的实例是在从左到右的书面语言上下文中,因此对位置的任何引用可适用于具有不同定向格式的书面语言。
本文描述的各种技术总体涉及在便携式和非便携式计算设备上处理手写文本内容,更具体地,用于文本行提取的目的。本文描述的系统和方法可利用对通过诸如触敏屏幕(如稍后讨论)的输入表面输入到计算设备的用户自然手写风格的识别。尽管相对于使用所谓的在线识别技术对数字墨水手写输入的识别描述各种实施方案,但是应当理解,可应用用于识别的其他形式的输入,诸如涉及远程设备或服务器以执行识别的离线识别。
术语“手绘”和“手写”在本文中可互换地使用,以定义用户通过使用他们的手(或手指)或输入设备(手持式触笔或数字笔、鼠标……)在输入表面上或用输入表面创建数字内容(手写输入)。本文使用术语“手”等来提供输入技术的简明描述,然而在此定义中包括使用用户身体的其他部分(诸如脚、嘴和眼睛)进行类似的输入。
如下面更详细描述的,本发明的一个方面暗指检测数字墨水的笔划并执行文本行提取以从检测到的笔划中提取文本行。这些笔划可显示在显示区域中。文本行提取涉及:将所述数字笔划切片成条带(或切片,或带);针对每个条带,将所述笔划排序为排序列表,所述排序列表共同形成排序列表的第一集合;针对每个条带,通过从所述第一集合的所述排序列表中过滤出低于给定大小阈值的笔划来形成排序列表的第二集合;以及基于所述第一集合和所述第二集合执行神经网络分析,以针对每个笔划确定它所属于的相应文本行。
图3示出根据本发明的特定实施方案的计算设备100的框图。计算设备(或数字设备)100可以是计算机台式电脑、膝上型计算机、平板计算机、电子书阅读器、移动电话、智能电话、可穿戴计算机、数字手表、交互式白板、全球定位系统(GPS)单元、企业数字助理(EDA)、个人数字助理(PDA)、游戏机等。计算设备100包括至少一个处理元件的部件、某种形式的存储器以及输入和输出(I/O)设备。部件通过输入件和输出件(诸如连接器、线路、总线、链接网络或技术人员已知的其他)相互通信。
更具体地,计算设备100包括输入表面104,所述输入表面104用于手写(或手绘)文本内容或可能地混合内容(文本和非文本),如下面进一步描述。更具体地,输入表面104适合于检测在所述输入表面上输入(或使用所述输入表面输入)的数字墨水的多个输入笔划。还如下面进一步讨论的,这些输入笔划可以自由手写格式(或以自由手写模式)(即,不受位置、大小和取向的任何手写约束)输入在输入区域中。
输入表面104可采用诸如电阻、表面声波、电容、红外网格、红外丙烯酸投影、光学成像、色散信号技术、声脉冲识别或技术人员已知的任何其他适当技术的技术来以触敏或接近敏感表面的形式接收用户输入。输入表面104可以是由位置检测系统监控的非触敏表面。
计算设备100还包括至少一个显示单元(或显示设备)102,用于从计算设备输出数据,诸如文本内容。显示单元102可以是任何适当技术(LCD、等离子体……)的屏幕等。显示单元102适于显示用户输入的数字墨水的笔划。
输入表面104可与显示单元102协同定位或远程连接到所述显示单元102。在特定实例中,显示单元102和输入表面104是触摸屏的一部分。
如图3所描绘,计算设备100还包括处理器106和存储器108。计算设备100还可包括一个或多个易失性存储元件(RAM)作为存储器108的一部分或与其分开。
处理器106是用于执行软件,特别是存储在存储器108中的软件的硬件设备。处理器108可以是任何定制或通用处理器、中央处理单元(CPU)、基于半导体的微处理器(呈微芯片或芯片组形式)、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、或它们的任何组合,以及更一般地,被设计用于执行技术人员已知的软件指令的任何适当处理器部件。
存储器108是根据本公开的特定实施方案的非暂时性(或非易失性)计算机可读介质(或记录介质)。存储器108可包括非易失性存储元件(例如ROM、EPROM、闪存PROM、EEPROM、硬盘驱动器、磁带或光带、存储器寄存器、CD-ROM、WORM、DVD等)的任何组合。
存储器108可远离计算设备100,诸如在可由计算设备100远程访问的服务器或基于云的系统处。非易失性存储器108耦合到处理器106,使得处理器106能够从存储器108读取信息和向存储器108写入信息。作为替代方案,存储器108是构成计算设备100必需的一部分。
存储器108包括操作系统(OS)110和手写应用(或计算机程序)112。操作系统110控制应用112的执行。应用112构成(或包括)根据本发明的特定实施方案的计算机程序(或计算机可读程序代码),此计算机程序包括实现根据本发明的特定实施方案的方法的指令。
在本发明实施方案中,应用112包括用于检测和管理用户使用计算设备100的输入表面104手写的数字墨水的笔划的指令,如下面进一步讨论的。
应用112可包括用于识别手写输入到计算设备100的文本的手写识别(HWR)模块(或HWR系统)114。HWR 114可以是源程序、可执行程序(目标代码)、脚本、应用或具有要执行的指令集合的任何其他部件。在图3所描绘的本实例中,应用112和HWR模块114被组合在单个应用中(HWR模块114是应用112的一部分)。替代地,HWR模块114可以是用于与远离计算设备100的手写识别系统通信的模块、方法或系统,诸如如图3所描绘的服务器(或基于云的系统)SV1,其可由计算设备100通过适当的通信链路远程访问。应用112和HWR模块114也可以是存储在计算设备100的存储器108中(或不同存储器中)的单独部件,由此应用112和HWR模块114一起操作访问在存储器108中处理和存储的信息。
用户可用手或手指,或用适合与输入表面104一起使用的诸如数字笔或触笔的某种输入仪器输入输入笔划。如果正在使用被配置为感测输入表面104附近的运动的装置,则用户还可通过在输入表面104上方做出手势来输入输入笔划,或者用户可以用计算设备100的诸如鼠标或操纵杆等的外围设备来输入输入笔划。
每个墨水输入元素(字母、符号、单词等)由一个或多个输入笔划或至少由笔划的一部分形成。笔划(或输入笔划)的特征至少在于笔划起始位置(对应于“落笔”事件)、笔划终止位置(对应于“抬笔”事件),以及连接笔划起始位置和笔划终止位置的路径。因为不同的用户可自然地写入或手绘具有轻微变化的相同对象(例如字母、形状、符号……),所以HWR模块114适应每个对象可输入同时仍被识别为正确或预期的对象的多种方式。
手写应用112允许以数字墨水形式生成手写或手绘文本内容,并使用HWR模块114忠实地识别此内容。在特定情况下,应用112可被配置为基于包含文本和非文本内容(例如,图表、图等)的混合内容来检测和识别文本内容。
HRW模块114执行的识别过程的性质和实现方式可根据每种情况而变化。文本识别可完全在计算设备100上本地执行,或者至少部分地使用例如远程服务器SV1(图3)远程执行。例如,可以在美国专利申请N°2017/0109578 A1中找到实现手写识别的实例。特别地,如技术人员所知,可基于一个或多个语言模型(例如,语法、语义)、包括一个或多个基于文本的词典(正则表达式等)等的语言信息以及对给定元素序列以指定语言出现或被特定用户使用的频率的统计信息建模中的任何一种来执行文本识别。
在本发明实施方案中,计算设备100被配置为检测并显示使用输入表面104以自由手写格式(或自由手写模式)(即,不受文本手写输入的位置、大小和取向的任何手写约束)输入的文本手写。自由手写模式允许用户在自由环境中(例如在空白区中)以非结构化或非引导的方式(即,不受文本手写输入的位置、大小和取向的任何手写约束)(没有要遵循的线条图案、没有大小或取向限制、没有行间、边距等的约束等)手写输入元素。这种自由手写格式在手写输入期间给予用户完全的自由,这有时是期望的,例如以进行快速和杂项笔记或进行文本和非文本的混合输入。
如图4所示,计算设备100的显示单元102被配置为在显示区域(或输入区域)200中显示由数字墨水的多个笔划(或输入笔划)ST形成的文本手写IN。在下文描述的实例中,假定检测到的笔划ST是沿着(或基本上沿着)相同的手写取向X(例如在当前情况下的水平取向)输入的。然而,在一些情况下,手写取向的变化,例如与同一行内的预期取向的偏差,可是可能的。文本手写IN当然可采取许多不同的形式和风格,视每种情况而定。在以下实例中将假定,检测对应于短语“Vertical ordering can bring chaos”的手写字符并且将其作为文本手写输入显示在显示区域200中,尽管许多其他类型和内容的文本手写是可能的,显著地在语言、风格等方面。
在以下实例中,还假定文本手写IN是以如上所述的自由手写模式(或格式)输入的。
如图5所示,根据特定实施方案,当运行存储在存储器108(图3)中的应用112时,处理器106实现行提取单元(也称为行提取器)MD2,其包括多个处理模块,即:切片模块MD4、排序模块MD6、过滤模块MD8、神经网络分析模块MD10、选择模块MD12和行定义模块MD14。
应用112包括配置处理器106以实现这些模块以便执行本发明的方法的步骤的指令,如稍后在特定实施方案中描述的。行提取单元MD2适于定义文本行LN,使得计算设备100检测到的每个输入笔划ST与相应的文本行LN相关联。
更特别地,切片模块MD4被配置为:将显示区域(即如图4所示的显示区域200)切片成横向于手写取向X延伸的条带(也称为切片或带)SP。可执行这种切片,使得相邻的条带SP彼此部分地重叠,使得每个笔划ST包含在至少两个相邻的条带SP中。
排序模块MD6被配置为:针对每个条带SP,对至少部分地包含在所述条带SP中的笔划ST进行排序,以生成按时间顺序排列的第一时间排序的笔划列表和根据至少一个相应的空间标准进行排序的至少一个第一空间排序的笔划列表,从而形成排序列表的第一集合SLa。如下面进一步讨论的,可使用各种空间标准来生成一个或多个第一空间排序的笔划列表。
形成模块MD8被配置为:针对每个条带SP,通过分别从第一集合SLa的第一时间排序的列表和至少一个第一空间排序的列表中过滤出低于大小阈值的笔划ST,形成包括第二时间排序的笔划列表和至少一个第二空间排序的笔划列表的排序列表的第二集合SLb。
神经网络模块MD10被配置为:执行神经网络分析,以针对所述第一集合SLa和所述第二集合SLb的每个排序列表中的每对连续笔划ST,作为决策类确定所述对的笔划ST是否属于同一文本行,关联所述决策类的概率分数。
选择模块MD12被配置为:针对包括在所述第一集合SLa和所述第二集合SLb的至少一个排序列表中的每对连续笔划ST,选择在神经网络分析期间被确定为具有最高概率分数的决策类。
行定义模块MD14被配置为:通过基于针对每对连续笔划选择的具有最高概率分数的决策类,将笔划ST组合到行假设中来定义文本行LN。
当运行应用12时,选择模块MD12和行定义模块MD14可形成由过程106实现的解码器(或解码模块)的一部分。解码器是一种算法,旨在将输入信息转化为不同的输出信息。在当前上下文中,解码器(MD12,MD14)可使用一对笔划以概率P属于同一文本行的局部信息来逐步构造行假设,如下文进一步描述。解码过程可将这些概率P定义为构造行假设的局部规则和定义控制行假设构造规则的有效性的决策过程(局部组合概率P的集合)。在组合所有局部概率之后,最终行假设是最终的文本行。
计算设备100的模块MD4-MD14的配置和操作将在下文参考附图描述的特定实施方案中更加明显。应当理解,如图5所示的模块MD4-MD14仅代表本发明的示例性实施方案,其他实现方式也是可能的。
对于本发明的方法的每个步骤,计算设备100可包括被配置为执行所述步骤的对应模块。
现在参考图6至图17描述通过在图3至图5中示出的计算设备100实现的根据本发明的特定实施方案的方法。更具体地,计算设备100通过执行存储在存储器108中的应用112来实现此方法。
考虑实例场景,其中用户在计算设备100上输入如图4所示的手写文本IN。然后由计算设备100执行处理,包括如下所述的行提取。
更具体地,在检测步骤S2中,计算设备100检测用户使用计算设备100的输入表面104输入的文本手写IN。如图4所示,手写输入IN包括使用输入表面104沿着(或基本上沿着)手写取向X输入的数字墨水的多个输入笔划ST。如已指示的,每个输入笔划ST的特征至少在于笔划起始位置、笔划终止位置以及连接笔划起始位置和笔划终止位置的路径。因此,例如定位在字符“i”(在单词“Vertical”中)的顶部处的点本身构成单个笔划ST。
在本实例中,根据如先前所述的自由手写格式,在显示器102的输入区域200中输入手写数字墨水IN。无需遵守行、大小、取向等的任何手写约束,允许用户以自由和容易的方式手写文本内容IN。每个手写字符或每个手写单词的大小、取向和位置可根据用户的喜好任意变化。
如图4所示,计算设备100在显示单元102上显示(S4,图6)根据自由手写格式(或模式)的手写输入IN的多个输入笔划ST。
计算设备100然后执行(S10,图6)文本行提取,以从在文本手写IN中检测到的笔划ST中提取文本行。如图6所示,文本行提取S10包括如以下在本实例中进一步描述的步骤S12-S24。
为简单起见,在本实例中假定计算设备100检测到的整个手写输入IN是文本。然而,在其他情况下,手写输入IN可包括文本和非文本内容。因此,可在文本识别期间由分类器根据本领域技术人员已知的用于区分文本与非文本内容的任何合适技术来执行消歧过程。
更具体地,在切片步骤S12(图7)中,计算设备100将显示区域200切片成横向于手写取向X延伸的条带SP。执行切片S12使得相邻的条带SP彼此部分地重叠,使每个笔划ST包含在至少两个相邻的条带SP中。可以看出,技术人员可采纳条带SP的许多配置。以下提供切片S12的一些实现方式仅仅作为实例。
在图7描绘的实例中,执行切片S12使得条带SP沿着相同的条带取向Y延伸。因此,条带SP彼此平行。如图7所示,取向Y可垂直于手写取向X(例如X是水平的并且Y是竖直的),但是其他配置也是可能的。
计算设备100因此可将文本手写IN的每个笔划ST分配给其中至少部分地包含所述笔划的至少两个相应的相邻的条带SP。
如下面进一步讨论的,切片S12有利于即将进行的神经网络分析,并且允许通过在不同上下文中为相同笔划ST做出决策来实现有效的文本行提取。
图8示出其中在切片步骤S12期间定义条带SP1-SP4的特定实施方案。为简单起见,仅示出对应于第一个字符“V”的第一个笔划ST。每个条带SP在垂直于手写取向X的Y取向上延伸。每个条带SP在X取向上形成有各自的宽度WD1-WD4(统称为WD)。在本实例中,每个条带SP的宽度WD是相同的,尽管其他实现方式也是可能的。特别地,其中宽度WD对于所有条带SP不同的实施方案是可能的。
如图8中可见,条带SP彼此部分地重叠,使得形成第一个字符“V”的输入笔划ST至少部分地包含在条带SP1、SP2和SP3中。换句话说,对应于“V”的此输入笔划属于相邻的条带SP1、SP2和SP3。
如下面进一步讨论的,切片S12可基于文本手写IN的输入笔划ST的比例或大小来配置。如本文所用,术语“比例”是指字符、输入笔划或部分输入笔划的平均大小或高度的近似值。技术人员还可调整每对相邻的条带SP之间的重叠比例,以在文本行提取过程中获得期望的结果。通过增加条带重叠,可改进文本行提取过程的结果,但是在资源和时间方面的成本更高。
然后,计算设备100针对每个条带SP,对至少部分地包含在所述条带SP中的笔划ST进行排序或分类(S14,图6和图12),以生成按时间顺序排列的第一时间排序的笔划ST列表和根据至少一个相应的空间标准进行排序的至少一个第一空间排序的笔划ST列表,从而形成排序列表的第一集合SLa。如下面所讨论的,使用的空间标准的数量和类型,以及因此排序列表的第一集合SLa的内容,可根据每种情况而变化。
如图9所示,在本实例中考虑,在排序步骤S14中,计算设备100针对每个条带SP,对至少部分地包含在所述条带SP中的笔划ST进行排序,以生成按时间顺序(称为TO)排列的第一时间排序的笔划ST列表L1a和各自根据相应的空间标准CR进行排序的3个第一空间排序的笔划ST列表L2a、L3a和L4a,从而形成排序列表的第一集合SLa。因此,对于先前在切片步骤S12中定义的每个条带SP,生成4个排序列表(L1a、L2a、L3a和L4a)的第一集合SLa,如下面进一步描述。
第一时间排序列表L1a包括相应条带SP的每个笔划ST,这些笔划根据它们的相对时间顺序TO排序。换句话说,在此列表L1a中,笔划ST以时间序列排列,所述时间序列是每个笔划ST1已经随着时间被输入的时间的函数。
参考图10说明可在排序步骤S14(图6)中用于针对每个条带SP生成第一空间排序列表的空间标准CR,图10通过举例的方式,展示对应于在S2中检测到的文本手写IN的第一个字符“V”的笔划ST。
第一空间排序列表L2a是相应条带SP的笔划ST的列表,所述笔划根据其相应重心BY沿着条带取向Y的位置进行排序(空间标准CR1)。例如如图10所示,确定对应于第一个字符“V”的笔划ST的重心BY。重心BY沿条带取向Y的位置由沿Y轴的坐标BYy定义。针对每个条带SP,考虑每个相关联的笔划ST的重心BY的坐标BYy,以对所述条带的笔划ST进行排序。对每个条带SP执行相同的操作,以生成相应的第一空间排序列表L2a。排序列表L2a可例如以它们在条带取向Y中的相应位置的递增(或递减)顺序(空间标准CR1)列出笔划ST2。
还如图10所示,基于每个笔划ST的一些特定点沿条带取向Y的位置的其他空间标准CR2和CR3可用于生成第一空间排序列表L3a和L4a。
空间排序列表L3a是相应条带SP的笔划ST的列表,笔划根据它们在沿条带取向Y的第一方向D1上的最外侧坐标PT1y进行排序(空间标准CR2)。换句话说,在列表L3a中,确定每个笔划ST在沿条带取向Y的第一方向D1上的最外侧点PT1,并且确定此最外侧点PT1在Y轴上的坐标PT1y,并且将其用于生成空间排序列表L3a。
空间排序列表L4a是相应条带SP的笔划ST的列表,笔划根据它们在沿条带取向Y的与第一方向D1相反的第二方向D2上的最外侧坐标PT2y进行排序(空间标准CR3)。换句话说,在列表L4a中,确定每个笔划ST在沿条带取向Y的第二方向D2上的最外侧点PT2,并且确定此最外侧点PT2在Y轴上的坐标PT2y,并且将其用于生成空间排序列表L4a。
如上文所指示,在本实例中,计算设备100在排序步骤S14中生成如上所述的3个第一空间排序列表L2a、L3a和L4a以及第一时间排序列表L1a。然而,在排序步骤S14中,计算设备100可生成如上所述的第一空间排序列表L2a、L3a和L4a中的任一个或其组合(例如仅L2a,或仅L3a和L4),以及第一时间排序列表L1a。已经观察到,当使用时间顺序TO和至少一个空间标准CR来生成相应的笔划排序列表时,实现高性能的文本行提取过程。
如下面进一步讨论的,通过针对每个条带生成不同的笔划顺序,可通过不同的观点,使用不同的互补标准(时间和空间)有效地分析和分解文本行定义的问题,以找到各种对笔划在文本行提取过程中的最佳决策。将时间标准TO与至少一个空间标准CR组合允许显著提高文本行提取的性能。
一旦完成排序步骤S14,计算设备100针对每个条带SP,通过分别从排序步骤S14中生成的第一时间排序列表L1a和每个第一空间排序列表中过滤出低于大小阈值的笔划ST,形成(S16,图6和图12)排序列表的第二集合SLb,其包括第二时间排序的笔划列表和至少一个第二空间排序的笔划列表。
如上文已描述,在本实例中,考虑在排序步骤S14中生成第一时间排序列表L1a和第一空间排序列表L2a、L3a和L4a。因此,如图11所示,计算设备100针对每个条带SP,通过分别从S14中的第一时间排序列表L1a和第一空间排序列表L2a、L3a和L4a中过滤出低于大小阈值的笔划ST,形成(S16)排序列表的第二集合SLb,其包括第二时间排序的笔划列表L1b和3个第二空间排序的笔划列表L2b、L3b和L4b。
在图10所示的特定实施方案中,在形成(或过滤)步骤S16(图6)期间,计算设备100针对在S12中定义的每个条带SP执行以下操作:
-基于所述条带SP的每个笔划ST在条带取向Y上的高度(或最大距离)H评估所述笔划的第一大小,并且基于所述条带SP的每个笔划ST的长度LG评估所述笔划ST的第二大小;以及
-当每个笔划ST的第一大小或第二大小低于大小阈值时,从在S14中生成的第一时间排序列表L1a和至少一个第一空间排序列表(即本实例中的空间排序列表L2a-L4a)中移除每个笔划ST,从而分别生成第二时间排序列表L1b和至少一个第二空间排序列表(即本实例中的空间排序列表L2b-L4b)。
换句话说,如果每个笔划ST各自的第一大小和第二大小中的至少一个没有达到大小阈值,则从第二时间排序列表L1b和第二空间排序列表L2b-L4b中排除每个笔划ST。
如图11所示,在形成步骤S16中,由此从第一集合SLa的排序列表中移除多个笔划ST(或至少一个,假定至少一个笔划未达到上述大小阈值),以获得第二集合SLb的排序列表。从第一集合SLa的排序列表L1a-L4a中过滤出的笔划ST基于各自的大小进行选择:移除低于预定义大小阈值的每个笔划。换句话说,从第一集合SLa的排序列表中丢弃不满足预先确定的大小条件(由相对于比例的最大大小阈值定义)的所有笔划,以获得第二集合SLb。
在特定实例中,计算设备100仅评估第一大小和第二大小中的一者以决定在形成步骤S16中应从第一集合SLa中过滤出哪些笔划ST。
此过滤出步骤S16被设计成:从第一集合SLa的排序列表中移除所有相对小的笔划,诸如变音符号、标点符号、撇号等,这些笔划可能在文本行鉴定过程中导致问题或错误。变音符号(也是变音标记或重音符号)是添加或附到字母或字符的字形(标记、记号等),以将其与另一种类似形式的字母或字符区分开来,从而给以其特定的语音值,以指示重音等(如变音符、波浪符、抑扬符或长音符)。通过生成没有这种相对小的笔划ST的排序列表的第二集合SLb,可提高文本行提取过程的性能。如已指示的,可能难以确定对应于变音符号、标点符号等的相对小的笔划属于哪个文本行。通过将此第二集合SLb与第一集合SLa结合使用,可在文本行提取期间对这些小笔划做出可靠的决策。
如图9和图11所示,第一集合SLa和第二集合SLb中的每一者或排序列表L1a-L4a和L1b-L4b包括形成连续笔划的对PR(在下文中也称为对PR)的一系列笔划ST。给定的一对PR可被定义为在第一集合SLa和第二集合SLb(图6)的排序列表中的一个中的两个连续笔划的笔划偶(duplet)(STa,STb),更具体地称为STa和STb。同一对PR可能存在于集合SLa、SLb内的多于一个排序列表中。
一旦完成排序步骤S14和形成步骤S16,计算设备100就针对每个条带SP执行神经网络分析S18(也称为笔划间分析),以针对所述条带SP的所述第一集合SLa和所述第二集合SLb的每个排序列表中的每对PR连续笔划ST,作为决策类CL确定所述对PR的两个笔划ST是否属于同一文本行LN,关联概率分数P(图6和图12)。作为神经网络分析S18的结果,计算设备100可因此针对第一集合SLa和第二集合SLb的每个排序列表形成分配给连续笔划ST的相应对PR的笔划偶(CL,P)的相应所谓的概率列表(或概率序列)PL,即:
-针对时间排序列表L1a中的每对PR连续笔划确定的笔划偶(CL,P)的概率列表PL1a;
-针对空间排序列表L2a中的每对PR连续笔划确定的笔划偶(CL,P)的概率列表PL2a;
-针对空间排序列表L3a中的每对PR连续笔划确定的笔划偶(CL,P)的概率列表PL3a;
-针对空间排序列表L4a中的每对PR连续笔划确定的笔划偶(CL,P)的概率列表PL4a;
-针对时间排序列表L1b中的每对PR连续笔划确定的笔划偶(CL,P)的概率列表PL1b;
-针对空间排序列表L2b中的每对PR连续笔划确定的笔划偶(CL,P)的概率列表PL2b;
-针对空间排序列表L3b中的每对PR连续笔划确定的笔划偶(CL,P)的概率列表PL3b;以及
-针对空间排序列表L4b中的每对PR连续笔划确定的笔划偶(CL,P)的概率列表PL4b。
换句话说,在神经网络分析S18中,概率列表的第一集合PLa(PL1a-PL4a)是从笔划的第一集合SLa导出的,并且第二集合PLb(PL1b-PL4b)是从笔划的第二集合SLb导出的。对先前在切片步骤S12中鉴定的每个条带执行(S18)此神经网络分析S18。因此,针对每个条带SP,以相似的方式形成概率列表的第一集合PLa和概率列表的第二集合PLb。
在本实例中,决策类CL因此表示关于在第一集合Sla和第二集合SLb中的排序列表中的一个中的一对PR连续笔划中的两个笔划ST是否属于同一文本行LN的结果。例如,可为一对PR的决策类CL分配第一值(例如“同一行”)(意味着所述对PR的两个笔划被认为是在同一文本行LN中)或第二值(例如“段末短行(break line)”)(意味着所述对PR的两个笔划被认为在不同的文本行LN中)。
概率分数P(也称为笔划间概率)表示相关联的结果CL正确(即CL表示所述对PR的正确结果)的概率或置信水平。因此,在神经网络分析S18中,针对分别在S14和S16中获得的排序列表L1a-L4a(集合SLa)和L1b-L4b(集合SLb)中每一个中的每一对PR连续笔划ST产生决策类CL关联概率分数P。因此,针对第一集合SLa和第二集合SLb的每个排序列表生成(S18)对应于每对PR连续笔划ST的笔划偶(CL、P)的列表或序列(图12)。如已指示的,对每个条带SP重复生成笔划偶(CL,P)的列表的这个过程S18。
在本实例中,神经网络分析S18由一个或多个人工神经网络(ANN)(也称为神经网络执行。神经网络(或神经网)对技术人员来说是众所周知的,因此将不在本公开中详细描述。
在排序列表的第一集合SLa和第二集合SLb中的每一者中,时间排序列表L1a(分别地L1b)可由第一专门神经网络分析,并且每个空间排序列表L2a-L4a(分别地L2b-L4b)可由不同的第二专门神经网络分析。第一神经网络可专用于时间排序列表,而第二神经网络可专用于空间排序列表。每个专门的神经网络可包括两个子神经网络,它们分别从两端开始并行处理相应的排序列表。
在特定实施方案中,神经网络分析S18(图6和图12)包括:
-通过至少一个人工神经网络计算概率分数P,所述概率分数P表示包括在第一集合SLa和第二集合SLb的排序列表中的每对PR连续笔划ST中的笔划ST属于同一文本行LN的概率;以及
-针对每对PR连续笔划,如果概率分数P达到至少概率阈值,则作为决策类CL确定所述对PR的笔划ST属于同一文本行LN。
神经网络分析S18可基于特征提取,所述特征提取被执行以根据包括时间标准和空间标准的各种标准来表征每个对PR。例如,计算设备100可使用时间标准和空间标准中的至少一者,或它们的组合。更特别地,在S18中执行的特征提取可基于其中已输入集合SLa、SLb的排序列表中的每对PR连续笔划的两个笔划的时间顺序和/或基于在集合SLa、SLb的排序列表中的每对PR连续笔划中的两个笔划ST之间的笔划间空间(或笔划间距离)。可设想特征提取的各种实现方式以实现神经网络分析S18。
在神经网络分析S18期间,可计算度量值(例如,重心距离、全局形状、笔划大小和面积、长度、主要取向),用于计算每对PR的决策类CL和相关联的概率分数P。在使用之前,这些度量值可基于各种局部(例如,笔划大小)和/或全局(例如,条带宽度)标准进行归一化。
在特定实施方案中,在神经网络分析S18中,一个或多个人工神经网络循序地分析所述第一集合SLa和所述第二集合SLb的每个排序列表中的每对PR连续笔划ST,以基于与包含在排序列表中的所述对PR的笔划ST相关的空间和时间信息,确定相应的决策类CL和概率分数P。
在选择步骤S20(图6和图12)中,对于包括在为所有条带SP生成(S14、S16)的所述第一集合SLa和所述第二集合SLb的至少一个排序列表中的每一单独对PR的连续笔划ST,计算设备100然后针对所述对PR,选择在神经网络分析S18期间被确定为具有最高概率分数P的决策类CL。在本实例中,因此基于在神经网络分析S18中为所有条带SP生成的概率列表PL做出此选择S20。例如,如果特定一对PR连续笔划(STa,STb)在S18中获得的概率列表PL中整体仅出现一次,则选择在S18中针对此对PR获得的相关联的决策类CL(S20)。然而,如果特定一对PR连续笔划(STa,STb)在S18中针对所有条带SP获得的概率列表PL内具有多次出现,则针对所述对PR从概率列表PL选择具有最高概率分数P的决策类CL(S20)。
因此,计算设备100可使用在排序步骤S14期间的不同排序标准(时间顺序TO和空间标准CR)比较针对来自SLa或来自SLb的连续笔划ST的同一对PR获得的决策类CL,并且可仅保留具有最高概率分数P的最佳决策类CL,即最有可能代表对PR的正确结果的决策类CL。特别地,计算设备100可比较针对存在于至少两个不同条带SP中的同一对PR获得的概率分数P,以确定以最高概率分数获得的决策类CL。通过在基于不同(时间和空间)标准获得的各种概率列表中仅选择最佳决策类CL,可实现有效的文本行提取。
各种实现方式可能执行对最高概率分数P的决策类CL的选择S20。在图12中描绘的本实例中,在选择步骤S20中,计算设备100对于在S14和S16中针对所有条带SP生成的第一集合SLa和第二集合SLb的至少一个排序列表中包括(或存在)的每对PR连续笔划ST,将所选择的决策类CL与所述相应的概率分数P相关联地编译成概率矩阵PM。因此,此全局概率矩阵PM对于所有条带SP都是通用的。这意味着概率矩阵PM的条目定义表示每对PR连续笔划ST的笔划偶(CL,P)在针对所有条带SP产生的排序列表L1a-L4a和L1b-L4b中出现至少一次。
在特定实例中,概率矩阵PM可以更一般地包含给定条带SP中的每对可能的笔划(包括在第一集合SLa和第二集合SLb的排序列表中的至少一个中不是相邻笔划的笔划对)的条目(由索引识别)。在这种情况下,如果概率矩阵PM的每个条目对应于在针对所有条带SP生成的排序列表L1a-L4a和L1b-L4b中的至少一个中不作为一对PR连续笔划出现的一对笔划,则它们可能保持在(CL=0,P=0)。
在选择步骤S20之后,计算设备100通过基于在选择步骤S20中针对存在于排序列表L1a-L4a和L1b-L4b中的至少一个中的每对PR连续笔划ST选择的具有最高概率分数P的决策类CL将笔划ST组合到行假设LH中来定义(S22,图6和图12)文本行LN。
如图13所示,计算设备100在S22中确定在S2中检测到的每个笔划ST所属的相应文本行LN。在本实例中,识别出两个文本行LN,即分别对应于短语“Vertical ordering”和“can bring chaos”的文本行LN1和LN2。这些文本行LN1、LN2对应于在文本行定义步骤S22期间获得的两个不同的行假设LH。
可设想各种实现方式来定义行假设LH(S22)。在下文描述的特定实施方案中,文本行定义步骤S22包括变换步骤S22a和行假设分析S22b,如下所述。
更特别地,在文本行定义步骤S22期间,计算设备100可将在S20中生成的概率矩阵PM变换(S22a,图12)为条目的向量列表LT,所述向量列表LT定义(或包括)包括在所述概率矩阵PM中的分别用于每对PR连续笔划ST的决策类CL和相关联的概率分数P(即笔划偶(CL,P))。如已指示的,包括在概率矩阵PM中的每个笔划偶(CL,P)对应于在所有条带SP的神经网络分析S18期间针对特定一对PR连续笔划获得的最高概率分数P的决策类CL。
向量列表LT可根据每个对PR的概率分数P的值的递减顺序排列。在特定实例中,仅对应于在所有条带的第一集合SLa和第二集合SLb中出现至少一次的连续笔划ST的对PR的概率矩阵PM的条目被保留到向量列表LT中。在这种情况下,对应于在针对每个条带SP生成的排序列表L1a-L4a和L1b-L4b中的任一个中不相邻的一对笔划的概率矩阵PM的任何其他条目(例如具有值(CL=0,P=0)的条目)不包括到向量列表LT中。
仍然在文本行定义步骤S22期间,计算设备100可执行行假设分析S22b(图12),以在向量列表LT中针对每对PR连续笔划ST从最高到最低的相关联的概率分数P循序地确定分配给所述对PR的每个笔划ST的相应行假设LH。每个行假设LH构成同一文本行LN的一组至少一个笔划ST。一旦向量列表LT的所有笔划ST已被分配(S22)给相应的行假设LH,最终获得的每个行假设LH定义相应的文本行LN作为文本行提取S10(图6)的结果。换句话说,一旦存在于针对所有条带SP生成的第一集合SLa和第二集合SLb中的所有对PR连续笔划ST中的笔划ST已经被分配给相应的行假设LH,则所得的行假设构成共同形成在S2中检测到的文本手写IN的文本行LN。
在特定实例中,在文本行定义步骤S22期间,如果先前在S20中为包括在向量列表LT中的一对PR连续笔划ST选择的具有最高概率分数P的决策类CL指示所述对PR中的两个连续笔划ST属于同一文本行LN并且如果相关联的概率分数P达到至少(等于或高于)最终阈值TH1,则计算设备100将所述两个笔划ST组合到对应于同一文本行LN的同一行假设LH。这样,通过在向量列表LT中针对每一对PR的两个笔划ST中的每一个循序地决定是否应将两个笔划ST分配给同一行假设LH,以及通过在此步骤S22b期间,基于此决定和任何先前生成的行假设LH的内容确定分派的行假设LH,可逐渐构建(S22b)行假设LH。
现在在下面参考图14至图15描述一个实例,以展示可如何根据特定实施方案执行行假设分析S22b(图12)。然而可设想其他实现方式。
在本实例中,计算设备100在向量列表LT中针对每对PR连续笔划ST从最高到最低的相关联的概率分数P循序地确定(S22b,图12)分配给所述对PR的每个笔划ST的相应行假设LH。在行假设分析S22b开始时,认为每个笔划ST构成单独的行假设LH,尽管其他实现方式也是可能的。在这个初始阶段,在此实例中假定至少3个笔划ST1、ST2和ST3构成3个各自的初始行假设LH1、LH2和LH3。这些笔划ST1、ST2和ST3在向量列表LT中存在的连续笔划ST对PR中各自出现至少一次。
首先假定计算设备100开始分析向量列表LT,并且在向量列表LT中选择(S23,图14)具有最高相关联的概率分数P的第一对PR(记为PR1)连续笔划(ST1,ST2)。计算设备100然后执行以下步骤S24-S28,以为此当前对PR1确定要分配给对PR的笔划ST1和ST2中的每一个的相应的行假设LH。笔划ST1和ST2可保留在它们单独的初始行假设LH1、LH2中,或者根据与所述对(ST1、ST2)相关联的概率分数P合并为全局行假设。
在本实例中,计算设备100确定(S24,图14)当前对PR1是否满足以下条件A):
A)先前在S20中针对当前对PR选择的具有最高概率分数P的决策类CL指示所述对PR的两个连续笔划ST属于同一文本行LN,且概率分数P达到至少最终阈值TH1(条件A))。
在当前情况下,如果针对当前对PR1的存在于向量列表LT中的笔划偶(CL,P)指示当前对PR的两个连续笔划ST1、ST2属于同一文本行LN,且概率分数P等于或高于最终阈值TH1,则因此满足条件A)。如果满足条件A),则方法进行步骤S26(图14)。否则,方法进行步骤S25。
在步骤S25中,确定当前对PR1的笔划ST1、ST2不属于同一文本行LN并因此分别保留在它们的单独行假设LH1、LH2中。换句话说,如果不满足条件A),则现有行假设LH保持不变,并且方法进行步骤S23以在向量列表LT中选择要处理的下一个当前对PR。
在当前情况下,例如假定当前对PR1的笔划偶(CL,P)指示两个连续笔划ST1和ST2属于同一文本行LN,其中概率分数P为95%。例如,假定最终阈值TH1被设置为60%,则确定(S24)概率分数P高于最终阈值TH1,因此,方法进行步骤S26。
在步骤S26(图14)中,计算设备100确定当前对PR1是否满足以下条件B):
B)当前对PR的至少一个笔划ST已经在包括至少两个笔划ST的行假设LH中(条件B))。
在当前情况下,如果笔划ST1或笔划ST2(或两者)已经在包括至少两个笔划ST的行假设LH中,则因此在步骤S26中满足条件B)。如果不满足条件B),则方法进行合并步骤S28,否则方法进行步骤S27中的决策过程以确定是否应执行合并步骤S28(图14)。
在本实例中,在这个阶段考虑笔划ST1和ST2分别包含在不同的行假设LH1和LH2中,这两个行假设LH1和LH2均是单个笔划ST的行假设。因此,决策过程S27不是必需的,并且方法直接进行合并步骤S28。
在合并步骤S28中,计算设备100确定笔划ST1和ST2两者属于通过合并行假设LH1和LH2获得的同一行假设(记为LH5)(LH5=ST1,ST2)。然后方法进行步骤S23以在向量列表LT中选择要处理的下一个当前对PR。
因此,计算设备100继续以概率分数P的递减顺序依次分析(步骤S23-S28)向量列表LT的每对PR连续笔划ST。通过基于与每个连续对PR相关联的决策类CL和概率分数P以及还基于先前在行假设分析S22b期间创建的行假设LH将每个连续对PR的两个连续笔划ST分配给相应的行假设LH,逐渐建立行假设LH。
在本实例中,假定计算设备100现在选择(S23)向量列表LT内新的、所谓的当前对PR2连续笔划(ST2、ST3),根据向量列表LT中先前分析的对PR1(ST1,ST2)仍然以概率分数P的递减顺序移动。在这个阶段,行假设LH5包含笔划ST1和ST2,而行假设LH3包含单个笔划ST3(图16)。
在此实例中,假定计算设备100在步骤S24中检测到针对对PR2,满足条件A),并且因此进行步骤S26(图14)。在步骤S26中,计算设备100检测到未满足条件B)(因为笔划ST2已经是包含多于一个笔划,即两个笔划ST1和ST2的行假设LH5的一部分)。因此,方法现在进行步骤S27中的决策过程。
此决策过程S27被配置为当检测到针对当前一对PR连续笔划,满足条件A)和条件B)时,确定是否应组合两个现有的行假设(即在这种情况下的LH5和LH3)。执行决策过程S27的各种方式是可能的。下面仅出于说明目的,提供一些实例。
现在参考图15A和图16描述实施决策过程(在此实例中更具体地称为S27a)的第一实例。在此第一实例中,此决策过程S27a基于行分数LS的计算。更特别地,在本实例中,计算设备100在决策过程S27a期间执行步骤S30、S32、S34和S36,如下所述。
行分数LS的计算的不同实现方式是可能的。如下面进一步指示的,例如,可使用给定行假设LH中存在的每对PR笔划ST的概率分数(PL)的对数以及两个构成笔划ST中仅一个属于LH的每一对PR的逆概率分数(1-PL=PB)的对数,计算行分数。
在步骤S30中,计算设备100基于已经分配给第一行假设LH5的每对PR(即PR1)连续笔划ST的概率分数P计算第一行假设LH5的第一行分数LS5,此第一行分数LS5表示此第一行假设LH5的每个笔划ST(即ST1和ST2)是同一文本行LN的一部分并且此文本行LN被所述行假设LH5定义为完整的可能性。
在此上下文中,如果根据概率分数P应属于同一文本行LN的所有笔划ST均有效地在所述行假设LH中,则文本行LN被行假设LH定义为完整的。换句话说,行分数LS确保属于同一行假设LH的每对PR连续笔划的概率分数P与决策类CL=“同一行”相关联,并且涉及仅一个笔划ST属于此行假设LH的所有其他对PR与类CL=“段末短行”相关联。在本实例中,由计算设备100计算的行分数LS是表示如上文所提及的可能性的值。
在步骤S32(图15A)中,计算设备100基于已经分配给第二行假设LH3的每对PR连续笔划ST的概率分数P计算第二行假设LH3的第二行分数LS3,此第二行分数LS3表示此第二行假设LH3的每个笔划ST(即ST3)是第二文本行LN的一部分的可能性。在这个阶段,行假设LH3仅包含单个笔划,即ST3。尽管在同一LH中不存在同时具有笔划STa和STb的笔划对,但是存在涉及笔划ST3和在相应行假设LH之外的其他笔划的笔划对。这里相关的对将是(ST3,ST1)和(ST3,ST2)。当计算行假设LH3的行分数LS3时,不存在有助于此同一行假设(即不计算logPL)的对,但仍存在可用于计算“段末短行”(或不同行)假设(即logPb,并且更具体地logPb(ST3,STx),其中STx属于LH2)的对。
在步骤S34中,计算设备100基于分配给第三行假设LH6的每对PR(即PR1、PR2)连续笔划ST的概率分数P计算第三行分数LS6,所述第三行假设LH6组合第一行假设LH5和第二行假设LH3的每个笔划ST,此第三行分数LS6表示这些第一行假设LH5和第二行假设LH3的每个笔划是第三文本行LN的一部分的可能性。
在步骤S36中,计算设备100基于第一行分数LS5和第二行分数LS3的总和S1(S1=LS5+LS3)与第三行分数LS6的比较,确定是否应将第一行假设LH5和第二行假设LH3合并为此第三行假设LH6。
行分数LS5、LS3和LS6表示每个相应行假设LH5、LH3和LH6的构成笔划ST配合在一起以共同形成文本行LN的程度。上文提及的行分数LS5、LS3和LS6可以不同的方式计算,实施细节由技术人员自行决定。如果在决策过程S27a期间确定第三行分数LS6超过第一行分数LS5和第二行分数LS3的总和S1(即如果LS6>S1,或者换句话说,如果比值LS6/S1>1),则计算设备100将第一行假设LH5和第二行假设LH3合并为对应于第三文本行的第三行假设LH6。更准确地说,如果LS6>S1–CP,则第一行假设LH5和第二行假设LH3可合并为第三行假设LH6,其中CP是第一行假设LH5和第二行假设LH3共享的分数计算中的共同部分。此共同部分CP对应于由在第一行假设LH5中具有一个笔划ST和在第二行假设LH3中具有另一个笔划ST的对PR产生的行分数子部分。这些笔划对贡献在LS5和LS3中计算,但在LS6中只计算一次。
在LS5、LS3和LS6的计算中使用的概率分数P可从选择步骤S20中获得的概率矩阵PM导出。
如果在S36中确定应合并行假设LH5、LH3,则计算设备100合并这些行假设(图14)。然后方法再次在步骤S23处进行以在向量列表LT中选择下一个当前对PR并且重复过程S23-S28直到向量列表LT的所有对PR已经被处理以构建行假设LH。
在另一个实例中,现在参考图15B描述决策过程S27(图14),在此实例中更具体地称为S27b。如已经提及,决策过程S27b允许确定是否应该合并行假设LH3和LH5。在步骤S30b中,计算LH3与LH5之间的合并分数LSa。在步骤S32b中,计算LH3与LH5之间的不合并分数LSb。是否合并两个行假设(即在此实例中的LH5和LH3)的决策仅依赖于第一笔划STa属于第一行假设LH(此处为LH3)并且第二笔划STb属于第二行假设LH(此处为LH5)的对PR。在本实例中,仅对PR(ST1,ST3)和(ST2,ST3)的概率P与确定是否应合并LH3和LH5相关。因此,计算以下两个行分数:合并分数LSa,其定义与两个对PR相关联的两个概率分数P适合合并的程度;以及第二分数LSb,其定义与两个对PR相关联的两个概率分数适合合并拒绝的程度(因此与合并的行假设LH6相比,具有更好行假设与LH3和LH5合并)。第一行分数LSa定义为所有相关的对PR(此处为(ST1,ST3)和(ST2,ST3))的类CL=“同一行”(所谓的PL)的概率P的对数的组合。第二行分数LSb定义为所有相关的对PR(此处为(ST1,ST3)和(ST2,ST3))的类CL=“段末短行”(所谓的PB)的概率P的对数的组合。在步骤S36b中,然后比较两个分数LSa和LSb以决定是否应该合并行假设LH5和LH3。在此实例中,如果合并分数LSa大于非合并分数LSb,这意味着应将行假设LH3和LH5合并为更好的行假设LH6。如果决策为是,则涉及笔划ST1、ST2和ST3(并且仅这三个)的对PR的大多数(理想情况下所有)概率分数P应该与决策类CL=“同一行”相关联。然而,如果决策为不应合并行假设LH3和LH5,则涉及来自第一行假设LH3的一个笔划和来自第二行假设LH5的另一个笔划的对PR的大多数(理想情况下所有)概率分数P应该与决策类CL=“段末短行”相关联。
需要注意的是,如果概率矩阵PM中存在对(ST1,ST3)和(ST2,ST3)两者,则合并分数LSa的计算涉及两个概率(PL(ST1,ST3)和PL(ST2,ST3))的组合,并且非合并分数LSb的计算也涉及两个概率(PB(ST1,ST3)和PB(ST2,ST3))的组合,每一对具有PL=1-PB和PB=1-PL。这可以看作是描述行分数计算的另一种方式,如前面所提及。
需要注意的是,本发明中可使用两种类型的概率分数P:
-“同一行”概率分数(记为PL),表示一对PR连续笔划ST属于同一文本行LN的概率(例如与决策类CL=“同一行”相关联的概率分数);和/或
-“段末短行”概率分数(记为PB),表示一对PR连续笔划ST不属于同一文本行LN的概率(例如与决策类CL=“段末短行”相关联的概率分数)。
在一个实例中,使用给定行假设LH中存在的每对PR笔划ST的概率(PL)的对数以及两个构成笔划ST中仅一个属于LH的每一对PR的逆概率(1-PL=PB)的对数,计算行分数。
在本实例中,包括在概率矩阵PM中的条目可定义同一行概率分数PL或段末短行概率分数PB,但是同一行概率分数PL用于计算行分数。因此,可从概率矩阵PM导出的任何段末短行概率分数PB被转换为对应的同一行概率分数PL(PL=1–PB)。在概率矩阵PM中使用同一行概率分数PL或段末短行概率分数PB或两者的组合,各种实现方式是可能的。
如图6所示,一旦行假设LH的生成S22完成,计算设备100可根据实施的配置执行(S24)任何适当的后处理。此后处理步骤S24可用于例如修复由于非常特定的笔划上下文而可能在文本行提取S10中发生的一些明显错误,例如当一个神经网络犯了不能被另一个神经网络补偿或纠正的错误时。
当计算设备对文本手写执行手写识别时,本发明允许有效且可靠的文本行提取。如前面所指示,行提取是文本识别的关键步骤,并且它可能并不总是产生令人满意的结果,特别是关于一些类型的笔划,诸如变音符号、标点符号等。更一般地,当按非年月顺序输入文本手写时,在文本行提取期间可能出现错误。
本发明依赖于在功能上相互交互的若干方面以实现有效的文本行提取,如前面在特定实施方案中所描述的。特别地,对文本手写IN进行切片允许计算设备100在不同的上下文中相对于数字墨水的每个笔划ST做出决策。切片步骤有利于神经网络分析期间的处理。如果没有执行将文本输入切片成多个条带,则文本手写IN的所有文本笔划ST将被包含在单个区域中,如图17A所示。因此,将在整个文本上作为独特的区域全局地执行时间和空间重新排序。时间排序将遵循自然用户的手写顺序,例如图17B中所示。沿Y取向的空间排序将导致更混乱的路径,特别是关于在手写取向X上连续笔划ST的位置,如图17C所示。笔划的空间序列在X位置方面会显得随机。
如在本发明中执行的文本切片产生不那么混乱的空间排序,如图17D所示。对文档进行切片减少上文提及的随机图案出现沿着的手写取向X上的跨度。
如在图17B和图17C中可以看出,在没有文本切片的情况下执行时间或空间排序时,很少出现换行符(记为LB)(通常在一对笔划之间只有一个换行符LB)。因此,在神经网络分析期间,神经网络将仅具有一次机会来检测两个文本行LN之间的这种中断(或分离)。将文本手写IN切片成K个切片(K>1)使神经网络产生最多K个机会来检测两个文本行LN之间的中断,如图17D所示,其中切片成5个条带引起各自可能在神经网络分析期间被检测到的5个不同的换行符LB。
文本切片的另一个优点是它为一些笔划ST带来笔划上下文的可变性。在没有切片的情况下,例如大笔划ST可能仅链接到上方文本行中的一个笔划和下方文本行中的一个笔划。通过对文档进行切片,这个大笔划ST可包括在若干切片中,而其他较小的笔划将不出现在所有相同的切片中。
例如,图18A示出其中大笔划ST10(分数线)在手写取向X上水平延伸的情况。通过将文本手写IN划分成如图18B所示的多个切片SP,可在行文本提取期间更有效地处理此长笔划ST10,因为它将包括在不同的切片SP中,因此在不同的笔划上下文中进行处理。假定每个数字1-9由一个笔划ST组成,可以看出,在没有切片的情况下,竖直排序给以笔划顺序[1,2,3,4,5,ST10,6,7,8,9](图18A)。在文本行提取过程中,分数线ST10将仅在两对PR连续笔划中被检测和处理,即:(5,ST10)和(ST10,6)。然而,如图18B所示,随着切片成3个条带,可生成3个空间笔划顺序,即:[1,2,ST1,6,7];[3,4,ST10,8,9];以及[5,ST10线,9]。因此,在文本行提取过程期间,可在不同的6对笔划ST中检测和处理分数线ST10。
最后,在受限条带中生成笔划顺序可限制两个文本行LN之间的换行符振荡。不具有中断振荡的笔划顺序是这样一种笔划顺序,其中每个文本行LN的笔划被分组在排序列表中(来自文本行LN1的所有笔划,然后来自文本行LN2的所有笔划,依此类推)。例如,当来自先前文本行LN的笔划出现在中间另一个文本行LN的排序列表中时,就会发生振荡。例如,振荡出现在排序列表中,所述排序列表依次包括来自行LN1的一些笔划ST,然后来自行LN2的一个或若干笔划ST,以及再次来自文本行LN1的一些笔划ST,依此类推。这种振荡顺序更难以通过神经网络进行分析。通过如前面所述对文本手写进行切片,可限制排序列表中的振荡。
如前面所述,通过配置条带SP使得它们彼此重叠,可更进一步改进文本行提取的过程。然而,条带SP不重叠的实现方式也是可能的。例如,在每对PR相邻的条带SP之间设置75%的重叠确保在文本行提取期间计算设备100将在若干不同的笔划上下文中找到每个笔划ST(图7至图8)。
如图19所示,条带SP的宽度WD可基于包含在手写输入IN中的笔划ST的比例来定义。在图19所示的特定实施方案中,计算设备100在切片步骤S12(图6至图8)期间基于形成文本手写IN的笔划ST的比例(或大小)确定(S52)条带SP的宽度WD。笔划ST的比例预先根据技术人员已知的任何合适的技术进行确定(S50)。计算设备100然后对包含笔划ST的显示区域进行切片(S54),如已经描述的,并且将每个笔划ST分配给至少两个相应的条带SP。
在特定实施方案中,切片S12(图6至图8)被配置为使得每对PR相邻的条带SP彼此部分地重叠,以共享它们的相应面积的50%与85%之间。
通过在重叠切片环境中生成每个切片多个笔划顺序,计算设备100很可能若干次找到一对连续笔划ST,从而在神经网络分析期间为同一对PR连续笔划ST产生尽可能多的概率分数。通过仅选择给以更高概率分数P的神经网络决策,可实现有效的文本行提取。
此外,如前面所述,计算设备100可在排序步骤S14(图6、图9和图12)期间生成笔划排序列表的第一集合SLa。通过根据各种标准(时间顺序和空间标准)为每个条带SP生成多个排序列表,可更容易地鉴定换行符LB,因为可在每个排序列表中的特定一对PR连续笔划中鉴定一个给定的换行符。生成不同的笔划顺序可以看作是通过不同的观点分析文本行提取的问题,以帮助计算设备为每对PR连续笔划找到将产生最佳决策的最佳笔划上下文。
更具体地,通过为每个竖直切片生成时间顺序的笔划,可生成比全局顺序更容易处理的时间顺序。它限制了延迟笔划间隙。此外,来自用户校正等的笔划可在时间上更接近于它们的笔划上下文进行处理。在切片环境中也有利于空间分析,因为基于空间顺序对笔划进行重新排序有助于发现笔划之间的可以是行间空间的局部间隙。X轴上(沿手写取向)的笔划分布有时可能是混乱的。在本发明中执行的文本切片允许限制这种笔划分布混乱并促进神经网络进行的处理。
切片越多并且每切片的排序列表越多,计算设备100将越有可能在文本行提取过程期间若干次检测到同一对PR连续笔划ST。然而,应在鉴定换行符LB的机会数量与实施文本行提取所需的资源和时间之间进行权衡。例如,已经观察到根据不同的标准为每个条带生成4个不同的排序列表给予良好的结果。还已经观察到,生成时间排序的笔划列表和至少一个空间排序的笔划排序列表(如前面所述)允许高效的文本行提取,尽管其他实现方式也是可能的。
更进一步,如前面所述,计算设备还可通过从第一集合SLa的排序列表中过滤出相对小的笔划ST来生成排序列表的第二集合SLb(步骤S16,图6、图11和图12)。如已经讨论的,诸如变音符号等的相对小的笔划可能在文本行提取期间导致错误。在文本行提取期间从排序列表中移除这些相对小的笔划允许将对于具有和不具有这些相对小的笔划ST的每对PR连续笔划获得的决策类和相关联的概率分数进行比较。可保留具有最佳置信度(具有最高概率分数)的决策类并将其用于构建文本行假设,从而允许有效且可靠的文本行提取。
在本发明中,可使用一个或多个神经网络来处理手写的时间和空间方面,如前面所述。系统可根据笔划上下文自动决定遵循时间或空间方面。
如还描述的,可使用两个专门的神经网络来分别处理时间和空间排序,尽管这只是可能实现方式中的一个实例。循环神经网络(RNN)在一些情况下可能特别适合执行神经网络分析。
应注意,在一些替代实现方式中,框中提到的功能可不按附图中提到的顺序出现。例如,取决于所涉及的功能,连续展示的两个框实际上可大致同时执行,或者所述框有时可以相反的顺序执行,或者所述框可以替代的顺序执行。例如,可以不同的顺序计算参考图14、图15A和图15B设想的行分数。
在特定实施方案中,除了针对每个条带SP生成(S14,S16,图6)的排序列表L1a-L4a和L1b-L4b之外,计算设备100被配置为还生成两个附加的时间排序列表L5a和L5b,用于由所有条带SP形成的整个区域。更具体地,计算设备100将文本手写IN(图4)的所有笔划ST排序在一起,以生成按时间顺序(TO)排列的所谓的第三时间排序的笔划ST列表L5a,并且还通过从第三时间排序列表L5a中过滤出低于大小阈值的笔划ST来形成所谓的第四时间排序列表L5b。这些时间排序的列表L5a和L5b以相似于如前面所述的各个时间排序的列表L1a和L1b的方式生成,其中不同之处在于列表L5a和L5b一起对应于所有条带SP,而不是对应于条带SP中的单个一个。神经网络分析S18(图6和图12)也应用于这些时间排序的列表L5a和L5b。即,在神经网络分析S18期间,计算设备100还针对第三时间排序列表L5a和第四时间排序列表L5b中的每对PR连续笔划ST,作为决策类CL确定所述对的笔划是否属于同一文本行LN,关联所述决策类的概率分数P。当在步骤S20(图6和图12)期间针对每个对PR选择具有最高概率分数P的决策类CL时,也考虑这些时间排序的列表L5a和L5b(关联为每个条带SP生成的所有排序列表L1a-L4a和L1b-L4b)。换句话说,在选择步骤S20期间,计算设备100可在神经网络分析S18期间为包括在(或存在于)排序列表L1a-L4a、排序列表L1b-L4b、第三时间排序列表L5a和第四时间排序列表L5b中的至少一个中的每对连续笔划选择以最高概率分数P确定的决策类CL。此特定实施方案允许在一些具体情况下进一步改进文本行LN的定义。
已经在特定实施方案中描述了本发明,很清楚,根据所附权利要求的范围,在本领域技术人员的能力范围内,易于进行众多修改和实施方案。特别地,技术人员可设想在本文档中描述的落入所附权利要求范围内的各种实施方案的任何和所有组合和变型。
Claims (15)
1.一种由计算设备(100)实现的用于处理文本手写(IN)的方法,其包括:
-在显示区域中显示(S4)基本上沿手写取向(x)输入的数字墨水的笔划(ST);
-执行文本行提取(S10)以从所述笔划提取文本行(LN),所述文本行提取包括:
○将所述显示区域切片(S12)成横向于所述手写取向延伸的条带(SP),其中相邻的条带彼此部分地重叠,使得每个笔划包含在至少两个相邻的条带中;
○针对每个条带(SP),对至少部分地包含在所述条带中的所述笔划(ST)进行排序(S14),以生成按时间顺序排列的第一时间排序的笔划列表(L1a)和根据至少一个相应的空间标准排序的至少一个第一空间排序的笔划列表(L2a-L4a),从而形成排序列表的第一集合(SLa);
○针对每个条带(SP),通过分别从所述第一时间排序列表和所述至少一个第一空间排序列表中过滤出低于大小阈值的笔划,形成(S16)包括第二时间排序的笔划列表(L1b)和至少一个第二空间排序的笔划列表(L2b-L4b)的排序列表的第二集合(SLb);
○通过至少一个人工神经网执行神经网络分析(S18),以针对所述第一集合和所述第二集合的每个排序列表中的每对(PR)连续笔划,作为决策类(CL)确定所述对的所述笔划是否属于同一文本行(LN),关联所述决策类的概率分数(P);
○针对包括在所述第一集合和所述第二集合的至少一个排序列表中的每对连续笔划,选择(S20)在所述神经网络分析期间被确定为具有最高概率分数(P)的决策类(CL);以及
○通过基于针对每对连续笔划选择的具有最高概率分数的所述决策类将笔划组合到行假设(LH)中来定义(S22)文本行。
2.如权利要求1所述的方法,其中所述数字墨水的笔划以没有任何手写引导约束的自由手写格式输入。
3.如权利要求1或2所述的方法,其中所述切片被配置为使得所述条带(SP)彼此平行,使得它们沿相同的取向(Y)即所谓的条带取向延伸。
4.如权利要求3所述的方法,其中所述切片包括:
-基于所述笔划的比例确定所述条带的宽度,所述比例对应于所述笔划的平均大小或高度;以及
-将每个笔划分配给所述笔划至少部分地包含在其中的每个条带。
5.如权利要求3或4所述的方法,其中所述切片被配置为使得每对(PR)相邻的条带彼此部分地重叠,以共享它们的相应面积的50%与85%之间。
6.如权利要求3至5中任一项所述的方法,其中在所述排序中针对每个条带(SP)生成的所述至少一个第一空间排序列表包括以下项中的至少一者:
-空间排序的笔划列表(L2a),所述空间排序的笔划列表(L2a)根据所述条带的每个笔划的相应重心沿所述条带取向的位置进行排序;
-空间排序的笔划列表(L3a),所述空间排序的笔划列表(L3a)根据所述条带的每个笔划在沿所述条带取向的第一方向上的最外侧坐标进行排序;以及
-空间排序的笔划列表(L4a),所述空间排序的笔划列表(L4a)根据所述条带的每个笔划在沿所述条带取向的与所述第一方向相反的第二方向上的最外侧坐标进行排序。
7.如权利要求1至6中任一项所述的方法,其中所述形成排序列表的第二集合包括:针对每个条带(SP),
-基于所述条带的每个笔划在所述条带取向上的高度或最大距离中的至少一者评估所述笔划的第一大小,并且基于所述条带的每个笔划的长度评估所述笔划的第二大小;
-当所述第一大小或所述第二大小低于大小阈值时,从所述第一时间排序列表和所述至少一个第一空间排序列表中移除每个笔划,从而分别生成所述第二时间排序列表和所述至少一个第二空间排序列表。
8.如权利要求1至7中任一项所述的方法,其中所述神经网络分析包括:
-通过至少一个人工分类器或神经网络计算概率分数(P),所述概率分数(P)表示包括在排序列表的所述第一集合和所述第二集合(SLa,SLb)的所述排序列表中的每对(PR)连续笔划中的所述笔划属于同一文本行(LN)的概率;
-针对每对连续笔划,如果所述概率分数达到至少概率阈值,则作为决策类(CL)确定所述对的所述笔划(ST)属于同一文本行。
9.如权利要求8所述的方法,其中在所述神经网络分析期间,所述至少一个人工神经网络循序地分析所述第一集合和所述第二集合(SLa,SLb)的每个排序列表中的每对(PR)连续笔划,以基于与所述排序列表中的所述笔划相关的空间和时间信息确定相应的决策类和概率分数。
10.如权利要求1至9中任一项所述的方法,其中所述选择包括:
-针对包括在所述第一集合和所述第二集合的至少一个排序列表中的每对连续笔划,将所选择的决策类关联相应的概率分数编译成概率矩阵(PM)。
11.如权利要求1至10中任一项所述的方法,其中所述定义文本行包括:
-将所述概率矩阵(PM)变换为条目的向量列表(LT),所述条目的向量列表包括所述概率矩阵中所包括的每对连续笔划的所述决策类和相关联的概率分数,所述向量列表根据每对的所述概率分数的值的递减顺序排列;以及
-在所述向量列表中针对每对(PR)连续笔划从最高到最低的相关联的概率分数循序地确定分配给所述一对连续笔划的行假设,其中每个行假设包括同一文本行的至少一个笔划,
其中一旦所述向量列表的所有笔划均已分配给相应的行假设,则所获得的每个行假设定义相应的文本行。
12.如权利要求11所述的方法,其中在所述定义文本行期间,如果先前针对所述向量列表(LT)中包括的一对(PR)连续笔划选择的具有所述最高概率分数的所述决策类指示所述对中的两个连续笔划属于同一文本行并且如果所述最高概率分数达到至少最终阈值,则将所述两个笔划组合到对应于同一文本行的同一行假设(LH)中。
13.如权利要求12所述的方法,其中所述定义文本行包括:
选择(S23)包括在所述向量列表(LT)中的一对(PR)连续笔划,即分别属于第一行假设和第二行假设的第一笔划和第二笔划,其中所述第一行假设和所述第二行假设中的至少一者包括至少两个笔划;
在检测到(S24)所述对的所述第一笔划和所述第二笔划属于同一文本行且最高概率分数达到至少所述最终阈值时,所述计算设备执行决策过程(S27),所述决策过程包括:
-基于已经分配给所述第一行假设的每对连续笔划的所述概率分数,计算(S30)所述第一行假设的第一行分数,所述第一行分数表示所述第一行假设的每个笔划是第一文本行的一部分的可能性;
-基于已经分配给所述第二行假设的每对连续笔划的所述概率分数,计算(S32)所述第二行假设的第二行分数,所述第二行分数表示所述第二行假设的每个笔划是第二文本行的一部分的可能性;
-基于分配给组合所述第一行假设和所述第二行假设的每个笔划的第三行假设的每对连续笔划的所述概率分数,计算(S34)第三行分数,所述第三行分数表示所述第一行假设和所述第二行假设的每个笔划一起形成第三文本行的可能性;以及
-基于所述第一行分数和所述第二行分数的总和与所述第三行分数的比较,确定(S36)是否将所述第一行假设和所述第二行假设合并为所述第三行假设。
14.一种计算机程序,其包括用于在所述程序由计算机执行时执行如权利要求1至13中任一项所述的方法的步骤的指令。
15.一种用于处理手写文本的计算设备(100),其包括:
-显示单元(102),所述显示单元(102)用于在显示区域中显示基本上沿手写取向输入的数字墨水的笔划(ST);
-行提取单元(MD2),所述行提取单元(MD2)用于执行文本行提取以从所述笔划提取文本行(LN),所述行提取单元包括:
○切片模块(MD4),所述切片模块(MD4)用于将所述显示区域切片成横向于所述手写取向延伸的条带,其中相邻的条带彼此部分地重叠,使得每个笔划包含在至少两个相邻的条带中;
○排序模块(MD6),所述排序模块(MD6)用于针对每个条带,对至少部分地包含在所述条带中的所述笔划进行排序,以生成按时间顺序排列的第一时间排序的笔划列表和根据至少一个相应的空间标准排序的至少一个第一空间排序的笔划列表,从而形成排序列表的第一集合;
○形成模块(MD8),所述形成模块(MD8)用于针对每个条带,通过分别从所述第一时间排序列表和所述至少一个第一空间排序列表中过滤出低于大小阈值的笔划,形成包括第二时间排序的笔划列表和至少一个第二空间排序的笔划列表的排序列表的第二集合;
○神经网络模块(MD10),所述神经网络模块(MD10)用于通过至少一个人工神经网执行神经网络分析,以针对所述第一集合和所述第二集合的每个排序列表中的每对连续笔划,作为决策类(CL)确定所述对的所述笔划是否属于同一文本行,关联所述决策类的概率分数(P);
○选择模块(MD12),所述选择模块(MD12)用于针对包括在所述第一集合和所述第二集合的至少一个排序列表中的每对连续笔划,选择在所述神经网络分析期间被确定为具有最高概率分数的决策类;以及
○行定义模块(MD14),所述行定义模块(MD14)用于通过基于针对每对连续笔划选择的具有最高概率分数的所述决策类将笔划组合到行假设中来定义文本行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19189346.0A EP3772015B1 (en) | 2019-07-31 | 2019-07-31 | Text line extraction |
EP19189346.0 | 2019-07-31 | ||
PCT/EP2020/071420 WO2021018973A1 (en) | 2019-07-31 | 2020-07-29 | Text line extraction |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114341954A true CN114341954A (zh) | 2022-04-12 |
CN114341954B CN114341954B (zh) | 2023-06-30 |
Family
ID=67514385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080062570.7A Active CN114341954B (zh) | 2019-07-31 | 2020-07-29 | 文本行提取 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11393231B2 (zh) |
EP (1) | EP3772015B1 (zh) |
JP (1) | JP7487898B2 (zh) |
KR (1) | KR20220038477A (zh) |
CN (1) | CN114341954B (zh) |
WO (1) | WO2021018973A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021111157A (ja) * | 2020-01-10 | 2021-08-02 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、及び情報処理プログラム |
CN114926841B (zh) * | 2022-07-22 | 2022-11-08 | 广州能源检测研究院 | 基于改进穿线法的电子式水表读数图像识别方法及装置 |
KR20240065997A (ko) * | 2022-11-07 | 2024-05-14 | 삼성전자주식회사 | 필기 입력을 인식하는 방법 및 장치 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453070B1 (en) * | 1998-03-17 | 2002-09-17 | Motorola, Inc. | Diacritical processing for unconstrained, on-line handwriting recognition using a forward search |
CN105283882A (zh) * | 2013-04-12 | 2016-01-27 | 诺基亚技术有限公司 | 用于文本输入的装置及相关联的方法 |
KR101687941B1 (ko) * | 2014-11-27 | 2016-12-20 | 주식회사 셀바스에이아이 | 온라인 필기 데이터 라인 분할 방법 및 이를 이용하는 장치 |
US20170109578A1 (en) * | 2015-10-19 | 2017-04-20 | Myscript | System and method of handwriting recognition in diagrams |
CN107092902A (zh) * | 2016-02-18 | 2017-08-25 | 富士通株式会社 | 字符串的识别方法和系统 |
CN107967105A (zh) * | 2016-10-19 | 2018-04-27 | 夏普株式会社 | 手写内容编辑设备和方法 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5194852A (en) * | 1986-12-01 | 1993-03-16 | More Edward S | Electro-optic slate for direct entry and display and/or storage of hand-entered textual and graphic information |
JP2749020B2 (ja) | 1991-11-14 | 1998-05-13 | 日立ソフトウエアエンジニアリング株式会社 | ダイアグラム認識システム |
JPH086707A (ja) | 1993-12-30 | 1996-01-12 | Xerox Corp | スクリーン指向ディスプレー処理システム |
US5847712A (en) | 1995-01-03 | 1998-12-08 | University Of Washington | Method and system for generating graphic illustrations according to a stroke texture and a tone |
GB9701793D0 (en) | 1997-01-29 | 1997-03-19 | Gay Geoffrey N W | Means for inputting characters or commands into a computer |
AU5299700A (en) | 1999-05-27 | 2000-12-18 | America Online, Inc. | Keyboard system with automatic correction |
US7298903B2 (en) | 2001-06-28 | 2007-11-20 | Microsoft Corporation | Method and system for separating text and drawings in digital ink |
US20030215145A1 (en) | 2002-05-14 | 2003-11-20 | Microsoft Corporation | Classification analysis of freeform digital ink input |
CA2390506C (en) | 2002-06-12 | 2013-04-02 | Smart Technologies Inc. | System and method for recognizing connector gestures |
US7218779B2 (en) | 2003-01-21 | 2007-05-15 | Microsoft Corporation | Ink divider and associated application program interface |
US7218783B2 (en) | 2003-06-13 | 2007-05-15 | Microsoft Corporation | Digital ink annotation process and system for recognizing, anchoring and reflowing digital ink annotations |
US7616333B2 (en) | 2003-08-21 | 2009-11-10 | Microsoft Corporation | Electronic ink processing and application programming interfaces |
US7502812B2 (en) | 2003-08-21 | 2009-03-10 | Microsoft Corporation | Electronic ink processing |
US7352902B2 (en) | 2003-09-24 | 2008-04-01 | Microsoft Corporation | System and method for detecting a hand-drawn object in ink input |
US7324691B2 (en) | 2003-09-24 | 2008-01-29 | Microsoft Corporation | System and method for shape recognition of hand-drawn objects |
US20050273761A1 (en) | 2004-06-07 | 2005-12-08 | The Mathworks, Inc. | Freehand system and method for creating, editing, and manipulating block diagrams |
US7496232B2 (en) | 2004-06-23 | 2009-02-24 | Microsoft Corporation | Distinguishing text from non-text in digital ink |
US7574048B2 (en) * | 2004-09-03 | 2009-08-11 | Microsoft Corporation | Freeform digital ink annotation recognition |
US7394935B2 (en) | 2004-09-21 | 2008-07-01 | Microsoft Corporation | System and method for editing a hand-drawn chart in ink input |
US7440616B2 (en) | 2004-09-21 | 2008-10-21 | Microsoft Corporation | System and method for recognition of a hand-drawn chart in ink input |
US7904810B2 (en) | 2004-09-21 | 2011-03-08 | Microsoft Corporation | System and method for editing a hand-drawn list in ink input |
US7512273B2 (en) | 2004-10-21 | 2009-03-31 | Microsoft Corporation | Digital ink labeling |
US7643687B2 (en) | 2005-03-18 | 2010-01-05 | Microsoft Corporation | Analysis hints |
EP1783593A3 (en) | 2005-10-07 | 2012-12-19 | Sony Corporation | Information processing apparatus with a user interface comprising a touch panel, method and program |
US20080195931A1 (en) | 2006-10-27 | 2008-08-14 | Microsoft Corporation | Parsing of ink annotations |
US8014607B2 (en) | 2007-03-23 | 2011-09-06 | Palo Alto Research Center Incorporated | Method and apparatus for creating and editing node-link diagrams in pen computing systems |
US7945097B2 (en) | 2007-05-21 | 2011-05-17 | Microsoft Corporation | Classifying digital ink into a writing or a drawing |
KR101533850B1 (ko) * | 2009-01-20 | 2015-07-06 | 엘지전자 주식회사 | 전자 종이를 가진 이동 통신 단말기 및 이에 적용된 제어방법 |
US8718375B2 (en) | 2010-12-03 | 2014-05-06 | Massachusetts Institute Of Technology | Sketch recognition system |
US9514281B2 (en) * | 2011-05-03 | 2016-12-06 | Graeme John HIRST | Method and system of longitudinal detection of dementia through lexical and syntactic changes in writing |
US8782549B2 (en) | 2012-10-05 | 2014-07-15 | Google Inc. | Incremental feature-based gesture-keyboard decoding |
US9171204B2 (en) | 2012-12-12 | 2015-10-27 | Qualcomm Incorporated | Method of perspective correction for devanagari text |
US9141823B2 (en) * | 2013-03-15 | 2015-09-22 | Veridicom, Sa De Cv | Abstraction layer for default encryption with orthogonal encryption logic session object; and automated authentication, with a method for online litigation |
US20140313216A1 (en) | 2013-04-18 | 2014-10-23 | Baldur Andrew Steingrimsson | Recognition and Representation of Image Sketches |
KR102183448B1 (ko) | 2013-04-26 | 2020-11-26 | 삼성전자주식회사 | 사용자 단말 장치 및 그 디스플레이 방법 |
US9465985B2 (en) * | 2013-06-09 | 2016-10-11 | Apple Inc. | Managing real-time handwriting recognition |
KR102199193B1 (ko) | 2014-01-22 | 2021-01-06 | 삼성전자주식회사 | 핸드라이팅 정보 운용 방법 및 이를 지원하는 전자 장치 |
US20170068868A1 (en) | 2015-09-09 | 2017-03-09 | Google Inc. | Enhancing handwriting recognition using pre-filter classification |
US10852938B2 (en) * | 2016-01-07 | 2020-12-01 | Myscript | System and method for mixed content digital ink interactivity |
US10082951B2 (en) * | 2016-01-07 | 2018-09-25 | Myscript | System and method for digital ink interactivity |
-
2019
- 2019-07-31 EP EP19189346.0A patent/EP3772015B1/en active Active
- 2019-12-16 US US16/715,951 patent/US11393231B2/en active Active
-
2020
- 2020-07-29 KR KR1020227006452A patent/KR20220038477A/ko not_active Application Discontinuation
- 2020-07-29 JP JP2022504626A patent/JP7487898B2/ja active Active
- 2020-07-29 WO PCT/EP2020/071420 patent/WO2021018973A1/en active Application Filing
- 2020-07-29 CN CN202080062570.7A patent/CN114341954B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453070B1 (en) * | 1998-03-17 | 2002-09-17 | Motorola, Inc. | Diacritical processing for unconstrained, on-line handwriting recognition using a forward search |
CN105283882A (zh) * | 2013-04-12 | 2016-01-27 | 诺基亚技术有限公司 | 用于文本输入的装置及相关联的方法 |
KR101687941B1 (ko) * | 2014-11-27 | 2016-12-20 | 주식회사 셀바스에이아이 | 온라인 필기 데이터 라인 분할 방법 및 이를 이용하는 장치 |
US20170109578A1 (en) * | 2015-10-19 | 2017-04-20 | Myscript | System and method of handwriting recognition in diagrams |
CN107092902A (zh) * | 2016-02-18 | 2017-08-25 | 富士通株式会社 | 字符串的识别方法和系统 |
CN107967105A (zh) * | 2016-10-19 | 2018-04-27 | 夏普株式会社 | 手写内容编辑设备和方法 |
Non-Patent Citations (3)
Title |
---|
MOYSSET BASTIEN等: "Paragraph Text Segmentation into Lines with Recurrent Neural Networks", 《2015 13TH INTERNATIONAL CONFERENCE ON DOCUMENT ANALYSIS AND RECOGNITION》 * |
TRIPATHY等: "Handwriting Segmentation of Unconstrained Oriya Text", 《FRONTIERS IN HANDWRITING RECOGNITION 2004》 * |
ZAIDI等: "Off-line Handwriting Text Line Segmentation: a Review", 《IJCSNS INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND NETWORK SECURITY》 * |
Also Published As
Publication number | Publication date |
---|---|
JP2022542578A (ja) | 2022-10-05 |
US11393231B2 (en) | 2022-07-19 |
EP3772015B1 (en) | 2023-11-08 |
WO2021018973A1 (en) | 2021-02-04 |
US20210034848A1 (en) | 2021-02-04 |
CN114341954B (zh) | 2023-06-30 |
EP3772015A1 (en) | 2021-02-03 |
JP7487898B2 (ja) | 2024-05-21 |
KR20220038477A (ko) | 2022-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3320482B1 (en) | System for recognizing multiple object input and method and product for same | |
US10007859B2 (en) | System and method for superimposed handwriting recognition technology | |
CN114341954B (zh) | 文本行提取 | |
CN114365075B (zh) | 用于选择图形对象的方法和对应装置 | |
KR102576276B1 (ko) | 자유 핸드라이팅 모드에서 텍스트 핸드라이팅 입력의 처리 | |
CN108701215B (zh) | 用于识别多对象结构的系统和方法 | |
KR102347554B1 (ko) | 디지털 잉크를 뷰티파잉하기 위한 시스템 및 방법 | |
US20140184610A1 (en) | Shaping device and shaping method | |
US11429259B2 (en) | System and method for selecting and editing handwriting input elements | |
US20230096728A1 (en) | System and method for text line and text block extraction | |
CN107912062B (zh) | 叠覆手写的系统和方法 | |
JP7448132B2 (ja) | 手書きの構造分解 | |
WO2006090404A1 (en) | System, method, and apparatus for accomodating variability in chunking the sub-word units of online handwriting |
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 |