CN1102270C - 信息处理方法和信息处理设备 - Google Patents

信息处理方法和信息处理设备 Download PDF

Info

Publication number
CN1102270C
CN1102270C CN97102205A CN97102205A CN1102270C CN 1102270 C CN1102270 C CN 1102270C CN 97102205 A CN97102205 A CN 97102205A CN 97102205 A CN97102205 A CN 97102205A CN 1102270 C CN1102270 C CN 1102270C
Authority
CN
China
Prior art keywords
vector
strokes
layering
strokes vector
classification tree
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.)
Expired - Fee Related
Application number
CN97102205A
Other languages
English (en)
Other versions
CN1163437A (zh
Inventor
吉井裕人
新井常一
高须英司
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP00383696A external-priority patent/JP3636525B2/ja
Priority claimed from JP03781696A external-priority patent/JP3647127B2/ja
Priority claimed from JP8091091A external-priority patent/JPH09282415A/ja
Priority claimed from JP09109796A external-priority patent/JP3630837B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN1163437A publication Critical patent/CN1163437A/zh
Application granted granted Critical
Publication of CN1102270C publication Critical patent/CN1102270C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/1914Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries, e.g. user dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Character Discrimination (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及一种分类生成方法,它恰当地反映了模式的宏观结构特征,并充分反映了类别之间的竞争关系。当一个输入模式由笔划形成时,一个训练笔划被分为多个段,并对分段的笔划进行向量量化。在分段的量化笔划中,相邻的笔划组被合成,分别生成上层笔划向量。在分层的笔划向量系列中,从上层笔划向量中选出一个使预定平均信息量函数达到最大值的向量,并向下层笔划向量组展开。结果,得到了一个分类树。

Description

信息处理方法和信息处理设备
本发明涉及模式识别,如字符和语音模式,尤其是一种为字符、语音等的模式识别提供数据的技术。
传统上,为了对构成一种模式的手写字符进行识别,一个步进过程使用分类树对模式进行分类。
由于使用分类树的传统识别方法中,为了准备节点,注意力只集中在各个节点的特征数上,不能确定模式更广泛的方面。
为了生成一个识别带有大量特征的模式的分类树,必须采用一种方法,在各个节点上选择一个特征轴,因为计算是需要时间的。
另外,有一种传统方法,使用一个N元语法表,用于句子识别,根据它,一个有限自动机被用作一种构成句子的语言模型,基于这种模型,计算出字符行出现的前置可能性。
换句话说,根据这种方法,一个步骤是从大规模语句数据库中,计算关于构成句子的元素行连续的可能性。
然而,对于包含几千种字符类别的语言如日语或中文来说,即使是构造一个三元语法表(N=3),也需要大量的语句数据。
如果一个表是用少量的语句数据生成的,可靠转换可能性和不可靠转换可能性会在表中共存,产生缺陷。
构造分类树的传统方法是通过包含模式逐步退化的预处理来进行的。根据这种方法,对模式的宏观到微观形式,能够构造一个平衡很好的分类树。结果,可以产生一种尽可能接近人类识别能力的识别功能。
但是,由于这种方法用多种训练模式来吸收模式修正,所以就需要有庞大数量的训练模式。
这种情况将结合图32来解释。
假设根据传统方法,为从“0”到“9”的数字位图识别产生一个分类树。
一个用上述方法建立的分类树形状如图32中所示。三种类别的训练模式,“4”、“ 5”和“6”,在图32中从右边起第五个分支。
换句话,广义地讲,在图32右起第五分支上,只有“4”、“5”和“6”三个类别对训练模式是有效的。
作为例子,考虑一个完整的使用如此提供的分类树的新位图模式识别过程。广义来说,图41A到41E中所示的所有位图都有与图32右起第五分支相同的形状。换句话说,当上面解释的分类树用于识别这些位图时,位图总是被分类为属于类别“4”、“5”和“6”。结果,图41A到41C中的位图被正确地识别出来,但图41D中所识别的位图会被排除,而图41E中的位图显然是被错误识别的。
这种缺陷产生的原因是,模式中没有如图41E中位图形状的类别“2”。这说明,对传统方法来说,需要包含所有可能的排列变化的数目庞大的训练模式。
因此,本发明的一个目的是提供一种分类树的生成方法,用于生成一个由笔划向量组成的分类树,用它可以恰当地反映一个有大量特征的模式的宏观结构特征并可以恰当地反映存在于类别之间的竞争关系,本发明还提供与该方法相应的设备;并提供一种字符识别方法,通过它,一个已生成的分类树被用于在高速和高识别率下识别字符,以及与该方法相应的设备。
依据本发明,从一个字符模式中能够有效地生成一个分层的字符模式。
另外,在已生成的分层字符模式的基础上,可以产生一个分类树,其中类别的竞争在上层最激烈,其中类别被优先在紧接着的下一层分类。
进而,用产生的分类树可以生成一个存储器有效的N元语法表。
而且,通过查找如此得到的N元语法表,能够进行高速和高识别率的识别。
根据本发明,从训练模式中提取子模式,而且对子模式的分层提前进行。基于分层的子模式,子模式的分类树就准备好了,由此,即使以很少数量的训练模式,也可以提供高识别率。
根据本发明,在分层过程中,数据从详细子模式数据的依次退化中产生,所以能够提供快速的识别处理过程。
根据本发明,分类树通过从高级到低级展开的分层子模式数据而得到,所以能够提供有高识别效率的字典数据。
根据本发明,当子模式被看作通过分割训练模式而得到的模式段时,子模式的准备就变得容易了。
根据本发明,选择一个分类效率最高的变量,对所选的变量准备一个分类树。作为结果,可以提供一个与传统不同的有效的分类树。
根据本发明,分层在一个输入模式上进行。通过跟踪分类树来识别分层的输入模式,从模式的高级数据一直持续到低级。结果,得到了高速度下的高识别率。
根据本发明,当模式由位图数据组成时,可以对通过扫描仪等输入的图象数据进行高效的识别。
根据本发明,当模式是笔划数据时,可以对由笔输入的笔迹数据进行高效的识别。
根据本发明,当模式为语音数据时,能够对由麦克风等输入的语音数据进行高效的识别。
图1是一个方块图,描述依据本发明第一实施方案的设备设置;
图2是一个流程图,表现第一实施方案生成一个联机手写字符识别字典的方法;
图3是一个流程图,表现第一实施方案生成一个联机手写字符识别字典的过程;
图4用来解释在第一实施方案中的一个笔划生成阶段的处理;
图5显示了一个分层向量序列;
图6解释在第一实施方案中向量的平均化过程;
图7显示第一实施方案的分类树;
图8显示在第一实施方案中,联机手写字符识别字典的分类树的示例数据配置;
图9是一个流程图,显示第一实施方案的联机手写字符识别方法;
图10是一个详细流程图,表现第一实施方案的分类树产生过程;
图11描述了第一实施方案在图10的步骤S1007中分支的生成;
图12描述了根据第一实施方案的设备的第一设置;
图13描述了根据第一实施方案的设备的第二设置;
图14是一个方块图,描述了依据第二实施方案的设备设置;
图15是一个概念图,表现依据第二实施方案的信息处理;
图16描述了一个金字塔形状的神经网络,它是第二实施方案处理过程的一部分;
图17是一个流程图,显示依据第二实施方案的信息处理;
图18描述了依据第二实施方案的一个示例性训练模式;
图19描述了依据第二实施方案的一个分层训练模式的例子;
图20显示了依据第二实施方案的一个分类树生成过程;
图21描述了依据第二实施方案生成的分类树的例子;
图22显示了一个依据第二实施方案的大类别分组的例子;
图23是一个流程图,描述了依据第二实施方案的第二处理过程;
图24是第二流程图,描述了依据第二实施方案的信息处理过程;
图25描述了依据第二实施方案的程序模块的存储器布局例子;
图26描述了依据第三实施方案的设备的硬件设置;
图27描述了依据第三实施方案的分类树准备过程;
图28描述了依据第三实施方案的设备配置;
图29是一个流程图,描述了第三实施方案的处理过程;
图30解释了依据第三实施方案对子模式的提取;
图31描述了依据第三实施方案的金字塔形;
图32显示一个依据第三实施方案而产生的分类树;
图33是一个流程图,描述了依据第三实施方案的分类准备过程;
图34描述了低级的分层模式,它们是依据第三实施方案,通过所选择的神经元产生的;
图35描述了一个依据第三实施方案最终准备的分类树;
图36描述了依据第三实施方案的识别处理;
图37描述了依据第三实施方案的分类树生成过程;
图38是一个流程图,描述了依据第三实施方案的第二处理过程;
图39描述了依据第三实施方案的子向量提取设备;
图40描述了依据第三实施方案的第二识别处理过程;
图41A、41B、41C、41D和41E描述了现有技术;
图42描述了依据第三实施方案,对一个语音模式进行傅里叶变换,而得到的包络线;
图43显示了对应于X轴频率的语音模式的强度;及
图44显示了对应于X轴时间的语音模式的频率。
在第一实施方案中,描述了一种为识别一个联机输入的笔划而生成分类树的方法及使用生成的分类树的识别处理过程。
首先,描述依据这个实施方案识别字符的方法和设备的主要特点,随之是它们的详细描述。
在依据本实施方案的字符识别方法中,一个训练笔划被分为向量形式组成的笔划段,得到的向量系列被分层,然后依据获得的分层向量系列生成一个分类树。
在对向量系列分层的过程中,构成训练笔划的向量系列信息被逐步退化。
当生成分类树时,选择一个向量,它可以保证在上层类别间最激烈的竞争及在紧接着的下一层类别间依据平均信息量(entropy)标准(后面将对此进行讨论)的良好分隔。根据其结果被退化的向量又被向低层展开。
联机手写字符识别的字典保留上述分类树作为其内容。
接着,根据前述分类树确定由用户手写的笔划的类别。
现在将结合附图对本发明进行描述。
<分类树的结构和生成方法>
图1显示了一个信息处理设备的示意性配置的例子,该设备应用了依据本实施方案的联机手写字符识别方法。
一个依据本实施方案的联机手写字符识别设备主要由一个笔划输入设备401、一个显示器402、一个中央处理单元(CPU)403及一个存储器404组成。
笔划输入设备401带有,例如数字化仪和笔;它将一个字符或图形的坐标数据传递给CPU403,该字符或图形已用笔在数字化仪上输入了。
显示器402显示通过笔划输入设备401输入的笔划数据及CPU403识别的结果。
CPU403识别一个由输入的笔划数据组成的字符或图形,而且还控制整个设备。
存储器404记录一个识别程序和一个供CPU403使用的字典,它还临时记录输入的笔划数据、识别程序使用的变量等。
图2是一个处理流程图,它为根据本发明的实施方案生成联机手写字符识别字典的过程提供了一个最好的描述。
针对图2,标号S101表示一个输入训练笔划的步骤,而S102表示一个将输入的训练笔划分为笔划段的步骤。
标号S103表示一个产生笔划段向量的步骤,笔划段由在前面的笔划分隔步骤中进行的分隔而得到。
标号S104代表一个对由前面产生笔划段向量的步骤得到的向量系列进行预分层处理的步骤。
标号S105表示在对向量系列进行预分层处理的步骤中生成的分层的向量系列。
标号S106表示根据分层的向量系列产生一个分类树的分类树生成步骤。
标号S107是一个区分展开向量的步骤,该向量在分类树产生步骤中被生成分类树的过程所使用。
标号S108表示一个已被完成的分类树。
在这个实施方案中,输入是S101中的一个训练笔划而输出是分类树108。
现在参照图3到图7,描述在依据本发明第一实施方案的字符识别处理过程中生成一个分类树的过程。
为了更易于理解,将用三个不同的字符“く”、“し”和“つ”作为例子来代表将被识别的类别,它们分别读作“ku”,“shi”和“tsu”,每个都由一笔写成。
假设为生成字典,“く”、“し”和“つ”中的每一个分别有一百个训练模式;这如下面所表示:
TPi,j(训练模式i,j)
其中i是一个表示类别的下标,它的值在下面的范围中:
0≤i≤2
j是表示训练模式数目的下标,它的值在下面的范围中:
1≤j≤100
如图3中的流程图所示,生成联机手写字符识别字典的过程由三个步骤组成,即一个向量生成步骤、一个预分层处理步骤和一个分类树生成步骤。下面将对每个步骤进行描述。
(F1)向量生成步骤
参照图4,将详细叙述向量生成步骤。
首先,训练笔划被分成n段(在图4中,n=8)。虽然图4中所示的n段是根据笔划的距离分成相等的n段,但本发明并不仅限于此。
例如,如果一个笔划输入设备在起始和结尾点的附近受不稳定笔划的影响,那么为了从起始和结尾点附近的笔划部分获得详细段向量所作的努力就没有什么意义了。在这种情况下,允许n个笔划段的起始段和结尾段有比其余段更长的距离。
在下一步骤中,由n个笔划段的各段构成向量。
在图4中,笔划段被量化为从0到11的12个方向上的基本向量。基本向量360度等间距分布;但本发明并不受此限制。
例如,图4中所示的12个方向上的基本向量中,一个左上端的基本向量(如向量10或11)在一个手写笔划中并未出现。于是,可以使用一组基本向量,其中该基本向量的间隔角度更大一些。
在产生向量的过程中,如图2所示,将笔划分割为笔划段的步骤和为每段产生向量的步骤对所有训练笔划都要进行。
在图4示例的情况下,输入的笔划被转换为基本向量系列”12455421”。
(F2)预分层步骤
对已被转换为向量的训练笔划进行金字塔式的预分层。
图5表示了一个例子。
在图5中,从为每段产生向量的步骤中获得的向量系列的两个相邻向量的平均向量被储存在上层,以便顺序地将向量信息减少到一半(或退化)。
图4所示的笔划的8个基本向量最终将被按顺序转换为4个向量,两个向量及一个向量。
参照图6,将详细描述一种对两个相邻向量进行平均的方法。
为了叙述的方便,图5中所示的12个方向的基本向量在图6中为8个方向。应当注意的是,即使基本向量的总数或各个基本向量的方向发生变化,本发明的精神也不受影响。
下面的叙述基于一个假设,即基本向量有8个方向。两个相邻向量的第一向量将表示为”pre”,而随后的向量为”post”。
以一种简单的方式,两个向量的平均可以如下给出:
(pre+post)/2
但是,会有这样的情况,即由上述公式得到的平均结果不能提供一个基本向量。
一般来说,等分为8个方向的向量和其平均向量提供16个方向上的向量,必须对它们进行处理,来提供8个方向上的向量。
图6描述了这种方法。
在图6中,“→”(800)表示在上层中一个向右的向量(No.2)。下面给出的8对向量表示存在于下层中的向量对。
具体来说,有下列8对,它们可以是在上层中由No.2表示的向量对(pre,post):
(2,2),(1,3)
(3,1),(0,4)
(2,3),(3,2)
(3,4),(4,3)
这适用于下列条件,由(pre+post)/2得到的pre和post的平均值大于1.5和2.5或较小。
如果上层中的向量数目不为2,则将使用一组以45度转换图6所示的向量集合而得到的向量。
向量集合,即上层中的向量和下层中的两个向量,并不限于图6中所示的那一个;它可以是任何向量集合,只要上层的向量能够被看作是下层中两个向量的平均向量。
(F3)分类树生成步骤
在预分层过程(F2)中,训练笔划(TPi,j)的所有段都被展开为金字塔形自顶到底的向量,如图5所示。为生成分类树,向量被反向处理,即从顶端到底部。
在下面的描述中,假设基本向量有8个方向,或在图6中有8个向量编号从0到7。在这里,向量金字塔中的所有向量将被这些基本向量所包含。
最高层包含8个向量;所以,从根节点将展开8个分支,如图7所示。
此时,存在于分支中的训练笔划(TPi,j)的数目被计算出来。依靠计数结果,下列三种处理类型之一将被实施:
1.如果在一个分支中不存在训练笔划(TPi,j),则该特定分支被除去。
2.如果只有出自训练笔划(TPi,j)的某一类别的笔划存在(如笔划“つ”存在),则该特定分支被转换为一个叶子并分配类别号码(如“つ”)。
3.在上面1和2所描述的情况之外的其它情况,即如果多个类别的笔划混合在一起,则特定分支被转换为一个节点,继续生成分类树。
图7显示了处理结果。在图7中,分支由在图5中最高层的向量表示(以后称为“第一层”)。
在表示类别种类的列中出现的带“X”的分支对应于没有训练笔划(TPi,j)存在的情况,因而它们被除去。
左起第三分支只有类别“つ”的训练笔划。这对应于只有一个特定类别(如“つ”)存在的情况,所以该分支被转换为叶子。
例如,左起第四和第五分支有类别“く”、“し”和“つ”的训练笔划;它们对应于除1和2之外的其它情况,即多个类别的笔划混合在一起。于是这些分支提供了节点。
下面将描述如何从节点生成分支。
从节点生成分支最有效的方法应当使分支被展开时所得到的类别信息越多越好。
下面描述在形成分支时如何选择最有效向量的方法。
存在于某一节点的训练笔划(TPi,j)中的类别No.i的训练笔划数目表示为Ni。当节点中存在的训练笔划的总数表示为N时,则节点中每个类别存在的可能性pi可以如下表示:
                      pi=Ni/N
例如,如果在某一节点中,类别种类数为2,则: N = &Sigma; i = 0 2 Ni
于是,当获得关于节点的信息时,平均信息量将表示为下列表达式: Entrop y node = - &Sigma; i = 0 2 &rho; i log ( &rho; i ) = &Sigma; i = 0 2 N i N log ( N i N ) = 1 N &Sigma; i = 0 2 N i ( log N - log N i )
                                 表达式(1)
接着,在这个节点中,选择某一向量,并计算一个分支被展开时平均信息量的减少。
如上所述,从单一向量向下层展开的分支数目为8。训练笔划(TPi,j)在8个分支中的分布由在展开的分支中存在的训练笔划(TPi,j)的数目表示,即:
Ni,b
其中Ni,b中的i代表一个类别数目而b代表分支数目。
此时,借以获得每个分支信息的平均信息量如前面所讨论的情况一样,表示为下列表达式: Entrop y branch = - &Sigma; i = 0 2 &rho; i log ( &rho; i ) = - &Sigma; i = 0 2 N i , b N b log ( N i , b N b ) = 1 N b &Sigma; i = 0 2 N i , b ( log N b - log N i , b )
                                表达式(2)
在这个表达式中, N b = &Sigma; i = 0 2 N i , b
表示存在于分支中的训练笔划(TPi,j)的总数。
每个分支中的分布概率表示为:
                   Nb/N
其中N与表达式(1)中的N相同。因此,当展开分支时平均信息量的平均值由下列表达式表示: Entropy branch &OverBar; = 1 N &Sigma; b = 0 7 &Sigma; i = 0 2 N i , b ( log N b - log N i , b )
                      表达式(3)
平均信息量的平均减量由下式得到: EntropyDecrease = Entropy node - Entropy branch &OverBar;
                      表达式(4)
如下所示,用分支数目的对数去除K值所得的值代表展开分支时的分类效率: EntropyDecrease BranchNumber
                      表达式(5)
选择使这个值为其最大值的向量来展开分支。
分支可以被展开为一个多向量组,而不仅仅展开为一个向量。在这里,表达式(5)中的BranchNumber为:
(所选向量的数目)×8
在这个实施方案中,表达式(5)中所得的值被用作展开分支时表示分类效率的值;然而,显然该值并不仅限于由表达式(5)所得,只要它是代表分支展开效率的函数即可,如在题为“Classificationand Regression Trees”的文献中所述的“Ginicriterion”。
于是,一旦确定了一个或一组将被展开的向量,分支就被展开而叶子和节点相应地产生。最后,当所有向量都已被转换为叶子,分类树就完成了。
上面所描述的处理过程在图10中以流程图的形式进行描述。现在将叙述图8中生成分类树的过程。
首先,在步骤S1000中,将一个关注节点设置为图8中所示的根节点。
在步骤S1001中,用下列三个条件检查所设的关注节点:
1.存在一个训练笔划。
2.只存在一种类别的训练模式。
3.存在多种类别的训练模式。
如果满足条件1,则程序进行到步骤S1002。如果满足条件2,则程序进行到步骤S1005。如果满足条件3,则程序进行到步骤S1006。
在步骤S1002中,节点被从分类树中删除掉。
在步骤S1003中,检查所有其它节点是否都已被转换为叶子节点。如果检查结果为YES,则程序终止处理过程;如果检查结果为NO,则程序进行到步骤S1004,在该步骤中选择另一个节点作为关注节点。然后,程序返回到步骤S1001,重复相同的处理过程。
在步骤S1005中,给节点分配类别号码作为叶子节点。程序随后进行到步骤S1003。
在步骤S1006中,根据前述平均信息量标准,从包含在节点中的向量串中选择一个向量。
在步骤S1007中,生成所选向量下一层的向量对的分支。
图11描述了在这一步所执行的处理;它显示了下层向量对的例子。
参照图11,假设5000表示一个在步骤S1006中已被选中的向量,它具有方向“2”。在下层有8个不同的向量对,即5001、5002、5003、5004、5005、5006、5007和5008,它们与向量5000相匹配。生成以这些向量对为新节点的分支。
上面叙述了在步骤S1007中实行的处理过程的一个特例。
在下面的步骤中,程序进行到步骤S1008,在这里将已生成分支的节点之一设为下一个关注节点,然后返回到步骤S1001来重复同样的处理过程。
根据上述过程如图8所示生成分类树,就有可能产生一个反映相似的类别之间详细特性不同点的分类树,同时维持有许多特征的笔划模式的整体分类。参照生成的分类树,能够实现高识别率下的快速字符识别。
在这个实施方案中,对根据本发明生成联机手写字符识别字典的方法所作叙述,假设有一个训练笔划。但是,显然,根据本实施方案,在实际使用时,在输入字符多于一个笔划的系统中,可以应用同样的处理过程处理每一个笔划。
下面将进一步详细描述如图8所示的分类树的生成。
图8是将图7的分层向下增加而得;它省略了已被删除的分支。图8中处于方框(□)中的分支说明它们是叶子。
除叶子之外的所有分支都将成为节点;因此,将实施进一步的分支展开。图8显示左边第二个节点(201)进一步的分支展开结果。
在左起第二个节点(201)中,三种类别即”く”,“し”和”つ”并存,需要进行分支展开。
只有一个向量(画圈的向量)代表节点的状态;因此,将被展开的向量是唯一确定的。要展开的向量对以图6中所示的向量对为基础。特别地,展开一个分支来符合下层两个向量的8个组合,其上层的向量可以是处于右下方向(No.3)的向量。这种状态说明向量在图5中已经被展开到第二层了。
进而,一个左起第二分支的节点(202)包括两个类别,即“し”和”く”。于是需要进一步的分支展开。假设代表节点的两个向量的第一向量已经被选中,对其进行展开,作为区分展开向量的步骤S107所给出的结果。象上层的情况一样,根据第一向量的状态,展开8个分支,删除一些分支,将一些分支转换为叶子,将一些分支转换为节点。转换为节点的分支必须进一步进行展开,直至所有分支的未端最终都转换为叶子为止。
图12主要显示了信息处理单元的存储器内部设置,其中应用了依据本实施方案的联机手写字符识别方法。一个CPU1201对应于在图1中用403表示的CPU;它根据储存在存储器1202(后面将进行讨论)中的控制程序执行本实施方案中描述的各种处理过程。实现流程图(后面将进行讨论)所描述的处理过程的控制程序也被储存在存储器1202中,并由CPU1201来运行。
存储器1202有一个程序段1202-1,储存供CPU1201执行各种处理过程的控制程序,及一个数据段1202-2,储存各种参数和数据。例如,程序段储存图10流程图的各个部分,作为子程序1202-1-1到1202-1-3。子程序包括在区分关注节点状态的S1001中使用的处理程序,在删除节点的S1002中使用的处理程序,在用于叶子节点的S1005中使用的处理程序,在选择适当向量的S1006中使用的处理程序,在生成向量对分支的S1007中使用的处理程序,及根据已生成的分类树识别输入模式的程序;这些分别用于各种处理过程的子程序储存在程序段1202-1中。在执行每个处理过程(下面将进行讨论)时,为了CPU1201执行处理过程的需要,从存储器1202中读出一个控制程序。数据段1202-2有一个训练模式缓冲区1202-1,用于暂时保存各个训练模式;一个区域1202-2-2,用于保存从各个训练模式得到的以金字塔形展开的向量数据模式;及一个分类树缓冲区1202-2-3,用于保存生成的分类树。
一个硬盘驱动器(HDD)1203保存所有训练模式以及有关分类树的数据,分类树用本实施方案所述的方法生成。
存储器1202可以是一个内置ROM(只读存储器)、RAM(随机存取存储器)、HD(硬盘)或类似的设备。程序和数据可以预先储存在存储器中,或者程序或数据可以在处理之前,从一个能与设备的主体分开的存储媒介如软盘(FD)或CD-ROM中读出。作为另一个选择,这些程序或数据可以通过公共线路、局域网或其它通信设备从另一个设备中读出。
<基于已生成的分类树的字符识别方法>
在第二实施方案中,将对根据分类树进行联机手写字符识别的方法进行描述,分类树由上述实施方案中所述的处理过程产生。
图9显示一个流程图,它为处理过程提供了一个最好的描述。
在图9中,标号301表示用户输入的手写笔划数据。手写笔划与第一实施方案中所示的训练笔划101相同。
步骤S302是将手写笔划分为笔划段的步骤。
步骤S303是产生笔划段向量的步骤,其中由上一步处理过程得到的笔划段被变换为向量。
步骤S304是对向量系列进行预分层的步骤,向量系列由前面产生笔划段向量的步骤中得到。
标号305表示一个分层的向量系列,它经过了预分层步骤的处理。
步骤S307是类别区分步骤,根据分层的向量系列305,参考分类树306给出的分类数据,确定手写笔划301的类别。
分类树306是一个为类别分类提供必需信息的分类树;它应当是用第一实施方案所述方法生成的分类树。
在将笔划分为笔划段的步骤S102中、产生笔划段向量的步骤S103中和预分层步骤S104中所用过的同样三种处理过程被分别用在前面提到的将笔划分为笔划段的步骤S302中、产生笔划段向量的步骤S303中和预分层步骤S304中。
分层的向量系列305与第一实施方案中的训练模式一样多,但在本实施方案中,只有一个是从手写笔划中得到的。
在类别区分步骤S307,当根据图8所示的分类树跟踪分层的向量系列305到达一个叶子时,将存在于叶子中的类别作为识别结果输出。
图13主要显示了信息处理单元的存储器内部设置,其中应用了依据本实施方案的联机手写字符识别方法。一个CPU1301对应于在图1中用403表示的CPU;它根据储存在存储器1302(后面将进行讨论)中的控制程序执行本实施方案中描述的各种处理过程。实现流程图(后面将进行讨论)所描述的处理过程的控制程序也被储存在存储器1302中,并由CPU1301来运行。
存储器1302有一个程序段1302-1,储存供CPU1301执行各种处理过程的控制程序,及一个数据段1302-2,储存各种参数和数据。例如,程序段储存图9所示流程图的各个部分,作为子程序。子程序包括在把笔划分为笔划段的S302中使用的处理过程、在产生笔划段向量的S303中使用的处理过程、在预分层的S304中使用的处理过程和在区分类别的S307中所使用的处理过程;这些分别用于各种处理过程的子程序储存在程序段1302-1中。在执行每个处理过程(下面将进行讨论)时,为了CPU1301执行处理过程的需要,从存储器1302中读出一个控制程序。数据段1302-2有一个缓冲区,用于保存用户输入的模式;一个区域,用于保存从输入模式得到的以金字塔形展开的向量数据模式;及一个缓冲区,用于保存输入模式的识别候选对象。
一个硬盘驱动器(HDD)1303保存有关分类树的数据,分类树用前面的实施方案中所述的方法生成。
存储器1302可以是一个内置ROM(只读存储器)、RAM(随机存取存储器)、HD(硬盘)或类似的设备。程序和数据可以预先储存在存储器中,或者程序或数据可以在处理之前,从一个能与设备主体分开的存储媒介如软盘(FD)或CD-ROM中读出。作为另一个选择,这些程序或数据可以通过公共线路、局域网或其它通信设备从另一个设备中读出。
这样,根据本实施方案,采用生成的笔划向量分类树——它成功地反映类别间竞争关系,能够实现具有高识别率、非常快速的联机手写字符识别。
(第二实施方案)
在第二实施方案中,将叙述一个例子,其中根据对训练模式分层而生成的分类树,生成一个N元语法表。
依据本实施方案,在训练模式的分层处理过程中,训练模式的特征将被逐步退化。
在根据本实施方案生成分类树时,选择一个变量,它保证在上层类别之间最激烈的竞争及在紧接着的下一层类别间有良好分隔,并向下层展开上述的退化变量。
本实施方案中的训练笔划被分割,由分割得到的笔划段被转换为向量,产生的向量系列被以金字塔形进行分层,产生分层的向量系列。分层的向量系列被用来生成一个分类树,根据分类树生成一个N元语法表。
在依据第二实施方案的预分层过程中,构成训练笔划的向量系列信息被逐步退化。
在依据本实施方案的分类树生成过程中,选择一个向量,它可以保证在上层类别间最激烈的竞争及在紧接着的下一层类别间的良好分隔。以其结果为基础,向下层展开退化的向量。
进而,在实施方案中,参照生成的N元语法表,对用户输入的一个句子进行识别。
现在,结合附图,详细描述依据本发明该实施方案的信息处理设备。
<在图象情况下>
图14是一个方块图,显示了一个信息处理设备的配置,其中将应用包含在下面本发明整个实施方案中的模式识别系统。
一个模式识别设备由一个模式输入设备1401、一个显示器1402、一个中央处理单元(CPU)1403和一个存储器1404组成。
模式输入设备1401带有,例如数字化仪和笔,如果它适于联机字符识别;它将一个字符或图形的坐标数据传递给CPU1403。模式输入设备可以是一个扫描仪、麦克风等,只要它能够把将要被识别的模式作为图象输入。
显示器1402显示模式输入设备1401输入的模式数据及CPU1403识别的结果。
CPU1403识别一个输入模式,而且还控制有关设备。
存储器1404储存一个识别程序或一个供CPU1403使用的字典,它还临时储存输入的模式数据、识别程序使用的变量等。
图15是一个概念图,描述依据本发明的实施方案的信息处理过程。标号1501表示训练模式,而S1502表示将训练模式1501应用到神经网络上的预分层步骤。标号1503表示经过神经网络处理的分层的训练模式;S1504表示根据分层的训练模式1503生成分类树的步骤。
标号S1505表示区分展开变量的步骤,展开变量在产生分类树的步骤S1504中生成分类树的过程中使用。
标号S1506表示由步骤S1504中执行的处理过程生成的分类树。
标号S1507表示一个语句数据库;语句数据库包括多种常用句子模式。在N元语法表生成步骤中,为确定已经提前生成的分类树的预先概率,对语句数据库进行访问,后面将加以讨论。
标号S1508表示一个根据语句数据库1507和分类树1506来生成N元语法表1509的N元语法表生成步骤。本实施方案中的输入为训练模式1501而输出为N元语法表1509。
现在,参照图16到图20,将详细叙述依据本实施方案的处理过程。
首先,假设有10个数字模式从0到9,作为输入模式写在一个16×16的网格上。图18显示了0的输入模式例子。
为生成一个字典,从0到9,每个都有100个训练模式。这些被命名为:
LTi,j(学习模板i,j)
其中i是一个表示类别的下标,它的值在下面的范围中:
0≤i≤9
j是表示训练模式数目的下标,它的值在下面的范围中:
1≤j≤100
如图16所示,设置一个四层神经网络。
图16中的四层从顶层到底层分别包括含有2×2,4×4,8×8和16×16神经元的神经元组。
生成模式识别字典的方法由三个步骤组成,即一个神经网络展开步骤,一个分类树生成步骤和一个N元语法表生成步骤。对照图17,将按顺序描述每一个步骤。
(F171)神经网络展开步骤
首先,训练模板被输入到16×16神经元的最底层,如图16所示。此时,假设在输入模式(LTi,j)白色部分的神经元为OFF(关闭),而在黑色部分的神经元ON(开)。此后,黑色将说明神经元为ON,白色说明神经元为OFF。
神经网络的设置非常简单;如果在下一层的2×2个神经元中有任何一个神经元为ON,则其上一层的一个神经元应当为ON。这条规则应用在向上处理输入模式中。
图19说明对图18所示的训练模板进行处理的结果。
最终,输入模式的特征空间形成了一个256维的超正方体点阵,其具有2256种不同的数据组合。
数据的组合数在第一层为24,在第二层为216,而在第三层为264。神经网络的设置不仅限于此。
(F172)分类树生成步骤
在神经网络展开步骤F171中,所有训练模板(LTi,j)被展开到神经网络上,如图16所示。从顶层到底层生成分类树,这与神经网展开的情况相反。
规则的节点从一个虚拟存在于最高层(2×2)上的神经元开始,如图16所示。
作为展开训练模板(LTi,j)的结果,图16中最高层(2×2)的一些神经元为ON。换句话说,最高层(2×2)不完全为OFF,除非存在一个全白的训练模板。
这样,对应于所有训练模板(LTi,j),虚拟存在的最高层神经元为ON。
最高层(2×2)有24=16种状态。因为上面提到过,不存在所有神经元都为OFF的情况,所以更精确地说,是有15种状态;因此,从一个根节点展开16个分支,如图20所示。
此时,对出现在分支中的训练模板(LTi,j)的数目进行计数。根据计数的结果,将进行下列三种处理过程之一:
(1)如果在一个分支中没有训练模板(LTi,j)存在,则该特定分支被除去。
(2)如果只存在出自训练模板(LTi,j)中的某一类别(例如“1”),则该特定分支被设为一个叶子并为其分配类别号码(如“1”)  。
(3)在除上述(1)和(2)所描述的情况之外的情况下,即如果多个类别的模板混合在一起,则该特定分支被设为一个节点,继续生成分类树。
图20显示了处理结果。
通过显示图16中最高层(第一层)神经元的ON/OFF来表示分支的状态。特别地,黑色部分表示神经元为ON,而白色部分表示神经元为OFF。
在显示类别种类的列中以“×”表示的分支对应于没有训练模板(LTi,j)存在的情况(1),并且它们会被除掉。
严格地说,最左边的分支不会从根节点展开得到。
左起第八个分支只有类别1的训练模板。这对应于只存在训练模板(LTi,j)的一个特定类别(如“1”)的情况(2),于是该分支被转换为叶子。
又如,左起第十二个分支具有类别2、4、5和6的训练模板;这对应于除情况(1)和(2)之外的情况(3),即多个类别的模板混在一起。于是这个分支就提供了一个节点。
下面将描述如何从节点生成分支。
将要叙述的是生成分支最有效的方法。最有效的方法应当使分支被展开时所得到的关于类别的信息越多越好。
一般来说,在这种条件下展开分支的方法有很多种,以至于很难决定采用哪一种。迄今为止,这已成为成功地生成用于识别的分类树的一个障碍。
我们将进行一种尝试,限制将从节点展开的分支,使其只有一个分支,其中为ON的神经元在这个节点被展开到下层。
例如,在图20中左起第十二个分支中,三个神经元之一,即图16中第一层的左上、左下和右下神经元之一被选中,在所选神经元下面,与神经元状态,即图16中第二层下面四个神经元的状态,有关的分支被展开。这显著地减少了展开分支所需的计算时间。另外,这种限制在实质上对将要生成的分类树的分类行为没有严重的损害。
现在将对从节点中状态为ON的神经元中选择一个展开效率最高的神经元的方法进行描述。
存在于某一节点中的训练模板(LTi,j)中的类别No.i的训练模板数用Ni表示。当节点中的总训练模板数表示为N时,在节点中每种类别的存在概率pi可以如下表示:
pi=Ni/N
其中 N = &Sigma; i = 0 9 Ni
因此,当得到关于节点的信息时,平均信息量将用下列表达式表示: Entrop y node = - &Sigma; i = 0 9 &rho; i log ( &rho; i ) = - &Sigma; i = 0 9 N i N log ( N i N ) = 1 N &Sigma; i = 0 9 N i ( log N - log N i )
                                           表达式(6)
于是,在这个节点中状态为ON的神经元中的一个被选中,并由此计算出展开分支时平均信息量的减量。
如上所述,从单一神经元向下层展开的分支数为16。训练模板(LTi,j)在16个分支中的分布由存在于展开分支中训练模板(LTi,j)数目表示,即:
Ni,b
其中Ni,b的i表示一个类别号码,而b表示分支号码。
此时,得出有关每个分支的信息的平均信息量用下列表达式表示,与前面讨论的情况类似: Entrop y branch = - &Sigma; i = 0 9 &rho; i log ( &rho; i ) = - &Sigma; i = 0 9 N i , b N b log ( N i , b N b ) = 1 N b &Sigma; i = 0 9 N i , b ( log N h - log N i , b )
                                   表达式(7)
在这个表达式中 N b = &Sigma; i = 0 9 N i , b
表示在分支中的训练模板(LTi,j)的总数。
每个分支中的分布概率表示为:
Nb/N
其中N与表达式(6)中的N相同,因此,展开分支时平均信息量的平均值表示为下列表达式: Entropy branch &OverBar; = 1 N &Sigma; b = 0 16 &Sigma; i = 0 9 N i , b ( log N b - log N i , b )
                              表达式(8)
平均信息量的平均减量由下式得到: EntropyDecrease = Entropy node - Entropy branch &OverBar;
                              表达式(9)
如下所示,用分支数去除该值所得的值代表分支被展开时的分类效率: EntropyDecrease BranchNumber
                              表达式(10)
选择使这个值为其最大值的神经元来展开分支。
分支可以根据一个多神经元组,而不仅是一个神经元来展开。
此时,把神经元数目乘以16,将得到表达式(10)中的BranchNumber(分支数目)。在技术上,与展开有关的下层所有神经元都为OFF的状态是不可能出现的;因此,BranchNumber将为神经元数目乘以15。
在这个实施方案中,表达式(10)所得的值被用作展开分支时表示分类效率的值;然而,显然该值并不仅限于由表达式(10)获得,只要它是一个代表分支展开效率的函数,如在题为”Classificationand Regression Trees”中描述的”Ginicriterion”。
这样,一旦确定了一个或一组将要展开的神经元,分支就被展开,并相应生成叶子和节点。
最后,当所有神经元都已被转换为叶子时,分类树就完成了。
图8表示实际生成的分类树的内容。
图8给出了图7更多的细节;它省略了被删除的分支。图8中画圈的分支表示叶子。
除叶子之外的所有分支都将转换为节点;从而,进行进一步的分支展开。图21只表现关于右起第三个节点的进一步展开的结果。
在右起第三个节点中,三种类别,即“1”,“7”和“9”共存,需要进行分支展开。假设根据区分展开变量的步骤S1505(图15)所给出的结果,已经选定第一层右上方的神经元在第一层进行展开。
象图20所示情况那样,根据右上方神经元的状态,24=16个分支被展开,并且,一些分支被删除,一些分支被转换为叶子,一些分支被转换为节点。
被转换为节点的分支必须进一步进行展开,直到所有分支的未端最后都转变为叶子为止。
在图21中,为了清楚,叠置第一层和第二层来表示右起第三个节点的展开结果。实际上,这些状态由图16所描述的神经网络中第一层的四个神经元和第二层的四个右上神经元来表示。
(F173)N元语法表生成步骤
所图21所描述的,作为分类树生成步骤(F172)的结果得到的分类树的第一层相当于所有要被识别的类别的整体分类,整体分类以其形状为基础。
因此,根据整体分类中的类别组生成一个N元语法表应当为更小的数据库提供很高的可靠状态变换概率。此时,整体分类中的类别组被当作一个虚拟类别组。
然而,应当注意,由分类树生成步骤的结果得到的分类树的第一层并不总是唯一的。
例如,在图21中,类别1存在于4个分支或节点中。这种现象一般被看作“重叠类”,比如,可以参考题为“A Survey ofDecision Tree Classifier Methodoloty”  的文献(出自IEEETransactions on Systems,Man,Cybernetics vol.21,No.3,May/June 1991)。
有一种方法可以使“重叠类”变成唯一的:把某一类别出现概率最高的分支设为该特定类别专用的分支。现在参照图21,如果类别1出现的概率在左起第二分支最高,则在左起第一、第三和第六分支中的类别1都被忽略。
图22中显示了一个如此生成的整体分类类别组的例子。
在图22中,注有画圈数字的类别有最高的出现概率。
例如,根据图示,左边的类别1形成第一类别组,类别4和6形成第二类别组,类别7和9形成第三类别组,而类别0、2、3、5和8形成第四类别组。结果,原来的10个类别减少到4个组。这4个组被用作新的虚拟类别组,来生成N元语法表。
这样生成的N元语法表能够合并到整句识别算法中,虽然它已经用由分类树生成步骤得到的分类树信息生成了。这意味着,N元语法表可以用来确定一个句子的预先概率,并可以用一个完全不同的识别算法而不用前面提到的分类树来确定后置概率。
显然,N元语法表可以建立在一个众所周知的算法如DP匹配或全搜索算法中,通过用N元语法表确定句子的预先概率来识别一个句子,以便确定含有构成句子模式形状的全部组合的所有模式的预先概率。
在上面的叙述中,分类树的第一层被当作整体分类树类别;但整体分类类别组可以由直到第n层的任何层数组成。
<在笔划情况下>
图23描述了依据第二实施方案的处理过程。
标号2301表示一个训练笔划;在笔划分割步骤S2302中,训练笔划被分为多个笔划段。
在产生笔划段向量的步骤S2303中,由笔划分割步骤S2302得到的笔划段被量化为向量。
在预分层步骤2304中,由产生笔划段向量的步骤S2303得到的向量系列被分层,以生成分层的向量系列2305。这个处理过程将在后面详细叙述。
在分类树生成步骤2306中,根据分层的向量系列2305,生成一个分类树2308。
区分展开向量的步骤S2307在分类树生成步骤S2306生成分类树的过程中进行。
在N元语法表生成步骤2310中,根据一个语句数据库2309和分类树2308生成一个N元语法表2311。
图23流程图所示处理过程中的输入是一个训练模式,即训练笔划2301,语句数据库2309,输出是一个N元语法表,即N元语法表2311。
现在对照图24,将详细描述生成N元语法表的方法。
为了读者易于理解,将用三个不同的字符“く”、“し”和“つ”作为例子来代表将被识别的类别,它们分别读作“ku”,“shi”和“tsu”,每个都由一笔写成。
假设为生成字典,“く”、“し”和“つ”中的每一个分别有一百个训练模式;这如下面所表示:
TPi,j(训练模式i,j)
其中i是一个表示类别的下标,它的值在下面的范围中:
0≤i≤2
j是表示训练模式数目的下标,它的值在下面的范围中:
1≤j≤100
如图24中的流程图所示,生成联机手写字符识别字典的过程由四个步骤组成,即一个向量生成步骤、一个预分层处理步骤、一个分类树生成步骤和一个N元语法表生成步骤。向量生成步骤、预分层处理步骤和分类树生成步骤与在第一实施方案中参照图3所叙述的步骤相同;因此,将只对N元语法表生成步骤进行描述。
(F24)N元语法表生成步骤
根据按(F3)分类树生成步骤所述生成的分类树,将生成一个N元语法表。
上述N元语法表的每个元素的单元是一个由一个字符组成的字;然而,显然,单元可以替换为一个由词构成的分句或类似内容。
本发明可以应用于一个由多个单元构成的系统或一个由单个单元构成的设备。
很明显,本发明的目的能够通过向系统或设备提供一个存储媒介而达到,在该媒介中,记录着实现前述实施方案功能的软件程序代码,这样,系统或设备的计算机、CPU或MPU就能够从存储媒介中读取程序代码,并运行程序代码。
在这里,从存储媒介读出的程序代码本身会实现实施方案的功能,而储存程序代码的存储媒介则构成本发明。
提供程序代码的存储媒介可以是一个软盘、硬盘、光盘、磁光盘片、CD-ROM、CD-RAM、磁带、非易失存储卡或类似介质。
显然,本发明还包括一种情况,运行计算机读出的程序代码产生前述实施方案所要实现的功能并且使一个在计算机上运行的操作系统(OS)或类似系统,根据程序代码指令执行一部分或全部实际处理过程,从而完成前述实施方案的功能。
进而,本发明显然还包括一种情况,从存储媒介读出的程序代码被写入插入计算机的性能扩展板或写入由与计算机相连的性能扩展单元所提供的存储器中,这样性能扩展板或性能扩展单元中提供的CPU根据程序代码的指令执行一部分或全部实际处理过程,于是完成了前述实施方案的功能。
当把本发明应用到前面的存储媒介中时,与前面描述过的流程图对应的程序代码被储存到存储媒介中。为了简明扼要,图25中一个存储分配图例子表示的各个模块将存储在存储媒介中。
特别地,至少下列模块的程序代码将被储存在存储媒介中:步骤S1502或S2304的预分层处理模块;步骤S1504或S2306的分类树生成模块;步骤S1505或S2307的展开变量区分模块;步骤S1508或S2310的N元语法表生成模块;步骤S2302的笔划分割模块;及步骤S2303的向量形成模块。
这样,根据本发明,从构成句子的模式类别的整体分类得到组,在此基础上生成N元语法表。其优点在于,即使以一个较小的数据库,也能够生成一个高度可靠的N元语法表。
另一个优点在于,实行类别的分组,以便成功地反映模式形状的相似之处,从而带来了句子的高识别率。
(第三实施方案)
在第三实施方案中,将描述一个例子,其中从输入模式中提取子模式,并将子模式分层生成一个分类树。
下面将结合附图描述本发明的一个优选实施方案。
<在图象情况下>
图26是一个方块图,显示依据本发明,与下面所有实施方案有关的信息处理设备的配置。
该设备由一个模式输入设备2601,一个显示器2602,一个中央处理单元(CPU)2603和一个存储器2604组成。
模式输入设备2601中有比如数字化仪和笔,如果要进行联机字符识别的话;它把用笔在数字化仪上输入的字符或图形的坐标数据传递给CPU2603。模式输入设备可以是一个以光学方式读取图象的扫描仪、一个接收语音的麦克风,或任何其它设备,只要它可以接收要进行识别的模式;通过这些输入设备输入的模式甚至还可以通过通信设备进行输入。显示器2602显示一个通过模式输入设备2601输入的模式数据,以及CPU2603提供的识别结果;它可以是一个CRT(阴极射线管)、LCD(液晶)显示器,或其它类似设备。CPU2603主要识别输入模式并控制所有组成设备。存储器2604储存一个识别程序和一个由CPU2603使用的字典并临时储存输入模式和识别程序使用的变量等。
图27是一个图示,它为本实施方案的基本配置提供了最好的描述。标号2701表示训练模式;2702表示子模式提取器,用每个子模式把训练模式分开;2703是一个预分层处理器,金字塔形展开子操式;2704表示分层的训练子模式;2705表示分类树生成器,它根据分层的训练子模式来生成一个分类树;2706表示一个展开变量区分器,分类树生成器用它来生成一个分类树;以及2707表示一个由分类树生成器生成的分类树。在这里本发明的输入是一个训练模式,而输出则是一个分类树。
图28主要显示了信息处理设备的存储器内部设置,其中应用了依据本实施方案的联机手写字符识别方法。一个CPU2801,与图26中的2603相同,根据储存在存储器2802(后面将进行讨论)中的控制程序执行本实施方案中描述的各种处理过程。流程图(后面将进行讨论)所描述的处理过程也由CPU2801根据储存在存储器2802中的控制程序来执行。
存储器2802有一个程序段2802-1,储存供CPU2801执行各种处理过程的控制程序,及一个数据段2802-2,储存各种参数和数据。例如,程序段储存图33流程图的各个部分,作为子程序。子程序是:区分关注节点状态的步骤S1001中使用的处理程序;在删除节点的步骤S1002中使用的处理程序;在用于叶子节点的步骤S1005中使用的处理程序;在选择适当神经元的步骤S3306中使用的处理程序;在生成神经元分支的步骤S3307中使用的处理程序;及用已生成的分类树识别输入模式的程序。用于这些处理过程的子程序储存在程序段2802-1中。在执行每个处理过程(下面将进行讨论)时,从存储器2802中读出一个处理过程的控制程序并由CPU2801执行。数据段2802-2有一个训练模式缓冲区,用于暂时保存训练模式,一个区域,用于保存金字塔形展开的训练模式;及一个分类树缓冲区,用于保存生成的分类树。
一个硬盘驱动器(HDD)2803保存所有训练模式以及分类树的数据,分类树用本实施方案所述的方法生成。分类树数据使我们有可能跟踪图34分类树所示的路径。
存储器2802可以是一个内置ROM(只读存储器)、RAM(随机存取存储器)、HD(硬盘)或类似的设备。程序和数据可以预先储存在存储器中,或者程序或数据可以在处理之前,从一个能与设备的主体分开的存储媒介如软盘(FD)或CD-ROM中读出。作为另一个选择,这些程序或数据可以通过公共线路、局域网或其它通信设备从另一个设备中读出。
一个输入设备2804用来输入一个模式,将要用储存在HDD2803中的分类树对它进行识别;一个扫描仪用来根据已生成的分类树识别一个图象模式,分类树用光学输入的训练图象模式生成。一支笔和数字化仪或触摸板可以用来识别笔输入的笔划数据;或一个麦克风用于识别语音数据。
除了直接经过输入设备之外,这种识别数据显然还可以经过公共线路、局域网等,通过前述另一设备的输入单元而获得。
现在,将参照图29到图33,叙述本发明的操作。
首先,将写在8×8网格上的从0到9共10个数字(类别)作为输入模式。图31底部显示了0的输入模式。
假设对0到9中的每一个有100个训练模式,用于生成字典。这意味着,由于共有10个类别,总共将有1000个训练模式。这些被命名为LTi,j(学习模板i,j),其中i是一个表示类别0到9的下标,它的值域为0≤i≤9,j是表示训练模式数目的下标,它的值域为1≤j≤100。
根据实施方案生成模式识别字典的方法由三个步骤组成,即一个提取子模式步骤、一个金字塔形展开步骤和一个生成分类树步骤。这些步骤将结合图29中的流程图按顺序进行描述。
(F2901)子模式提取步骤
在提取子模式的步骤F2901中,训练模式400被分为子模式,如图30所示,并且子模式被提取出来。图30描述了训练模式400,即一个写入字母“A”,它被分成9个子模式(形成3×3矩阵),并被提取出来。子模式可以以图30所示的方式提取,其中子模式可以是重叠的,或不重叠的。根据储存在存储器2802中的子模式提取规则提取子模式。
图31详细描述了提取子模式的步骤。图31显示一个训练模式(即写入数字0)的中心部分被提取的过程。中心部分可以看作与图30出自3×3子模式的子模式401等同。
图31中,训练模式501呈现在一个8×8的位图上,呈现在4×4位图上的9(3×3)个子模式被提取。
(F2902)金字塔形展开步骤
在子模式提取步骤F2902被提取的9个子模式中的每一个都有三层(502到504)的金字塔。图31中,最高层504由一个1×1神经元组构成,中间层503由一个2×2神经元组构成,最底层502由一个4×4神经元组构成。
一个提取出来的训练子模式首先输入到图31中有4×4个神经元的最底层。此时,假设输入模式(LTi,j)501的白色部分中的神经元为OFF,而黑色部分的神经元为ON。此后,黑色说明神经元为ON,白色说明神经元为OFF。
金字塔的设置非常简单;如果在下层2×2个神经元中有任何一个为ON,则其紧接着该层的上一层的一个神经元就应为ON。在图31中,子模式502中神经元505到508之中的507和508为ON;则对应于神经元507和508,神经元509也为ON。这个规则在向上处理输入模式时应用。然而,金字塔规则的设置并不局限于此;作为一种替换选择,黑色的神经元可以计为1,当一个均值超过阈值时,将上方的一个神经元置为ON,或其它可以使用的规则,只要上方的神经元状态是由下方的多个神经元状态决定的即可。
根据下方神经元状态确定上方神经元状态的处理过程在构成一个子模式的所有神经元上进行,并且处理过程全部子模式上重复进行。
(F2903)分类树生成步骤
在金字塔式展开步骤F2902中,所有训练模式(LTi,j)被金字塔式展开,如图31所示。分类树将自顶层到底层生成,也就是说,与F2902金字塔式展开的方向相反。
根节点从图31的最高层(1×1)神经元开始。
作为金字塔式展开训练子模式(LTi,j)的结果,图31第二层模式503(2×2)的一个或多个神经元应当为ON。这是因为根据本实施方案所采用的规则,第二层(2×2)的所有神经元不会都为OFF,除非存在一个全白的训练子模式。因此,对所有训练子模式(LTi,j),最高层(1×1)神经元的状态为ON。第二层(2×2)有16种(24)状态(严格来说,是15种状态,因为如上所述,不存在所有神经元都为OFF的状态);于是,如图32所示,从根节点展开16个分支。
用表现图31第二层神经元组的ON状态来表示图32中分支的状态。其中黑色区域代表ON,白色区域代表OFF。
在显示类别种类的列中以“X”表示的分支对应于没有训练子模式(LTi,j)存在的情况1,并且它们会被去除掉。(严格地说,从根节点展开不会得到最左边的分支)
左起第八个分支只有类别1的子模式。这对应于只存在训练子模式(LTi,j)的一个特定类别(如“1”)的情况2,于是该分支被转换为叶子。
又如,右起第十五个分支具有类别4、5和6的训练模板;这对应于除情况1和2之外的情况3,即多个类别的子模式混在一起。于是这个分支就提供了一个节点。
生成分类树的过程如图33给出的流程图所描述。下面叙述生成分类树的过程,如图35所示。步骤S1000到S1005与第一实施方案结合图10所述的相同;所以将只叙述步骤S3306到S3308。
在步骤S3306,根据平均信息量标准从包含在一个节点中的神经元中选出一个。
在步骤S3307中,生成所选神经元下层神经元组的分支。
图34描述了在这一步进行的处理;它显示了当左上方神经元被选定时,下层神经元组的一个例子。
参照图34,假设神经元900是在步骤S3306中被选定的神经元。对应于所选神经元,在下层有15种不同的神经元状态组合,也就是说,下层有15种不同的模式。这些组合中的每一个都为生成分支提供一个新节点。
步骤S3307所执行的处理已经描述过了。
接着,程序进行到步骤S3308,在这里它把已生成的分支的一个节点作为下一个关注节点。在步骤S3308,程序转移关注节点并返回到步骤S1001,以重复同样的处理。
如图35所示,根据上述过程生成分类树就有可能产生一个反映相似的类别之间详细特性不同点的分类树,同时维持有许多特征的模式的整体分类。参照生成的分类树,能够实现高识别率下的快速字符识别。
下面将叙述如何从节点产生分支。
现在描述从节点产生分支的方法。上述内容是在选定了左上方神经元的情况下进行的。自然,我们应当在从节点展开分支时,努力实现效率最高的分支生成。当展开分支时,选择使所得到的有关类别信息尽可能多的神经元,可以实现高效率。
一般来说,在这种条件下展开分支的方法有很多种,以至于很难决定采用哪一种。迄今为止,这已成为成功地生成用于识别的分类树的一个障碍。
我们将进行一种尝试,限制将从节点展开的分支,使其中为ON的神经元在这个节点被展开到下层。例如,在图32中右起第十五个分支中,三个神经元之一,即图31中第二层的左上、左下和右下神经元之一被选中,与在所选神经元底下第三层中的四个下部神经元的状态有关的分支被展开,如图31所示。
这显著地减少了展开分支所需的计算时间。另外,这种限制在实质上对将要生成的分类树的分类行为没有严重的损害。
现在将对从节点中状态为ON的神经元中选择一个展开效率最高的神经元的方法进行描述。
存在于某一节点中的训练子模式(LTi,j)中的类别No.i的子模式数用Ni表示。当节点中的总训练子模式数表示为N时,在节点中每种类别的存在概率pi可以如下表示:
pi=Ni/N
其中 N = &Sigma; i = 0 2 Ni
因此,当得到关于节点的信息时,平均信息量将用下列表达式表示: Entrop y node = - &Sigma; i = 0 2 &rho; i log ( &rho; i ) = - &Sigma; i = 0 2 ( N i N ) = 1 N &Sigma; i = 0 9 N i ( log N - log N i )
                      表达式(11)
于是,在这个节点中状态为ON的神经元中的一个被选中,并由此计算出展开分支时平均信息量的减量。
如上所述,从单一神经元向下层展开的分支数为16。训练子模式(LTi,j)在16个分支中的分布由存在于展开分支中训练子模式(LTi,j)数目表示,即:
Ni,b
其中Ni,b的i表示一个类别号码,而b表示分支号码。
此时,得出有关每个分支的信息的平均信息量用下列表达式表示,与前面讨论的情况类似: Entrop y branch = - &Sigma; i = 0 9 &rho; i log ( &rho; i ) = - &Sigma; i = 0 9 N i , b N b log ( N i , b N b ) = 1 N b &Sigma; i = 0 9 N i , b ( log N b - log N i , b )
                      表达式(12)
在这个表达式中 N b = &Sigma; i = 0 9 N i , b
表示在分支中的训练子模式(LTi,j)的总数。
每个分支中的分布概率表示为:
Nb/N
其中N与表达式(11)中的N相同,因此,展开分支时平均信息量的平均值表示为下列表达式: Entropy branch &OverBar; = 1 N &Sigma; b = 0 16 &Sigma; i = 0 9 N i , b ( log N b - log N i , b )
                      表达式(13)
平均信息量的平均减量由下式得到: EntropyDecrease = Entropy node - Entropy branch &OverBar;
                      表达式(14)
如下所示,用分支数的对数去除该值所得的值代表分支被展开时的分类效率: EntropyDecrease BranchNumber
                      表达式(15)
选择使这个值为其最大值的神经元来展开分支。
分支可以根据一个多神经元组,而不仅是一个神经元来展开。
此时,把神经元数目乘以16,将得到表达式(15)中的BranchNumber(分支数目)。然而,在技术上,与展开有关的下层所有神经元都为OFF的状态是不可能出现的;因此,为了精确起见,BranchNumber将为神经元数目乘以15。在这个实施方案中,表达式(15)所得的值被用作展开分支时表示分类效率的值;然而,显然该值并不仅限于由表达式(15)获得,只要它是一个代表分支展开效率的函数,如在题为”Classification and RegressionTrees”中描述的”Ginicriterion”。
这样,一旦确定了一个或一组神经元将要展开的神经元,分支就被展开,并相应生成叶子和节点。
最后,当所有神经元都已被转换为叶子时,分类树就完成了。
图35表示分类树的例子,它在生成分类树过程F2903中生成并储存在HDD2803中。
在图35中,省略了S1002中已被删除的分支。图35中画圈的分支表示已分配了类别号的叶子,是S1005中的自由节点。
除叶子之外的所有分支都将转换为节点;从而,进行进一步的分支展开。图35只表现关于右起第三个节点的进一步展开的结果。
在右起第三个节点中,三种类别,即“1”,“7”和“9”共存,需要进行分支展开。假设根据展开变量区分器所给出的结果,已经选定第一层右上方的神经元在第一层进行展开。于是,象图33所示情况那样,根据右上方神经元的状态,24=16个分支被展开,并且,一些分支被删除,一些分支被转换为叶子,一些分支被转换为节点。被转换为节点的分支必须进一步进行展开,直到所有分支的未端最后都转变为叶子为止。
在图35中,为了清楚,叠置第一层和第二层来表示右起第三个节点的展开结果。实际上,这些状态由图29所描述金字塔的第一层的四个神经元和第二层的右上四个神经元来表示。
图36显示了用上述过程生成的分类树识别一个输入模式的流程。图36中标号3601表示一个输入模式;3602表示从输入模式中提取子模式的子模式提取器;3603表示对输入模式作金字塔式分层的预分层处理器;3604表示由金字塔分层过程得到的已分层的子模式;3605表示一个分类树;3606表示根据分层的输入子模式和分类树确定类别的判别概率的类别鉴别器;及3607表示合成由类别鉴别器获得的各个类别判别概率的判别概率合成器。本发明在这里的输入为输入模式,输出为识别候选对象。
上述的分类树最好是能够在本实施方案中生成的分类树。
输入模式3601对应于训练模式2701;虽然是通过输入设备3601输入,但实质上的数据设置是相同的。子模式提取器3602和预分层处理器3603与图27中相应的设备完全相同。在图27所示的情况下,分层的输入子模式象训练模式一样多,而在本实施方案中,只有一个是从输入模式中导出的。
当按照分层的输入子模式3604跟踪图36中的分类树到达一个叶子节点时,类别鉴别器向一个显示器或一台打印机输入在该叶节点中存在的类别,作为识别的结果。
如果没有到达叶子节点,则在途经直至最后的节点中所含的类别概率被作为结果输出。
判别概率合成器3607确定类别鉴别器3606给出的每个子模式结果的算术均值、几何均值或其它均值。
<在笔划情况下>
本实施方案中,所输入的训练数据和要识别的训练数据是通过笔或其它坐标输入设备输入的笔划数据。上述图象例子有关的数据被作为位图数据处理,本实施方案中的输入笔划被分割并量化为向量。然而,整个流程是以第一实施方案为基础的。
图37显示了一个处理流程图,它描述了在本实施方案中生成分类树的过程。标号3701代表一个训练笔划;3702代表一个笔划分割器,用来分割笔划;3703代表产生笔划段向量的向量生成器,笔划段已经由笔划分割器生成了;3704代表一个子向量提取器,从向量生成器形成的向量系列中部分提取子向量;3705代表预分层处理器,对子向量提取器产生的向量系列分层;3706代表预分层处理器产生的分层子向量系列;3707代表根据分层向量系列生成分类树的分类树生成器;3708代表分类树生成器用来生成分类树的展开向量鉴别器;及3709代表分类树生成器生成的分类树。
本实施方案中,输入为训练笔划,输出为分类树。
现在对照图37到39,描述本实施方案的操作。
用三个不同的字符“く”、“し”和“つ”作为例子来代表将被识别的类别,它们分别读作“ku”,“shi”和“tsu”,每个都由一笔写成。
假设为生成字典,“く”、“し”和“つ”中的每一个分别有100个训练模式;这如下面所表示:
TPi,j(训练模式i,j)
其中i是一个表示类别的下标,它的值域为0≤i≤2,j是表示训练模式数目的下标,它的值域为:1≤j≤100
如图38中的流程图所示,根据实施方案生成联机手写字符识别字典的过程由四个步骤组成,即一个向量生成步骤、一个子向量提取步骤、一个预分层处理步骤和一个分类树生成步骤。向量生成步骤、预分层处理步骤和分类树生成步骤与第一实施方案结合图3所述的步骤相同;因此,只叙述子向量提取步骤。
(F38)子向量提取步骤
参照图39,将详细描述子向量提取步骤F38。
在图39中,笔划被等分为16段,并被转换为向量5421124554211245。
由16个向量组成的向量系列被部分提取,形成3个子向量系列组,每个组由一个8向量系列组成。
子向量系列可以如图39所示被重叠提取,或者,不重叠提取。
在图39中,每个子向量系列所含向量的数目为8;然而,该数字并不仅限于此。
图40显示了描述联机手写字符识别过程的处理流程图。标号4001表示一个用户输入的手写笔划;4002表示分割手写笔划的笔划分割器;4003表示产生笔划段向量的向量生成器,笔划段已由笔划分割器生成;4004表示从向量生成器得到的向量系列中部分提取向量的子向量提取器;4005表示对子向量提取器产生的向量系列分层的预分层处理器;4006表示预分层处理器产生的分层子向量系列;4007表示提供类别分类所需信息的分类树;4008表示根据分层向量系列,参照分类树确定手写笔划类别的类别鉴别器;及4009代表合成从类别鉴别器接收的每个类别的判别概率的判别概率合成器。本实施方案中,输入为手写笔划,而输出为识别候选对象。前述分类树最好是在前面的例子中生成的分类树。
手写笔划4001对应训练笔划3701;实质上是相同的。笔划分割器4002、向量生成器4003、子向量提取器4004及预分层处理器4005与图37中的相应设备完全一样。在图37所示情况下,分层的子向量系列3706象训练模式一样多,然而,在这个例子中,只有一个分层的子向量系列4006是从手写笔划得到的。
当按照分层的子向量系列4006跟踪图7中的分类树到达一个叶子节点时,类别鉴别器4008向一个显示器或一台打印机输入在该叶节点中存在的类别,作为识别的结果。如果没有到达叶子节点,则在途经直至最后的节点中所含的类别概率被作为结果输出。
判别概率合成器4009确定从类别鉴别器4008接收的每个子模式结果的算术均值、几何均值或其它均值。
<在语音的情况下>
也有可能用前面图象例子中所述的分类树生成过程和识别过程来识别语音。
语音数据以时序数据的方式表示,对其进行傅利叶变换提取包络线。其结果如图42所示,它表现了一个语音数据傅利叶变换的结果例子,该语音数据为“ぁしたぃく”,读作”a-shi-ta-i-ku”,意思为“明天将要走”。从图42可以看出,与二进制位图数据不同,处理过的语音数据具有模拟强度值和象山脉一样表面起伏不平的三维形状。
三维数据被按预定轴向切开,并转换为N个二维位图数据。这样,就可以实施前面实施方案中描述过的位图数据分类树生成过程来生成一个分类树。输入语音可以用进行傅利叶变换并沿预定轴向切割而得的位图数据来表示,以便也可以对它们进行识别。
图43描述了图42的数据,它是以强度和频率为轴切割的;图44描述了图42的数据,它是以频率和时间切割的。
如图42所示的整个三维设置的识别结果可以通过对上述N个二维位图的识别结果进行平均计算(如算术平均)而得到。

Claims (20)

1.一种生成分类树的信息处理方法,分类树是字符识别使用的识别字典,包括:
一个分割步骤,将预定的训练笔划分为多个段;
一个向量量化步骤,对所述分割步骤得到的所述段中的所述笔划进行向量量化,以生成最低层笔划向量;
分层笔划向量生成步骤,递归地合成相邻的低层笔划向量,以生成上层笔划向量,并产生一个分层的笔划向量系列;及
一个分类树生成步骤,在所述分层笔划向量生成步骤得到的所述分层笔划向量系列中,从上层笔划向量中递归地选择一个使预定平均信息量函数达到最大值的笔划向量,并将所述选择的笔划向量展开为低层笔划向量,生成一个分类树。
2.依据权利要求1的方法,其中,在所述向量量化步骤,从所述分割步骤得到的分为所述段的所述笔划被量化,以获得8个方向上的笔划向量,相邻笔划向量间的交角彼此相等。
3.依据权利要求1的方法,其中,在所述向量量化步骤,从所述分割步骤得到的所述段的所述笔划被量化,以获得16个方向上的笔划向量,相邻笔划向量间的交角彼此相等。
4.依据权利要求1的方法,其中,当得到所述分层笔划向量系列的所述上层笔划向量之一的低层笔划向量组的信息时,所述平均信息量函数输出一个平均信息量的减少值,所述分层笔划向量系列是在所述分层笔划向量生成步骤产生的。
5.依据权利要求1的方法,其中,在所述分类树生成步骤,如果一个与所述低层笔划向量组对应的训练笔划没有出现,所述分类树的所述低层笔划向量组被认为无效。
6.依据权利要求5的方法,其中,在所述分类树生成步骤,如果存在一个对应于所述低层笔划向量组的单一类别训练笔划,则所述单一类别的号码被分配给所述低层笔划向量组。
7.依据权利要求6的方法,其中,在所述分类树生成步骤,如果存在一个对应于所述低层笔划向量的多类别训练笔划,则从所述低层笔划向量组的上层笔划向量中选择一个使所述预定平均信息量函数值最大的上层笔划向量。
8.依据权利要求1的方法,还包括用生成的分类树识别字符的步骤,所述识别步骤包括:
一个分割步骤,将输入笔划分为多个段;
一个向量量化步骤,对所述分割步骤得到的所述段的笔划执行向量量化;
一个分层笔划向量生成步骤,对相邻的低层笔划向量进行递归合成,以生成上层笔划向量,并产生一个分层笔划向量系列;及
一个识别步骤,在所述分层笔划向量生成步骤生成的所述分层笔划向量系列中,从所述上层笔划向量到低层笔划向量按顺序跟踪所述分类树,以得出识别类别。
9.依据权利要求1的一种方法,还包括一个从在所述向量量化步骤中生成的最低层笔划向量中提取子向量序列的子向量提取步骤;
其中所述分层笔划向量生成步骤递归地合成提取的子向量序列的相邻低层笔划向量以生成上层笔划向量,并产生各子向量序列的各分层子向量序列;
并且其中所述分类树生成步骤从在各分层的子向量序列中的上层笔划向量中,选择一个使预定平均信息量函数达到最大值的笔划向量,并将所述选择的笔划向量展开为低层笔划向量,以为每个分层的子向量序列生成分类树。
10.依据权利要求9的一种方法,还包括使用生成的分类树识别字符的步骤,所述识别步骤包括:
一个分割步骤,将输入笔划分为多个段;
一个向量量化步骤,对所述分割步骤得到的所述段的笔划进行向量量化;
一个子向量提取步骤,从在所述向量量化步骤中生成的所述最低层笔划向量中提取子向量序列;
一个分层笔划向量生成步骤,递归地合成提取的子向量序列的相邻低层笔划向量,以生成上层笔划向量,并生成各子向量序列的各分层子向量序列;以及
一个识别步骤,通过在所述分层的子向量序列中从高层笔划向量到低层笔划向量按顺序地跟踪所述分类树来获得识别类别,所述分层的子向量序列在所述分层笔划向量生成步骤中生成。
11.一种生成分类树的信息处理装置,分类树是字符识别使用的识别字典,包括:
一个分割装置,用于将预定的训练笔划分为多个段;
一个向量量化装置,用于对所述分割装置得到的所述段的所述笔划进行向量量化,以生成最低层笔划向量;
分层笔划向量生成装置,用于递归地合成相邻的低层笔划向量,以生成上层笔划向量,并产生一个分层的笔划向量系列;及
一个分类树生成装置,用于在所述分层笔划向量生成装置得到的所述分层笔划向量系列中,从上层笔划向量中递归地选择一个使预定平均信息量函数达到最大值的笔划向量,并将所述选择的笔划向量展开为低层笔划向量,生成一个分类树。
12.依据权利要求11的装置,其中,所述向量量化装置对所述分割装置得到的所述段的所述笔划量化,以获得8个方向上的笔划向量,相邻笔划向量间的交角彼此相等。
13.依据权利要求11的装置,其中,所述向量量化装置对由所述分割装置得到的所述段的所述笔划进行量化,以获得16个方向上的笔划向量,相邻笔划向量间的交角彼此相等。
14.依据权利要求11的装置,其中,当得到所述分层笔划向量系列的所述上层笔划向量之一的低层笔划向量组的信息时,所述平均信息量函数输出一个平均信息量的减少值,所述分层笔划向量系列是在所述分层笔划向量生成装置产生的。
15.依据权利要求11的装置,其中,如果一个与所述低层笔划向量组对应的训练笔划没有出现,所述分类树生成装置认为所述分类树的所述低层笔划向量组是无效的。
16.依据权利要求15的装置,其中,如果存在一个对应于所述低层笔划向量组的单一类别训练笔划,则所述分类树生成装置为所述低层笔划向量组分配所述单一类别的号码。
17.依据权利要求16的装置,其中,如果存在一个对应于所述低层笔划向量组的多类别训练笔划,所述分类树生成装置从所述低层笔划向量的上层笔划向量中选择一个使所述预定平均信息量函数值最大的上层笔划向量。
18.依据权利要求11的装置,还包括用生成的分类树识别字符的装置,所述识别装置包括:
一个分割装置,用于将输入笔划分为多个段;
一个向量量化装置,用于对所述分割装置得到的所述段的笔划执行向量量化;
一个分层笔划向量生成装置,用于对相邻的低层笔划向量进行递归合成,以生成上层笔划向量,并产生一个分层笔划向量系列;及
一个识别装置,用于在所述分层笔划向量生成装置生成的所述分层笔划向量系列中,从所述上层笔划向量到低层笔划向量按顺序跟踪所述分类树,以得出识别类别。
19.依据权利要求11的一种信息处理装置,还包括一个从在所述向量量化装置中生成的最低层笔划向量中提取向量序列的子向量提取装置,
其中所述分层笔划向量生成装置递归地合成提取的子向量序列的相邻低层笔划向量以生成上层笔划向量,并产生各子向量序列的各分层子向量序列;
并且其中所述分类树生成装置从在各分层的子向量序列中的上层笔划向量中,选择一个使预定平均信息量函数达到最大值的笔划向量,并将所述选择的笔划向量展开为低层笔划向量,以为每个分层的子向量序列生成分类树。
20.依据权利要求19的一种信息处理装置,还包括使用生成的分类树识别字符的装置,所述识别装置包括:
一个分割装置,用于将输入笔划分为多个段;
一个向量量化装置,用于对所述分割装置得到的所述段的笔划进行向量量化;
一个子向量提取装置,用于从在所述向量量化装置中生成的所述最低层笔划向量中提取子向量序列;
一个分层笔划向量生成装置,用于递归地合成提取的子向量序列的相邻低层笔划向量,以生成上层笔划向量,并生成各子向量序列的各分层子向量序列;以及
一个识别装置,用于通过在所述分层的子向量序列中从高层笔划向量到低层笔划向量按顺序地跟踪所述分类树来获得识别类别,所述分层的子向量序列在所述分层的笔划向量生成装置中生成。
CN97102205A 1996-01-12 1997-01-10 信息处理方法和信息处理设备 Expired - Fee Related CN1102270C (zh)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
JP00383696A JP3636525B2 (ja) 1996-01-12 1996-01-12 文字認識方法とその装置
JP3836/1996 1996-01-12
JP3836/96 1996-01-12
JP03781696A JP3647127B2 (ja) 1996-02-26 1996-02-26 情報処理方法及び装置
JP37816/96 1996-02-26
JP37816/1996 1996-02-26
JP91097/96 1996-04-12
JP8091091A JPH09282415A (ja) 1996-04-12 1996-04-12 情報処理方法
JP91091/96 1996-04-12
JP91091/1996 1996-04-12
JP09109796A JP3630837B2 (ja) 1996-04-12 1996-04-12 情報処理方法及び装置
JP91097/1996 1996-04-12

Publications (2)

Publication Number Publication Date
CN1163437A CN1163437A (zh) 1997-10-29
CN1102270C true CN1102270C (zh) 2003-02-26

Family

ID=27453944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN97102205A Expired - Fee Related CN1102270C (zh) 1996-01-12 1997-01-10 信息处理方法和信息处理设备

Country Status (5)

Country Link
US (1) US5982933A (zh)
EP (1) EP0784285B1 (zh)
KR (1) KR100251068B1 (zh)
CN (1) CN1102270C (zh)
DE (1) DE69720564T2 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3634574B2 (ja) * 1997-07-11 2005-03-30 キヤノン株式会社 情報処理方法及び装置
US6157905A (en) * 1997-12-11 2000-12-05 Microsoft Corporation Identifying language and character set of data representing text
DE19813605A1 (de) * 1998-03-27 1999-09-30 Daimlerchrysler Aerospace Ag Erkennungssystem
AU2000276396A1 (en) * 2000-09-30 2002-04-15 Intel Corporation (A Corporation Of Delaware) Method and system for building a domain specific statistical language model fromrule-based grammar specifications
US7020338B1 (en) * 2002-04-08 2006-03-28 The United States Of America As Represented By The National Security Agency Method of identifying script of line of text
AU2003289116A1 (en) * 2002-12-16 2004-07-09 Canon Kabushiki Kaisha Pattern identification method, device thereof, and program thereof
US7756320B2 (en) * 2003-03-12 2010-07-13 Hitachi High-Technologies Corporation Defect classification using a logical equation for high stage classification
JP2005140823A (ja) * 2003-11-04 2005-06-02 Sony Corp 情報処理装置、制御方法、プログラム、並びに記録媒体
FR2880708A1 (fr) * 2005-01-11 2006-07-14 Vision Objects Sa Procede de recherche dans l'encre par conversion dynamique de requete.
JP4585926B2 (ja) 2005-06-17 2010-11-24 株式会社日立ハイテクノロジーズ パターンレイヤーデータ生成装置、それを用いたパターンレイヤーデータ生成システム、半導体パターン表示装置、パターンレイヤーデータ生成方法、及びコンピュータプログラム
US7835911B2 (en) * 2005-12-30 2010-11-16 Nuance Communications, Inc. Method and system for automatically building natural language understanding models
US7707027B2 (en) * 2006-04-13 2010-04-27 Nuance Communications, Inc. Identification and rejection of meaningless input during natural language classification
US8233726B1 (en) * 2007-11-27 2012-07-31 Googe Inc. Image-domain script and language identification
JP5361174B2 (ja) * 2007-11-30 2013-12-04 キヤノン株式会社 表示制御装置、表示制御方法、およびプログラム
US8077994B2 (en) * 2008-06-06 2011-12-13 Microsoft Corporation Compression of MQDF classifier using flexible sub-vector grouping
JP5538967B2 (ja) 2009-06-18 2014-07-02 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP5675214B2 (ja) 2010-08-18 2015-02-25 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
US8768944B2 (en) 2010-08-18 2014-07-01 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
JP5719145B2 (ja) 2010-11-02 2015-05-13 キヤノン株式会社 情報処理装置、その処理方法及びプログラム
KR101263190B1 (ko) 2012-04-19 2013-05-10 포항공과대학교 산학협력단 물체 인식을 위한 허프 펀 방법
US10725650B2 (en) * 2014-03-17 2020-07-28 Kabushiki Kaisha Kawai Gakki Seisakusho Handwritten music sign recognition device and program
SG10201503755QA (en) * 2015-05-13 2016-12-29 Dataesp Private Ltd Searching large data space for statistically significant patterns
US11681708B2 (en) 2019-12-26 2023-06-20 Snowflake Inc. Indexed regular expression search with N-grams
US11803581B2 (en) * 2021-05-24 2023-10-31 Infrrd Inc System for identifying and linking entity relationships in documents

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5208869A (en) * 1986-09-19 1993-05-04 Holt Arthur W Character and pattern recognition machine and method
US5034989A (en) * 1987-12-11 1991-07-23 Loh Shiu Chang On-line handwritten character recognition apparatus with non-ambiguity algorithm
US5040226A (en) * 1988-05-31 1991-08-13 Trw Financial Systems, Inc. Courtesy amount read and transaction balancing system
US5075896A (en) * 1989-10-25 1991-12-24 Xerox Corporation Character and phoneme recognition based on probability clustering
JP3001966B2 (ja) * 1990-11-30 2000-01-24 株式会社リコー 文字認識用辞書の作成方法
US5293429A (en) * 1991-08-06 1994-03-08 Ricoh Company, Ltd. System and method for automatically classifying heterogeneous business forms
JP3105967B2 (ja) * 1991-11-14 2000-11-06 キヤノン株式会社 文字認識方法及び装置

Also Published As

Publication number Publication date
EP0784285A3 (en) 1999-05-12
KR970059959A (ko) 1997-08-12
CN1163437A (zh) 1997-10-29
EP0784285A2 (en) 1997-07-16
EP0784285B1 (en) 2003-04-09
DE69720564T2 (de) 2003-11-20
US5982933A (en) 1999-11-09
DE69720564D1 (de) 2003-05-15
KR100251068B1 (ko) 2000-04-15

Similar Documents

Publication Publication Date Title
CN1102270C (zh) 信息处理方法和信息处理设备
CN1191536C (zh) 手形手势识别装置及识别方法
CN1156791C (zh) 模式识别设备与方法
CN1215433C (zh) 联机文字识别装置及方法
CN1159704C (zh) 信号分析装置
CN1808414A (zh) 学习、识别和生成数据的方法和设备以及计算机程序
CN1119755C (zh) 文本处理器
CN1734445A (zh) 用于对话的方法、装置和程序及其中存储程序的存储介质
CN1188946A (zh) 从图像中提取管理信息的设备与方法
CN1855224A (zh) 信息处理装置、信息处理方法及程序
CN1719454A (zh) 几何代价和语义-识别代价融合的脱机手写汉字切分方法
CN1310825A (zh) 用于分类文本以及构造文本分类器的方法和装置
CN1122022A (zh) 手写体匹配技术
CN101079026A (zh) 文本相似度、词义相似度计算方法和系统及应用系统
CN1225484A (zh) 地址识别设备和方法
CN1331449A (zh) 用于将粘着法构成的文本或文档分段成词的字符串划分或区分的方法及相关系统
CN1692341A (zh) 信息处理设备、信息处理方法、程序以及存储介质
CN1151573A (zh) 声音识别方法,信息形成方法,声音识别装置和记录介质
CN1033110C (zh) 文字数据、词符-插图数据的输入输出装置及其方法
CN1752963A (zh) 文档信息处理设备、文档信息处理方法及处理程序
CN1620659A (zh) 多种语言的数据库创建系统和方法
CN1577229A (zh) 输入音符串进入计算机及文句生产方法及其计算机与媒体
CN1266643C (zh) 基于阿拉伯字符集的印刷体字符识别方法
CN1505786A (zh) 内容转换方法和装置
CN1093965C (zh) 在线文字识别方法及在线文字识别装置

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee