KR20020081210A - 문자 인식 시스템 - Google Patents

문자 인식 시스템 Download PDF

Info

Publication number
KR20020081210A
KR20020081210A KR1020027005587A KR20027005587A KR20020081210A KR 20020081210 A KR20020081210 A KR 20020081210A KR 1020027005587 A KR1020027005587 A KR 1020027005587A KR 20027005587 A KR20027005587 A KR 20027005587A KR 20020081210 A KR20020081210 A KR 20020081210A
Authority
KR
South Korea
Prior art keywords
character
distance
characters
class
threshold
Prior art date
Application number
KR1020027005587A
Other languages
English (en)
Other versions
KR100843504B1 (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
Application filed by 휴렛-팩커드 컴퍼니 filed Critical 휴렛-팩커드 컴퍼니
Publication of KR20020081210A publication Critical patent/KR20020081210A/ko
Application granted granted Critical
Publication of KR100843504B1 publication Critical patent/KR100843504B1/ko

Links

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/24Character recognition characterised by the processing or recognition method
    • G06V30/242Division of the character sequences into groups prior to recognition; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • 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/1912Selecting the most significant subset of features

Landscapes

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

Abstract

종래 기술에서, 일본어와 같은 다수의 문자들을 갖는 언어의 문자 인식에 있어서, 특징 벡터는 입력 패턴으로부터 추출되어, 특징 벡터와 기준 벡터들 간의 거리들이 계산되고, 가장 작은 거리값을 갖는 기준 벡터에 대응한 문자가 인식 문자로서 선택된다. 그러나, 다수의 문자들을 갖는 언어의 문자 인식에 있어서, 비교될 기준 벡터들의 수가 많기 때문에, 문자 인식의 처리 속도을 개선하는데 제한이 있었다. 본 발명에서는 타겟 문자들에 대응하는 기준 벡터들이 문자들의 발생 빈도들에 기초하여 다수의 클래스들로 분류된다. 특징 벡터와 기준 벡터들 간의 거리들이 계산되는 경우, 그 비교는 높은 문자 발생 빈도를 갖는 클래스의 기준 벡터들로부터 연속적으로 이루어지므로, 문자 인식 처리 속도가 개선된다.

Description

문자 인식 시스템{Character recognition system}
일본어, 중국어, 또는 한국어와 같은 다수의 문자들을 갖는 언어의 문자 인식에 있어서, 특징 벡터를 추출하기 위해 입력 패턴으로부터 특징들이 추출되고, 특징 벡터와 인식될 모든 타겟 문자들에 대해 이전에 추출된 기준 벡터들 간의 거리들이 계산되어, 가장 작은 거리값을 갖는 기준 벡터에 대응하는 문자가 인식된 문자로서 선택되는 이러한 방법이 채택된다.
일본 미심사 공개 공보 제 평성 2-186490호에는 입력 문자의 패턴으로부터 추출된 벡터와 이전에 저장된 타겟 문자들의 패턴들로부터 추출된 기준 벡터들 간의 거리들을 추출함으로써 문자 인식을 실행하는 시스템을 개시된다. 이러한 시스템에서는 입력 패턴의 벡터와 기준 벡터 간의 유클리드 거리(Euclidean distance)가 계산되고, 미리결정된 임계값과 비교되어 문자 인식을 실행한다.
일본 특허 미심사 공개 공보 평성 제 4-286087호에는 입력 문자 패턴으로부터 특징 벡터를 추출하고 특징 사전 내에 저장된 기준 벡터로부터 유클리드 거리를 계산함으로써 문자 인식을 실행하는 시스템이 개시되어 있으며, 상기 특징 사전은각각의 유사 문자 카테고리들에 대한 클러스터들로 분할되며, 입력 패턴의 특징 벡터와 각 클러스터를 나타내는 기준 벡터 간의 거리가 계산되고, 상세한 인식 처리는 가장 작은 거리를 갖는 클러스터에 속한 유사 문자들의 기준 벡터들에 대해 실행된다.
통상적으로, 일본어, 중국어, 또는 한국어와 같은 다수의 문자들을 갖는 언어에 있어서, 다수의 특징들, 예컨대, 수백 또는 수천개의 특징들이 인식 정확성을 개선하기 위해 사용된다. 각 후보 문자(candidate character)에 대응한 기준 벡터로부터의 거리에 기초한 문자 인식 시스템에서는 통상적으로 후보 문자들의 수와 특징들의 수에 비례하여 계산 시간이 걸리므로, 인식 속도의 저하가 문제로 된다. 특히, 거리로서, 유클리드 거리, 가중 유클리드 거리, 도시 블록 거리, 등이 있다:
유클리드 거리 ∑i= 1 m(xi- ri)2
가중 유클리드 거리 ∑i=1 mwi(xi- ri)2
도시 블록 거리 ∑i=1 m|xi- ri|
여기에서,
X = (x1, ..., xm) : 입력 패턴의 특징 벡터
Rj = (rj1, ..., rjm) : j 번째 후보 문자의 기준 벡터
W = (w1, ..., wm) : 특징의 가중 벡터
m : 특징수
n : 타겟 문자수
어떠한 경우에도, 각 특징들에 대한 거리 요소(xi- ri)2, |xi- ri|의 계산이 n x m 회, 즉, (후보 문자들의 수) x (특징수) 회 이루어진다.
상기 일본 특허 미심사 공보 평성 제 4-286087호에서는 유클리드 거리의 계산이 유사 문자 클러스터로 제한되어, 그 처리속도가 개선된다. 그러나, 유사 문자 클러스터의 선택 기준으로 대표 벡터를 적절히 결정하는 것이 어렵다는 것이 예상되며, 인식 정확도가 대표 벡터의 품질에 따라 저하되는 것이 예상된다.
본 발명은 일본어, 중국어, 또는 한국어와 같은 다수의 문자들을 갖는 언어의 문자 인식에 관한 것이다.
도 1은 본 발명의 일 실시예의 문자 인식 시스템의 전체 구성을 도시하는 기능적인 블록도.
도 2는 본 발명의 일 실시예에서 사용된 사전의 개념을 설명하는 블록도.
도 3은 클래스 1에 대한 기준 벡터들로부터 문자 후보를 지정하는 프로세스를 도시하는 흐름도.
도 4는 클래스 2에 대한 기준 벡터들로부터 문자 후보를 선택하는 프로세스를 도시하는 흐름도.
도 5는 클래스 3에 대한 기준 벡터들로부터 문자 후보를 선택하는 프로세스를 도시하는 흐름도.
도 6은 유사 문자 처리 프로세스를 도시하는 흐름도.
본 발명의 목적은 후보 문자들의 수가 많은 언어에서 사용될 특징들의 수가 많은 경우에도 인식 정확도를 저하시키지 않고 문자 인식 속도를 개선하는 것이다.
본 발명의 관점에 따라, 다음의 구조를 갖는 문자 인식 시스템이 제공된다. 즉, 문자 인식이 입력 패턴으로부터 추출된 특징 벡터와 이전에 저장된 타겟 문자들의 기준 벡터들 간의 거리들을 비교하여 실행되고, 모든 문자들은 타겟 문자들의 발생 빈도들에 기초하여 다수의 클래스들로 분류되고, 각각의 클래스들에 대한 기준 벡터들을 저장하는 사전 저장 장치 및 컴퓨터가 제공되며, 상기 컴퓨터는 다수의 클래스들 중 가장 높은 문자 발생 빈도를 갖는 클래스에 속한 다수의 문자들의 기준벡터들과 특징 벡터 간의 거리들을 계산하고, 상기 클래스에 대해 결정된 클래스 임계값보다 작은 거리가 있는 경우, 상기 거리에 대응하는 기준벡터의 문자를문자 후보로 선택하도록 프로그램된다. 기준 벡터로부터의 거리로서, 유클리드 거리, 가중 유클리드 거리, 거리 블록 거리(city block distance) 등이 사용되지만, 본 발명에서는 용어 "거리"가 통상적으로 사용된다.
타겟 문자들의 발생 빈도들은 과거의 뉴스 기사들과 같은 텍스트 포맷(이것은 텍스트 언어로 칭함)의 다수의 문서들의 세트로부터 통계 정보로서 계산되고, 본 발명자들은 각 언어에 대한 약 이천만개의 문자들로 구성된 텍스트 언어로부터의 발생 빈도들을 획득하여 그것들을 사용한다. 본 발명에 따라, 모든 문자들은 타겟 문자들의 발생 빈도들에 기초하여 다수의 클래스들로 분류되고, 상기 기준 벡터들은 클래스 각각에 대해 사전에 저장되고, 거리 계산은 입력 문자 패턴으로부터 추출된 특징 벡터와 다수의 클래스들 중 가장 높은 문자 발생 빈도를 갖는 클래스에 속한 다수의 문자들의 기준 벡터들 간에 이루어지며, 거리값이 특정 임계값을 충족하는 경우, 문자는 문자 후보로서 선택된다. 발명자에 의해 획득된 통계에 따라, 예컨대, 일본어의 경우에는 발생 빈도에서 가장 높은 클래스에 속한 382개의 문자들이 텍스트 언어의 약 80%를 차지한다. 따라서, 문서에서도 약 80%의 문자들이 가장 높은 클래스의 382개의 문자들 내에 포함되는 것으로 기대된다. 본 발명은 이와 같은 통계 문자 발생 빈도에 기초하여 사용한다. 먼저, 발생 빈도에서 가장 높은 클래스에 속한 문자 세트만이 인식되도록 타게팅되고, 우수한 인식 결과가 획득되는 경우에는 낮은 발생 빈도 문자 세트들을 유지하는 인식 처리가 생략되어. 문자 인식 처리 속도가 개선된다. 실제적으로, 타겟 문자 세트가 다수의 타겟 문자 세트들로 분할되고, 인식 처리가 높은 빈도의 순서로 실행되어, 우수한 결과가 획득되었던 세트보다 낮은 빈도를 갖는 세트에 대한 인식 처리가 생략되도록 프로그래밍된다.
본 발명의 또다른 관점에 따라, 클래스 임계값보다 작은 거리가 없는 경우에는 두 번째로 높은 문자 발생 빈도를 갖는 클래스에 속한 다수의 문자들의 기준 벡터들과 특징 벡터 간의 거리가 계산되며, 클래스에 대해 결정된 제 2 클래스 임계값보다 작은 거리가 있는 경우에는 상기 거리에 대응하는 기준 벡터의 문자가 문자 후보로 선택된다.
본 발명의 또다른 관점에 따라, 기준 벡터들 중 하나에 대한 거리 계산 속도를 개선하기 위해, 모든 특징들에 대한 거리 요소들을 축적하여 거리값을 계산하는 프로세스는 n개의 특징 요소들의 축적을 사용하여 축적된 거리값 계산이 이루어지고, (1) 축적된 거리값은 문자 후보 선택 임계값과 비교되고, (2) 임계값보다 크지 않을 경우, 다음의 n개의 특징 요소들의 거리 요소들이 축적하여 계산되고, (1) 및 (2)의 과정이 반복되며, 축적된 거리값이 문자 후보 선택 임계값을 초과하는 경우, 상기 기준 벡터는 후보가 아닌 것으로 판단되며, 다음 기준 벡터와의 비교가 시작되어 처리 시간이 감소된다. 또한, 본 발명에 따라, 축적된 거리 요소들의 순서를 변화시킴으로써, 축적된 거리값에 기초하여 거리 계산 프로세스의 생략이 효과적으로 실행된다. 특히, 모든 타겟 문자들의 모든 트레이닝 패턴들이 사용되고, 각 특징들에 대한 거리 요소들의 분포가 획득되며, 거리 요소들의 축적은 그 평균값의 내림차순으로 실행된다. 이와 같은 거리 요소들의 분류로서, 모든 타겟 문자들의 기준 벡터들의 공통적인 분류를 실행하는 방법, 거리 요소들의 분포 평균, 등의 내림차순으로 기준 벡터들 각각에 대한 분류를 실행하는 방법이 있다.
특징 벡터는 모든 타겟 문자들의 트레이닝 패턴으로부터 추출되고, 기준 벡터는 예컨대, 일본어에 대해, 수백개의 차원들을 가진 벡터(a vector of several hundreds dimensions)로서 준비된다. 모든 문자들에 대하여 각 차원(즉, 각 특징)에 대한 거리 요소들의 분포가 관찰되는 경우, 거리 요소들의 평균이 크다는 것은 상기 차원의 상기 특징이 모든 거리값을 증가시키도록 기여하는 것을 의미한다. 올바른 문자의 경우, 거리값이 작게 될 것으로 기대되기 때문에, 이와 같은 차원의 특징이 한 문자가 초기 단계에서 후보가 아닌것으로 판단하게 하는 효과적인 특징이라고 말할 수 있다. 따라서, 기준 벡터들을 구성하는 모든 문자들에 대하여 각 차원에 대한 거리 요소들의 평균이 트레이닝 데이터로부터 미리 추출되고, 각각의 기준 벡터들의 특징 값들이 평균 값의 내림차순으로 정렬되는 벡터들이 준비된다. 또한, 입력 패턴으로부터 추출된 특징 벡터에 대하여, 이러한 순서로 분류된 벡터가 준비되고, 한 기준 벡터 및 특징 벡터의 거리 계산에서, 거리 요소들의 축적은 이러한 순서로 실행된다. 예컨대, 먼저, 50개의 차원들까지의 거리 요소들이 축적되는 축적된 거리값이 계산되고, 이것이 임계값이 되면, 이러한 기준 벡터가 후보외의 문자인지를 판단하여, 다음의 기준 벡터와의 비교가 시작된다. 이렇게 함으로써, 인식 처리가 모든 수백개의 차원들의 거리 요소들을 계산하지 않고 진행이 이루어질 수 있으므로, 인식 처리 시간이 감소될 수 있다.
또한, 본 발명의 또다른 관점에 따라, 컴퓨터는 m 번째로 작은 거리값(m은 선택될 문자 후보들의 수임)을 갖는 문자 후보의 거리값을 문자 후보 선택 임계값으로 동적으로 설정하도록 프로그램된다.
또한, 본 발명의 또다른 관점에 따라, 임의의 문자들에 대해 유사한 특징들을 갖는 문자들을 제공하는 유사 문자 사전이 포함되고, 컴퓨터는 다수의 문자 후보들의 선택에 응답하여 유사 문자 사전으로부터 문자 후보들 각각에 대해 유사한 문자를 추출하고, 유사 문자들의 기준 벡터들 및 인식될 특징 벡터 간의 거리들을 계산하여, 유사 문자들의 거리값들 및 다수의 문자 후보들의 거리값들을 분류하고, 거리의 올림차순으로 미리결정된 다수의 문자들을 인식 문자 후보들로서 선택하도록 프로그래밍된다. 이에 의해, 올바른 문자가, 생략되는 낮은 빈도의 문자 후보 클래스에 존재하는 경우에만, 유사한 문자로서 후보들 내에 포함되게 하는 것이 가능해지며, 인식 정확도 저하가 억제될 수도 있다.
본 발명의 실시예들은 도면들을 참조하여 다음에 기술될 것이다. 도 1은 본 발명을 사용하여 일본어 문자 인식 시스템의 예의 전체 구조를 도시하는 기능적인 블록도이다. 이 시스템은 일반적인 목적의 개인용 컴퓨터 또는 워크 스테이션 상에서 실행되는 프로그램으로 실현된다. 통상적으로, 프로그램의 이러한 분류는 OCR(광학 문자 인식)로 칭한다. 시스템에 대한 전형적인 입력 패턴은 문서를 광학 스캐너로 스캐닝하여 획득된 이미지 데이터이다.
입력 패턴이 수신될 때, OCR 프로그램 세그먼트들의 문자 세그먼테이션부(11)는 비트 맵 포맷의 데이터 이외의 특성들로 분할한다. 문자 세그먼테이션 그 자체는 종래의 OCR 프로그램 내에 통합된 기능이다. 문자 단위로 분할된 이미지 데이터는 특징 추출부(12)로 전송되고, 문자 라인의 기울기, 폭, 곡률(curvature), 영역 또는 다른 특징들이 추출된다. 본 실시예에서, 일본어에 대해서는 200개의 특징들이 한 문자에 대해 추출된다. 따라서, 입력 패턴은 다음의 식에서 200개의 차원들의 벡터로 표현되고, 특징 벡터로 칭한다.
[수식 1]
x = (x1, x2, ..., x200)
이러한 방법으로 추출된 특징 벡터는 특징 분류부(13)로 전송되고, 특징들의 분류는 새로운 벡터를 발생시키도록 나중에 기술된 평균 거리에 기초하여 요소들의 리스트에 따라 실행되고, 문자 후보 선택부(14)로 전송되어 기준 문자 사전(15) 내에 저장된 다수의 타겟 문자들의 각 기준 벡터들로서 가중 유클리드 거리가 계산된다.
여기에서, 기준 문자 사전(15)이 도 2를 참조하여 기술될 것이다. 특정 문자에 대한 기준 벡터는 문자의 다양한 형태의 표면들 및 크기들의 이미지 패턴에 대한 특징 벡터들을 추출하고 그것들을 평균화하여 획득된다. 이때, 각 특징값의 변화가 계산되고, 그 역함수(inverse)가 가중 계수로 이루어진 가중 유클리드 거리 계산에 사용된다.
이 방법 그 자체는 종래에도 사용되었다. 모든 타겟 문자들에 대한 기준 벡터들 및 가중 벡터들이 사전(23) 내에 저장된다. 거리 요소들의 평균은 사전(23)의 이와 같이 저장된 모든 기준 벡터들을 통한 모든 트레이닝 패턴들을 사용하여 각 특징 요소들에 대해 계산되고, 특징들의 차원들이 평균의 내림차순으로 분류되는 평균 거리에 기초한 특징 요소들의 리스트(24)가 준비된다. 사전 내에 저장된 각 기준 벡터들 및 가중 벡터들 각각의 특징 요소들은 거리 요소 평균의 내림차순으로 리스트에 따라 저장된다. 거리 요소 평균이 큰 경우, 후보 문자에서 특징 요소의 거리 요소값이 커지게 되는 것이 예상된다. 이와 같이, 후술되는 거리 계산에서, 거리 계산은 거리 요소 평균의 내림차순으로 실행된다. 이러한 목적을 위해, 입력 패턴으로부터 추출된 특징 벡터에 대해, 특징 요소들은 특징 분류부(13)의 평균 거리에 기초하여 특징 요소들의 리스트에 따라 분류된다.
도 2의 텍스트 언어(text corpus)는 통상적으로 사회에서 사용되고 텍스트 포맷으로 형성된 문서들의 세트이며, 예컨대, 온라인 뉴스들과 같은 정보 소스로부터 저장된 문서들이다. 각 문자들의 발생 빈도는 문서들의 세트로부터 계산되고, 문자들은 발생 빈도에 따라 3개의 클래스들로 분류된다. 발명자의 관찰에 따라, 중국어, 일본어, 및 한국어는 다음 표에 도시된 바와 같이 약 2천만개의 문자들로 구성된 텍스트 언어들을 사용하여 분류된다.
즉, 일본어에 대해, 클래스 1로 분류된 가장 높은 발생 빈도의 382개의 문자들은 텍스트 언어의 80.01%를 차지하고, 다음의 가장 높은 발생 빈도의 클래스 2에 대한 1126개의 문자들이 이것들에 부가되는 경우, 그들은 텍스트 언어의 99.00%를 차지한다. 또한, 클래스 3으로 분류된 낮은 발생 빈도의 1459개의 문자들이 이것들에 부가되는 경우, 그들은 텍스트 언어의 99.96%를 포함할 수 있다. 이것은 JIS 제 2 레벨까지의 약 6000개의 문자들을 갖는 일본어의 문자 인식 시스템이 구성되는 경우에는 그 중 2967개의 문자들이 타겟팅될지라도, 후보 이외의 문자들의 비율이 거의 0.04%일 뿐이며, 실제 손실(damage)이 심각하지 않다는 것을 의미한다. 게다가, 2967개의 문자들에서도 통계적인 빈도로 중요한 경향이라는 것을 의미한다. 유사한 관찰들이 중국어 및 한국어에서도 발견된다.
본 발명의 실시예에서, 이러한 관찰 경향에 기초하여, 기준 벡터들의 사전(15) 내에 포함된 기준 벡터들은 표 1에 따라 3개의 클래스들로 분류된다. 입력 패턴의 특징 벡터로부터의 거리 계산에 있어서, 먼저, 클래스 1을 위한 각 기준 문자들에 대해 거리가 계산되고, 충분히 작은 거리, 즉, 충분히 높은 근사치를 갖는 기준 벡터가 있는 경우에는 인식 처리가 클래스 1을 위한 기준 벡터들로서 거리 계산이 종료되어, 클래스 2 및 클래스 3에 대한 기준 벡터들에 대하여 거리 계산이 실행되지 않는다. 이러한 경우, 거리 계산은 382개의 기준 벡터들에 대하여 거리 계산이 종료되며, 클래스 2에 대한 1126개의 기준 벡터들과 클래스 3에 대한 1459개의 기준 벡터들에 대한 거리 계산이 생략되어, 특징 벡터에 대해 실행된 거리 계산 시간이 크게 단축될 수 있다.
클래스 1에 대한 입력 패턴의 특징 벡터 및 382개의 기준 벡터들의 거리 계산 결과로서, 충분히 작은 거리값을 갖는 기준벡터가 없는 경우에는 클래스 2를 위한 1508개의 기준 벡터들에 대한 거리 계산이 실행되며, 충분히 작은 거리값을 갖는 기준 벡터가 있는 경우에는 그 계산이 클래스 2에 대한 기준 벡터들에 대하여 거리 계산이 종료되어 클래스 3에 대한 기준 벡터들에 대하여 거리 계산이 실행되지 않는다. 이에 의해, 거리 계산 시간이 단축될 수 있다.
클래스 2까지의 문자들이 텍스트 언어의 99%를 차지하기 때문에, 적절한 문자 후보가 클래스 1 및 클래스 2에 대한 기준 벡터들에 대해 거리 계산에 의해 발견될 수 없는, 주어진 텍스트에서의 1%의 문자들이 있다는 것이 기대된다. 약 1%의 입력 패턴의 특징 벡터에 대해, 클래스 3에 대한 기준 벡터들에 대하여 거리 계산은 클래스 1 및 클래스 2에 대한 기준 벡터들에 대한 거리 계산을 통해 시작된다. 이러한 방법으로, 클래스 3에 대한 기준 벡터들 중, 작은 거리를 갖는 한 기준 벡터가 문자 후보로 선택된다.
이러한 방법으로 문자 후보가 문자 후보 선택부(14)에 의해 선택되는 경우, 프로세스는 유사 문자들을 위한 처리부(16)로 진행한다. 유사 문자들을 위한 처리부(16)는 문자 인식의 정확도를 개선하기 위해 유사 문자 사전(17)을 참조한다. 유사 문자 사전에서, 문자 인식시 혼동되기 쉬운 문자들의 리스트가 각 문자들에 대해 준비된다. 유사 문자들을 위한 처리부(16)가 문자 후보 선택부(14)로부터 하나 또는 다수의 문자 후보들을 수신하는 경우에는 각 문자 후보들이 유사 문자들을 판독하기 위해 유사 문자 사전을 참조하여, 기준 벡터 사전(15)으로부터 유사 문자들의 기준 벡터들을 판독한다.
입력 패턴으로부터 추출된 특징 벡터 및 다수의 유사 문자들의 기준 벡터들의 거리 계산이 실행되며, 미리결정된 다수의 문자들은 문자 후보들 및 유사 문자들을 포함한 세트 중 거리의 올림차순으로 최종 문자 후보들로 출력된다. 여기에서, "최종(final)" 용어는 거리 계산에 의한 문자 인식 단계가 종료되는 것을 의미한다. 실제 문자 인식 프로그램에서, 이후에는 통상적으로 전처리로 칭하는 프로세스가 실행된다. 전처리는 콘텍스트 분석, 인접 관계의 분석, 인접 문자들의 발생 가능성, 등에 기초하여 문자 후보들의 우선 순위(priority order)를 결정하는 처리이다. 전처리 그 자체는 종래에 사용된 기술이므로, 자세한 설명은 생략한다.
클랙스 1 문자 후보 선택 프로세스
다음에, 본 발명의 실시예의 문자 인식 시스템의 프로세스의 흐름은 도 3을 참조하여 기술될 것이다. 이것은 클래스 1에 대한 후보 문자 세트 중 10개의 후보 문자들을 선택하는 프로세스이다. 스캐너를 통해 문서를 스캐닝하여 획득된 입력 패턴이 본 발명의 실시예의 문자 인식 프로그램으로 송신되는 경우(301), 각 문자 영역들은 이미지 데이터 외에 문자 세그먼테이션부(11)로 분할되고(도 1), 상술한 바와 같은 특징 추출은 각 문자 영역들(302)에 대하여 특징 추출부(12)에서 실행된다. 이러한 방법으로 추출된 특징 벡터는 특징 분류부(13)에 전송되며, 특징들은 도 2를 참조하여 설명된 평균 거리에 기초하여 특징 요소들의 리스트에 정렬된다(303). 다음에, 모든 차원에 걸친 10개의 거리값들은 각각의 처음 10개의 기준 벡터들에 대해 계산되고(304), 임계값(Th)은 이러한 방법으로 계산된 10 개의 거리값들 중 가장 높은 거리값으로 설정된다. 거리값으로는 가중 유클리드 거리가 사용되며, 하기에 도시된 식 2에서 j = 1 내지 200으로 계산된다. 그 후에, 기준 벡터 사전(15)으로부터 판독된 클래스 1에 대한 기준 벡터수(i)는 11로 설정되고, 변수들의 초기값들은 k = 0 및 m= 0(305)로 설정되며, 거리 계산에 포함된 기준 벡터 및 특징 벡터의 차원(j)은 j = m + 50 x k 로 구해지며, m은 1에서 50까지 변화된다(306). 이러한 방법으로, 차원들(1 내지 50)에 걸친 기준 벡터와 특징 벡터간의 거리(Di)은 다음 식으로부터 계산된다(307).
[수식2]
Di= ∑wj(xj- rj)2
(j = 1 내지 50)
여기에서, Wj는 도 2의 기준 벡터 사전(23)과 관련하여 설명된 기준 벡터들 각각의 가중 벡터의 각 요소이다. 용어 Xj는 입력 패턴으로부터 추출된 특징 벡터의 각 요소를 표시하며, rj는 기준 벡터의 각 요소를 표시한다. 식 2에 의해 획득된 값의 제곱근의 값은 가중 유클리드 거리로 칭하는 거리값이다. 여기에서, 간단히 하기 위해, 제곱근이 취해지기 전의 값은 가중 유클리드 거리의 기준으로 사용되며, 거리로 칭한다. 기준 벡터에 대한 거리(Di)가 임계값(Th)(321)을 초과하는 경우에는 이 기준 벡터가 문자 후보로서 이러한 특징 벡터에 대해 실격이라는 판정이 내려진다. 이때, 거리 비교가 클래스 1을 위한 모든 382개의 기준 벡터들에 대해 종료되었는지의 여부가 단계 312에서 판정되며, 종료되지 않는 경우에는 i가 증가되며, 다음 기준 벡터에 대한 거리(Di)의 계산이 실행된다(307). 기준 벡터에 대한 거리(Di)가 임계값(Th) 이하인 경우(321), 차원(j)이 200인지의 여부가 체크되고(308), 200이 아닌 경우에는 k가 증가되며(309), 다음 51 내지 100개의 차원들(j)에 대한 거리가 계산된다. 이러한 방법으로, 거리는 j= 51 내지 100에 대해 계산되어, j = 1 내지 50에 대해 이전에 계산된 거리에 부가되며, j = 1 내지 100에 대한 거리(Di)가 계산된다(307).
결과적으로, Di이 Th를 초과하는 경우, i는 단계 312를 통해 증가되고, 프로세스는 다음 기준 벡터와 비교를 진행한다. Di가 Th 이하인 경우, k는 단계 309를 통해 증가되고, 거리(Di), 즉, j = 100 내지 150에 대한 거리(Di)가 계산된다(307). 이러한 처리가 반복되고, j가 200이 되고, Di가 Th이하인 상태에 있는 경우, 즉, 모든 차원들을 포함하는 거리(Di)가 임계값 이하라면, 이때의 기준 벡터에 대응하는 문자는 시스템 출력의 후보가 되는 문자 후보로서 메모리 내에 저장된다(310). 이러한 메모리에서, 프로세스의 첫 번째에서 참조된 10개의 기준 벡터들의 거리값들 및 문자 코드들이 저장된다. 새로운 문자 후보는 이 메모리에 입력되고, 이전에 저장된 문자 코드들 중 가장 큰 거리값을 갖는 문자가 메모리로부터 삭제된다. 이러한 방법으로, 메모리에서, 10개의 문자 후보들이 거리의 올림차순으로 저장된다. 그 후에, 10개의 문자 후보들의 거리값들 중 가장 큰 값이 새로운 임계값(Th)으로 설정된다(311). 후속한 기준 벡터들과의 비교 결과로서, 새로운 문자 후보가 메모리로 전송되는 경우, 메모리 내에 이전에 저장된 10개의 문자 후보들 중 가장 큰 거리값을 갖는 문자 후보가 메모리로부터 삭제되고, 새로운 문자 후보가 메모리에 부가된다. 그 후에, 새로운 10개의 문자 후보들 중 가장 큰 거리값이 임계값(Th)으로 설정된다.
이와 같이, 문자 후보들의 수가 10개가 된 후에, 블록(307)에서의 판정을 위해 사용된 임계값이 동적으로 변화된다. 블록(312)에서, i = 382가 만족되는 경우, 즉, 클래스 1에 대한 모든 기준 벡터들에 대한 거리 계산이 종료되는 경우, 메모리내에 저장된 10개의 문자 후보들 중 가장 작은 거리값(Dbest)이 클래스 1의 문자 후보 선택을 위해 이전에 설정된 클래스 임계값(Thstage1)보다 작은지의 여부가 판정된다(318). 본 실시예에서, Thstage1는 예컨대, 120,000으로 설정된다. 이러한 조건을 만족시키는 문자 후보가 존재한다는 것은 충분히 높은 근사값을 갖는 문자 후보가 클래스 1 내의 문자 후보 선택 처리에서 획득되는 것을 의미한다. 따라서, 이러한 경우에, 메모리 내에 저장된 10개의 문자 후보들은 유사 문자 처리부(16)로 전송되어, 이러한 입력 패턴의 특징 벡터에 대한 문자 후보 선택 처리(14)가 종료된다.
클래스 2 문자 후보 선택 프로세스
블록(318)의 조건이 충족되지 않는 경우, 클래스 2를 위한 기준 벡터들로부터 문자 후보를 선택하는 프로세스가 시작된다. 클래스 2의 문자 후보 선택 프로세스는 도 2를 참조하여 설명될 것이다. 이제, 일본어의 문자 인식이 실행되므로, 1126개의 타겟 문자들에 대한 기준 벡터들 및 가중 벡터들은 기준 벡터 사전(15) 내에 클래스 2에 대한 기준 벡터들로 저장된다. 클래스 2의 문자 후보 선택 프로세스가 시작되는 경우, 초기 설정은 i = 1, k = 0, 및 m = 0이 되도록 실행되고(502), 거리 계산의 기준 벡터 및 특징 벡터의 차원(j)이 j = m + 50 x k이고, m은 1 내지 50으로 변화되고(503), i번째 벡터와 입력 패턴으로부터 추출된 특징 벡터 사이의 거리값(Di)의 계산이 수행된다(504). 거리값(Di)이 임계값(Th)보다 더 크고(515) i가 i = 1126이 아닌 경우(510), i가 증가되고(511), 프로세스는 다음 기준 벡터에 대한 거리값 계산으로 진행한다.
거리값(Di)이 임계값(Th) 이하인 경우에는 k가 증가되고, 거리값은 다음 50개의 차원, 즉, j = 51 내지 100에 대해 계산되며, 그 값은 j = 1 내지 100에 대한 거리값(Di)을 계산하기 위해 j = 1 내지 50에 대해 이전에 계산된 거리값에 부가된다(504). 거리값(Di)이 Th를 초과하고 i = 126이 아닌 경우(510), i가 증가되고, 프로세스는 다음 기준 벡터에 대한 거리 계산으로 진행한다(511). Di가 Th를 초과하지 않는 경우, k가 증가되고, j는 다음 50개의 차원들로 대해 감소되며, j = 1 내지 150에 대한 거리값(Di)은 상술한 바와 같은 프로세스에 의해 계산된다(504). 이러한 프로세스가 반복되어 j가 j = 200이 되고 Di가 Th를 초과하지 않는 상태에 있는 경우(505), 이 기준 벡터에 대응하는 문자 코드는 메모리에 입력된다(508). 메모리에서는 이전의 클래스 1 문자 후보 선택 프로세스에서 선택된 문자 후보들이 저장된다. 문자 후보들의 수가 10개가 되면, 가장 큰 거리값을 갖는 문자 후보가 메모리로부터 삭제되고, 새로운 문자 후보가 부가되어, 문자 후보들의 수가 10개로 유지된다. 그 후에, 10개의 문자 후보들의 거리값들 중 가장 큰 거리값은 새로운 임계값(Th)이 된다(509).
이후에, 기준 벡터가 블록 테스트(515)를 통과하여 메모리(508)에 입력되는 경우, 상기와 유사한 문자 후보의 대체가 실행되어 임계값(Th)이 동적으로 변화된다. i = 1126이 블록 510에서 충족되는 경우, 즉, 문자 후보 선택 프로세스가 클래스 2에 대한 모든 1126개의 기준 벡터들에 대해 실행되는 경우, 메모리 내에 저장된 10개의 문자 후보들 중 가장 작은 거리값이 클래스 2의 클래스 임계값(Thstage2)보다 작은지의 여부를 판정하고, 작다면, 문자 후보 선택 프로세스(14)가 종료되고, 10개의 문자후보들이 유사 문자 처리부(16)에 전송된다(도1). 본 실시예에서, Thstage2는 예컨대, Thstage1보다 큰 150,000 으로 설정된다. 즉, 클래스 2의 클래스 임계값은 클래스 1의 임계값보다 더 부정확하게 된다. 블록(512)의 조건이 충족되지 않는 경우, 프로세스는 클래스(3)를 위한 기준 벡터들에 대한 문자 후보 선택 프로세스로 진행한다.
클래스 3 문자 후보 선택 프로세스
도 5는 클래스 3을 위한 1459개의 기준 벡터들에 대해 문자 후보 선택 프로세스이다. 블록(610)의 판정은 클래스 3에 대한 기준 벡터들의 수(1459)라는 것을 제외하고는 블록들(602 내지 610)은 도 4의 블록들(502 내지 510)과 동일하다. 따라서, 이러한 블록들의 기능들에 대한 설명은 생략한다. i = 1459가 블록(610)에서 충족되고, 문자 후보 선택 프로세스가 클래스 3에 대한 모든 1459개의 기준 벡터들에 대해 종료되는 경우, 문자 후보 선택 프로세스가 종료되며, 메모리 내에 저장된 10개의 문자 후보들은 유사 문자 처리부(16)로 전송된다. 이때, 메모리 내에 저장된 문자 후보들의 수가 10 미만인 경우, 모든 문자 후보들은 유사 문자 처리부(16)로 전송된다.
유사 문자 처리
다음에, 유사 문자 처리 프로세스는 도 6을 참조하여 기술될 것이다. 도 1의유사 문자 처리부가 문자 후보 선택부(14)로부터 10개의 문자 좌표들을 수신하는 경우, 각각의 문자 후보들에 대해 유사 문자 사전을 참조하여 유사 문자들(41)을 판독한다. 유사 문자들의 기준 벡터들 및 가중 벡터들은 기준 벡터 사전(15)으로부터 판독되고, 입력 패턴으로부터 추출된 특징 벡터로부터의 거리값(42)이 계산된다(42). 가중 유클리드 거리들이 판독된 유사 문자들 모두에 대해 계산된 후에, 10개의 문자 후보들 및 이러한 유사 문자들의 거리값들이 분류되고, 10개의 문자들이 거리값(43)의 올림차순으로 선택된다.
이러한 방법으로 획득된 10개의 최종 후보들 중 가장 작은 거리값을 갖는 하나의 후보가 인식된 문자로서 출력되고, 나머지 9개의 후보들은 대체 후보들로 출력된다. 여기에서, 문자 후보의 선택은 문자 후보 선택의 중간 단계 또는 문자 후보의 완료 단계에서 타겟 문자들에 대한 기준 벡터와 비교에만 기초하여 실행되지만, 텍스트의 문법적인 분석, 단어들의 인접 관계, 문자들 간의 인접 관계 등에 기초하여 문자 후보들의 우선권을 변화시키는 것이 바람직하다. 즉, 소위 전처리를 실행하기 위해 것이 바람직하다.
OCR 프로그램의 출력으로 텍스트는, 이 방법으로 획득된 최상위 우선권의 문자들의 세트로서 사용자에게 나타난다. 사용자는 텍스트의 콘텍스트로부터의 OCR 출력의 인식 에러를 발견할 수 있다. 이러한 경우, 사용자는 에러 문자를 클릭하는 경우, 9개의 대체 문자들이 풀-다운 형태(pull-down form)로 디스플레이되고, 사용자가 그들 중 하나를 클릭하는 경우, 그 문자가 에러 문자로 대체된다.
본 발명은 특정 실시예에 관해 기술되어 있지만, 본 발명은 이와 같은 실시예에 제한되지 않는다.

Claims (24)

  1. 입력 패턴으로부터 추출된 특징 벡터와 이전에 저장된 타겟 문자들의 기준 벡터들 간의 거리들을 비교하여 문자 인식을 실행하는 문자 인식 시스템에 있어서,
    모든 문자들은 상기 타겟 문자들의 발생 빈도들에 기초하여 다수의 클래스들로 분류되고, 클래스들 각각에 대한 기준 벡터들을 저장하는 사전 저장 장치(dictionary storage device) 및 컴퓨터가 포함되고,
    상기 컴퓨터는 다수의 클래스들 중 가장 높은 문자 발생 빈도를 갖는 클래스에 속한 다수의 문자들의 기준 벡터들과 특징 벡터 간의 거리들을 계산하고, 상기 클래스에 대해 결정된 클래스 임계값보다 더 작은 거리가 있는 경우, 상기 거리에 대응한 기준 벡터의 문자를 문자 후보로 선택하도록 프로그래밍되는, 문자 인식 시스템.
  2. 제 1항에 있어서,
    상기 컴퓨터는, 상기 클래스 임계값보다 더 작은 거리가 없는 경우, 두 번째로 가장 높은 문자 발생 빈도를 갖는 클래스에 속한 다수의 문자들의 기준 벡터들과 특징 벡터 간의 거리들을 계산하고, 상기 클래스에 대해 결정된 제 2 클래스 임계값보다 더 작은 거리가 있는 경우, 상기 거리에 대응한 기준 벡터의 문자를 후보 문자로 선택하도록 프로그램되는, 문자 인식 시스템.
  3. 제 1항에 있어서,
    다수의 기준 벡터들의 특징들의 평균 거리 순서를 나타내는 리스트를 더 포함하고,
    상기 컴퓨터는, 상기 입력 패턴으로부터 추출된 상기 특징 벡터의 특징들이 평균 거리의 내림차순으로 상기 리스트에 따라 정렬되고 난 후에, 먼저, n번째 특징까지의 특징들 및 상기 기준 벡터들 중 한 벡터에 대해, 대응하는 특징들에 대한 거리가 계산되고, (1) 상기 거리가 문자 후보 선택 임계값과 비교되고, (2) 상기 거리가 상기 임계값보다 크지 않다면, 다음의 n개의 특징들을 포함하는 거리가 계산되어 (1) 및 (2)의 과정이 반복되고, 상기 거리가 상기 문자 후보 선택 임계값을 초과하는 경우, 다음 기준 벡터와의 비교가 시작되도록 프로그램되는, 문자 인식 시스템.
  4. 제 3항에 있어서,
    상기 컴퓨터는, 모든 상기 특징들에 기초한 거리값이 상기 문자 후보 선택 임계값을 초과하지 않는 경우, 비교 대상이었던 상기 기준 벡터에 대응하는 문자를 문자 후보로서 메모리 내에 저장하도록 프로그램되는, 문자 인식 시스템.
  5. 제 4항에 있어서,
    상기 컴퓨터는 m번째 가장 작은 거리값을 갖는 문자 후보의 거리값을 문자 후보 임계값으로서 동적으로 설정하도록 프로그램되고, m은 선택될 문자 후보들의수인, 문자 인식 시스템,
  6. 제 5항에 있어서,
    상기 컴퓨터는, 가장 높은 문자 발생 빈도를 갖는 클레스에 속한 상기 기준 벡터들에 대한 특징 벡터의 거리 계산이 완료되는 경우, 및 이러한 거리들 중 하나 또는 다수의 거리들이 상기 클래스에 대해 결정된 임계값보다 작은 경우, 가장 작은 거리로부터 m 번째 작은 거리까지의 거리들을 갖는 상기 기준 벡터들에 대응하는 m 문자들이 문자 후보들로 선택되도록 프로그램되는, 문자 인식 시스템.
  7. 제 1항에 있어서,
    임의의 문자들에 대한 유사한 관계들을 갖는 문자들을 제공하는 유사 문자 사전(similar character dictionary)을 더 포함하고, 상기 컴퓨터는 다수의 문자 후보들의 선택에 응답하여 상기 유사 문자 사전으로부터 각각의 문자 후보들과 유사한 문자들을 추출하고, 인식될 특징 벡터와 상기 유사 문자들의 기준 벡터들 간의 거리들을 계산하고, 다수의 문자 후보들의 거리값들 및 상기 유사 문자들의 거리값들을 분류하고, 인식 문자 후보들로서 미리결정된 다수의 문자들을 거리의 올림차순으로 선택하도록 프로그램되는, 문자 인식 시스템.
  8. 제 2항에 있어서,
    상기 컴퓨터는, 두 번째로 높은 문자 발생 빈도를 갖는 클래스에 대한 클래스 임계값보다 더 작은 거리가 없는 경우에는 세 번째로 높은 문자 발생 빈도를 갖는 클래스에 속한 다수의 문자들의 기준 벡터들과 특징 벡터간의 거리들이 계산되고, 클래스에 대해 결정된 클래스 임계값보다 작은 거리가 있는 경우에는 상기 거리에 대응하는 기준 벡터의 문자가 문자 후보로서 선택되도록 프로그램되는, 문자 인식 시스템.
  9. 제 2항에 있어서,
    임의의 문자들와 유사한 관련들을 갖는 문자들을 제공하는 유사 문자 사전을 더 포함하고, 상기 컴퓨터는, 다수의 문자 후보들의 선택에 응답하여 상기 유사 문자 사전으로부터 각각의 문자 후보들과 유사한 문자들을 추출하고, 인식될 특징 벡터와 상기 유사 문자들의 기준 벡터들 간의 거리들을 계산하고, 다수의 문자 후보들의 거리값들 및 상기 유사 문자들의 거리값들을 분류하고, 인식 분자 후보들로서 미리결정된 다수의 문자들을 거리의 올림차순으로 출력하도록 프로그램되는, 문자 인식 시스템.
  10. 입력 문자 패턴으로부터 추출된 특징 벡터와 이전에 저장된 타겟 문자들의 패턴들의 기준 벡터들 간의 거리들을 비교하여 문자 인식을 실행하는 문자 인식 시스템에 있어서,
    거의 모든 문자들과 상기 기준 벡터들을 통해 상기 타겟 문자들의 기준 벡터들의 특징들의 평균 거리값들을 계산하여 준비된 평균 거리의 내림차순을 나타내는정보를 저장하는 사전 저장 장치; 및
    컴퓨터를 포함하고,
    상기 컴퓨터는, 입력 문자의 상기 특징 벡터와 각각의 다수의 기준 벡터들 간의 거리를 계산하고, 계산된 거리값들 중 상대적으로 작은 거리값을 임계값으로 설정하고, 미리결정된 중간 차원까지의 특징 벡터와 다음 기준 벡터간의 거리를 계산하고, 상기 차원에서의 거리값이 임계값을 초과하는 경우 상기 기준 벡터에 대한 거리 계산을 중지하고, 다음 기준 벡터에 대한 거리 계산을 진행하도록 프로그램되는, 문자 인식 시스템.
  11. 제 10항에 있어서,
    중간 차원에서의 거리값이 상기 임계값을 초과하지 않는 경우, 상기 컴퓨터는 제 2 중간 차원까지의 거리값을 계산하고, 제 2 중간 차원에서의 거리값이 상기 임계값을 초과하는 경우 상기 기준 벡터에 대한 거리 계산을 중지하고, 다음 기준 벡터에 대한 거리 계산을 진행하는, 문자 인식 시스템.
  12. 입력 문자 패턴으로부터 추출된 특징 벡터와 이전에 저장된 타겟 문자들의 기준 벡터들 간의 거리를 비교하여 문자 인식을 실행하는 문자 인식 시스템에 있어서,
    모든 문자들이 상기 타겟 문자들의 발생 빈도에 기초하여 다수의 클래스들로 분류되고, 기준 벡터들이 분류 정보과 함께 저장되는 사전 저장 장치;
    다수의 클래스들 중 가장 높은 문자 발생 빈도를 갖는 클래스에 속한 다수의 문자들의 기준 벡터들과 특징 벡터 간의 거리들을 계산하는 거리 계산 수단; 및
    가장 높은 문자 발생 빈도를 갖는 클래스에 속한 하나 또는 다수의 문자들에 대한 거리 계산 수단에 의해 계산된 거리들이 미리결정된 임계값보다 작은 경우, 가장 높은 문자 발생 빈도를 갖는 클래스에 속한 상기 문자들의 기준 벡터들에 대한 거리 계산에 기초하여 문자 후보를 선택하는 선택 수단을 포함하는, 문자 인식 장치.
  13. 모든 문자들이 타겟 문자들의 발생 빈도들에 기초하여 다수의 클래스들로 분류되고, 상기 클래스들 각각에 대한 기준 벡터들을 저장하는 사전 저장 장치가 제공된 컴퓨터가 사용되고, 입력 패턴으로부터 추출된 특징 벡터와 이전에 저장된 타겟 문자들의 기준 벡터들 간의 거리들이 비교되어 문자 인식을 실행하는 문자 인식 방법에 있어서,
    (a) 다수의 클래스들 중 가장 높은 문자 발생 빈도를 갖는 클래스에 속한 다수의 문자들의 기준 벡터들과 특징 벡터 간의 거리들을 계산하는 단계; 및
    (b) 상기 클래스에 대해 결정된 클래스 임계값보다 더 작은 거리가 있는 경우, 상기 거리에 대응하는 기준 벡터의 문자를 후보 문자로 선택하는 단계를 포함하는, 문자 인식 방법.
  14. 제 13항에 있어서,
    (a) 상기 클래스 임계값보다 작은 거리가 없는 경우, 두 번째로 높은 문자 발생 빈도를 갖는 클래스에 속한 다수의 문자들의 기준 벡터들과 특징 벡터 간의 거리들을 계산하는 단계; 및
    (b) 상기 클래스에 대해 결정된 제 2 클래스 임계값보다 작은 거리가 있는 경우, 상기 거리에 대응하는 기준 벡터의 문자를 후보 문자로 선택하는 단계를 더 포함하는, 문자 인식 방법.
  15. 제 13항에 있어서,
    다수의 기준 벡터 특징들의 평균 거리의 순서를 나타내는 리스트가 사용되고, 상기 방법은:
    (a) 평균 거리의 내림차순으로 상기 리스트에 따라 상기 입력 패턴으로부터 추출된 상기 특징 벡터의 특징들을 분류하여, 상기 기준 벡터들 중 하나의 기준 벡터와 n번째 특징까지의 특징들에 대해 대응하는 특징들에 대한 거리를 계산하는 단계; 및
    (b) 다음의 단계들 (b-1) 상기 문자 후보 선택 임계값과 상기 거리를 비교하는 단계, 및 (b-2) 상기 거리가 상기 임계값보다 크지 않을 경우, 다음의 n번째의 특징들을 포함하는 거리를 계산하는 단계를 반복하고, 상기 거리가 문자 후보 선택 임계값을 초과하는 경우에는 다음의 기준 벡터와의 비교를 진행하는 단계를 포함하는, 문자 인식 방법.
  16. 제 15항에 있어서,
    모든 특징들을 포함하는 거리가 상기 문자 후보 선택 임계값을 초과하지 않는 경우, 비교 대상이었던 상기 기준 벡터에 대응하는 문자가 메모리 내에 문자 후보로서 저장되는, 문자 인식 방법.
  17. 제 16항에 있어서,
    m 번째 가장 작은 거리값을 갖는 문자 후보의 거리값을 문자 후보 선택 임계값으로서 동적으로 설정하는 단계를 더 포함하며, m은 선택될 문자 후보들의 수인, 문자 인식 방법.
  18. 제 17항에 있어서,
    가장 높은 문자 발생 빈도를 갖는 클래스에 속한 상기 기준 벡터들에 대한 상기 특징 벡터의 거리 계산이 완료되고, 이러한 거리들 중 하나 또는 다수의 거리들이 상기 클래스에 대해 결정된 임계값보다 작은 경우, 가장 작은 거리로부터 m 번째 작은 거리까지의 거리들을 갖는 기준 벡터들에 대응하는 m 개의 문자들이 문자 후보로서 선택되는, 문자 인식 방법.
  19. 제 13항에 있어서,
    임의의 문자들의 유사한 관계들을 갖는 문자들을 제공하는 유사 문자 사전이 사용되고, 상기 단계는:
    (a) 다수의 문자 후보들의 선택에 응답하여 상기 유사 문자 사전으로부터 각각의 문자 후보들과 유사한 문자들을 추출하는 단계;
    (b) 인식될 상기 특징 벡터와 상기 유사 문자들의 기준 벡터들 간의 거리들을 계산하는 단계;
    (c) 다수의 문자 후보들의 거리값들 및 상기 유사 문자들의 거리값들 분류하는 단계; 및
    (d) 미리결정된 다수의 문자들을 인식 문자 후보들로서 거리의 올림차순으로 출력하는 단계를 더 포함하는, 문자 인식 방법.
  20. 제 14항에 있어서,
    (a) 두 번째로 높은 문자 발생 빈도를 갖는 클래스에 대한 클래스 임계값보다 더 작은 거리가 없는 경우, 세 번째로 높은 문자 발생 빈도를 갖는 클래스에 속한 다수의 문자들의 기준 벡터들과 특징 벡터 간의 거리들을 계산하는 단계; 및
    (b) 상기 클래스에 대해 결정된 클래스 임계값보다 작은 거리가 있는 경우, 상기 거리에 대응하는 기준 벡터의 문자를 문자 후보로서 선택하는 단계를 더 포함하는, 문자 인식 방법.
  21. 제 14항에 있어서,
    임의의 문자들에 대해 유사한 관련성을 갖는 문자들을 제공하는 유사 문자 사전이 사용되고, 상기 방법은:
    (a) 다수의 문자 후보들의 선택에 응답하여 상기 유사 문자 사전으로부터 각각의 문자 후보들과 유사한 문자들을 추출하여, 인식될 특징 벡터와 상기 유사 문자들의 기준 벡터들 간의 거리들을 계산하는 단계;
    (b) 다수의 문자 후보들의 거리값들 및 상기 유사 문자들의 거리값들을 분류하고, 미리결정된 다수의 문자들을 인식 문자 후보들로서 거리의 올림차순으로 출력하는 단계를 더 포함하는, 문자 인식 방법.
  22. 모든 문자들이 타겟 문자들의 발생 빈도들에 기초하여 다수의 클래스들로 분류되고, 기준 벡터들이 상기 클래스들 각각에 대해 저장되는 사전과, 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능한 기록 매체에 있어서,
    상기 컴퓨터 프로그램은:
    (a) 입력 패턴으로부터 추출된 특징 벡터와 다수의 클래스들 중 가장 높은 문자 발생 빈도를 갖는 클래스에 속한 다수의 문자들의 기준 벡터들 간의 거리값들을 계산하는 단계;
    (b) 가장높은 문자 발생 빈도를 갖는 클래스에 대해 결정된 클래스 임계값보다 더 작은 거리값이 있는 경우, 상기 거리를 갖는 기준 벡터의 문자를 문자 후보로서 선택하는 단계를 실행하는, 컴퓨터 판독가능한 기록 매체.
  23. 제 22항에 있어서,
    상기 프로그램은:
    (a) 상기 클래스 임계값보다 작은 거리가 없는 경우, 상기 특징 벡터와 두 번째로 높은 문자 발생 빈도를 갖는 클래스에 속한 다수의 문자들의 기준 벡터들 간의 거리들을 계산하는 단계; 및
    (b) 상기 클래스에 대해 결정된 제 2 클래스 임계값보다 작은 거리값이 있는 경우, 상기 거리에 대응하는 기준 벡터의 문자를 후보 문자로 선택하는 단계를 더 포함하는, 컴퓨터 판독가능한 기록 매체.
  24. 제 22항에 있어서,
    다수의 기준 벡터들의 특징들의 평균 거리의 순서를 나타내는 리스트를 더 포함하고, 상기 컴퓨터 프로그램은:
    (a) 평균 거리의 내림차순으로 상기 리스트에 따라 상기 입력 패턴으로부터 추출된 상기 특징 벡터의 특징들을 분류하여, 상기 기준 벡터들 중 하나의 기준 벡터와 n번째 특징까지의 특징들에 대해 대응하는 특징들에 대한 거리를 계산하는 단계; 및
    (b) 다음의 단계들 (b-1) 상기 문자 후보 선택 임계값과 상기 거리를 비교하는 단계, 및 (b-2) 상기 거리가 상기 임계값보다 크지 않을 경우, 다음의 n번째의 특징들을 포함하는 거리를 계산하는 단계를 반복하고, 상기 거리가 문자 후보 선택 임계값을 초과하는 경우에는 다음의 기준 벡터와의 비교를 진행하는 단계를 포함하는, 컴퓨터 판독가능한 기록 매체.
KR1020027005587A 2000-08-31 2001-08-30 문자 인식 시스템 KR100843504B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00262096 2000-08-31
JP2000262096A JP4674778B2 (ja) 2000-08-31 2000-08-31 文字認識システム

Publications (2)

Publication Number Publication Date
KR20020081210A true KR20020081210A (ko) 2002-10-26
KR100843504B1 KR100843504B1 (ko) 2008-07-04

Family

ID=18749827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027005587A KR100843504B1 (ko) 2000-08-31 2001-08-30 문자 인식 시스템

Country Status (7)

Country Link
EP (1) EP1314129B1 (ko)
JP (1) JP4674778B2 (ko)
KR (1) KR100843504B1 (ko)
CN (1) CN100501764C (ko)
DE (1) DE60128706T2 (ko)
TW (1) TW540007B (ko)
WO (1) WO2002019248A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007094537A1 (en) 2006-02-14 2007-08-23 Olaworks, Inc. Method and system for tagging digital data
KR100826820B1 (ko) 2003-09-29 2008-05-02 모토로라 인코포레이티드 사용자 인터페이스상에 스크라이빙된 인디시아 인식
KR100921689B1 (ko) * 2008-05-08 2009-10-15 엔에이치엔(주) 언어 인식을 이용하여 이종의 언어를 포함하는 문서의문자를 분할하기 위한 방법, 시스템 및 컴퓨터 판독 가능한기록 매체
WO2020022574A1 (en) * 2018-07-23 2020-01-30 Hewlett-Packard Development Company, L. P. Character recognition using previous recognition result of similar character

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1619583B (zh) * 2003-11-20 2010-05-05 摩托罗拉公司 手写识别的方法和系统
CN1308889C (zh) * 2003-11-28 2007-04-04 佳能株式会社 字符识别方法和装置
CN101645134B (zh) * 2005-07-29 2013-01-02 富士通株式会社 整体地名识别方法和整体地名识别装置
JP5020513B2 (ja) * 2006-01-11 2012-09-05 シャープ株式会社 パターン認識装置、パターン認識方法、パターン認識プログラム、および記録媒体
JP5239419B2 (ja) * 2008-03-14 2013-07-17 オムロン株式会社 文字認識プログラム、文字認識電子部品、文字認識装置、文字認識方法、およびデータ構造
CN101593278B (zh) * 2008-05-27 2013-01-16 佳能株式会社 文档图像的语言判别方法和系统
NZ589039A (en) * 2009-09-24 2013-04-26 Nec Corp Recognition of a word image with a plurality of characters by way of comparing two possible candidates based on an evaluation value
CN102129560B (zh) * 2010-01-18 2013-11-06 富士通株式会社 字符识别的方法和设备
JP6003492B2 (ja) * 2012-10-01 2016-10-05 富士ゼロックス株式会社 文字認識装置及びプログラム
CN103761477A (zh) * 2014-01-07 2014-04-30 北京奇虎科技有限公司 一种病毒程序样本的获取方法和设备
CN106557766B (zh) * 2016-11-22 2020-05-19 宇龙计算机通信科技(深圳)有限公司 模糊字符处理方法、系统及电子设备
CN111507400B (zh) * 2020-04-16 2023-10-31 腾讯科技(深圳)有限公司 应用分类方法、装置、电子设备以及存储介质
CN111783766B (zh) * 2020-07-10 2023-02-14 上海淇毓信息科技有限公司 一种分步识别图像字符的方法、装置和电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4589142A (en) * 1983-12-28 1986-05-13 International Business Machines Corp. (Ibm) Method and apparatus for character recognition based upon the frequency of occurrence of said characters
JPS6282486A (ja) 1985-10-08 1987-04-15 Hitachi Ltd オンライン手書き図形認識装置
US4773099A (en) 1985-10-10 1988-09-20 The Palantir Corporation Pattern classification means for use in a pattern recognition system
EP0498978A1 (en) 1991-02-13 1992-08-19 International Business Machines Corporation Mechanical recognition of characters in cursive script
US5479523A (en) * 1994-03-16 1995-12-26 Eastman Kodak Company Constructing classification weights matrices for pattern recognition systems using reduced element feature subsets
JP2986074B2 (ja) 1995-07-26 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション 近傍点検出方法及びパターン認識装置
US6345119B1 (en) * 1996-02-19 2002-02-05 Fujitsu Limited Handwritten character recognition apparatus and method using a clustering algorithm
JP2973944B2 (ja) * 1996-06-26 1999-11-08 富士ゼロックス株式会社 文書処理装置および文書処理方法
JPH10143613A (ja) * 1996-10-30 1998-05-29 Hewlett Packard Co <Hp> パタン認識方法
SG98366A1 (en) * 1997-07-11 2003-09-19 Matsushita Electric Ind Co Ltd Recording medium of character data of full text and character string collating apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100826820B1 (ko) 2003-09-29 2008-05-02 모토로라 인코포레이티드 사용자 인터페이스상에 스크라이빙된 인디시아 인식
WO2007094537A1 (en) 2006-02-14 2007-08-23 Olaworks, Inc. Method and system for tagging digital data
KR100921689B1 (ko) * 2008-05-08 2009-10-15 엔에이치엔(주) 언어 인식을 이용하여 이종의 언어를 포함하는 문서의문자를 분할하기 위한 방법, 시스템 및 컴퓨터 판독 가능한기록 매체
WO2020022574A1 (en) * 2018-07-23 2020-01-30 Hewlett-Packard Development Company, L. P. Character recognition using previous recognition result of similar character

Also Published As

Publication number Publication date
TW540007B (en) 2003-07-01
CN1388947A (zh) 2003-01-01
CN100501764C (zh) 2009-06-17
WO2002019248A2 (en) 2002-03-07
EP1314129A2 (en) 2003-05-28
KR100843504B1 (ko) 2008-07-04
WO2002019248A9 (en) 2002-07-11
EP1314129A4 (en) 2005-06-01
WO2002019248A3 (en) 2002-05-16
DE60128706T2 (de) 2008-01-24
JP4674778B2 (ja) 2011-04-20
JP2002074268A (ja) 2002-03-15
EP1314129B1 (en) 2007-05-30
DE60128706D1 (de) 2007-07-12

Similar Documents

Publication Publication Date Title
US7254269B2 (en) Character recognition system
KR100843504B1 (ko) 문자 인식 시스템
CN110287328B (zh) 一种文本分类方法、装置、设备及计算机可读存储介质
US6125362A (en) Data processing method and apparatus for identifying classification to which data belongs
Antonacopoulos et al. ICDAR2005 page segmentation competition
US7283669B2 (en) Fine segmentation refinement for an optical character recognition system
US5862259A (en) Pattern recognition employing arbitrary segmentation and compound probabilistic evaluation
JP2016143413A (ja) 再帰的な区分化を用いた文書画像についての単語区分化
CN110503143B (zh) 基于意图识别的阈值选取方法、设备、存储介质及装置
CN113420669B (zh) 基于多尺度训练和级联检测的文档版面分析方法和系统
CN111859921A (zh) 文本纠错方法、装置、计算机设备和存储介质
US20040146200A1 (en) Segmenting touching characters in an optical character recognition system to provide multiple segmentations
US20180260652A1 (en) Computer implemented method and system for optical character recognition
JP4802176B2 (ja) パターン認識装置、パターン認識プログラム及びパターン認識方法
JPH10254883A (ja) 文書自動分類方法
JPH11328317A (ja) 日本語文字認識誤り訂正方法及び装置、並びに、誤り訂正プログラムを記録した記録媒体
Wang et al. A study on the document zone content classification problem
KR20050033852A (ko) 문서 분류 장치, 스타일 지정적 고정 패턴 생성 장치,입력 문서 분류 방법, 메모리 장치 또는 매체
JPH11328318A (ja) 確率テーブル作成装置、確率方式言語処理装置、認識装置、及び、記録媒体
JP3121401B2 (ja) 認識辞書及び文字認識装置
JP2008071214A (ja) 文字認識辞書作成方法及びその装置及び文字認識方法及びその装置及びプログラムを格納した記憶媒体
JP2007257249A (ja) 文字認識方法及びその装置及びそのプログラムを格納した記憶媒体
CN113947079A (zh) 一种企业行业标签的生成方法及装置
CN112990252A (zh) 信息处理装置、信息处理方法以及程序
JP2000090203A (ja) 文字認識方法及びその装置

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
LAPS Lapse due to unpaid annual fee