KR100251068B1 - 정보 처리 방법,정보 처리 장치 및 저장 매체 - Google Patents

정보 처리 방법,정보 처리 장치 및 저장 매체 Download PDF

Info

Publication number
KR100251068B1
KR100251068B1 KR1019970000595A KR19970000595A KR100251068B1 KR 100251068 B1 KR100251068 B1 KR 100251068B1 KR 1019970000595 A KR1019970000595 A KR 1019970000595A KR 19970000595 A KR19970000595 A KR 19970000595A KR 100251068 B1 KR100251068 B1 KR 100251068B1
Authority
KR
South Korea
Prior art keywords
pattern
stroke
information processing
generating
vector
Prior art date
Application number
KR1019970000595A
Other languages
English (en)
Other versions
KR970059959A (ko
Inventor
히로또 요시이
쯔네까즈 아라이
에이지 다까스
Original Assignee
미다라이 후지오
캐논 가부시끼가이샤
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 JP09109796A external-priority patent/JP3630837B2/ja
Priority claimed from JP8091091A external-priority patent/JPH09282415A/ja
Application filed by 미다라이 후지오, 캐논 가부시끼가이샤 filed Critical 미다라이 후지오
Publication of KR970059959A publication Critical patent/KR970059959A/ko
Application granted granted Critical
Publication of KR100251068B1 publication Critical patent/KR100251068B1/ko

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

정보 처리 방법, 정보 처리 장치 및 저장 매체
제1도는 본 발명의 제1 실시예에 따른 장치의 구성을 나타내는 블록도.
제2도는 제1 실시예를 위한 온라인 수서 문자 인식 사전을 생성하기 위한 방법을 나타내는 순서도.
제3도는 제1 실시예를 위한 온라인 수서 문자 인식 사전을 생성하기 위한 처리 순서도.
제4도는 제1 실시예의 스트로크 생성 단계를 위한 처리를 설명하기 위한 도표.
제5도는 계층화 벡터열을 나타내는 도표.
제6도는 제1 실시예의 벡터 평균 처리 과정을 설명하기 위한 도표.
제7도는 제1 실시예를 위한 분류목을 나타내는 도표.
제8도는 제1 실시예의 온라인 수서 문자 인식 사전을 위한 분류목의 데이터 구조예를 나타내는 도표.
제9도는 제1 실시예를 위한 온라인 수서 문자 인식 방법을 나타내는 순서도.
제10도는 제1 실시예를 위한 분류목 생성 과정을 위한 상세한 순서도.
제11도는 제10도의 단계 S1007에서 가지들의 생성의 일례를 나타내는 도표.
제12도는 제1 실시예에 따른 장치의 제1 구조를 나타내는 도표.
제13도는 제1 실시예에 따른 장치의 제2 구조를 나타내는 도표.
제14도는 제2 실시예에 따른 장치의 구조를 나타내는 블록도.
제15도는 제2 실시예에 따른 정보 처리 과정을 나타내는 개념도.
제16도는 제2 실시예의 처리 과정의 일부인 피라미드형을 가진 신경망을 나타내는 도표.
제17도는 제2 실시예에 따른 정보 처리 과정을 나타내는 순서도.
제18도는 제2 실시예에 따른 학습용 패턴의 일례를 나타내는 도표.
제19도는 제2 실시예에 따른 계층화 학습용 패턴들의 일례를 나타내는 도표.
제20도는 제2 실시예에 따른 분류목 생성 과정을 나타내는 도표.
제21도는 제2 실시예에 따라 생성된 분류목의 일례를 나타내는 도표.
제22도는 제2 실시예에 따른 대형 카테고리들의 그룹화의 일례를 나타내는 도표.
제23도는 제2 실시예에 따른 제2 처리 과정을 나타내는 순서도.
제24도는 제2 실시예에 따른 정보 처리를 위한 제2 순서도.
제25도는 제2 실시예에 따른, 프로그램 모듈들을 구비한 메모리 레이아웃의 일례를 나타내는 도표.
제26도는 제3 실시예에 따른 장치의 하드웨어 구조를 나타내는 도표.
제27도는 제3 실시예에 따른 분류목 작성 과정을 나타내는 도표.
제28도는 제3 실시예에 따른 장치의 구조를 나타내는 도표.
제29도는 제3 실시예를 위한 처리 과정을 나타내는 순서도.
제30도는 제3 실시예에 따른 서브 패턴들의 도출을 설명하기 위한 도표.
제31도는 제3 실시예에 따른 피라미드 구조를 나타내는 도표.
제32도는 제3 실시예에 따라 작성되고 있는 분류목을 나타내는 도표.
제33도는 제3 실시예에 따른 분류목 작성 과정을 나타내는 순서도.
제34도는 제3 실시예에 따라 선택된 신경들에 의해 생성되는 하위 랭크의 계층화 패턴들을 나타내는 도표.
제35도는 제3 실시예에 따라 최종적으로 작성된 분류목을 나타내는 도표.
제36도는 제3 실시예에 따른 인식 과정을 나타내는 도표.
제37도는 제3 실시예에 따른 분류목 작성 과정을 나타내는 도표.
제38도는 제3 실시예에 따른 제2 과정을 나타내는 순서도.
제39도는 제3 실시예에 따른 서브 벡터 추출 수단을 나타내는 도표.
제40도는 제3 실시예에 따른 제2 인식 과정을 나타내는 도표.
제41a도, 제41b도, 제41c도, 제41d도 및 제41e도는 종래 기술을 나타내는 도표.
제42도는 제 3 실시예에 따라 음성 패턴의 퓨리에 변환을 수행하여 얻어진 포락선들을 나타내는 도표.
제43도는 세기 및 주파수 축을 따라 표현된 음성 패턴들을 나타내는 도표.
제44도는 주파수 및 시간 축을 따라 표현된 음성 패턴들을 나타내는 도표.
* 도면의 주요부분에 대한 부호의 설명
401 : 스트로트 입력 장치 402, 1402, 2602 : 표시 장치
403, 1403, 2603 : 중앙 처리 장치 404, 1404, 2604 : 메모리
1401 : 패턴 입력 장치 2601 : 좌표 입력 장치
[발명의 목적]
[발명이 속하는 기술 분야 및 그 분야의 종래 기술]
본 발명은 문자 및 음성 패턴과 같은 패턴 인식에 관한 것으로서, 특히 문자, 음성 등의 패턴 인식을 위한 데이터 준비 기술에 관한 것이다.
종래에는 하나의 패턴을 이루는 수서 문자들의 인식을 위하여, 분류목을 사용하여 패턴들을 카테고리별로 분류하는 단계적인 절차가 사용된다.
분류목을 사용하기 위한 종래의 인식 방법에서는, 노드를 준비하기 위하여 각 노드의 특징들의 수자에만 주목하기 때문에, 패턴의 광범위한 양태를 결정할 수 없었다.
다수의 특징을 갖는 패턴 인식을 위한 분류목을 만들기 위하여는, 계산 시간 문제 때문에 각 노드에서 특징축을 선택하는 방법이 사용되어야 한다.
또한, 엔그램(N-gram) 테이블을 사용하여 문장을 인식하는 종래의 방법이 있는데, 이 방법은 문장의 구성을 위한 언어 모델로서 유한 오토머턴(automaton)을 사용하며, 이 모델을 기초로 하여 문자열의 사전 발생 확률을 계산한다.
즉, 이 방법에 따르면, 문장을 구성하는 요소열의 연속에 관한 확률을 대규모 문장 테이터베이스로부터 계산하는 단계가 필요하게 된다.
그러나, 일어 또는 중어와 같은 언어는 수천 개의 문자형을 포함하고 있기 때문에 트라이그램(N=3) 테이블을 준비할 때조차 대량의 문장데이터가 필요하게 된다.
소량의 문장 데이터를 사용하여 테이블이 만들어지는 경우, 그 테이블에는 신뢰성 있는 시프트 확률과 신뢰성 없는 시프트 확률이 공존하게 되어, 결함이 발생하게 된다.
패턴의 단계적인 축퇴화를 수반하는 전처리를 통해 분류목을 준비하는 종래의 방법이 있다. 이 방법에 따르면, 패턴의 거시적 형태로부터 미시적 형태에 이르기까지 균형이 좋은 분류목이 구성될 수 있다. 결과적으로, 가능한 한 인간의 인식 능력에 가까운 인식 성능이 기대될 수 있다.
그러나, 이 방법은 다양한 학습 패턴을 사용함으로써 패턴의 변형을 흡수하기 때문에, 대량의 학습 패턴이 요구된다.
이 조건은 제32도는 참조하여 설명될 것이다.
분류목이 "0"에서 "9"까지의 범위의 수자 비트 맵의 인식을 위한 종래 방법에 따라 작성된다고 가정하자.
상기 방법에 의해 작성된 분류목은 제32도에 도시된 바와 같은 형태를 갖는다. 3 종류의 카테고리들("4","5","6")을 위한 학습용 패턴들이 제32도의 우측으로부터 5 번째 가지에 존재한다.
즉, 광범위하게 말하면, 3종의 카테고리들("4","5","6")과 다른 어떠한 카테고리도 제32도의 우측으로부터 5 번째 가지에 있는 학습용 패턴들을 위해 유효하지 않다.
예컨대, 이러한 방법으로 작성된 분류목을 사용하여 완전히 새로운 비트 맵 패턴을 인식하기 위한 처리를 고려하자. 광범위하게 말하면, 제41a도-제41e에 도시된 모든 비트 맵들은 제32도의 우측으로부터 5 번째 가지와 동일한 형태를 갖고 있다. 즉, 전술한 분류목이 이러한 비트 맵들의 인식을 위해 사용될 때, 비트 맵들은 항상 카테고리들("4","5","6")에 속하는 것으로 분류된다. 결과적으로, 제41a도-제41c도 비트 맵들은 바르게 식별되지만, 식별되는 제41d도의 비트 맵은 거절되어야 하며, 제41e도의 비트맵은 명백히 부정확하게 식별된다.
이러한 결함이 발생하는 이유는 제41e도의 비트 맵과 같은 형태인 카테고리("2")를 갖는 패턴이 존재하지 않는다는 것이다. 이것은, 종래의 방법에서는 모든 가능한 변경을 포함하는 대량의 학습용 패턴이 요구된다는 것을 의미한다.
[발명이 이루고자 하는 기술적 과제]
본 발명의 목적은, 다수의 특징들을 가지 패턴의 거시적 구조 특징이 적절히 반영되고 카테고리간에 존재하는 경합 관계가 적절히 반영되는, 스트로크(stroke) 벡터들로 구성된 분류목을 생성하기 위한 방법 및 이를 위한 장치를 제공하는 것이며, 생성된 분류목이 고속, 고인식비로 문자들을 인식하기 위하여 사용되는 문자 인식 방법 및 이를 위한 장치를 제공하는 것이다.
본 발명에 따르면, 문자 패턴으로부터 계층화된 문자 패턴이 효율적으로 생성될 수 있다.
또한, 상위 계층에서 카테고리들의 경합이 가장 강하며 바로 아래 계층에서 카테고리들이 바람직하게 분류되는 분류목이, 싱성된 계층화 문자 패턴을 기초로 하여 작성될 수 있다.
또한, 작성된 분류목을 사용하여 메모리 효율적인 엔그램 테이블이 생성될 수 있다.
더우기, 생성된 엔그램 테이블을 검색하여 고속, 고인식비의 인식이 수행될 수 있다.
본 발명에 따르면, 학습용 패턴들로부터 서브 패턴들이 도출되며, 서브 패턴들을 위한 계층화가 사전에 수행된다. 계층화 서브 패턴들을 기초로 하여 서브 패턴들을 위한 분류목이 작성되기 때문에, 소량의 학습용 패턴을 사용할 때도 고인식비가 제공될 수 있다.
본 발명에 따르면, 계층화 과정에서, 상세한 서브 패턴 데이터의 순차적인 축퇴로부터 데이터가 생성되므로, 고속의 인식 과정이 이루어질 수 있다.
본 발명에 따르면, 계층화된 서브 패턴 데이터를 상위 랭크로부터 하위 랭크까지 전개함으로써 분류목이 작성되기 때문에, 높은 인식 효율을 가진 사전(dictionary) 데이터가 생성될 수 있다.
본 발명에 따르면, 서브 패턴들이 하나의 학습 패턴을 분할하여 얻어진 패턴 세그먼트들로 간주될 때, 서브 패턴의 생성이 쉬워진다.
본 발명에 따르면, 분류 효율이 가장 커지는 변수가 선택되며, 선택된 변수에 대한 분류목이 작성된다. 결과적으로, 종래의 것과 다른 효율적인 분류목이 작성될수 있다.
본 발명에 따르면, 계층화는 입력 패턴상에서 수행된다. 계층화된 입력 패턴은 패턴을 위한 상위 랭크 데이터에서 시작하여 하위 랭크까지 계속되는 분류목의 추적을 통해 인식된다. 결과적으로, 고속, 고인식비가 이루어질 수 있다.
본 발명에 따르면, 패턴이 비트 맵 데이터로 구성될 때, 스캐너 등에 의해 입력된 영상 데이터의 매우 효율적인 식별이 이루어질 수 있다.
본 발명에 따르면, 패턴이 스트로크 데이터일 때, 펜으로 입력된 트레이싱 데이터의 매우 효율적인 식별이 이루어질 수 있다.
본 발명에 따르면, 패턴이 음성 데이터일 때, 마이크로폰 등으로 입력된 음성 데이터의 매우 효율적인 식별이 이루어질 수있다.
[발명의 구성 및 작용]
[제1 실시예]
제1 실시예에서는, 입력된 스트로크를 온라인으로 인식하기 위한 분류목을 생성하는 방법과 생성된 분류목을 사용하는 인식 과정에 대한 설명이 이루어진다.
먼저, 이 실시예에 따른 문자 인식 방법 및 장치의 주요 특징들이 기술되며, 그 상세한 설명이 이어질 것이다.
이 실시예에 따른 문자 인식 방법에서, 학습용 스트로크는 벡터로 변형되는 스트로크 세그먼트들로 분할 되며, 결과적으로 계층화된 벡터열이 생성된 후, 생성된 계층화 벡터열에 따른 분류목이 생성된다.
벡터열을 계층화하는 과정에서, 학습용 스트로크를 구성하는 벡터열 정보는 단계적으로 축퇴된다.
분류목이 생성될 때, 후에 논의될 엔트로피 표준에 따라 상위 계층에서의 카테고리들간의 가장 극심한 경합과 그 바로 아래 계층에서의 카테고리들간의 양호한 분리를 보장하는 벡터가 선택되며, 그 결과에 따라 축퇴된 벡터는 하위 계층들이 된다.
온라인 수서 문자 인식을 위한 사전이 전술한 분류목을 그 내용으로 유지한다.
또한, 사용자에 의해 수서된 스트로크의 카테고리는 전술한 분류목에 따라 결정된다.
본 발명은 이제 첨부된 도면들을 참조하여 설명될 것이다.
[분류목의 구조와 생성 방법]
제1도는 실시예에 따른 온라인 수서 문자 인식 방법이 적용되는 정보 처리 장치의 개략적인 구조의 이례를 나타내는 블럭도이다.
실시예에 따른 온라인 수서 문자 인식 장치는 기본적으로 스트로크 입력 장치(401), 표시 장치(402), 중앙 처리 장치(CPU)(403), 및 메모리(404)로 구성된다.
스트로크 입력 장치(401)는, 예컨대, 디지타이저와 펜을 구비하고 있다; 이 장치는 펜을 사용하여 디지타이저로 입력된, 문자 또는 그래픽 형태의 좌표 데이터를 CPU(403)로 전달한다.
표시 장치(402)는 스트로크 입력 장치(401)를 통해 입력된 스트로크 데이터와 CPU(403)에 의한 인식 결과를 표시한다.
CPU(403)는 입력된 스트로크 데이터를 구성하는 문자 또는 그래픽을 인식하며, 또한 장비 전체를 제어한다.
메모리(404)는 CPU(403)에 의해 사용되는 인식 프로그램과 사전을 저장하며, 또한 입력된 스트로크 데이터, 인식 프로그램에 의해 사용되는 변수들 등을 저장한다.
제2도는 본 발명의 일 실시예에 따른 온라인 수서 문자 인식을 위한 사전을 생성하는 절차를 가장 잘 설명하는 처리 순서도이다.
제2도를 참조하면, 참조 부호 S101은 학습용 스트로크를 입력하는 단계를 나타내고, S102는 입력된 학습용 스트로크를 스트로크 세그먼트들로 분할하는 단계를 나타낸다.
참조 부호 S103은 스트로크 세그먼트 벡터들을 생성하는 단계를 나타내는데, 스트로크 세그먼트는 전술한 스트로크 분할 단계에서 수행된 분할로부터 기인한 것이다.
참조 부호 S104는 스트로크 세그먼트 벡터를 생성하는 전 단계로부터 기인한 벡터열에 적용되는 사전 계층화 처리 단계를 나타낸다.
참조 부호 S105는 백터열에 적용되는 사전 계층화 처리 단계에서 생성된 계층화된 벡터열을 나타낸다.
참조 부호 S106은 계층화된 벡터열에 따라 분류목을 생성하는 분류목 생성 단계를 나타낸다.
참조 부호 S107은 분류목 생성 단계에서 분류목을 생성하는 과정에 사용되는 생성 벡터를 식별하는 단계를 나타낸다.
참조 부호 S108은 완성된 분류목을 나타낸다.
이 실시예에서, 입력은 S101에서의 학습용 스트로크이며, 출력은 분류목(108)이다.
제3도 내지 제7도를 참조하여, 본 발명에 따른 제1 실시예의 문자 인식 과정에서 분류목을 생성하는 절차에 대해 설명된다.
보다 쉬운 이해를 위해, 각각 하나의 스트로크로 입력되는 "구", "시", "쯔"라 읽는 3 개의 다른 문자들
Figure kpo00002
가, 인식될 카테고리들을 나타내는 예로서 주어진다.
사전을 생성하기 위해,
Figure kpo00003
각각에 대하여 1백 개의 학습용 패턴이 존재하는 것으로 가정한다; 이 패턴들은 아래와 같이 표시된다:
TPi,j(학습용 패턴 i, j)
여기서, i는 카테고리를 표시하는 아래 첨자이며, 다음과 같은 범위의 값을 갖는다:
Figure kpo00004
j는 학습용 패턴 번호를 나타내는 아래 첨자를 나타내며, 다음과 같은 범위의 값을 갖는다:
Figure kpo00005
제3도에 도시된 순서도에 의해 설명되는 바와 같이, 온라인 수서 문자 인식을 위한 사전을 생성하는 과정은 3 단계, 즉 벡터 생성 단계, 사전 계층화 처리 단계, 및 분류목 생성 단계로 구성된다. 아래에 각 단계가 설명된다.
(F1) 벡터 생성 단계
제4도를 참조하여, 벡터 생성 단계가 상세히 설명된다.
먼저, 학습용 스트로크는 n 개의 세그먼트로 분활된다(제4도에서 n=8), 제4도에 도시된 n 개의 세트먼트가 스트로크의 길이에 관하여 동일하게 분할된 n 개의 세그먼트와 동일할지라도, 본 발명은 이에 제한되지 않는다.
예컨대, 스트로크 입력 장치가 스트로크의 시점과 종점 근처에서 불안정한 스트로크를 받는 경우, 시점과 종점 근처의 스트로크 부분으로부터 상세한 세그먼트 벡터를 얻기 위해 노력하는 것은 거의 의미가 없게 될 것이다. 이 경우, n 개의 세그먼트 중에서 시작 세그먼트와 종료 세그먼트에 대해 나머지 세그먼트들보다 더 긴 길이를 허용할 수 있다.
다음 단계에서, 각 n 개의 스트로크 세그먼트는 벡터로 변환된다.
제4도에서, 스트로크 세그먼트들은 0번으로부터 11번까지 12 방향의 기본 벡터들로 양자화된다. 기본 벡터들은 360°상에 동간격으로 배열된다; 그러나, 본 발명은 이에 제한되지 않는다.
예컨대, 제4도에 도시된 12 방향의 기본 벡터들 중에서, 좌상측 기본 벡터(예컨대, 10번 혹은 11번 벡터)는 수서 스트로크에 나타나지 않는다. 따라서, 더 큰 각도 간격으로 배열된 기본 벡터들로 구성된 한 세트의 기본 벡터들이 사용될 수도 있다.
벡터 생성 과정에서, 스트로크를 스트로크 세그먼트들로 분할하는 단계와 제2도에 도시된 각 세그먼트를 벡터로 만드는 단계는 모든 학습용 스트로크상에 수행된다.
제5도에 도시된 예의 경우, 입력된 스트로크는 기본 벡터열 "12455421"로 변환된다.
(F2) 사전 계층화 단계
벡터로 변환된 학습용 스트로크는 피라미드형으로 사전 계층화된다.
제5도는 일례를 나타낸다.
제5도에서, 각 세그먼트를 벡터로 만드는 단계에서 얻어진 벡터열의 인접한 두 벡터로부터의 평균 벡터는 벡터 정보를 절반으로(혹은 축퇴되도록) 순차적으로 감소시키기 위하여 상위 계층에 저장된다.
제4도에 도시된 스트로크의 8 개의 기본 벡터는 4 개의 벡터, 2 개의 벡터, 1 개의 벡터로 순차적으로 변환된다.
인접한 두 벡터를 평균화하는 방법의 하나가 제6도를 참조하여 상세히 설명된다.
편리한 설명을 위해, 제5도에 도시된 12 방향의 기본 벡터들은 제6도에서는 8 방향에 대해 존재한다. 본 발명의 사상은 기본 벡터의 전체 수 또는 각 기본 벡터의 방향이 변화될 때조차 영향을 받지 않는다는 점에 주목해야 한다.
기본 벡터들이 8 방향을 갖는다는 가정하에 다음과 같은 설명이 주어진다. 인접한 두 벡터 중 제1 벡터는 "전"으로 표시되며, 다른 벡터는 "후"로서 표시된다.
간단한 방법으로, 두 벡터의 평균이 다음 식으로 주어진다:
(전 + 후)/2
그러나, 상기 식으로부터 얻이진 평균이 기본 벡터를 제공하지 못하는 경우가 있다.
일반적으로, 8 방향으로 동일하게 분할된 벡터들과 그 평균 벡터들은 16 방향의 벡터들을 제공하며, 이들은 8 방향의 벡터를 제공하기 위하여 처리되어야 한다.
제6도는 그 방향을 나타낸다.
제6도에서, "→"(800)는 상위 계층에서 우향 벡터(2번)의 존재를 의미한다. 그 아래 주어진 8 쌍의 벡터는 하위 계층에 존재해야 하는 벡터쌍들을 나타낸다.
특히, 상위 계층에서 2번으로 표시된 벡터들(전, 후)의 쌍일 수 있는 다음과 같은 8쌍이 존재한다:
Figure kpo00006
이것은 (전 + 후)/2에 의해 얻어진 전과 후의 평균값이 1.5 보다 크고 2.5 이하인 조건하에 적용된다.
상위 계층의 벡터들이 2번과 다른 번호를 갖는 경우, 제6도에 도시된 벡터 세트를 45°만큼 이동시킴으로써 얻어지는 벡터 세트가 사용될 것이다.
벡터 세트, 즉 상위 계층의 벡터와 하위 계층의 두 벡터는 제6도에 도시된 것으로 제한되지 않는다; 상위 계층의 벡터가 하위 계층의 두 벡터의 평균 벡터로 간주될 수 있는한 어떠한 벡터 세트도 가능하다.
(F3) 분류목 생성 단계
사전 계층화 과정(F2)에서, 학습용 스트로크(TPi,j)의 모든 세그먼트는, 제5도에 도시된 바와 같이, 피라미드형으로 바닥에서 최상부까지 벡터로 생성된다. 분류목을 생성하기 위하여, 벡터들은 반대 방향으로, 즉 최상부로부터 바닥에 이르기까지 처리된다.
아래의 설명에서, 기본 벡터들은 8 방향을 가지거나, 제6도에 도시된 0 내지 7 번의 8 벡터들이 존재하는 것으로 가정한다. 이 경우, 벡터 피라미드의 모든 벡터들은 상기 기본 벡터들에 포함된다.
최상위 계층은 8 벡터들을 포함한다. 따라서, 제7도에 도시된 바와 같이, 루트 노드로부터 8 개의 가지들이 분기될 것이다.
이때, 가지들에 존재하는 학습용 스트로크(TPi,j)의 수가 계산된다. 계산 결과에 따라, 다음의 3 가지 형태의 처리 중 하나가 수행된다:
1. 가지에 학습용 스트로크(TPi,j)가 존재하지 않는 경우, 그 가지는 제거된다.
2. 가지의 학습용 스트로크(TPi,j) 중에 하나의 특정 카테고리에만 속하는 스트로크들이 존재하는 경우(예컨대,
Figure kpo00007
의 스트로크만이 존재하는 경우), 그 가지는 잎으로 변환되어 카테고리 번호를 할당받는다(예컨대,
Figure kpo00008
).
3. 상기 1과 2에 기술된 것과 다른 경우, 즉 다수의 카테고리들의 스트로크들이 혼합되어 있는 경우, 그 가지는 노드로 변환되어 분류목의 생성을 계속한다.
제7도는 처리 결과를 나타낸다. 제7도에서, 가지들은 제5도에 도시된 최상위 계층의 벡터들로 표시된다(이후, 제1 계층으로 지칭됨).
카테고리형을 나타내는 열에 표시된 "X"를 가진 가지들은 학습용 스트로크(TPi,j)가 존재하지 않는 경우에 대응하며, 따라서 이들은 제거된다.
좌측으로부터 3 번째 가지는
Figure kpo00009
의 카테고리만의 학습용 스트로크들을 갖고 있다. 이것은 하나의 특정 카테고리(예컨대,
Figure kpo00010
)만의 스트로크들이 존재하는 경우에 대응하기 때문에, 그 가지는 잎으로 변환된다.
예컨대, 좌측으로부터 4 번째와 5 번째 가지는
Figure kpo00011
의 카테고리들의 학습용 스트로크들을 갖는다. 이들은, 1, 2의 경우와 다른 경우, 즉 다수의 카테고리들의 스트로크들이 혼합된 경우에 대응한다. 따라서, 이러한 가지들은 노드들을 제공한다.
노드로부터 가지를 생성하는 방법이 아래에 기술될 것이다.
노드로부터 가지를 생성하는 가장 효율적인 방법이 기술될 것이다. 가장 효율적인 방법은 카테고리들에 관하여 가능한 한 많은 정보가 가지들이 생성될 때 얻어질 수 있도록 해야 한다.
가지들이 생성될 때 최고의 효율을 제공하는 벡터를 선택하는 방법이 아래에 기술될 것이다.
특정 노드에 존재하는 학습용 스트로크(TPi,j)들 중에 i번의 카테고리의 학습용 스트로크의 수는 Ni로 표시된다. 노드에 존재하는 학습용 스트로크의 전체 수가 N으로 표시될 때, 그 노드에서 각 카테고리의 존재 확률(pi)은 다음과 같이 나타낼 수 있다:
pi = Ni/N
예컨대, 특정 노드에서 카테고리들의 형태 수가 2인 경우:
Figure kpo00012
따라서, 노드에 관한 정보가 얻어질 때의 엔트로피는 다음의 식으로 표시된다.
Figure kpo00013
그 다음, 상기 노드에서 특정 벡터가 선택되며, 가지가 생성될 때의 엔트로피 감소가 계산된다.
상기한 바와 같이, 단일 벡터로부터 생성되어 하위 계층을 이루는 가지들의 수는 8이다. 8 개의 가지들 사이의 학습용 스트로크(TPi,j)의 분포는 생성 가지들에 존재하는 학습용 스트로크들(TPi,j)의 수에 의해 표시된다. 즉,
Ni,b
여기서, Ni,b의 i는 카테고리 번호를 표시하며, b는 가지수이다.
이때, 각 가지에 관한 정보가 얻어지는 엔트로피는, 전술한 경우와 같이, 다음의 식으로 주어진다 :.
Figure kpo00014
이 식에서,는 가지들에 존재하는 학습용 스트로크들(TPi,j)의 전체 수를 나타낸다.
각 가지안으로의 분포 확률은 다음과 같이 주어진다:
Nb/N
여기서, N은 식(1)의 N과 동일하다. 따라서, 가지들이 생성될 때의 평균 엔트로피는 다음 식으로 표시된다:
Figure kpo00016
엔트로피의 평균 감소량은 다음과 같이 주어진다:
엔트로피 감소 = 노드 엔트로피 - 평균 가지 엔트로피 ㆍㆍㆍ 식(4)
K의 값을, 아래 도시된 바와 같이, 가지수의 로그 값으로 나눔으로써 얻어지는 값은 가지가 생성될 때의 분류 효율을 나타낸다:
엔트로피 감소/가지수 ㆍㆍㆍ 식(5)
이 값에 최대 값을 제공하는 벡터가 가지들을 생성하기 위하여 선택된다.
가지들은 단 하나의 벡터를 생성하는것보다는 다수의벡터 그룹에 관하여 생성될 수 있다. 이 경우, 식(5)의 가지수는 (선택된 벡터들의 수) ×8이 된다.
이 실시예에서, 식(5)에서 얻어진 값은 가지들이 생성될 때의 분류 효율을 나타내는 값으로 채택된다. 그러나, 그 값이 "분류목 및 회귀목"이라는 제목의 논문에 기술된 "Ginicriterion"과 같은 가지들의 생성 효율을 나타내는 함수인 경우, 식(5)에 의해 얻어진 값에 제한되지 않는다는 것은 명백하다.
따라서, 생성될 벡터 혹은 벡터 세트가 결정되면, 가지들이 생성되며 이에 따라 잎들과 노드들이 생성된다. 최종적으로, 모든 벡터들이잎으로 변환되었을 때, 분ㅀ목이 완성된다.
전술한 과정은 제10도에 순서도의 형태로 도시되어 있다. 이제, 제8도에 도시된 바와 같은 분류목의 생성 절차가 기술될 것이다.
먼저, 단계 S1000에서, 제8도에 도시된 바와 같이, 하나의 참조 노드가 루트 노드로 설정된다.
단계 S1000에서, 설정된 참조 노드가 아래 설명된 3 개의 조건에 대해 검사된다:
1. 학습용 스트로크가 존재한다.
2. 단 하나의 카타고리의 합습용 패턴들이 존재한다.
3. 복수의 카테고리들의 학습용 패턴들이 존재한다.
1의 조건이 만족되는 경우, 프로그램은 단계 S1002로 진행된다. 2의 조건이 만족되는 경우, 프로그램은 단계 S1005로 진행된다. 3의 조건이 만족되는 경우, 프로그램은 단계 S1006으로 진행된다.
단계 S1002에서, 노드는 분류목으로부터 제거된다.
단계 S1003에서, 모든 다른 노드들은 이들이 잎 노드로 변환되었는가의 여부가 검사된다. 검사 결과가 긍정인 경우, 프로그램은 처리를 종료한다. 검사 결과가 부정인 경우, 프로그램은 단계 S1004로 진행되어 다른 노드를 참조 노드로 선택한다. 그 다음, 프로그램은 단계 S1001로 복귀하여 동일한 과정을 반복한다.
단계 S1005에서, 노드는 잎 노드로서 카테고리 번호를 할당받는다. 그 다음, 프로그램은 단계 S1003으로 진행된다.
단계 S1006에서, 전술한 엔트로피 표준에 따라 노드에 포함된 벡터열로부터 하나의 벡터가 선택된다.
단계 S1007에서, 선택된 벡터 아래의 계층의 한 쌍의 벡터들의 가지가 생성된다.
제11도는 상기 단계에서 수행된 과정을 도시하고 있다. 이것은 하위 계층의 벡터쌍들의 예를 나타낸다.
제11도를 참조하면, 5000은 단계 S1006에서 선택된, "2"의 방향을 갖는 벡터를 나타낸다고 가정한다. 하위 계층에는 8 개의 상이한 벡터쌍들, 즉 5001, 5002, 5003, 5004, 5005, 5006, 6007, 및 5008이 존재한다. 이러한 벡터쌍들을 새로운 노드로 취하는 가지들이 생성된다.
위에서 단계 S1007에서 수행된 과정의 특정 예가 설명되었다.
다음 단계에서, 프로그램은 단계 S1008로 진행되어 생성된 가지들의 노드들중 하나를 다음 참조 노드로 설정하며, 그 다음 프로그램은 단계 S1001로 복귀되어 동일한 과정을 반복한다.
전술한 절차에 따라 제8도에 도시된 바와 같은 분류목을 생성하는 것은, 많은 특징을 가진 스트로크 패턴들의 전반적인 분류를 유지하면서 유사한 카테고리들간의 상세한 특징 차이를 반영하는 분류목을 생성하는 것을 가능하게 한다. 고인식비를 갖는 문자들의 고속 인식은 생성된 분류목을 참조함으로써 이루어질 수 있다.
이 실시예에서, 본 발명에 따른 온라인 수서 문자 인식을 위한 사전 생성 방법은 하나의 학습용 스토로크가 존재한다는 가정하에 설명되었다. 그러나, 실시예에 따른 동일한 과정이 실제로 사용되는 입력 문자를 위해 둘 이상의 스트로크를 취하는 시스템에서 각 스트로크를 처리하기 위하여 적용될 수 있다는 것은 명백하다.
제8도에 도시된 분류목의 생성에 대해 더욱 상세히 기술될 것이다.
제8도는 제7도에 도시된 계층들에 하위 계층들을 추가하는 도표이다. 이 도표에는제거된 가지들이 빠져 있다. 제8도에 도시된 상자들(□) 안에 포함된 가지들은 이들이 잎이라는 것을 지시한다.
잎이 아닌 모든 가지들은 노드들이다. 따라서, 추가적인 가지 생성이 수행된다. 제8도는 좌측으로부터 2 번째 노드(201)에 관한 추가적인 가지 생성의 결과를 나타낸다.
좌측으로부터 2 번째 노드(201)에서, 3 가지 형태의 카테고리들, 즉
Figure kpo00017
가 공존하며, 가지들의생성을 요구한다.
노드의 상태를 나타내는 단 하나의 벡터(원 안의 벡터)가 존재한다; 따라서, 생성될 벡터는 독특하게 결정된다. 생성될 벡터쌍은 제6도에 도시된 벡터쌍을 기초로 한다. 특히, 하위 계층의 두 벡터들의 8 개의 조합에 대응하는 가지가 생성되는데, 그 가지의 상위 계층의 벡터는 우하 방향(3번)의 벡터일 수 있다. 이 상태는 제5도에서 벡터들이 제2 계층을 향해 생성된다는 것을 의미한다.
또한, 생성시, 좌측으로부터 2 번째 가지의 노드(202)는 두 개의 카테고리, 즉
Figure kpo00018
Figure kpo00019
를 포함한다. 따라서, 추가적인 가지 생성이필요하다. 노드를 나타내는 두 벡터 중 제1 벡터는 생성 벡터를 식별하기 위한 단계 S107에서 주이진 결과로서 생성되도록 선택되었다고 가정한다. 그러면, 제1 벡터의 상태와 관련하여 상위 계층을 갖는 경우에서처럼 8 개의 벡터가 생성되며, 몇몇 가지들은 제거되고, 몇몇 가지들은 잎으로 변환되며, 몇몇 가지들은 노드로 변환된다. 노드로 변환된 가지들은 모든 가지의 단부가잎으로 변환될 때까지 추가적으로 생성되어야 한다.
제12도는 실시예에 따른 온라인 수서 문자 인식 방법이 적용되는 정보 처리 장치의 메모리 내부 구조를 나타낸다. CPU(1201)는 제1도의 403으로 표시된 CPU에 대응한다. 이것은 후에 논의될 메모리(1202)에 저장된 제어 프로그램들에 따라 상기 실시예에서 기술된 여러 형태의 처리를 수행한다. 후에 논의될 순서도에 의해 설명되는 처리를수행하는 제어 프로그램은 또한 메모리(1202)에 저장되며, CPU(1201)에 의해 실행된다.
메모리(1202)는 CPU(1201)가 여러 형태의 처리를 실행하기 위한 제어프로그램들을 저장하는 프로그램 영역(1202-1)과 여러 파라미터들과 데이터를 저장하는 데이터 영역(1202-2)을 갖고 있다. 프로그램 영역은, 예컨대 제10도에 도시된 순서도의 각 부분들을 서브루틴 프로그램(1202-1-1 내지 1202-1-3)으로 저장한다. 서브루틴 프로그램들은 참조 노드의 상태를 식별하기 위하여 S1001에서 사용되는 처리 프로그램, 노드를 제거하기 위하여 S1002에서 사용되는 처리 프로그램, 잎 노드를 위해 S1005에서 사용되는 처리 프로그램, 적절한 벡터를 선택하기 위해 S1006에서 사용되는 처리 프로그램, 벡터쌍의 가지를 생성하기 위해 S1007에서 사용되는 처리 프로그램, 및 생성된 분류목을 참조함으로써 입력 패턴을 인식하기 위한 프로그램을 포함한다. 각 형태의 처리를 위한 이 서브루틴 프로그램들은 프로그램 영역(1202-1)에 저장된다. 후에 논의될 각각의 처리가 수행될 때, 제어 프로그램은 CPU(1201)가 처리를 수행하기 위해 필요로 할 때 메모리(1202)로부터 읽혀진다. 데이터 영역(1202-2)은 각 학습용 패턴을 임시적으로 저장하기 위한 학습용 패턴 버퍼(1202-2-1), 각 학습용 패턴으로부터 얻어진 벡터 데이터의 피리미드형의 생성 패턴을 저장하기 위한 영역(1202-2-2), 및 생성되고 있는 분류목을 저장하기 위한 분류목 버퍼(1202-2-3)를 갖고 있다.
하드 디스크 드라이브(HDD)(1203)는 모든 학습용 패턴을 저장하며, 또한 이 실시예에서 기술된 방법에 의해 생성된 분류목에 관한 데이터를 저장한다.
메모리(1202)는 내장 롬, 램, 하드 디스크 등이 될 수 있다. 프로그램들과 데이터는 사전에 메모리에 저장될 수 있으며, 혹은 프로그램들 혹은 데이터는 처리에 앞서, 장치의 본체로부터 제거될 수 있는 플로피 디스크(FD) 혹은 CD 롬과 같은 저장 매체로부터 읽혀질 수 있다. 또 하나의 대안으로서, 그러한 프로그램들 혹은 데이터는 공중 회선, 랜(LAN), 혹은 다른 통신 수단을 통해 다른 장치로부터 읽혀질 수 있다.
[생성된 분류목에 기초한 문자 인식 방법]
제2 실시예에서는, 전술한 실시예에서 기술된 처리 절차에 의해 생성된 분류목을 참조하여 온라인 수서 문자 인식 방법에 대한 설명이 주어질 것이다.
제9도는 처리 절차를 가장 잘 성명하는 순서도를 나타낸다.
제9도에서 참조 부호 301은 사용자에 의해 입력된 수서 스트로크 데이터를 표시한다. 수서 스트로크는 제1 실시예에 도시된 학습용 스트로크와 동일하다.
단계 S302는 수서 스트로크를 스트로크 세그먼트들로 분할하기 위한 단계이다.
단계 S303은 스트로크 세그먼트 벡터들을 생성하기 위한 단계이며, 전 단계의 처리로부터 기인한 스트로크 세그먼트들은 벡터로 변환된다.
단계 S304는 스트로크 세그먼트 벡터들을 생성하기 위한 전 단계에서 얻어진 벡터열을 사전에 계층화하기 위한 단계이다.
참조 부호 305는 사전 계층화 단계 처리된 계층화된 벡터열을 표시한다.
단계 S307은 분류목(306)에 의해 주어진 분류 데이터를 참조하여 계층화된 벡터열(305)에 따른 수서 스트로크(301)의 카테고리를 결정하는 카테고리 식별 단계이다.
분류목(306)은 카테고리들을 분류하기 위해 필요한 정보를 제공하는 분류목이다. 이것은 제1 실시예에서 기술된 방법을 사용하여 생성될 수 있는 분류목이어야 한다.
스트로크를 스트로크 세그먼트들로 분할하기 위한 단계 S102, 스트로크세그먼트 벡터들을 생성하기 위한 단계 S103, 및 사전 계층화를 위한 단계 S104에서 사용된 동일한 세 가지 형태의 처리가 스트로크를 스트로크 세그먼트들로 분할하기 위한 전술한 단계 S302, 스트로크 세그먼트 벡터들을 생성하기 위한 단계 S303, 및 사전 계층화를 위한 단계 S304를 위해 각각 사용된다.
제1 실시예에는 학습용 패턴 만큼 많은 계층화된 벡터열(305)이 존재하는 반면, 이 실시예에는 수서 스트로크로부터 도출된 단 하나의 벡터열이 존재한다.
카테고리 식별 단계 S307에서, 제8도에 도시된 분류목에 따라 계층화된 벡터열을 추적한 후에 하나의 잎에 도달할 때, 그 잎에 존재하는 카테고리는 인식 결과로 출력된다.
제13도는 실시예에 따른 온라인 수서 문자 인식 방법이 적용되는 정보 처리 장치의 메모리 내부 구조를 나타낸다. CPU(1301)는 제1도에 403으로 표시된 CPU에 대응한다. 이것은 후에 논의 될 메모리(1302)에 저장된 제어 프로그램들에 따라 이 실시예에 기술된 여러 형태의 처리를 수행한다. 후에 논의될 순서도에 의해 설명되는 처리를 수행하기 위한 제어 프로그램은 또한 메모리(1302)에 저장되며 CPU(1301)에 의해 실행된다.
메모리(1302)는 CPU(1301)가 여러 형태의 처리를 실행하기 위한 제어프로그램들을 저장하는 프로그램 영역(1302-1)과 여러 파라미터들과 데이터를 저장하는 데이터 영역(1302-2)을 갖고 있다. 프로그램 영역은, 예컨대 제9도에 도시된 순서도의 각 부분들을 서브루틴 프로그램으로 저장한다. 서브루틴 프로그램들은 스트로트를 스트로크 세그먼트들로 분할하기 위해 S302에서 사용되는 처리 프로그램, 스토로크 세그먼트들을 벡터들로 변환하기 위해 S303에서 사용되는 처리 프로그램, 사전 계층화를 위해 S304에서 사용되는 처리 프로그램, 및 카테고리를 식별하기 위해 S307에서 사용되는 처리 프로그램을 포함한다. 각 형태의 처리를 위한 이 서브루틴 프로그램들은 프로그램 영역(1302-1)에 저장된다. 후에 논의될 각각의 처리가 수행될 때, 제어 프로그램은 CPU(1301)가 처리를 수행하기 위해 필요로 할 때 메모리(1302)로부터 읽혀진다. 데이터 영역(1302-2)은 사용자에 의해 입력된 패턴을 저장하기 위한 버퍼, 입력된 패턴으로부터 얻어진 벡터 데이터의 피리미드형의 생성 패턴을 저장하기 위한 영역 및 입력 패턴의 인식 후보를 저장하기 위한 버퍼를 갖고 있다.
하드 디스크 드라이브(1303)는 전술한 실시예에서 기술된 방법에 의해 생성된 분류목에 관한 데이터를 저장한다.
메모리(1202)는 내장 롬, 램, 하드 디스크 등이 될 수 있다. 프로그램들과 데이터는 사전에 메모리에 저장될 수 있으며, 혹은 프로그램들 혹은 데이터는 처리에 앞서, 장치의 본체로부터 제거될 수 있는 플로피 디스크(FD) 혹은 CD 롬과 같은 저장 매체로부터 읽혀질 수 있다. 또 하나의 대안으로서, 그러한 프로그램들 혹은 데이터는 공중 회선, 랜(LAN), 혹은 다른 통신 수단을 통해 다른 장치로부터 읽혀질 수 있다.
따라서, 이 실시예에 따르면, 카테고리들간의 경합 관계를 성공적으로반영하는생성 스트로크 벡터 분류목을 사용함으로써 고속, 고인식비의 온라인 수서 문자 인식이 이루어질 수 있다.
[제2 실시예]
제2 실시예에서는, 학습용 패턴을 계층화하여 생성된 분류목에 따라 엔그램 테이블이 생성되는 일례가 설명될 것이다.
이 실시예에 따른 학습용 패턴의 계층화 과정에서, 학습용 패턴의 특징들이 단계적으로 축퇴될 것이다.
이 실시예에 따른 분류목의 생성에 있어서, 상위 계층에서의 카테고리들간의 가장 극심한 경합과 그 바로 아래 계층에서의 카테고리들간의 양호한 분리를 보장하는 벡터가 선택되며, 상기 축퇴된 변수는 하위 계층을 향해 전개된다.
이 실시예에서 학습용 스트로크는 분할되며, 분할에 기인한 스트로크 세그먼트들은 벡터로 변환되고, 기인한 벡터열은 피리미드형으로 계층화되어 계층화된 벡터열을 생성한다. 계층화된 벡터열은 분류목을 생성하기 위해 사용되며, 생성된 분류목에 따라 엔그램 테이블이 생성된다.
제2 실시예에 따른 사전 계층화 과정에, 학습용 스트로크를 구성하는 벡터열 정보는 단계적으로 축퇴된다.
이 실시예에 따른 분류목 생성 과정에 있어서, 상위 계층에서의 카테고리들간의 가장 극심한 경합과 그 바로 아래 계층에서의 카테고리들간의 양호한 분리를 보장하는 벡터가 선택된다. 그 결과를 기초로 하여, 축퇴된 벡터는 하위 계층들을 향해 전개된다.
또한, 이 실시예에서, 사용자에 의해 입력된 문장은 생성된 엔그램 테이블을 참조하여 인식된다.
첨부된 도면들과 관련하여, 본 발명의 제2 실시예에 따른 정보 처리 장치가 상세히 설명될 것이다.
[영상에 관한 예]
제14도는 아래의 본 발명의 전체 실시예에 포함된 패턴 인식 시스템이 적용되는 정보 처리 장치의 구조를 나타내는 블럭도이다.
패턴 인식 장치는 패턴 입력 장치(1401), 표시 장치(1402), 중앙 처리 장치(1403), 및 메모리(1404)로 구성된다.
패턴 입력 장치(1401)는, 예컨대, 온라인 문자 인식을 위해 적합한 경우, 디지타이저와 펜을 구비하고 있다. 이것은 펜을 사용하여 디지타이저 상에 그려진 문자 또는 그래픽 좌표 데이터를 CPU(1403)로 전달한다. 패턴 입력 장치는 이미지 형태로 인식될 패턴을 입력할 수 있는 한, 스캐너, 마이크로폰 등이 사용될 수 있다.
표시 장치(1402)는 패턴 입력 장치(1401)에서 입력된 패턴 데이터와 CPU(1403)에 의한 인식 결과를 표시한다.
CPU(1403)는 입력된 패턴을 인식하며, 모든 관련 장치를 제어한다.
메모리(1404)는 CPU(1403)에 의해 사용되는 인식 프로그램 혹은 사전을 저장하며, 또한 입력된 데이터, 인식 프로그램에 의해 사용되는 변수들 등을 임시적으로 저장한다.
제15도는 본 발명에 따른 실시예의 정보 처리 절차를 나타내는 개념도이다. 참조 부호 1501은 학습용 패턴을 나타내며, S1502는 학습용 패턴(1501)을 신경망에 적용하기 위한 사전 계층화 단계를 나타낸다. 참조 부호 1503은 신경망에 의해 처리된 계층화된 학습용 패턴을 나타낸다. 그리고, S1504는 계층화된 학습용 패턴(1503)에 따라 분류목을 생성하기 위한 단계를 나타낸다.
참조 부호 S1505는 분류목 생성 단계(S1504)에서 분류목을 생성하는 과정에 사용된 전개 변수들을 식별하기 위한 단계를 나타낸다.
참조 부호 S1506은 단계 S1504에서 수행된 처리에 의해 생성된 분류목을 나타낸다.
참조 부호 S1507은 문장 데이터베이스를 나타낸다. 문장 데이터베이스는 전반적으로 사용되는 다양한 문장 패턴을 포함한다. 문장 데이터베이스는 사전에 생상된 분류목을 사용하여 사전 확률을 결정하기 위해, 후에 논의될 엔그램 생성 단계에서 액세스된다.
참조 부호 S1508은 문장 데이터베이스(1507)와 분류목(1506)에 따라 엔그램 테이블(1509)을 생성하기 위한 엔그램 테이블 생성 단계를 나타낸다. 이 실시예에서 입력은 학습용 패턴(1501)과 문장 데이터베이스(1507)이며, 그 출력은 엔그램 테이블(1509)이다.
이제 제16도 내지 제20도을 참조하여 실시예에 따른 처리 절차가 상세히 기술될 것이다.
먼저, 16×16 메시(mesh)상에 입력 패턴으로 쓰여진 0에서 9까지의 10 개의 수자 패턴이 존재하는 것으로 가정한다. 0의 입력 패턴의 예가 제18도에 도시되어 있다.
사전을 생성하기 위해 0에서 9까지의 각각에 대해 100 개의 학습용 패턴이 존재한다. 이들은 다음과 같이 명명된다:
LTi,j(학습 템플릿 i, j)
여기서, i는 카테고리를 나타내는 아래 첨자를 표시하며, 그 값은 다음의 범위에 있다:
Figure kpo00020
여기서, j는 학습용 패턴 수를 나타내는 아래 첨자이며, 그 값은 다음의 범위에 있다:
Figure kpo00021
제16도에 도시된 바와 같은 4 계층 신경망이 구성된다.
제16도에 도시된 4 계층들은 각각 최상위 계층으로부터 최하위 계층에 이르기 까지 2×2, 4×4, 8×8, 및 16×16개의 신경 그룹들로 구성된다.
패턴 인식을 위한 사전을 생성하기 위한 방법은 3 단계, 즉 신경망 생성 단계, 분류목 생성 단계, 및 엔그램 테이블 생성 단계로 구성된다. 이들 각 단계는 제17도를 참조하여 순서대로 설명될 것이다.
(F171) 신경망 생성 단계
먼저, 학습용 템플릿이 제16도에 도시된 16×16 개의 신경의 최하위 계층에 입력된다. 이때, 입력 패턴(LTi,j)의 백색 부분에 있는 신경은 오프(OFF) 상태인 반면, 흑색 부분에 있는 신경은 온(ON) 상태인 것으로 가정한다. 이후, "흑색"은 신경이 온 상태인 것을 의미하며, "백색"은 신경이 오프 상태인 것을 의미한다.
신경망의 구조는 극히 간단하다. 2×2 신경의 하위 계층에 온 상태의 하나의 신경망이 존재하는 경우, 바로 위 계층의 하나의 신경도 온 상태이어야 한다.
이 규칙은 입력 패턴을 상향 처리하는데 적용된다.
제19도는 제18도에 도시된 학습용 템플릿상에 수행된 처리 결과를 나타낸다.
결과적으로, 입력 패턴의 특징 공간은 2256개의 상이한 데이터 조합을 갖는 256 차원의 초 3 차원 격자를 형성한다.
데이터 조합의 수는 제1 계층에서 24, 제2 계층에서 216, 및 제3 계층에서 264이 될 것이다.
신경망의 구조는 이에 제한되지 않는다.
(F172) 분류목 생성 단계
신경망 생성 단계(F171)에서, 모든 학습용 템플릿(LTi,j)이 생성되어 제16도에 도시된 신경망을 형성한다. 분류목은, 신경망 생성의 경우와는 반대로, 위에서 아래로 생성된다.
상기 규칙의 노드는 제16도에 도시된 최상위 계층(2×2) 위에 가상적으로 존재한는 신경과 함께 시작된다.
학습용 템플릿(LTi,j)의 생성의 결과, 제16도에 도시된 최상위 계층(2×2)의 몇몇 신경들은 온 상태가 된다. 즉, 완전한 백색 템플릿이 존재하지 않는 경우, 최상위 계층(2×2)은 완전한 오프 상태가 되지 않는다.
따라서, 가상적으로 존재하는 최상위 계층의 신경들은 모든 학습용 템플릿(LTi,j)에 관하여 온 상태가 된다.
최상위 계층(2×2)의 24=16 상태가 존재한다. 더욱 정확하게는, 전술한 바와 같이, 모든 신경들이 오프 상태가 되지 않기 때문에 15 상태가 존재한다. 따라서, 제20도에 도시된 바와 같이, 루트 노드로부터 16 가지들이 분기된다.
이때, 가지들에 존재하는 학습용 템플릿(LTi,j)의 수가 계산된다. 계산 결과에 따라, 아래 3 형태의 처리 중 하나가 수행될 것이다:
(1) 가지에 학습용 템플릿(LTi,j)가 존재하지 않는 경우, 그 가지는 제거된다.
(2) 학습용 템플릿(LTi,j)중에서 단 하나의 특정 카테고리(예컨대, "1")의 템플릿들이 존재하는 경우, 그 가지는 잎으로 설정되어 카테고리 번호(예컨대, "1")를 할당받는다.
(3) 위의 (1), (2)에 기술된 것과 다른 경우, 즉 복수의 카테고리들의 혼합되어 있는 경우, 그 가지는 노드로 설정되어 분류목의 생성을 계속한다.
제20도는 처리 결과를 나타낸다.
가지 상태는 제16도의 최상위(제1) 계층의 신경들의 온/오프 상태를 보임으로써 표시된다. 특히, 흑색 부분은 온 상태의 신경들을 나타내며, 백색 부분은 오프 상태의 신경들을 나타낸다.
카테고리형을 나타내는 열에서 "X" 로 표시된 가지들은 학습용 템플릿(LTi,j)이 존재하지 않는 경우 (1)에 대응하며, 따라서 이들은 제거된다.
엄격히 말하면, 최좌측 가지는 루트로부터 연장되지 않는다.
좌측으로부터 8 번째 가지는 카테고리 1의 학습용 템플릿들만을 갖고 있다. 이것은 단 하나의 특정 카테고리(예컨대, "1")의 템플릿들만이 존재하는 경우 (2)에 대응하기 때문에, 그 가지는 잎으로 변환된다.
예컨대, 좌측으로부터 12 번째 가지는 카테고리들 2, 4, 5 및 6 의 학습용 템플릿들을 갖고 있다. 이것은 (1) 또는 (2)의 경우라기 보다는 (3)의 경우, 즉 복수의 카테고리의 템플릿들이 혼합된 경우에 대응한다. 따라서, 이 가지는 노드를 형성한다.
다음에 노드로부터 가지들을 생성하는 방법이 설명될 것이다.
노드로부터 가지들을 생성하는 가장 효율적인 방법이 설명될 것이다. 가장 효율적인 방법은 가지들이 생성될 때 카테고리들에 관하여 가능한 한 많은 정보가 얻어질 수 있도록 해야 한다.
일반적으로, 그와 같은 조건하에 가지들을 생성하기 위한 많은 방법들이 존재하여 어느 것을 채택할 것인가를 결정하기 어렵다. 지금까지 이것은 인식을 위해 사용되는 분류목의 성공적인 생성에 대한 장애가 되어 왔다.
노드로부터 생성되는 가지들을, 생성된 온 상태의 신경들이 그 노드의 하위 계층들을 형성하는 단 하나의 가지로 제한하기 위한 시도가 이루어질 것이다.
예컨대, 제20도에 도시된 좌측으로부터 12 번째 가지의 경우, 3 개의 신경, 즉 제16도에 도시된 제1 계층의 최상 좌측, 최하 좌측 및 최하 우측 신경들중 하나가 선택되며, 선택된 신경 아래의 신경들의 상태, 즉 제16도의 제2 계층의 최하부의 4 개의 신경들의 상태에 관련된 가지가 생성된다. 이것은 가지 생성에 필요한 계산 시간의 현저한 감소를 가능하게 한다. 또한, 그러한 제한은 기본적으로, 생성될 분류목의 분류 능력에 대한 심각한 손상을 초래하지 않는다.
이제, 노드에서 온 상태에 있는 신경들중에서 가장 높은 생성 효율을 가능하게 하는 신경을 선택하는 방법에 대한 설명이 주어질 것이다.
특정 노드에 존재하는 학습용 템플릿(LTi,j)중에서 카테고리 1번의 학습용 템플릿의 수는 Ni로 표시된다. 노드에 존재하는 학습용 템플릿의 전체 수가 N으로 표시될 때, 노드에서 각 카테고리의 존재 확률은 다음과 같이 나타낼 수 있다:
pi = Ni/N
여기서,
Figure kpo00022
따라서, 노드에 관한 정보가 얻어질 때의 엔트로피는 다음의 식으로 나타나게 된다.
Figure kpo00023
그 다음, 노드에서 온 상태에 있는 신경들중 하나가 선택되며, 이로부터 가지가 생성될 때의 엔트로피 감소가 계산된다.
전술한 바와 같이, 하위 계층들을 향해 단일 신경으로부터 전개된 가지들의 수는 16 개이다. 16 개의 가지들 사이에서의 학습용 템플릿(LTi,j)의 분포는 생성된 가지들에 존재하는 학습용 템플릿(LTi,j)의 수에 의해 표시된다. 즉;
Ni,b
여기서, Ni,b의 i는 카테고리 번호를 나타내며, b는 가지 수를 나타낸다.
이때, 각 가지에 관한 정보가 얻어지는 엔트로피는 전술한 경우와 같이 다음식으로 나타난다:
Figure kpo00024
이 식에서,
Figure kpo00025
는 가지들에 존재하는 학습용 템플릿(LTi,j)의 전체 수를 나타낸다.
각 가지로의 분포 확률은 다음과 같다:
Nb/N
여기서, N은 식(6)의 N과 동일하며, 따라서 가지들이 생성될 때의 평균 엔트로피는 다음 식으로 나타난다:
Figure kpo00026
엔트로피의 평균 감소는 다음과 같다:
엔트로피 감소 = 노드 엔트로피 - 평균 가지 엔트로피 ㆍㆍㆍ 식(9)
아래에 나타난 바와 같이, 식(9)의 값을 가지수로 나누어 얻어어지는 값은 가지들이 생성될 때의 분류 효율을 나타낸다:
엔트로피 감소/가지수 ㆍㆍㆍ 식(10)
이 값에 최대값을 부여하는 신경이 가지들을 생성하기 위해 선택된다.
가지들은 단 하나의 신경을 생성하기보다는 다수의 신경들의 그룹에 관련하여 생성될 수 있다.
이 경우, 식(10)의 가지수는 신경들의 수에 16을 곱하여 얻어질 것이다. 기술적으로, 생성에 수반되는 하위 계층들의 모든 신경들이 오프 상태인 상태를 기대하는 것은 불가능하다. 따라서, 가지수는 신경들의 수에 15가 곱해진 수가 될 것이다.
이 실시예에서, 식(10)에서 얻어진 값은 가지들이 생성될 때 분류 효율을 나타내는 값으로 채택된다. 그러나, 그 값이 "분류목 및회귀목"이라는 제목의 논문에 기술된 "Ginicriterion"과 같은 가지들의 생성 효율을 나타내는 함수인 경우, 식(10)에 의해 얻어진 것에 제한되지 않음이 명백하다.
따라서, 생성될 하나의 신경 혹은 신경들의 세트가 결정되면, 가지들이 생성되며, 이에 따라 노드들이 생성된다.
최종적으로, 모든 신경들이 잎들로 변환될 때, 분류목이 완성된다.
제8도는 실제로 생성된 분류목의 내용을 나타낸다.
제8도는 제7도의 세부 사항들을 더 많이 제공한다. 여기에는 제거된 가지들이 빠져 있다. 제8도에서 원 안의 가지들은 이들이 잎이라는 것을 나타낸다.
잎이 아닌 모든 다른 가지들은 노드로 변환될 것이다. 따라서, 더 많은 가지 생성이 이루어진다. 제21도는 우측으로부터 3 번째 노드에만 관련된 추가적인 가지 생성의 결과를 나타낸다.
우측으로부터 3 번째 노드에는, 가지들의 생성을 요구하는 3 가지 형태의 카테고리들, 즉 "1", "7", 및 "9"가 공존한다. 제1 계층의 최상 우측 신경은 전개 변수를 식별하기 위한 단계 S1505(제15도)에서 주어진 결과로서 제1 계층에서 생성되도록 선택된 것으로 가정한다.
그 다음, 24=16 개의 가지들이 최상 우측 신경의 상태에 관하여 제20도에 도시된 경우와 같이 생성되며, 몇몇 가지들은 제거되고, 몇몇 가지들은 잎으로 변환되며, 몇몇 가지들은 노드로 변환된다.
노드로 변환된 가지들은 모든 가지들의 단부가 잎으로 변환될 때까지 더욱 전개되어야 한다.
제21도에서, 설명을 명백히 하기 위해, 제1 계층과 제2 계층은 우측으로부터 3 번째 노드의 생성 결과를 보이기 위해 중첩되어 있다. 실제적으로, 이러한 상태들은 제16도에 도시된 신경망의 제1 계층의 4 개의 신경과 제2 계층의 4 개의 최상 우측 신경에 의해 표시된다.
(F173) 엔그램 테이블 생성 단계
제21도에 도시된 바와 같이, 분류목 생성 단계(F172)의 결과로서 얻어진 분류목의 제1 계층은 인식될 모든 카테고리들의, 상기 계층의 형태를 기초로 한 일반 분류와 동일하다.
따라서, 일반 분류에서 카테고리 그룹에 따라 엔그램을 생성하는 것은 더 작은 데이터베이스에 대해 고신뢰성의 상태 전이 확률을 제공해야 한다. 이 경우, 일반 분류에서의 카테고리 그룹들은 가상 카테고리 그룹으로 간주된다.
그러나, 분류목 생성 단계의 결과로서 얻어진 분류목의 제1 계층은 항상 배타적인 것은 아니라는 점에 주목해야 한다.
예컨대, 제21도에서, 카테고리 1은 4 개의 가지들 혹은 노드들에 존재한다. 이러한 현상은 일반적으로, 예컨대, "결정목 분류자 방법에 대한 조사"(IEEE Transactions on Systems, Man, Cybernetics vol. 21, No. 3, May/June 1991)라는 제목의 논문에서 참조된 "오버랩 클래스들(overlap classes)"로 알려져 있다.
"오버랩 클래스들"을 배타적으로 만드는 방법이 있다: 특정 카테고리의 가장 높은 존재 확률을 가는 가지가 그 카테고리에 전용화된 가지로서 설정된다. 이제 제21도를 참조하면, 카테고리 1의 존재 확률이 좌측으로부터 2 번째 가지에서 최고가 되는 경우, 좌측으로부터 제1, 제3, 및 제6 번째 가지들에 존재하는 카테고리 1은 무시된다.
이렇게 생성된 일반 분류의 카테고리 그룹들의 예가 제22도에 도시되어 있다.
제22도에서, 원 안의 번호로 표시된 카테고리들은 최고의 존재 확률을 갖고 있다.
예컨대, 도표에 따르면, 좌측으로부터 카테고리 1은 제1 카테고리 그룹을 형성하고, 카테고리 4와 6은 제2 카테고리 그룹을 형성하며, 카테고리 7과 9는 제3 카테고리 그룹을 형성하고, 카테고리 0, 2, 3, 5, 및 8은 제4 카테고리 그룹을 형성한다. 결과적으로, 최초 10 개의 카테고리는 4 개의 그룹으로 감소된다. 이러한 4 개의 그룹은 엔그램을 생성하기 위한 새로운 가상 카테고리 그룹으로 사용된다.
이렇게 생성된 엔그램 테이블은, 이것이 분류목 생성 단계에 의해 얻어진 분류목의 정보를 사용하여 생성되었지만, 범용 문장 인식 알고리즘에 통합될 수 있다. 이것은, 엔그램 테이블이 문장의 사전 확률을 결정하기 위하여 사용될 수 있으며 전술한 분류목을 사용하지 않고 사후 확률을 결정하기 위해 완전히 다른 인식 알고리즘이 사용될 수 있다는 것을 의미한다.
명백하게도, 엔그램 테이블은 문장을 구성하는 패턴 형태의 모든 조합을 포함하는 모든 패턴의 사전 확률을 결정하기 위하여 엔그램 테이블을 사용하여 문장의 사전 확률을 결정함으로써 문장 인식을 위한 DP 매칭 혹은 완전 검색 알고리즘과 같은 공지된 알고리즘으로 생성될 수 있다.
위의 설명에 있어서, 분류목의 제1 계층은 일반 분류목 카테고리로 간주된다. 그러나, 일반 분류 카테고리 그룹은 최대 n 번째 계층까지 어떤 수의 계층들로도 구성될 수 있다.
[스트로크에 관한 예]
제23도는 제2 실시예에 따른 처리 절차를 나타낸다.
참조 부호 2301은 학습용 스트로크를 나타낸다. 스트로크 분할 단계 S2302에서, 학습용 스트로크는 다수의 스트로크 세그먼트들로 분할된다.
스트로크 세그먼트를 벡터로 만들기 위한 단계 S2303에서, 스트로크 분할 단계 S2303로부터 기인한 스트로크 세그먼크는 벡터로 양자화된다.
사전 계층화 단계 S2304에서, 스트로크를 벡터로 만들기 위한 단계 S2303의 결과로서 얻어진 벡터열은 계층화되어 계통화된 벡터열(2303)을 생성한다. 이 과정은 후에 상세히 논의될 것이다.
분류목 생성 단계 S2306에서, 분류목(2308)이 계층화된 벡터열(2305)에 따라 생성된다.
전개 벡터를 식별하기 위한 단계 S2307이 분류목 생성 단계 S2306에서 분류목을 생성하는 과정에서 수행된다.
엔그램 테이블 생성 단계 S2310에서, 문장 데이터베이스(2309)와 분류목(2308)에 따라 엔그램 테이블(2311)이 생성된다.
제23도에 도시된 처리 순서도에서 입력은 학습용 패턴, 즉 학습용 스트로크(2301)와, 문장 데이터베이스(2309)이며, 출력은 하나의 엔그램, 즉 상기 엔그램(2311)이다.
이제 제24도를 참조하여 엔그램 생성 방법이 상세히 설명될 것이다.
보다 쉬운 이해를 위해, 각각 하나의 스트로크로 입력되는 "구", "시", "쯔"라 읽는 3 개의 다른 문자
Figure kpo00027
가, 인식될 카테고리들을 나타내는 예로서 주어진다.
사전을 생성하기 위해,
Figure kpo00028
각각에 대하여 1백 개의 패턴이 존재하는 것으로 가정한다. 이 패턴들은 아래와 같이 표시된다:
TPi,j(학습용 패턴 i, j)
여기서, i는 카테고리를 표시하는 아래 첨자이며, 다음과 같은 범위의 값을 갖는다:
Figure kpo00029
j는 학습용 패턴 번호를 나타내는 아래 첨자를 나타내며, 다음과 같은 범위의 값을 갖는다:
Figure kpo00030
제23도에 도시된 순서도에 의해 설명되는 바와 같이, 온라인 수서 문자 인식을 위한 사전을 생성하는 과정은 4 단계, 즉 벡터 생성 단계, 사전 계층화 처리 단계, 분류목 생성 단계 및 엔그램 테이블 생성 단계로 구성된다. 벡터 생성 단계, 사전 계층화 처리 단계, 및 분류목 생성 단계는 제3도를 참조하여 제1 실시예에서 설명된 것과 동일하다. 따라서, 엔그램 테이블 생성 단계만이 설명될 것이다.
(F24) 엔그램 테이블 생성 단계
(F3) 분류목 생성 단계에서 기술된 바와 같이 생성된 분류목에 따라 엔그램 테이블이 생성될 것이다.
위에 기술된 엔그램의 각 요소의 단위는 하나의 문자로 구성된 워드였다. 그러나, 그 단위는 하나의 워드 등으로 구성된 구(clause)일 수도 있다는 것은 명백하다.
본 발명은 다수의 유닛들로 구성된 시스템이나 단일 유닛으로 구성된 장치에 적용될 수있다.
명백하게도, 본 발명의 목적은 전술한 실시예들의 기능을 수행하기 위한 소프트웨어의 프로그램 코드가 저장된 저장 매체를 시스템 혹은 장치에 제공하여 시스템 혹은 장치의 컴퓨터, CPU, 혹은 MPU가 저장 매체로부터 프로그램 코드를 읽어 들여 이들을 실행하게 함으로써 이루어질 수 있다.
이 경우, 저장 매체로부터 읽혀진 프로그램 코드 자체는 실시예들의 기능을 수행하며, 프로그램 코드를 저장하는 저장 매체가 본 발명을 구성하게 된다.
프로그램 코드를 제공하기 위한 저장 매체는 플로피 디스크, 하드 디스크, 광 디스크, 광자기 디스크, CD 롬, CD 램, 자기 테이프, 비휘발성 메모리 카드, 롬 등이 사용될 수 있다.
명백하게도, 본 발명은 또한, 컴퓨터에 의해 읽혀진 프로그램 코드의 실행이 전술한 실시예들의 기능을 수행하며 컴퓨터상에서 실행되는 운영 체제(OS) 등이 프로그램 코드의 명령에 따라 실제 처리의 일부 혹은 전체를 이행하여 전술한 실시예들의 기능을 완수하는 경우를 포함한다.
또한, 본 발명은 또한, 저장 매체로부터 읽혀진 프로그램 코드가 컴퓨터에 삽입된 기능 확장 보드 혹은 컴퓨터에 접속된 기능 확장 유닛에 제공된 메모리에 저장되고 기능 확장 보드 혹은 기능 확장 유닛에 제공된 CPU가 프로그램 코드의 명령에 따라 실제 처리의 일부 혹은 전부를 실행하여 전술한 실시예들의 기능을 완수하는 경우도 포함한다는 것은 명백하다.
본 발명이 전술한 저장 매체에 적용될 때, 전술된 순서도에 대응하는 프로그램 코드가 저장 매체에 저장된다. 설명을 간단히 하기 위하여, 제25도에 주어진 메모리 맵의 예로 도시된 각각의 모듈들이 저장 매체에 저장된다.
보다 상세하게는, 적어도 다음과 같은 모듈들의 프로그램 코드가 저장 매체에 저장된다. 이를 모듈은 단계 S1502 혹은 S2304를 위한 사전 계층화 처리 모듈; 단계 S1504 혹은 S2306의 처리를 위한 분류목 생성 모듈; 단계 S1505 혹은 S2307를 위한 전개 변수 식별 모듈; 단계 S1508 혹은 S2310을 위한 엔그램 테이블 생성 모듈; 단계 S2302를 위한 스트로크 분할 모듈; 및 단계 S2303을 위한 벡터 생성 모듈이다.
따라서, 본 발명에 따르면, 문장을 구성하는 패턴의 카테고리의 일반 분류로 부터 기인한 그룹들을 기초로 하여 엔그램 테이블을 생성함으로써 보다 작은 데이터베이스를 사용할 때조차도 고신뢰성의 엔그램 테이블이 생성될 수 있다는 장점이 제공된다.
패턴 형태의 유사성이 성공적으로 반영되어 문장의 고인식비가 가능하도록 카테고리들의 그룹화가 수행되는 또 하나의 장점이 있다.
[제3 실시예]
제3 실시예에서는, 입력 패턴으로부터 도출된 서브 패턴들이 계층화되어 분류목을 생성하는 예가 설명될 것이다.
본 발명의 바람직한 실시예가 첨부된 도면을 참조하여 설명될 것이다.
<영상에 관한 예>
제26도는 본 발명에 따른 아래의 모든 실시예들에 관련한 정보 처리 장치의 구성을 나타내는 블럭도이다.
상기 장치는 패턴 인식 장치(2601), 표시 장치(2602), 중앙 처리 장치(2603), 및 메모리(2604)로 구성된다.
예컨대, 패턴 입력 장치(2601)는, 이것이 온라인 문자 인식을 위한 것인 경우, 디지타이저와 펜을 구비하고 있다. 이 장치는 펜을 사용하여 디지타이저에 입력된 문자 혹은 그래픽에 관한 좌표 데이터를 CPU(2603)로 전송한다. 패턴 입력 장치는 영상을 광학적으로 읽기 위한 스캐너, 음성을 수신하기 위한 마이크로폰, 혹은 인식될 패턴을 수신하는 모든 다른 수단일 수 있다. 이러한 입력 수단을 통해 입력된 패턴은 통신 수단을 통해서도 입력될 수 있다. 표시 장치(2602)는 패턴 입력 장치(2601)를 통해 입력된 패턴 데이터와 CPU(2603)에 의해 주어진 인식 결과를 표시한다. 이것은 CRT, LCD 등일 수 있다. CPU(2603)는 주로 입력 패턴을 인식하며 모든 구성 장치들을 제어한다. 메모리(2604)는 인식 프로그램과 CPU(2603)에 의해 사용되는 사전을 저장하며, 입력 패턴과 인식 프로그램에 의해 사용되는 변수 등을 일시적으로 저장한다.
제27도는 실시예의 기능 구성을 가장 잘 나타내는 도표이다. 참조 부호 2701은 학습용 패턴을 나타내고, 2702는 학습용 패턴을 각각의 서브 패턴으로 절단하기 위한 서브 패턴 추출기를 나타내며, 2703은 서브 패턴을 피라미드형으로 전개하기 위한 사전 계층화 처리기이고, 2704는 계층화된 학습용 서브 패턴이며, 2705는 계층화된 학습용 서브 패턴에 따라 분류목을 생성하는 분류목 생성기이고, 2706은 분류목을 생성하기 위한 분류목 생성기에 의해 사용되는 전개 변수 식별기를 나타내며, 2707은 분류목 생성기에 의해 생성된 분류목을 나타낸다. 이러한 본 발명의 양태에서 입력은 학습용 패턴이며 출력은 분류목이다.
제28도는 실시예에 따른 온라인 수서 문자 인식 방법이 적용되는 정보 처리 장치의 메모리 내부 구조를 나타낸다. 제26도에서 2603으로 표시된 것과 동일한 CPU(2801)는 후에 논의될 메모리(2802)에 저장된 제어 프로그램에 따라 실시예에서 기술되는 여러 종류의 처리를 수행한다. 후에 논의될 순서도에 의해 도시된 처리는 메모리(2802)에 저장된 처리를 위한 제어 프로그램에 따라 CPU(2801)에 의해 수행된다.
메모리(2802)는 CPU(2801)가 여러 형태의 처리를 실행하기 위한 제어 프로그램들을 저장하는 프로그램 영역(2802-1)과, 여러 파라미터들과 데이터를 저장하는 데이터 영역(2802-2)을 갖고 있다. 프로그램 영역은, 예컨대, 제33도에 도시된 순서도의 각 부분들을 서브루틴 프로그램으로 저장한다. 서브루틴 프로그램들은 참조 노드의 상태를 식별하는 단계 S1001를 위한 처리 프로그램, 노드를 제거하는 단계 S1002에서 사용되는 처리 프로그램, 잎 노드를 위한 단계 S1005에서 사용되는 처리 프로그램, 적절한 신경을 선택하는 단계 S3306에서 사용되는 처리 프로그램, 신경들의 가지를 생성하는 단계 S1007에서 사용되는 처리 프로그램, 및 생성된 분류목을 사용하여 입력 패턴을 인식하기 위한 프로그램을 포함한다. 이러한 형태의 처리를 위한 서브루틴들은 프로그램 영역(2802-1)에 저장된다. 후에 논의될 각각의 처리가 수행될 때, 처리를 위한 제어 프로그램은 메모리(2802)로부터 읽혀져 CPU(2801)에 의해 실행된다. 데이터 영역(2802-2)은 학습용 패턴을 임시적으로 저장하기 위한 학습용 패턴 버퍼, 피라미드형으로 전개된 학습용 패턴을 저장하기 위한 영역, 및 생성되고 있는 분류목을 저장하기 위한 분류목 버퍼를 갖고 있다.
하드 디스크 드라이브(2803)는 모든 학습용 패턴을 저장하며, 또한 이 실시예에서 기술된 방법에 의해 생성된 분류목에 관한 데이터를 저장한다. 분류목에 관한 데이터는 제34도에 도시된 분류목에 의해 지시된 경로를 추적하는 것을 가능하게 한다.
메모리(2802)는 내장 롬, 램, 하드 디스크 등이 될 수 있다. 프로그램들과 데이터는 사전에 메모리에 저장될 수 있으며, 혹은 프로그램들 혹은 데이터는 처리에 앞서, 장치의 본체로부터 제거될 수 있는 플로피 디스크(FD) 혹은 CD 롬과 같은 저장 매체로부터 읽혀질 수 있다. 또 하나의 대안으로서, 그러한 프로그램들 혹은 데이터는 공중 회선, 랜(LAN), 혹은 다른 통신 수단을 통해 다른 장치로부터 읽혀질 수 있다.
HDD(2803)에 저장된 분류목을 사용하여 인식될 패턴을 입력하기 위하여 입력 장치(2804)가 사용된다. 광학적으로 입력된 학습용 영상 패턴을 사용하여 생성된 분류목을 참조함으로써 영상 패턴을 인식하기 위하여 스캐너가 사용될 수 있다. 펜을 사용하여 입력된 스트로크 데이터를 인식하기 위하여 펜 및 디지타이저 혹은 터치 패널이 사용될 수 있다. 혹은 음성 데이터를 인식하기 위하여 마이크로폰이 사용될 수 있다.
이러한 인식 데이터는 명백히, 입력 장치를 통해 직접 입력되는 것 외에 공중 회선, LAN 등을 거쳐 다른 장치의 전술한 입력 장치를 통해 입력될 수 있다.
제29도 내지 제33도을 참조하여 본 발명의 동작이 설명될 것이다.
먼저, 입력 패턴으로서, 8×8 메시상에 쓰여진 0부터 9까지의 10 개의 수자들(카테고리들)이 취해진다. 0의 입력 패턴은 제31도의 최하부에 나타나 있다.
사전을 생성하기 위해 0에서 9까지의 각각에 대해 100 개의 학습용 패턴이 존재한다고 가정한다. 이것은 총 10 개의 카테고리가 존재하기 때문에 총 1000 개의 학습용 패턴이 존재한다는 것을 의미한다. 이들은 LTi,j (학습 템플릿 i, j)로 명명되는데, 여기서 i 는 카테고리를 나타내는 아래 첨자를 표시하며, 그 값은 0 ≤ i ≤ 9의 범위에 있으며 j는 학습용 패턴 수를 나타내는 아래 첨자이며, 그 값은 1 ≤ j ≤ 100의 범위에 있다:
실시예에 따른 패턴 인식을 위한 사전을 생성하는 방법은 3 단계, 즉 서브 패턴을 도출하기 위한 단계, 프라미드형 전개를 위한 단계, 및 분류목 생성 단계로 구성된다. 이러한 단계들은 제29도에 주어진 순서도를 참조하여 순서대로 설명될 것이다.
(F2901) 서브 패턴 추출 단계
서브 패턴 추출 단계 F2901에서, 학습용 패턴(400)은 제30도에 도시된 바와 같은 서브 패턴으로 분할되어, 서브 패턴들이 추출된다. 제30도는 학습용 패턴(400), 즉 총 9 개의 3×3 서브 패턴으로 분할되어 추출된 알파베트 "A"를 나타낸다. 서브 패턴들은 제30도에 도시된 바와 같이 오버랩되는 방식으로 추출될 수 있으며, 혹은 이들은 오버랩되지 않을 수도 있다. 서브 패턴들은 메모리(2802)에 저장된 서브 패턴 추출 규칙에 따라 추출된다.
제31도와 서브 패턴을 추출하는 단계를 상세히 나타내고 있다. 제31도는 학습용 패턴의 중심 부분, 즉 기록된 수자 0이 추출되는 과정을 나타낸다. 중심 부분은 제30도에 도시된 3×3 서브 패턴중의 서브 패턴 401과 동일한 것으로 고려될 수 있다.
제31도에서, 학습용 패턴(501)은 8×8 비트 맵으로 표시되며, 4×4 비트맵 으로 표시된 총 9 개의 3×3 서브 패턴이 추출된다.
(F2902) 피라미드형 전개 단계
서브 패턴 추출 단계 F2902에서 추출된 9 개의 서브 패턴들 각각은, 제31도에 도시된 바와 같이, 3 개의 계층들(502,503,504)을 피라미드형으로 만들 것이다. 제31도에서, 최상위 계층(504)은 1×1 신경 그룹으로 구성되고, 중간 계층(503)은 2×2 신경그룹으로 구성되며, 최하위 계층(502)은 4×4 신경 그룹으로 구성된다.
추출된 학습용 서브 패턴이 먼저 제31도에 도시된 4×4 신경의 최하위 계층으로 입력된다. 이때, 입력 패턴(LTi,j)(501)의 백색 부분에 있는 신경들은 오프 상태이며 흑색 부분에 있는 신경들은 온 상태이다. 이후, "흑색"은 신경이 온 상태인 것을 의미하며, "백색"은 신경이 오프 상태인 것을 의미한다.
피라미드 구조는 극히 간단하다. 하위 계층은 2×2 신경들중에 온 상태의 신경이 존재하는 경우, 상기 하위 계층의 바로 위의 계층의 하나의 신경은 온 상태이어야 한다. 제31도에서, 서브 패턴(502)에서 신경들(505 내지 508)중에서 2 개의 신경들(507,508)은 온 상태이다. 따라서, 신경들(507,508)에 대응하는 신경(509)도 온 상태이다. 이러한 규칙은 입력 패턴을 상향 처리하는데 적용된다. 그러나, 피라미드 구조 또는 규칙은 이에 제한되지 않는다. 하나의 대안으로서, 흑색 신경이 1로 계산될 수 있으며, 평균값이 문턱값을 초과할 때, 상위 신경은 온 상태로 바뀌며, 혹은 상위 신경의 상태가 다수의 하위 신경들의 상태에 의해 결정되는 한 다른 규칙이 적용될 수 있다.
하위 신경들의 상태에 따라 상위 신경들의 상태를 결정하기 위한 처리는 서브 패턴을 구성하는 모든 신경들에 대해 수행되며, 이러한 처리는 모든 서브 패턴들에 대해 반복된다.
(F2903) 분류목 생성 단계
모든 학습용 패턴(LTi,j)은, 제31도에 도시된 바와 같이, 피라미드형 전개 단계(F2902)에서 피라미드형으로 전개된다. 분류목은 위에서 아래로, 즉 피라미드형 전개 방향의 반대 방향으로 생성된다.
루트 노드는 제31도의 최상위 계층의 1×1 신경과 함께 시작된다.
학습용 서브 패턴(LTi,j)의 피라미드형 전개의 결과, 제31도의 제2 계층의 2×2 패턴(503)의 하나의 신경 혹은 신경들은 온 상태이어야 한다. 그 이유는 제2 계층(2×2)의 모든 신경들이, 실시예에 사용된 규칙에 따라 완전 백색의 서브 패턴이 존재하지 않으면, 오프 상태로 변환되지 않기 때문이다. 그러므로, 최상위 계층(1×1)의 신경 상태는 모든 학습용 서브 패턴(LTi,j)에 관하여 온 상태이다.
제2 계층(2×2)에는 16(24) 상태가 존재한다(엄격히 말하면, 전술한 바와 같이, 모든 신경이 오프 상태인 상태는 존재하지 않기 때문에 15 상태가 존재한다). 따라서, 제32도에 도시된 바와 같이, 루트 노드로부터 16 개의 가지들이 연장된다.
제32도에 도시된 가지들의 상태는 흑색 영역이 온 상태를 나타내고 백색 영역이 오프 상태를 나타내는 제31도에 도시된 제2 계층의 신경 그룹의 온 상태를 보임으로써 나타난다.
카테고리형을 나타내는 열에서 "X"로 표시된 가지들은 학습용 서브 패턴(LTi,j)이 존재하지 않는 경우 1에 해당하며, 따라서 이 들은 제거된다. (엄격히 말하면, 최좌측 가지는 루트로부터 연장되지 않는다.)
좌로부터 8 번째 가지는 카테고리 1의 서브 패턴들만을 갖고 있다. 이것은 학습용 서브 패턴(LTi,j)에서 하나의 특정 카테고리(예컨대, "1")의 서브 패턴들만이 존재하는 경우 2에 해당하기 때문에 그 가지는 잎으로 변환된다.
예컨대, 우로부터 5 번째 가지는 카테고리들(4,5,6)의 학습용 서브 패턴들을 갖고 있다. 이것은 1 혹은 2의 경우와 다른 경우, 즉 복수의 카테고리들의 서브 패턴들이 존재하는 경우 3에 해당한다. 따라서, 이 가지는 노드로 변환된다.
분류목을 생성하기 위한 처리는 제33도에 주어진 순서도에 의해 설명된다. 제35도에 도시된 바와 같이, 분류목을 생성하는 절차가 아래에 설명될 것이다. 단계 S1000 내지 S1005는 제10도에 관련하여 기술된 제1 실시예의 단계들과 동일하다. 따라서,단계 S3306 내지 S3308만이 설명될 것이다.
단계 S3306에서, 노드에 포함된 신경들중 하나가 엔트로피 표준에 따라 선택된다.
단계 S3307에서, 선택된 신경의 하위 계층의 신경 센트의 가지가 생성된다.
제34도는 상기 단계에서 수행된 처리를 나타낸다. 이것은 최상 좌측 신경 선택되었을 때 하위 계층의 신경 세트의 예를 나타낸다.
제34도를 참조하면, 신경(900)은 단계 S3306에서 선택된 신경인 것으로 가정한다. 선책된 신경에 대응하는 하위 계층의 신경 상태들의 15 개의 상이한 조합이 존재한다. 즉, 하위 계층에 대해 15 개의 상이한 패턴들이 존재한다. 이러한 조합들의 각각은 가지를 생성하기 위한 새로운 노드를 제공한다.
단계 S3307에서 수행된 처리에 대한 설명이 주어졌다.
그 다음, 프로그램은 단계 S3308로 진행하는데, 여기서 프로그램은 생성된 가지들의 노드들중 하나를 다음 참조 노드로 설정한다. 단계 S3308에서, 프로그램은 참조 노드를 이동시키며, 단계 S1001로 복귀하여 동일한 처리를 반복한다.
진술한 절차에 따라, 제35도에 도시된 바와 같은 분류목을 생성하는 것은, 많은 특징들을 가진 패턴들의 일반 분류를 유지하면서 유사한 카테고리들간의 상세한 특징 차이들을 반영하는 분류목을 생성하는 것을 가능하게 한다. 생성된 분류목을 참조하여 고인식비와 더불어 문자의 고속 인식이 이루어질 수 있다.
다음에 노드로부터 가지를 생성하는 방법이 기술될 것이다.
노드로부터 가지들 생성하는 방법이 설명될 것이다. 위의 설명은 최상 좌측 신경이 선택된 경우에 대해 이루어졌다. 자연히, 노드로부터 가지를 생성하는데 있어서 가장 효율적인 가지 생성을 완수하려는 노력이 이루어진다. 가지가 생성될 때 카테고리들에 관하여 가능한 한 많은 정보를 얻을 수 있도록 하는 신경들을 선택함으로써 고효율이 달성된다.
일반적으로, 그러한 조건하에 가지를 생성하는 많은 방법들이 존재하기 때문에 어느 방법을 선택할 것인가를 결정하기 어렵다. 따라서 이것은 인식을 위해 사용되는 분류목의 성공적인 생성에 대한 장애가 되어 왔다.
노드로부터 생성되는 가지들을, 온 상태의 신경들이 그 노드의 하위 계층들을 형성하는 단 하나의 가지로 제한하기 위한 시도가 이루어질 것이다. 예컨대, 제32도에 도시된 우측으로부터 5 번째 가지의 경우, 3 개의 신경, 즉 제31도에 도시된 제2 계층의 최상 좌측, 최하 좌측 및 최하 우측 신경들중 하나가 선택되며, 제31도에 도시된 선택된 신경 아래의 제3 계층의 최하부의 4 개의 신경들의 상태에 관련된 가지들이 생성된다.
이것은 가지 생성에 필요한 계산 시간의 현저한 감소를 가능하게 한다. 또한, 그러한 제한은 기본적으로, 생성될 분류목의 분류 능력에 대한 심각한 손상을 초래하지 않는다.
이제, 노드에서 온 상태에 있는 신경들중에서 가장 높은 생성 효율을 가능하게 하는 신경을 선택하는 방법에 대해 설명이 주어질 것이다.
특정 노드에 존재하는 학습용 템플릿(LTi,j)중에서 카테고리 1번의 학습용 템플릿의 수는 Ni로 표시된다. 노드에 존재하는 학습용 템플릿의 전체 수가 N으로 표시될 때, 그 노드에서 각 카테고리의 존재 확률은 다음과 같이 나타낼 수 있다:
pi = Ni/N
여기서,
Figure kpo00031
따라서, 노드에 관한 정보가 얻어질 때의 엔트로피는 다음의 식으로 나타나게 된다:
Figure kpo00032
그 다음, 노드에서 온 상태에 있는 신경들중 하나가 선택되며, 이로부터 가지가 전개될 때의 엔트로피 감소가 계산된다.
전술한 바와 같이, 하위 계층들을 향해 단일 신경으로부터 전개된 가지들의 수는 16 개이다. 16 개의 가지들 사이에서의 학습용 서브 패턴들(LTi,j)의 분포는 생성된 가지들에 존재하는 학습용 서브 패턴들(LTi,j)의 수에 의해 표시된다. 즉;
Ni,b
여기서, Ni,b의 i는 카테고리 번호를 나타내며, b는 가지 수를 나타낸다.
이때, 각 가지에 관한 정보가 얻어지는 엔트로피는 전술한 경우와 같이 다음식으로 나타난다:
Figure kpo00033
이 식에서,
Figure kpo00034
는 가지들에 존재하는 학습용 서브 패턴들(LTi,j)의 전체 수를 나타낸다.
각 가지로의 분포 확률은 다음과 같다:
Nb/N
여기서, N은 식(11)의 N과 동일하며, 따라서 가지들이 생성될 때의 평균 엔트로피는 다음 식으로 나타난다:
Figure kpo00035
엔트로피의 평균 감소는 다음과 같다:
엔트로피 감소 = 노드 엔트로피 - 평균 가지 엔트로피 ㆍㆍㆍ 식(14)
아래에 나타난 바와 같이, 식(14)의 값을 가지수의 대수로 나누어 얻어지는 값은 가지들이 생성될 때의 분류 효율을 나타낸다:
엔트로피 감소/가지수 ㆍㆍㆍ 식(15)
이 값에 최대값을 부여하는 신경이 가지들을 생성하기 위해 선택된다.
가지들은 단 하나의 신경을 생성하기보다는 다수의 신경들의 그룹에 관하여 생성될 수 있다.
이 경우, 식(15)의 가지수는 신경들의 수에 16을 곱하여 얻어질 것이다. 그러나 기술적으로, 생성에 수반되는 하위 계층들의 모든 신경들이 오프 상태인 상태를 기대하는 것은 불가능하다. 따라서, 정확히 하기 위하여, 가지수는 신경들의 수에 15가 곱해진 수가 될 것이다. 이 실시예에서, 식(15)에서 얻어진 값은 가지들이 생성될 때 분류 효율을 나타내는 값으로 채택된다. 그러나, 그 값은 "분류목과 회귀목"이라는 제목의 논문에 기술된 "Ginicriterion"과 같은 가지들의 생성 효율을 나타내는 함수인 경우, 식(15)에 의해 얻어진 것에 제한되지 않음이 명백하다.
따라서, 생성될 하나의 신경 혹은 신경들의 세트가 결정되면, 가지들이 생성되며, 이에 따라 노드들이 생성된다.
최종적으로, 모든 신경들이 잎들로 변환될 때, 분류목이 완성된다.
제35도는 분류목 생성 단계 S2903에서 생성되어 HDD(2803)에 저장된 분류목의 예를 나타낸다.
제35도에서는, S1002에서 제거된 가지들은 빠져 있다. 제35도에서 원 안의 가지들은 이들이 S1005에서 자유 노드로서 카테고리 번호를 할당받은 잎들이라는 것을 나타낸다.
잎이 아닌 모든 다른 가지들은 노드로 변환될 것이다. 따라서, 더 많은 가지 생성이 이루어진다. 제35도는 우측으로부터 3 번째 노드에만 관련된 추가적인 가지 생성의 결과를 나타낸다.
우측으로부터 3 번째 노드에는, 가지들의 생성을 요구하는 3 가지 형태의 카테고리들, 즉 "1", "7", 및 "9"가 공존한다. 제1 계층의 최상 우측 신경은 전개 변수를 식별기에 의해 주어진 결과로서 제1 계층에서 생성되도록 선택된 것으로 가정한다. 그 다음, 24=16 개의 가지들이 최상 우측 신경의 상태에 관하여 제33도에 도시된 경우와 같이 생성되며, 몇몇 가지들은 제거되고, 몇몇 가지들은 잎으로 변환되며, 몇몇 가지들은 노드로 변환된다. 노드로 변환된 가지들은 모든 가지들의 단부가 잎으로 변환될 때까지 더욱 전개되어야 한다.
제35도에서, 설명을 명백히 하기 위해, 제1 계층과 제2 계층은 우측으로부터 3 번째 노드의 생성 결과를 보이기 위해 중첩되어 있다. 실제적으로, 이러한 상태들은 제29도에 도시된 피라미드의 제1 계층의 4 개의 신경과 제2 계층의 4 개의 최상 우측 신경에 의해 표시된다.
제36도는 전술한 절차를 사용하여 생성된 분류목을 사용함으로써 입력 패턴을 인식하는 순서를 나타낸다. 제36도에서, 참조 부호 3601은 입력 패턴을 나타내고, 3602는 입력 패턴으로부터 서브 패턴들을 추출하기 위한 서브 패턴 추출기를 나타내며, 3603은 서브 패턴들을 피라미드형으로 계층화하기 위한 사전 계층화 처리기이고, 3604은 피라미드형 계층화 과정으로부터 기인한 계층화된 서브 패턴들을 나타내며, 3605는 분류목이고, 3606은 계층화된 입력 서브 패턴들과 분류목에 따라 카테고리들의 식별 확률을 결정하기 위한 카테고리 식별기를 나타내며, 3607은 카테고리 식별기에 의해 얻어진 각각의 카테고리들의 식별 확률을 적분하기 위한 식별 확률 적분기를 표시한다. 이러한 본 발명의 양태에서 입력은 입력 패턴이며 출력은 인식 후보들이다.
바람직하게도, 전술한 분류목은 이 실시예에서 생성될 수 있는 분류목이다.
입력 패턴(3601)은 학습용 패턴(2701)에 해당한다. 이것은 입력 장치(3601)를 통해 입력되지만, 실질적인 데이터 구조는 동일하다. 서브 패턴 추출기(3602)와 사전 계층화 처리기(3603)는 제27도에 도시된 대응 장치들과 동일하다. 제27도에 도시된 경웨 있어서는 학습용 패턴들만큼 많은 계층화된 입력 서브 패턴들(3604)이 존재하는 반면, 이 실시예에서는 입력 패턴으로부터 추출된 단 하나의 서브 패턴이 존재한다.
제36도는 도시된 분류목이 계층화된 입력 서브 패턴(3604)에 따라 추적됨으로써 하나의 잎에 도달할 때, 카테고리 식별기는 표시 장치 혹은 프린터가 그 시점에서 잎에 존재하는 카테고리들을 인식 결과로서 출력하도록 한다.
잎에 도달하지 않는 경우, 최종적으로 통과된 노드에 포함된 카테고리 확률이 결과로서 출력된다.
추출 확률 적분기(3607)는 카테고리 식별기(3606)에 의해 주어진 각 서브 패턴의 결과들의 산술 평균, 기하 평균, 혹은 다른 평균을 결정한다.
[스크로크에 관한 예]
이 실시예에서, 입력된, 학습용 데이터와 인식될 학습용 데이터는 펜 혹은 다른 형태의 좌표 입력 수단을 통해 입력된 스트로크 데이터이다. 전술한 영상의 예에 포함된 데이터가 비트 맵 테이터로서 처리된 반면, 이 실시예에서 처리되는 입력 스트로크들은 분할되어 이 실시예에서 벡터들로 양자화 된다. 그러나, 전체적인 흐름은 제1 실시예의 흐름을 기초로 한다.
제37도는 이 실시예에서 분류목을 생성하기 위한 절차를 나타내는 처리 순서도이다. 참조 부호 3701은 학습용 스트로크를 나타내고, 3702는 학습용 스트로크를 분할 하기 위한 스트로크 분할기이며, 3703은 스트로크 분할기에 의해 생성된 스트로크 세그먼트를 벡터로 만들기 위한 벡터 생성기이고, 3704는 벡터 생성기에 의해 얻어진 벡터열로부터 서브 벡터를 부분적으로 추출하기 위한 서브 벡터 추출기이며, 3705는 서브 벡터 추출기에 의해 생성된 벡터열을 계층화히기 위한 사전 계층화 처리기이고, 3706은 사전 계층화 처리기에 의해 생성된 계층화된 서브 벡터열을 나타내며, 3707은 계층화된 벡터열에 따라 분류목을 생성하기 위한 분류목 생성기이고, 3708은 분류목을 생성하기 위해 분류목 생성기에 의해 사용되는 전개 벡터 식별기이며, 3709는 분류목 생성기에 의해 생성된 분류목을 나타낸다.
이 실시예에서, 입력은 학습용 스트로크이며, 출력은 분류목이다.
이제 제37도 내지 제39도를 참조하여, 이 실시예의 동작에 대한 설명이 주어질 것이다.
각각 하나의 스트로크로 입력되는 "구", "시", "쯔"라 읽는 3 개의 다른 문자들
Figure kpo00036
가, 인식될 카테고리들을 나타내는 예로서 주어진다.
사전을 생성하기 위해,
Figure kpo00037
각각에 대하여 1백 개의 패턴이 존재하는 것으로 가정한다. 이 패턴들은 아래와 같이 표시된다:
TPi,j (학습용 패턴 i, j)
여기서, i는 카테고리를 표시하는 아래 첨자이며, 이것은 0 ≤ i ≤ 2의 범위의 값을 가지며, j는 학습용 패턴 번호를 나타내는 아래 첨자를 나타내며, 1 ≤ j ≤ 100의 범위의 값을 갖는다:
제38도에 도시된 순서도에 의해 설명되는 바와 같이, 실시예에 따른 온라인 수서 문자 인식을 위한 사전을 생성하는 방법은 4 단계, 즉 벡터 생성 단계, 서브 벡터 추출 단계, 사전 계층화 처리 단계, 및 분류목 생성 단계로 구성된다. 벡터 생성 단계, 사전 계층화 처리 단계, 및 분류목 생성 단계는 제3도를 참조하여 제1 실시예에서 설명된 것과 동일하다. 따라서, 서브 벡터 추출 단계만이 설명될 것이다.
(F38) 서브 벡터 추출 단계
제39도를 참조하여 서브 벡터 추출 단계 F38이 상세히 설명될 것이다.
제39도를 참조하면, 스트로크는 16 개의 세그멘트들로 균일하게 분할되어 5421124554211245의 벡터들로 변환된다.
16 개의 벡터들로 구성된 벡터열은 부분적으로 추출되어 각각 8 벡터열로 구성된 3 개의 서브 벡터열을 형성한다.
서브 벡터열은 이들이 오버랩되어 있는 제39도에 도시된 바와 같이 추출되거나, 혹은 전혀 오버랩되지 않도록 추출될 수 있다.
제39도에서 각 서브 벡터열에 포함된 벡터들의 수는 8 개다. 그러나, 그 수는 이에제한되지 않는다.
제40도는 온라인 수서 문자 인식을 위한 절차를 나타내는 처리 순서도이다.
참조 부호 4001은 사용자에 의해 입력된 수서 스트로크를 나타내고, 4002는 수서 스트로크를 분할하기 위한 스트로크 분할기이며, 4003은 스트로크 분할기에 의해 생성된 스트로크 세그먼트를 벡터로 만들기 위한 벡터 생성기이고, 4004는 벡터 생성기에 의해 얻어진 벡터열로부터 벡터들을 부분적으로 추출하기 위한 서브 벡터 추출기이며, 4005는 서브 벡터 추출기에 의해 생성된 벡터열을 계층화하기 위한 사전 계층화 처리기이고, 4006은 사전 계층화 처리기에 의해 생성된 계층화된 서브 벡터열을 나타내며, 4007은 카테고리 분류를 위해 필요한 정보를 제공하는 분류목이고, 4008은 분류목을 참조하여 계층화된 벡터열에 따라 수서 스트로크의 카테고리를 결정하는 카테고리 식별기이며, 4009는 카테고리 식별기로부터 수신된 각 카테고리의 식별 확률을 적분하는 식별 확률 적분기이다. 이 실시예에서, 입력은 수서 스트로크이며, 출력은 인식 후보이다. 바람직하게도, 전술한 분류목은 전술한 실시예에서 생성될 수 있는 분류목이다.
수서 스트로크(401)는 학습용 스트로크(3701)에 대응한다. 이들은 실질적으로 동일한다. 스트로크 분할기(4002), 벡터 생성기(4003), 서브 벡터 추출기(4004), 및 사전 계층화 처리기(4005)는 제37도에 도시된 대응 장치들과 동일하다. 제37도에 도시된 경우에는 학습용 패턴들만큼 많은 계층화된 서브 벡터열(3706)이 존재하는 반면, 이 실시예에서는 수서 스트로크로부터 추출된 단 하나의 계층화된 서브 벡터열(4006)이 존재한다.
제7도에 도시된 분류목이 계층화된 서브 벡터열(4006)에 따라 추적됨으로써 하나의 잎에 도달 할 때, 카테고리 식별기(4008)는 그 시점에서 잎에 존재하는 카테고리들이 인식 결과로서 출력하도록 한다. 잎에 도달하지 않는 경우, 최종적으로 통과된 노드에 포함된 카테고리 학률이 결과로서 출력된다.
추출 확률 적분기(4009)는 카테고리 식별기(4008)로부터 수신된 각 서브 패턴의 결과들의 산술 평균, 기하 평균, 혹은 다른 평균을 결정한다.
<음성에 관한 예>
영상에 관한 전술한 실시예에서 기술된 분류목 생성 절차 및 인식 절차를 사용하여 음성을 인식하는 것이 또한 가능하다.
음성 데이터는 포락선을 추출하기 위하여 퓨리에 변환되는 시계열 데이터로 표현된다. 그 결과는, "내일 갈 것이다"를 의미하는 "아-시-따-이-꾸"로 읽는 "あしたぃく"로 발음되는 음성 데이터의 퓨리에 변환 결과의 예를 나타내는 제42도에 도시되어 있다. 제42도로부터 알 수 있는 바와 같이, 2진 비트 맵 데이터와는 달리, 처리된 음성 데이터는 아날로그 값의 세기와, 산맥과 같은 파면을 가진 3 차원 형상을 갖는다.
3 차원 데이터는 예정된 축상에서 절단되어 N 개의 2 차원 비트 맵 데이터로 변환된다. 이것은 전술한 실시예에서 설명된 비트 맵 데이터를 위한 분류목 생성 절차를 수행함으로써 분류목이 생성될 수 있도록 한다. 입력된 음성은 퓨리에 변환과 예정 축들에 의한 절단에 의해 비트 맵 데이터로 표시되어 인식될 수 있게 된다.
제43도는 절단축으로서 세기와 주파수를 사용하여 절단한 제42도의 데이터를 나타낸다. 그리고, 제44도는 주파수와 시간을 사용하여 절단한 제42도의 데이터를나타낸다.
제42도에 도시된 바와 같은 전반적인 3 차원 구조의 인식 결과는 상기 N 개의 2 차원 비트 맵들의 인식 결과를 평균화함으로써(예컨대, 산술 평균화) 얻을 수 있다.

Claims (55)

  1. 문자 인식을 위해 사용되는 인식 사전(dictionary)인 분류목(classification tree)을 생성하기 위한 정보 처리 방법에 있어서, 소정의 학습용 스트로크를 복수의 세그먼트들로 분할하는 분할 단계; 상기 분할 단계에서 얻은 상기 세그먼트들내의 상기 스트로크들의 벡터 양자화를 수행하는 벡터 양자화 단계; 상위 스트로크 백터들을 생성하기 위한 스트로크 세트들을 얻기 위하여, 상기 분할 단계에서 얻은 상기 세그먼트들의 인접 스트로크들을 합성하여, 계층화된 벡터열을 생성하는 계층화된 스트로크 벡터 생성 단계; 및 상기 계층화된 스트로크 벡터 생성 단계에서 얻은 상기 계층화된 스트로크 벡터열내의 상위 스트로크 벡터들로부터, 소정의 엔트로피 함수가 최대값을 갖도록 하는 스트로크 벡터를 선택하고, 하위 스트로크 벡터들을 생성하도록 상기 스트로크 벡터를 전개하여 분류목을 생성하는 분류목 생성 단계를 포함하는 정보 처리 방법.
  2. 제1항에 있어서, 상기 벡터 양자화 단계에서, 상기 분할 단계에서 얻은 상기 세그먼트들내의 상기 스트로크들은 인접 벡터들이 이루는 교차각들이 서로 동일한 8 방향의 벡터들을 얻기 위하여 양자화되는 정보 처리 방법.
  3. 제1항에 있어서, 상기 벡터 양자화 단계에서, 상기 분할 단계에서 얻은 상기 세그먼트들내의 상기 스트로크들은 인접 벡터들이 이루는 교차각들이 서로 동일한 16 방향의 벡터들을 얻기 위하여 양자화되는 정보 처리 방법.
  4. 제1항에 있어서, 상기 엔트로피 함수는 상기 계층화된 스트로크 벡터 생성 단계에서 생성된 상기 계층화된 스트로크 벡터열의 상기 상위 스트로크 벡터들중 하나의 하위 벡터 세트에 대한 정보가 얻어질 때 엔트로피 감소값이 출력되는 함수인 정보 처리 방법.
  5. 제1항에 있어서, 상기 분류목 생성 단계에서, 상기 하위 스트로크 벡터 세트에 대응하는 학습용 스트로크가 존재하지 않는 경우, 상기 분류목을 위한 상기 하위 스트로크 벡터 세트는 무효인 것으로 간주하는 정보 처리 방법.
  6. 제5항에 있어서, 상기 분류목 생성 단계에서, 상기 하위 스트로크 벡터 세트에 대응하는 단일 카테고리의 학습용 스트로크가 존재하는 경우, 상기 단일 카테고리를 위한 번호가 상기 하위 스트로크 벡터 세트에 첨부되는 정보 처리 방법.
  7. 제6항에 있어서, 상기 분류목 생성 단계에서, 상기 하위 스트로크 벡터에 대응하는 복수의 카테고리들의 학습용 스트로크가 존재하는 경우, 상기 소정의 엔트로피 함수가 최대값을 갖도록 하는 상위 스트로크 벡터가 상기 하위 스트로크 벡터 세트를 위한 상위 스트로크 벡터들로부터 선택되는 정보 처리 방법.
  8. 제1항에 있어서, 생성된 분류목을 사용하여 문자를 인식하는 단계를 더 포함하며, 상기 인식 단계는 입력 스트로크를 복수의 세그먼트들로 분할하는 분할 단계; 상기 분할 단계에서 얻은 상기 세그먼트들내의 스트로크들의 벡터 양자화를 수행하는 벡터 양자화 단계; 상위 스트로크 백터들을 생성하기 위한 스트로크 세트들을 얻기 위하여 상기 분할 단계에서 얻은 상기 세그먼트들의 인접 스트로크들을 합성하여, 계층화된 벡터열을 생성하는 계층화된 스트로크 벡터 생성 단계; 및 상기 계층화된 스트로크 벡터 생성 단계에서 얻은 상기 계층화된 스트로크 벡터열내의 상기 상위 스트로크 벡터들로부터 하위 스트로크 벡터들까지 차레로 상기 분류목을 추적하여 인식 카테고리를 얻는 인식 단계를 포함하는 정보 처리 방법.
  9. 문자 인식을 위해 사용되는 인식 사전인 분류목을 생성하기 위한 정보 처리 장치에 있어서, 소정의 학습용 스트로크를 복수의 세그먼트들로 분할하기 위한 분할 수단; 상기 분할 수단을 사용하여 얻은 상기 세그먼트들내의 상기 스트로크들의 벡터 양자화를 수행하기 위한 벡터 양자화 수단; 상위 스트로크 백터들을 생성하기 위한 스트로크 세트들을 얻기 위하여 상기 분할 수단을 사용하여 얻은 상기 세그먼트들의 인접 스트로크들을 합성하여, 계층화된 벡터열을 생성하기 위한 계층화된 스트로크 벡터 생성 수단; 및 상기 계층화된 스트로크 벡터 생성 수단을 사용하여 얻은 상기 계층화된 스트로크 벡터열내의 상위 스트로크 벡터들로부터, 소정의 엔트로피 함수가 최대값을 갖도록 하는 스트로크 벡터를 선택하고, 하위 스트로크 벡터를 생성하도록 상기 스트로크 벡터를 전개하여 분류목을 생성하기 위한 분류목 생성 수단을 포함하는 정보 처리 장치.
  10. 제9항에 있어서, 상기 벡터 양자화 수단은 인접 벡터들이 이루는 교차각들이 서로 동일한 8 방향의 벡터들을 얻기 위하여 상기 분할 수단을 사용하여 얻은 상기 세그먼트들내의 상기 스트로크들을 양자화하는 정보 처리 장치.
  11. 제9항에 있어서, 상기 벡터 양자화 수단은 인접 벡터들이 이루는 교차각들이 서로 동일한 16 방향의 벡터들을 얻기 위하여 상기 분할 수단을 사용하여 얻은 상기 세그먼트들내의 상기 스트로크들을 양자화하는 정보 처리 장치.
  12. 제9항에 있어서, 상기 엔트로피 함수는 상기 계층화된 스트로크 벡터 생성 수단에 의해 생성된 상기 계층화된 스트로크 벡터열의 상기 상위 스트로크 벡터들중 하나의 하위 벡터 세트에 대한 정보가 얻어질 때 엔트로피 감소값이 출력되는 함수인 정보 처리 장치.
  13. 제9항에 있어서, 상기 하위 스트로크 벡터 세트에 대응하는 학습용 스트로크가 존재하지 않는 경우, 상기 분류목 생성 수단은 상기 분류목을 위한 상기 하위 스트로크 벡터 세트를 무효인 것으로 간주하는 정보 처리 장치.
  14. 제13항에 있어서, 상기 하위 스트로크 벡터 세트에 대응하는 단일 카테고리의 학습용 스트로크가 존재하는 경우, 상기 분류목 생성 수단은 상기 하위 스트로크 벡터 세트에 상기 단일 카테고리 번호를 첨부하는 정보 처리 장치.
  15. 제14항에 있어서, 상기 하위 스트로크 벡터에 대응하는 복수의 카테고리들의 학습용 스트로크가 존재하는 경우, 상기 분류목 생성 수단은 상기 하위 스트로크 벡터 세트를 위한 상위 스트로크 벡터들로부터 상기 소정의 엔트로피 함수가 최대값을 갖도록 하는 상위 스트로크 벡터를 선택하는 정보 처리 장치.
  16. 제9항에 있어서, 생성된 분류목을 사용하여 문자를 인식하기 위한 수단을 더 포함하며, 상기 인식 수단은 입력 스트로크를 복수의 세그먼트들로 분할하는 분할 수단, 상기 분할 수단을 사용하여 얻은 상기 세그먼트들내의 스트로크들의 벡터 양자화를 수행하기 위한 벡터 양자화 수단, 상위 스트로크 백터들을 생성하기 위한 스트로크 세트들을 얻기 위하여 상기 분할 수단을 사용하여 얻은 상기 세그먼트들을 인접 스트로크들의 합성하여, 계층화된 벡터열을 생성하기 위한 계층화된 스트로크 벡터 생성 수단, 및 상기 계층화된 스트로크 벡터 생성 수단에 의해 생성된 얻은 상기 계층화된 스트로크 벡터열내의 상기 상위 스트로크 벡터들부터 하위 스트로크 벡터들까지 차례로 상기 분류목을 추적하여 인식 카테고리를 얻기 위한 인식 수단을 포함하는 정보 처리 장치.
  17. 제1항에 있어서, 루트 노드(root node) 생성 데이터, 단일 카테고리의 스트로크 벡터열만을 포함하는 잎(leaf) 노드, 및 상기 복수의 카테고리들의 스트로크 벡터열을 포함하는 상기 복수의 카테고리들에 관한 노드를 포함하는 정보 처리 방법.
  18. 계층화된 패턴을 생성하기 위한 정보 처리 방법에 있어서, 복수의 세그먼트들로 분할된 패턴에 대하여, 상기 복수의 세그먼트들중의 인접 세그먼트들의 데이터에 대한 논리합을 계산하여 1차 축퇴(degenerated) 패턴을 생성하는 1차 축퇴 패턴 생성 단계, 상기 1차 축퇴 패턴 생성 단계에서 얻은 상기 1차 축퇴 패턴의 복수의 세그먼트들중의 인접 세그먼트들의 데이터에 대한 논리합을 계산하여 2차 축퇴 패턴을 생성하는 2차 축퇴 패턴 생성 단계 및 상기 2차 축퇴 패턴 생성 단계에서 얻은 상기 2차 축퇴 패턴을 기초로 하여 상기 2차축퇴 패턴 생성 단계의 과정을 n의 소정 회수를 반복하여 n-1 개의 계층들로 이루어진 계층화된 패턴을 생성하는 반복 단계를 포함하는 정보 처리 방법.
  19. 제18항에 있어서, 상기 복수의 세그먼트들로 분할되는 상기 패턴은 문자 인식 사전을 위한 학습용 문자 패턴인 정보 처리 방법.
  20. 제18항에 있어서, 상기 복수의 세그먼트들은 동일 치수의 직사각형들인 정보 처리 방법.
  21. 제18항에 있어서, 상기 인접 세그먼트들은 연속적인 2×2 세그먼트들과 동일하게 배열되는 정보 처리 방법.
  22. 제18항에 있어서, 상기 반복 단계에서 생성되는 복수의 계층화된 패턴들을 기초로 하여 분류목을 생성하는 분류목 생성 단계를 더 포함하며, 상기 분류목 생성 단계는 상기 계층화된 패턴의 각 계층에 대하여, 하위 계층에서, 패턴 부분을 포함해 축퇴 패턴으로부터 대응 세그먼트까지 연장된 세그먼트로부터 링크를 생성하는 링크 생성 단계, 및 패턴 부분을 포함해 대응 세그먼트가 하위 계층내에 존재하지 않을 때까지 상기 링크 생성 단계에 있는 하나의 과정을 반복하여 분류목을 생성하는 반복 단계를 포함하는 정보 처리 방법.
  23. 제18항에 있어서, 상기 링크 생성 단계에서, 상기 계층화된 패턴의 각 계층에 대하여, 소정의 엔트로피 함수가 최대값을 갖도록 하는 세그먼트가 상기 축퇴 패턴을 포함해 상기 세그먼트들로부터 선택되며, 패턴 부분을 포함해, 선택된 상기 세그먼트에 대응하는 하위 계층의 세그먼트내에 링크가 생성되는 정보 처리 방법.
  24. 제23항에 있어서, 상기 엔트로피 함수는, 상기 계층화된 패턴의 각 계층에 대하여, 상기 축퇴 패턴 부분들을 포함하는 상기 세그먼트들중 하나에 대응하는 하위 계층 세그먼트를 위한 정보가 얻어질 때 엔트로피 감소값이 출력되는 함수인 정보 처리 방법.
  25. 제18항에 있어서, 엔그램(N-gram) 테이블을 생성하기 위하여, 상기 분류목 생성 단계에서 얻은 상기 분류목에, 소정의 계층화된 패턴을 적용하는 엔그램 테이블 생성 단계를 더 포함하는 정보 처리 방법.
  26. 제25항에 있어서, 상기 엔그램 테이블 생성 단계는 상기 분류목 생성 단계에서 얻은 상기 분류목에 상기 소정의 계층화된 패턴을 적용하는 발생 확률 생성 단계, 및 동일 카테고리에 속하는 복수의 패턴들이 상이한 링크들에 속할 때, 발생 확률이 가장 큰 패턴에 대한 링크를 선택하고, 동일 카테고리에 속하지만 상기 링크와 다른 링크들에 속하는 나머지 패턴들을 버림으로써 상기 엔그램 테이블을 생성하는 단계를 포함하는 정보 처리 방법.
  27. 제25항에 있어서, 상기 엔그램 테이블 생성 단계에서 얻은 상기 엔그램 테이블을 검색하여 입력 문자 패턴에 대응하는 카테고리를 인식하는 정보 처리 방법.
  28. 계층화된 패턴을 생성하기 위한 정보 처리 장치에 있어서, 복수의 세그먼트들로 분할된 패턴에 대하여, 상기 복수의 세그먼트들중의 인접 세그먼트들의 데이터에 대한 논리합을 계산하여 1차 축퇴 패턴을 생성하기 위한 1차 축퇴 패턴 생성 수단, 상기 1차 축퇴 패턴 생성 수단을 사용하여 얻은 상기 1차 축퇴 패턴의 복수의 세그먼트중의 인접 세그먼트들의 데이터에 대한 논리합을 계산하여 2차 축퇴 패턴을 생성하기 위한 2차 축퇴 패턴 생성 수단, 및 상기 2차 축퇴 패턴 생성 수단에서 얻은 상기 2차 축퇴 패턴을 기초로 하여 상기 2차축퇴 패턴 생성 수단에 의해 수행된 과정을 n의 소정 회수를 반복하여 n-1 개의 계층들로 이루어진 계층화된 패턴을 생성하기 위한 반복 수단을 포함하는 정보 처리 장치.
  29. 제28항에 있어서, 상기 복수의 세그먼트들로 분할되는 상기 패턴은 문자 인식 사전을 위한 학습용 문자 패턴인 정보 처리 장치.
  30. 제28항에 있어서, 상기 복수의 세그먼트들은 동일 치수의 직사각형들인 정보 처리 장치.
  31. 제28항에 있어서, 상기 인접 세그먼트들은 연속적인 2×2 세그먼트들과 동일하게 배열되는 정보 처리 장치.
  32. 제28항에 있어서, 상기 반복 수단에 의해 생성되는 복수의 계층화된 패턴들을 기초로 하여 분류목을 생성하는 분류목 생성 수단을 더 포함하며, 상기 분류목 생성 수단은 상기 계층화된 패턴의 각 계층에 대하여, 하위 계층에서, 패턴 부분을 포함해 축퇴 패턴으로부터 대응 세그먼트까지 연장된 세그먼트로부터 링크를 생성하기 위한 링크 생성 수단, 및 패턴 부분을 포함해 대응 세그먼트가 하위 계층내에 존재하지 않을 때까지 상기 링크 생성 단계에 있는 하나의 과정을 반복하여 분류목을 생성하기 위한 반복 수단을 포함하는 정보 처리 장치.
  33. 제28항에 있어서, 상기 계층화된 패턴의 각 계층에 대하여, 소정의 엔트로피 함수가 최대값을 갖도록 하는 세그먼트가 상기 링크 생성 수단에 의해 상기 축퇴 패턴을 포함해 상기 세그먼트들로부터 선택되며, 패턴 부분을 포함해, 선택된 상기 세그먼트에 대응하는 하위 계층의 세그먼트내에 링크가 생성되는 정보 처리 장치.
  34. 제33항에 있어서, 상기 엔트로피 함수는, 상기 계층화된 패턴의 각 계층에 대하여, 상기 축퇴 패턴 부분들을 포함하는 상기 세그먼트들중 하나의 대응하는 하위 계층 세그먼트를 위한 정보가 얻어질 때 엔트로피 감소값이 출력되는 함수인 정보 처리 장치.
  35. 제28항에 있어서, 엔그램(N-gram) 테이블을 생성하기 위하여, 상기 분류목 생성 수단에 의해 얻어진 상기 분류목에, 소정의 계층화된 패턴을 적용하기 위한 엔그램 테이블 생성 수단을 더 포함하는 정보 처리 장치.
  36. 제35항에 있어서, 상기 엔그램 테이블 생성 수단은 상기 분류목 생성 수단에 의해 얻어진 상기 분류목에 상기 소정의 계층화된 패턴을 적용하기 위한 발생 확률 생성 수단, 및 동일 카테고리에 속하는 복수의 패턴들이 상이한 링크들에 속할 때, 발생 확률이 가장 큰 패턴에 대한 링크를 선택하고, 동일 카테고리에 속하지만 상기 링크와 다른 링크들에 속하는 나머지 패턴들을 버림으로써 상기 엔그램 테이블을 생성하기 위한 수단을 포함하는 정보 처리 장치.
  37. 제35항에 있어서, 상기 엔그램 테이블 생성 수단에 의해 얻어진 상기 엔그램 테이블을 검색하여 입력 문자 패턴에 대응하는 카테고리를 인식하는 정보 처리 장치.
  38. 정보 처리 방법에 있어서, 학습용 패턴으로부터 서브 패턴들을 추출하는 서브 패턴 추출 단계, 추출된 상기 서브 패턴들을 사전에 계층화하는 계층화 단계, 및 얻어진 서브 패턴 계층들을 기초로 하여 상기 서브 패턴들에 대한 분류목을 생성하는 분류목 생성 단계를 포함하는 정보 처리 방법.
  39. 제38항에 있어서, 상기 계층화 단계에서, 상기 서브 패턴들내의 상세한 데이터로부터 시작되는 데이터가 축퇴에 의해 생성되는 정보 처리 방법.
  40. 제38항에 있어서, 상기 분류목 생성 단계에서, 데이터가 상기 서브 패턴 계층들내의 상위 데이터로부터 하위 데이터를 통해 전개되는 정보 처리 방법
  41. 제38항에 있어서, 상기 서브 패턴들은 상기 학습용 패턴을 분할하여 얻은 패턴 부분들인 정보 처리 방법.
  42. 제38항에 있어서, 상기 분류목 생성 단계에서, 분류 효율이 최대가 되도록 하는 변수가 선택되며, 상기 분류목은 상기 변수에 따라 생성되는 정보 처리 방법.
  43. 제38항에 있어서, 패턴을 입력하는 패턴 입력 단계, 입력된 상기 패턴을 계층화하는 입력 패턴 계층화 단계, 및 계층화가 수행된 상기 패턴의 상위 데이터로부터 하위 데이터를 통해 상기 분류목을 추적함으로써 상기 패턴을 식별하는 식별 단계를 더 포함하는 정보 처리 방법.
  44. 제38항에 있어서, 상기 패턴은 비트 맵 데이터인 정보 처리 방법.
  45. 제38항에 있어서, 상기 패턴은 스트로크 데이터인 정보 처리 방법.
  46. 제38항에 있어서, 상기 패턴은 음성 데이터인 정보 처리 방법.
  47. 정보 처리 장치에 있어서, 학습용 패턴으로부터 서브 패턴들을 추출하기 위한 서브 패턴 추출 수단, 추출된 상기 서브 패턴들을 사전에 계층화하기 위한 계층화 수단, 및 얻어진 서브 패턴 계층들을 기초로 하여 상기 서브 패턴들에 대한 분류목을 생성하기 위한 분류목 생성 수단을 포함하는 정보 처리 장치.
  48. 제47항에 있어서, 상기 계층화 수단은 상기 서브 패턴들내의 상세한 데이터로부터 시작하는 데이터를 축퇴에 의해 생성하는 정보 처리 장치.
  49. 제47항에 있어서, 상기 분류목 생성 수단은 상기 서브 패턴들내에서 상위 데이터로부터 하위 데이터를 통해 데이터를 전개하는 정보 처리 장치.
  50. 제47항에 있어서, 상기 서브 패턴들은 상기 학습용 패턴을 분할하여 얻은 패턴 부분들인 정보 처리 장치.
  51. 제47항에 있어서, 상기 분류목 생성 수단은 분류 효율이 최대가 되도록 하는 변수를 선택하며, 상기 분류목은 상기 변수에 따라 생성 되는 정보 처리 장치.
  52. 제47항에 있어서, 패턴을 입력하기 위한 패턴 입력 수단, 입력된 상기 패턴을 계층화하기 위한 입력 패턴 계층화 수단, 및 계층화가 수행된 상기 패턴의 상위 데이터로부터 하위 데이터를 통해 상기 분류목을 추적하여 상기 패턴을 식별하기 위한 식별 수단을 더 포함하는 정보 처리 장치.
  53. 제47항에 있어서, 상기 패턴은 비트 맵 데이터인 정보 처리 장치.
  54. 제47항에 있어서, 상기 패턴은 스트로크 데이터인 정보 처리 장치.
  55. 제47항에 있어서, 상기 패턴은 음성 데이터인 정보 처리 장치.
KR1019970000595A 1996-01-12 1997-01-11 정보 처리 방법,정보 처리 장치 및 저장 매체 KR100251068B1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP96-003836 1996-01-12
JP00383696A JP3636525B2 (ja) 1996-01-12 1996-01-12 文字認識方法とその装置
JP96-037816 1996-02-26
JP03781696A JP3647127B2 (ja) 1996-02-26 1996-02-26 情報処理方法及び装置
JP09109796A JP3630837B2 (ja) 1996-04-12 1996-04-12 情報処理方法及び装置
JP96-091097 1996-04-12
JP96-091091 1996-04-12
JP8091091A JPH09282415A (ja) 1996-04-12 1996-04-12 情報処理方法

Publications (2)

Publication Number Publication Date
KR970059959A KR970059959A (ko) 1997-08-12
KR100251068B1 true KR100251068B1 (ko) 2000-04-15

Family

ID=27453944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970000595A KR100251068B1 (ko) 1996-01-12 1997-01-11 정보 처리 방법,정보 처리 장치 및 저장 매체

Country Status (5)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101263190B1 (ko) 2012-04-19 2013-05-10 포항공과대학교 산학협력단 물체 인식을 위한 허프 펀 방법

Families Citing this family (23)

* 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
WO2004055735A1 (ja) * 2002-12-16 2004-07-01 Canon Kabushiki Kaisha パターン識別方法、その装置及びそのプログラム
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 キヤノン株式会社 情報処理装置、その処理方法及びプログラム
WO2015141260A1 (ja) * 2014-03-17 2015-09-24 株式会社河合楽器製作所 手書き音楽記号認識装置およびプログラム
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 キヤノン株式会社 文字認識方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101263190B1 (ko) 2012-04-19 2013-05-10 포항공과대학교 산학협력단 물체 인식을 위한 허프 펀 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100251068B1 (ko) 정보 처리 방법,정보 처리 장치 및 저장 매체
Daelemans et al. IGTree: using trees for compression and classification in lazy learning algorithms
Chen et al. Variable duration hidden Markov model and morphological segmentation for handwritten word recognition
El-Sheikh et al. Computer recognition of Arabic cursive scripts
Bose et al. Connected and degraded text recognition using hidden Markov model
Bottou et al. Global training of document processing systems using graph transformer networks
Vuurpijl et al. Finding structure in diversity: A hierarchical clustering method for the categorization of allographs in handwriting
CN109885824A (zh) 一种层次的中文命名实体识别方法、装置及可读存储介质
US5459809A (en) Character recognition system and method therefor accommodating on-line discrete and cursive handwritten
Le et al. A system for recognizing online handwritten mathematical expressions by using improved structural analysis
CN108664589A (zh) 基于领域自适应的文本信息提取方法、装置、系统及介质
Srihari et al. An assessment of Arabic handwriting recognition technology
Blagojevic et al. Using data mining for digital ink recognition: Dividing text and shapes in sketched diagrams
Mahdavi et al. LPGA: Line-of-sight parsing with graph-based attention for math formula recognition
Deufemia et al. Petroglyph recognition using self-organizing maps and fuzzy visual language parsing
Le et al. A human-inspired recognition system for pre-modern Japanese historical documents
CN111274494A (zh) 结合深度学习和协同过滤技术的复合标签推荐方法
Fu Syntactic (linguistic) pattern recognition
US6233352B1 (en) Information processing method and apparatus
Anigbogu et al. Hidden Markov models in text recognition
Chang et al. RATA. Gesture: A gesture recognizer developed using data mining
CN114332476A (zh) 维语识别方法、装置、电子设备、存储介质和产品
Dziubliuk et al. Sequence learning model for syllables recognition arranged in two dimensions
JP3636525B2 (ja) 文字認識方法とその装置
Dehaqi et al. Adversarial image caption generator network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20061226

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee