KR100487386B1 - 부수 모델에 기초한 초서체 한자 수기 주석의 검색법 - Google Patents

부수 모델에 기초한 초서체 한자 수기 주석의 검색법 Download PDF

Info

Publication number
KR100487386B1
KR100487386B1 KR10-2001-0016493A KR20010016493A KR100487386B1 KR 100487386 B1 KR100487386 B1 KR 100487386B1 KR 20010016493 A KR20010016493 A KR 20010016493A KR 100487386 B1 KR100487386 B1 KR 100487386B1
Authority
KR
South Korea
Prior art keywords
copies
stroke
annotation
strokes
handwritten
Prior art date
Application number
KR10-2001-0016493A
Other languages
English (en)
Other versions
KR20010093764A (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 KR20010093764A publication Critical patent/KR20010093764A/ko
Application granted granted Critical
Publication of KR100487386B1 publication Critical patent/KR100487386B1/ko

Links

Classifications

    • 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/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • 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/16Image preprocessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Character Discrimination (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

초서체의 한자는 의미적 매칭 프로세스(semantic matching process)를 이용하여 해석되며, 우선 문자 내의 부수를 추출하고, 그 부수를 이용하여 전체 어휘의 검색 공간을 매칭하는 부수를 포함하는 문자만으로 감소시킨다. 부수 추출을 실행할 때, 입력된 문자를 규격화하고, 복수의 획으로 분할하여, 획의 상하 정보(up/down information) 및 국소적인 최대 및 최소 정보(local maxima and minima information)에 기초하여 차례로 편성한다. 불명료한 구분점 및 연결 획은 그 과정에서 제거된다. 이어서, 다이나믹 프로그램 매칭을 획 마다 수행하여, 획 치환 코스트(stroke substitution cost)가 탄젠트 벡터 분석, 중심 관계 평가 및 시작 포인트/종료 포인트 평가를 포함하는 다양한 기술을 통해, 포인트마다 평가된다. 다이나믹 프로그램 코스트는 기준 부수의 길이에 기초하여 규격화되며 위치 차이는 제거된다.

Description

부수 모델에 기초한 초서체 한자 수기 주석의 검색법{RETRIEVAL OF CURSIVE CHINESE HANDWRITTEN ANNOTATIONS BASED ON RADICAL MODEL}
본 발명은 일반적으로 수기 처리 시스템(handwriting process)에 관한 것으로서, 특히 초서체 한자의 개선된 잉크 매칭 기술에 관한 것이다.
수기된 중국어에는 매우 많은 수의 문자가 있으며, 영어 알파벳의 문자를 매칭하는데 사용되는 종래의 매칭 기술은 단순히 검색 목적에도 부족하다는 사실이 잉크 매칭 기술의 실정이다.
전자 잉크는 인식하려고 시도하지 않고도 매칭될 수 있는 1급 데이터로 작용할 수 있다는 기본 가정하에 잉크 매칭법이 이루어진다. 다시 말해, 사용자가 초서체 문자를 수기하면, 초서체 획(stroke)이 의미하는 문자를 해독할 필요없이도, 초서체 획에 관한 시간적 및 공간적 정보를 포함하는 전자 잉크 데이터가 검색 또는 매칭 동작에 사용될 수 있다는 것이다.
본 명세서에 개시된 개선 방법은 다이나믹 프로그래밍 매칭이 개선된 강력한 부수 추출 기술(radical extraction technique)이다. 본 발명은 모든 중국어뿐만 아니라 한자가 사용되는 다른 언어에도 적용될 수 있다. 오늘날 한자는 중국, 타이완, 일본, 한국 등을 포함한 아시아 전역에서 널리 사용되고 있다.
한자는 인류의 초기 기록 형태 중의 하나인 상형문자에 뿌리를 두고 있다. 부수라고 알려져 있는 하나 이상의 하위문자(sub-character)로 구성되는 한자의 각 글자는 하나의 단어, 뜻 또는 의미를 나타낸다. 따라서, 영어 단어를 철자하는데 사용되는 알파벳 문자와 달리 한자는 훨씬 더 압축적이다. 하나의 문자가 전체의 단어, 뜻 또는 의미를 나타낸다.
한자는 의사소통의 압축적이고 고도로 효율적인 형태이므로, 자동화 시스템에서는 문제를 가져왔다. 한자를 컴퓨터로 입력하는 것은 병목현상을 가져오므로, 어떤 이는 키보드 대신에 디지털화된 테블릿(tablet)을 사용함으로써 이 문제를 해결하는 방법을 제안하기도 했다. 테블릿을 이용하여 사용자는 그의 필적을 컴퓨터로 입력할 수 있으며, 수기 인식 기술은 사용자의 수기를 인식된 글로 변환시키고, 변환된 글은 컴퓨터로 입력된다. 수기 한자 인식 분야에 있어서, 온라인 인식은 입력 포인트와 획들이 수기된 시간적 순서를 포착하는 장점을 가진다. 따라서, 온라인 인식 시스템은 선들이 수기됨에 따라 생성되는 시간적 데이터에 의해, 위에서 아래로 수기된 선과 아래에서 위로 수기된 선을 구별할 수 있다.
초서체 한자 인식 분야에서 커다란 진보가 이루어져 왔지만, 문제의 복잡성은 애초에 예상하던 것보다 더 큰 것으로 드러났다. 이는 통상적인 상업용으로 디자인된 어휘에 필요한 문자들의 수가 많기 때문에 작은 문제가 아니다. 예를 들어, 한자에는 평균 3000 내지 5000자의 상용문자가 있다. 일본어의 경우에는, 한자 또는 "칸지(kanji)"문자의 수가 좀 더 적다. 그럼에도 불구하고, 일본 신문을 읽기 위해서는 여전히 수천 자를 이해해야만 한다. 더욱이, 수기 문자 인식의 또다른 어려움은 수기 스타일이 수기하는 사람에 따라서 크게 다르며 사람들이 흔히 흘려 쓴다는 것이다.
근래에 잉크 매칭 기술은 문서 검색 목적으로 수기 주석을 검색하는 것과 같은 특정 용도에 유망한 것으로 알려져 있다. 이러한 선행 기술로는 미국특허 제5,832,474호 "사용자 수기 주석의 부분 매칭 검색을 이용한 문서 검색 및 검색 시스템"이 있다. 이러한 용도에는 잉크 매칭법이 통상적인 문자 인식 기술에 비해 유리한데, 이는 잉크 매칭법이 여러 스타일의 초서체, 특히 흘림 초서체를 취급하기 때문이다. 최근에, 의미 매칭 기술(semantic matching techniques)이 도입되었는데, 이 경우 문자는 그 구성요소인 부수들로 세분되고 이들 부수들이 미리 검색되어 문자 매칭 문제를 감소시킨다. 추출된 부수에 의거하여 부분 매칭을 수행함으로써, 이어지는 문자 매칭 프로세스에서는 매칭된 부수를 포함하지 않는 문자들을 조사할 필요가 없게 된다.
기준 부수에 근거한 의미 매칭법이 매우 유망한 기술이지만, 이 기술의 성공여부는 완전한 문자로부터 부수를 추출할 수 있는 시스템의 능력에 따라 결정된다. 부수 추출은 매우 힘든 문제이다. 초서체 한자는 통상 어떤 격자선(grid line)없이 자유로운 형태로 수기되기 때문에, 문자 내에서의 부수의 위치는 문자가 수기될 때마다 상당히 다르다. 또한, 부수가 무심코 문자의 다른 부분과 교차할 수도 있어, 부수를 문자내에서의 개별 요소로서 식별하는 것을 어렵게 만든다. 더욱이, 사용자가 한자를 빨리 쓸 때에는, 문자의 한 부분의 종료 획(ending stroke)이 다음 부분의 시작 획(beginning stroke)과 접하도록 양자를 무심코 연결시킬 수도 있다. 비록 연결 획이 문자의 실제 부분은 아니지만, 그럼에도 불구하고 단지 사용자가 문자의 개별 부분을 수기하는 사이에 펜이나 스타일러스(stylus)를 들지 않았을 수도 있기 때문에 연결 획은 획 데이터(stroke data)에 존재하게 된다.
상기 문제점 외에도 다이나믹 프로그래밍(dynamic programming)이라는 부가적인 문제가 있다. 다이나믹 프로그래밍은 하나의 패턴(부수내의 획과 같은)이 다른 패턴과 매칭되는지를 결정함에 있어서 삽입 코스트(insertion cost), 삭제 코스트(deletion cost), 및 치환 코스트(substitution cost)를 평가하는 패턴 매칭 기술이다. 통상적으로, 획 삽입 코스트와 획 삭제 코스트는 획의 길이에 직접 비례하여 계산된다. 획 치환 코스트는 두 획 사이의 형상 유사성을 측정해야 하기 때문에 더 복잡하다. 통상적인 기술을 사용하면, 다이나믹 프로그래밍을 사용하여 치환이 고려되는 두 획 사이의 한 세트의 포인트의 쌍이 얻어진다. 치환 코스트는 각기 두 포인트들의 쌍에 대한 기하학적 거리(Euclidean distance)의 합으로 측정된다. 치환 코스트가 계산되기 전에, 각 획이 일시적으로 변위되어 그 획의 경계 박스(bounding box)의 좌상부 모퉁이가 원점(0, 0)과 겹치게 된다.
치환 코스트를 계산하기 위한 통상적인 기하학적 방법은 두가지 단점이 있다. 첫째, 다이나믹 프로그래밍 절차가 시간 소비적이다. 둘째, 기하학적 거리법을 이용할 때의 에러가 누적된다. 기준 획과 테스트되는 획이 각기 변위되어 좌상부 모퉁이들이 원점에 겹치도록 된 후에, 포인트대포인트 거리 분석이 수행된다. 각 획의 기본 형상이 비교적 동일하다면, 기하학적 거리법은 유용한 수치를 제공할 수 있다. 그러나, 각 획이 그들의 좌상부 모퉁이를 제외하고는 모양이 본질적으로 동일하다면, 기하학적 거리법은 실패하게 된다. 두 획의 좌상부 모퉁이를 정렬함으로써, 획의 나머지 부분들이 서로 큰 기하학적 거리로 분리되고, 그 결과 획들이 서로 형상이 유사하지 않다는 잘못된 평가를 가져오게 된다.
본 발명은 의미 매칭 성능을 상당히 개선할 수 있는 크게 개선된 부수 추출 기술을 제공한다. 이하에서 더 상세히 설명되겠지만, 이 기술은 다이나믹 프로그래밍 절차에서 혼동될 수 있는 다수의 문제가 되는 인위적 결과를 제거하는 문자 규격화 절차와 개선된 획 분할 절차를 사용한다.
이 기술은 또한 탄젠트 벡터, 중심 관계 평가 및 시작 포인트-종료 포인트 평가를 사용하여 더욱 확실하게 치환 코스트를 평가할 수 있는 새로운 다이나믹 프로그래밍 방법을 사용한다. 다이나믹 프로그래밍 절차는 또한 보다 우수한 매칭을 위해 시작 부수와 종료 부수를 표시하는 부수 범주 데이터 구조를 사용한다. 부가적으로, 다이나믹 프로그래밍 절차는 기준 부수의 길이를 이용하여 다이나믹 프로그래밍 코스트가 표준화된 후 표준화된 코스트가 상호 조정되어 다이나믹 프로그래밍 코스트의 순위에 기초하여 위치 차이(dissimilarities)를 제거하는 기술을 사용한다.
개선된 다이나믹 프로그래밍 절차의 결과, 최고의 또는 n번째로 우수한 추출된 부수들이 도출된다. 그후, 최고의 또는 (n번째로 우수한) 부수를 사용하여 이어지는 완전한 문자의 매칭을 위한 어휘의 크기를 감소시킬 수 있다. 본 발명의 다이나믹 프로그래밍의 개선은 부수 추출에 특히 유용하지만, 이것은 이하의 완전한 문자 추출이나 매칭 동작에서도 사용될 수 있다.
도면을 참조하여 본 발명과 본 발명의 목적 및 이점에 대해 상세히 설명하고자 한다.
도1은 도면번호 10의 기계 인쇄 또는 조판 형태와 도면번호 12의 수기 형태의 예시적인 한자를 나타낸다. 특정된 문자는 "고양이"를 의미하며, 부수(14)(문자의 좌편에 위치하는 것)와 같은 적어도 하나의 부수로 이루어진다. 부수 자체는 "동물"이라는 의미를 갖는다. 이와 같이, "고양이"라는 한자는 "동물"이라는 보다 기본적인 문자를 내부에 포함하고 있다. 이러한 예는, 물론 한자 내에 일상적으로 사용되는 적어도 200개의 부수가 존재한다는 것을 예시하기 위한 목적으로 의도된 것이다.
일반적으로, 중국어 및 한자를 사용하는 다른 언어들에서, 부수는 한자 중의 작은 기본적인 의미 요소이다. 하나 이상의 부수가 결합되어 한자를 이룬다. 적절하게 쓰여진 각 부수들은 문자 블록 내의 기지의 서브 영역에 위치하여야 한다. 여기서 사용된 바와 같이, 문자 블록은 인쇄된 페이지 상에 문자가 차지하는 대략 사각형인 영역을 나타낸다. 문자 주변에 사각형 경계박스를 그려 문자 블록을 표시할 수 있다. 이와 같이, 경계 박스는 문자 주변을 인접하게 맞추도록 확장되거나 감소되어 단지 한자의 주변에서만 접하는, 일반적으로 탄력적인 사각형 형태로 생각될 수 있다. 부수는 문자 블록 내의 소정의 위치 내에 위치한다.
예를들어, 도1의 예시적인 한자에서, 부수(14)는 실질적으로 문자의 전체 높이까지 연장되어 문자 블록의 좌편 영역을 차지하도록 적절히 그려져 있다. 다른 한자에서, 구성요소인 부수는 다른 위치를 차지할 수 있다. 때때로, 이러한 위치는 문자 블록의 전체 높이(또는 전체 폭)까지 연장되는 서브 영역을 채운다. 다른 부수들은 문자 블록의 최대 높이 또는 폭보다 작은 영역을 채운다.
문자 매칭 과정의 개요
도2를 참조하여, 기본적인 한자 매칭 과정에 대해 설명한다. 도2에 도시된 시스템은 본 발명의 방법 및 장치를 실시할 수 있는 예시적인 실시예의 시스템을 나타낸다. 다른 시스템도 가능하다. 문자 매칭 과정은 시간적 및 공간적 정보를 기록하는 "잉크" 데이터로 불리는 다이나믹으로 기록된 데이터에 따라 수행되는 것이 바람직하다. 스타일러스(stylus; 18)에 의해 디지털화 테블릿(digitizing tablet; 16) 상에 그려진 획(stroke)이 획의 방향이 판단되는 임의의 타임스템프(timestamp) 표시와 함께 연속하는 포인트(예를들어, 테블릿의 x-y 좌표공간에서의 포인트)로서 기록된다. 획은, 획 방향을 나타내고 획의 시작 포인트와 종료 포인트사이를 분간하는데 사용될 수 있는 데이터 구조로 표현된다. 본 발명의 바람직한 실시예에 사용된 잉크 데이터 타입은 위치적(x,y 포인트) 정보와 시간적(타임) 정보를 포함한다.
임의의 수기 한자 프로세싱 시스템의 기본적인 목적은 시스템 훈련에 의해 얻어진 이미 저장된 정보와 (사용자에 의해 제공된) 수기된 문자를 매칭시키는 데 있다. 사용자는 도1의 문자(12)와 같은 수기된 문자를 입력하며, 시스템은 이 문자를 이전에 저장된 데이터와 매칭시킨다. 이러한 방식으로, 이전에 기록된 수기된 주석이 직접 검색될 수 있다. 조판 문자로 기억된 데이터에 대응하는 룩업(look up) 테이블이 이용가능한 경우에, 사용자가 수기 입력한 것을 후 처리 및 표시를 위해 조판 문자로 변환할 수 있다.
도2를 참조하면, 사용자가 수기한 입력이 쿼리(query) 잉크 데이터 구조의 쿼리 잉크로서 저장된다. 이전에 얻어진 데이터가 데이터 저장부(22)의 데이터베이스 잉크로서 저장된다. 데이터 저장부(22)는 예를들어 사용자 필적의 다른 예에 근거하여 사용자가 시스템을 훈련시킴에 의해 저장된다. 훈련은 사용자가 식별(identity)이 미리 알려진 한자의 예를 입력하는 것을 포함한다. 이와 같이, 사용자의 훈련 입력이 어휘의 각 문자에 대한 분류된(labeled) 데이터를 구성하는데 사용된다. 다음, 데이터베이스 잉크 데이터 저장부 내의 어떠한 문자가 쿼리 잉크 데이터 저장부 내의 문자와 가장 근접하게 매칭되는지를 선택하기 위해, 탄력적 매칭으로 알려진 프로세스가 데이터 구조(20)의 쿼리 잉크를 데이터베이스 저장부(22)의 데이터베이스 잉크와 비교하는데 사용된다.
탄력적 매칭을 수행하는 것은 특히 통상의 경우에 그러하지만, 특히 데이터베이스 잉크 데이터 저장부가 많은 어휘를 포함하는 경우에 시간이 소모되는 프로세스이다. 일상적으로 사용되는 한자는 3천 내지 5천개의 문자가 포함된다.
통상의 탄력적 매칭 절차를 가속화하기 위해, 도2의 부수 추출 기술이 이용되어왔다. 도2에서, 통상의 탄력적 매칭 동작이 블록(24)에서 수행된다. 그러나, 이러한 동작이 수행되기 전에, 매칭 동작 또는 검색은 부수 추출 절차에 의해 대폭 축소된다.
부수 추출 절차에는 먼저 쿼리 잉크와 데이터베이스 잉크를 분할하여 각 문자를 그 구성요소 부분으로 해체하는 것을 포함한다. 분할 블록(30 및 32)은 이러한 목적을 위해 제공된다. 도1에 나타낸 예시적인 문자에서, 부수(14)는 구성요소 간의 빈 공간을 식별하여 문자의 나머지 부분으로부터 분할 또는 분리하거나, 또는 접속된 구성요소의 해석에 의해 분할 또는 분리될 수 있다. 그러나, 이하의 바람직한 실시예의 설명에 의해 보다 명확해지는 바와 같이, 수기된 문자들은 거의 알아보기 좋게 쓰여지지 않는다. 빈번하게, 부수는 문자의 다른 부분들과 겹치거나 간섭하게 되며; 사용자는 구성요소 간의 연결 획을 서둘러 쓰며, 이는 부수 분할과 추출을 더욱 곤란하게 만든다. 본 발명은 이하에서 보다 상세히 설명되는 바와 같이 부수 분할 및 추출 공정을 개선시킴으로써 이러한 문제들을 해결하는 수개의 기술을 제공한다.
공정(26 및 28)에서의 분할된 각 문자는 각각의 탄력적 매칭 블록(30 및 32)에서 시험되어 임의의 세그먼트가 이미 알고 있는 부수를 나타내는지의 여부를 결정한다. 이것을 달성하기 위해, 34에서는 기준 부수의 데이터베이스가 제공된다. 본 발명의 실시예에서는, 약 2백개의 기준 부수가 있을 수 있다. 이들은 문자 목록에서 가장 빈번하게 발생하는 부수의 세트로부터 선택된다. 기준 부수는 예를들어 사용자가 분류된 개별 구성요소로서 부수를 필기함으로써 훈련을 통해; 또는 완전한 문자 훈련 데이터로부터 부수의 우수한 예들을 수동으로 추출함으로써 훈련을 통해 얻어질 수 있다. 어떠한 방법에서든, 기준 부수는 사용자의 쿼리 잉크 및 데이터베이스 잉크가 비교될 수 있는 부수에 대한 잉크 데이터의 우수하고 명확한 예들을 제공한다.
그 다음에, 모듈(30, 32)에서 추출된 부수는 부수 코드 평가 블록(36)에서 비교된다. 블록(36)은 부수 코드의 매칭에 기초하여 최고의 후보(top candidate)만을 리턴시킨다. 그 다음에, 최고의 매칭 부수 코드는 다른 부수 코드 평가블록(38)에 공급되며, 상기 다른 부수 코드 평가블록(38)은 최고의 부수 후보를 가지는 최고의 문자 후보를 데이터베이스 잉크 데이터 저장부(22)로부터 선택한다. 그 다음에, 선택된 문자는 데이터 저장부(20)로부터의 쿼리 잉크와의 비교를 위하여 탄력적 매칭 블록(24)에 공급된다.
이러한 방식에서, 사용자의 입력 쿼리(쿼리 잉크 데이터 저장부(20)에 저장됨)는 데이터베이스 잉크 데이터 저장부(22)로부터 선택된 문자와만 탄성적으로 매칭된다. 우선, 부수(블록 30 및 블록 32)에 대한 탄력적 매칭을 수행함으로써, 전체 매칭 프로세스는 훨씬 더 빠르게 수행될 수 있다. (200 문자에서) 상위 30개의 문자 후보를 리턴시킴으로써, 계산시간이 85% 단축된다.
이하, 의미론적(부수 추출) 모델을 고려하여, 바람직한 실시예의 부수 추출 및 개선된 다이나믹 프로그래밍 기술에 대해 설명한다. 이들 기술은 블록(30, 32)에서 부수 추출의 수행시에 이용될 수 있으며, 개선된 다이나믹 프로그래밍 기술은 탄성적 매칭이 수행되는(도 2의 블록 30, 32 및 24에서와 같이) 곳에서 사용될 수 있다. 현시점에서 도 2에 의해 예시된 부수 추출 구조가 바람직하지만, 본 발명의 기술은 다른 용도에도 이용 가능하다는 것을 알 수 있다.
개선된 부수 추출
이하, 도 3 및 도 4를 참조하여 바람직한 부수 추출 기술에 대해 설명한다. 입력 획 데이터(40)는 쿼리 잉크로서 사용자에 의해 공급되거나 또는 데이터베이스로부터 공급된다. 입력된 데이터에 대한 문자 규격화(character normalization) 및 획 분할 프로세스(stroke segmentation process)는 다이나믹 프로그래밍 매칭동작에 앞서 수행된다. 도 3에서, 문자 규격화는 단계(42)에서부터 시작된다. 획 분할은 단계(50)에서부터 시작되며, 다이나믹 프로그래밍은 단계(60)에서부터 시작된다. 다이나믹 프로그래밍 단계의 상세한 설명은 도 4에 기술된다.
문자 규격화
사람이 규정되지 않은 종이에 쓸때, 그의 필적은 쓸때마다 크기가 다를 수 있다. 따라서, 문자가 이전에 저장된 문자와 비교되거나 또는 부수가 이전에 저장된 부수와 비교될 때, 각각의 획 길이는 다를 수 있다.
이를 조절하기 위하여, 바람직한 실시예에서는 우선 문자 주위에 경계박스를 형성한 후 상기 경계박스의 크기를 규격 또는 표준 크기로 조절함으로써 문자 규격화를 수행한다. 도 3에서, 경계박스(45)는 문자(12) 둘레에 그려지며, 그 다음에 표준크기의 경계박스(46)로 스케일링된다. 도시된 실시예에서, 원래 그려진 문자는 표준화된 문자보다 큰 것이었다. 물론, 임의의 실시예에서는 원래 그려진 문자가 표준 문자보다 작을 수 있으며, 그 경우에 경계박스의 크기는 확대될 것이다.
단계(47)에서 기술된 바와 같이, 문자를 구성하는 픽셀 또는 포인트는 단계(48)에 도시된 바와 같이 원래 그려진 문자가 규격화된 경계박스(46)를 채우는 크기로 축소 또는 확대되도록 시프트된다.
본 바람직한 실시예에서는 선형 규격화(linear normalization)가 사용된다. 각각의 문자의 경계박스는 표준 문자 크기로 규격화되며, 따라서 문자내의 픽셀은 시프트된다. (x1, y1), (x2, y2)이 각각 문자의 경계박스의 상부좌측 및 하부우측 코너에 있다고 가정한다. 문자내의 포인트(x, y)에 대하여, 규격화후의 새로운 좌표는 다음과 같다.
여기서, fx 및 fy는 각각 x 및 y 방향에서의 스케일링 인자(scaling factor)이다. fx 및 fy는 다음과 같이 정의된다:
여기서, Sx는 폭에 대해 선택한 표준 문자 크기이며, Sy는 높이에 대해 선택한 표준 문자 크기이다. 현재, Sx 및 Sy는 각각 40 및 50으로 선택된다. 규격화 후에, 각 문자의 경계박스의 상부좌측 코너는 원점(0,0)으로 시프트된다.
바람직한 실시예에 있어서, 유사한 규격화 조작이 기준 부수(34)(도 2)에 대해 수행된다. 기준 부수를 규격화할 때, 본 발명에서는 부수를 포함하는 전체 문자를 규격화한다. 훈련 과정에서, 기준 부수는 직접 훈련되지 않는다. 각 기준 부수에 대한 부수 위치정보를 유지하기 위하여, 본 발명에서는 상기 부수를 포함하는 문자를 선택하여 사용자에게 그 문자를 필기할 것을 요구한다. 이후에, 기준 부수는 그 대응하는 문자로부터 대화적으로(interactively) 추출될 수 있다. 본 발명에서는 다이나믹 프로그래밍을 사용하기 전에 기준(훈련) 문자의 크기를 규격화한다.
획 분할
획 데이터가 문자 규격화를 통해 규격화된 후에, 획 분할은 우선 단계(52)에서 나타낸 바와 같이 펜 다운(pen down) 및 펜 업(pen up) 정보에 따라 획을 분류(grouping)함으로써 시작된다. 펜 다운 및 펜 업 정보 및 입력 포인트의 시간 순서는 입력 획 데이터(40)가 포착될 때 획득된다. 입력 포인트는 펜 다운 포인트에서 시작하여 펜 업 포인트에서 종료되는 초기 획으로 분류된다. 그 다음에, 시스템은 단계(54)에서 나타낸 바와 같이 초기 획을 보다 작은 획으로 더 절단한다. 이러한 추가 분할은 초기 획을 y값의 국소적인 최소 및 최대 값에서 그리고 x값의 국소적인 최소값에서 절단함으로써 수행된다. 본 발명에서는 절단 포인트를 "내부 절단 포인트(internal breaking point)"라고 칭하고, 이들을 초기 획의 펜 다운 및 펜 업 절단 포인트로부터 구별한다.
수학적인 최소 또는 최대 포인트는 육안으로 바로 알 수 없는 경우가 있다. 그럼에도 불구하고, 상기 최소 및 최대 포인트는 데이터 내에 존재한다. 본 발명에서는 이들 포인트를 "불명료한(obscure)" 절단 포인트라 부른다. 본 바람직한 실시예에서는 단계(56)에서 불명료한 절단 포인트를 제거한다. 불명료한 절단 포인트 제거 공정은 불명료한 절단 포인트를 다음과 같이 정의한다:
pn -i, ..., pn -1,pn,pn +1,...pn +j가 그들의 시간적 순서에 따른 연속적인 입력 포인트인 것으로 가정한다. pn-i,pn,및 pn+j을 절단 포인트로 놓고, y값의 국소적인 최소 때문에pn을 내부 절단 포인트로 놓는다. pn이 "불명료한"지의 여부를 확인하기 위하여, 본 발명에서는, 이하에 기재된 바와 같이, dy1를 "임시 획" pn -i,...pn에 대한 두개의 접촉 포인트의 y값의 평균차로서 정의하며, dy2를 임시 획 pn,...pn +j에 대한 평균차로서 정의한다.
내부 절단 포인트가 명백하게 되게 하기 위해서는 dy1 및 dy2의 절대값을 크게하는게 바람직하다. dy1 및 dy2가 보통 반대방향이기 때문에, 다음과 같은 방식이 적용된다.
만일이면, pn은 불명료한 내부 절단 포인트이며, 따라서 pn은 제거되어야 한다.
여기서, T는 현재 0.5로 세팅된 임계값이다. 불명료한 x-최소 및 y-최대 절단 포인트를 제거하는 절차는 유사하다.
불명료한 절단 포인트를 제거한 후에, 단계(58)에서 임의의 연결 획이 식별되어 제거된다. 연결 획은 손으로 쓴 한자에서 아주 일반적이다. 연결 획은 인쇄된 수기 문자에 대한 표준 문자의 일부분이 아닌 획이다. 수기된 필기체에서는 때때로 두개의 개별 획이 여분의 획, 즉 연결 획에 의해 접속된다.
연결 획은 획의 방향을 지시하는 획 데이터를 시험함으로써 검출된다. 만일 획이 하부우측에서 상부좌측으로 진행하면, 이러한 획은 연결 획일 가능성이 매우 높다.
실제로, 연결 획은 수기 문자에서 일관되게 나타나지 않을 수 있다. 여분의 연결 획은 문자가 형성될 때 스타일러스의 속도 및 방향에 의해 영향을 받을 가능성이 크다. 예컨대, 어떤 사용자는 평상시에는 연결 획이 없는 깔끔한 인쇄형태로 글씨를 쓸 수 있다. 그러나, 사용자가 급하게 글씨를 쓸때에는 연결 획이 나타날 수 있다.
본 발명의 바람직한 획 제거 기술은 연결 획을 검출 및 제거하기 위하여 다음과 같은 방식을 사용한다:
ey-sy≤1 및 ex-sx≤1이면, 이것은 연결 획이다.
상기 식에서 (sx,sy) 및 (ex,ey)는 각각 분할된 획의 시작 포인트 및 종료 포인트이며, 원점(0,0)은 디지털화된 테블릿이나 포착 장치(capturing device)의 상부 좌측 코너에 위치된다.
상기한 획 분할 공정이 완료되면, 단계(60)에서 기호화된 바와 같은 다이나믹 프로그래밍이 수행될 것이다. 바람직한 실시예의 바람직한 실시예의 다이나믹 프로그래밍 절차는 도4에 상세하게 도시되어 있다.
다이나믹 프로그래밍
다이나믹 프로그래밍의 목적은 두 부분, 예컨대 기준 부수와 문의된(questioned) 문자를 매칭시키는 것이다. 매칭 처리는 획 레벨에서 수행되며; 그러므로 그 결과는 두개의 수기(handwirting) 사이의 최상의 획 관계 또는 매칭이다. 이 매칭과 관련된 코스트가 계산된다. 다이나믹 프로그래밍이 획 레벨에서 수행되기 때문에, 바람직한 실시예에서 획 동작(획 삽입, 획 삭제 또는 획 치환)이 먼저 계산된다.
바람직한 실시예는 단계(62)에 나타낸 바와 같이 포인트 레벨을 이용하여 획 동작의 코스트를 계산한다. 이것은 획 삽입 코스트 및 삭제 코스트가 획의 길이에 비례하는 방향으로 계산되고 치환 코스트가 형상 유사성에 기초하여 계산되는 종래의 방식과는 다르다. 이와는 대조적으로, 바람직한 실시예는 다이나믹 프로그래밍이 두개의 포인트 시퀀스를 전체적으로 매칭시키기 위해 포인트 레벨에서 수행되는 접촉 포인트 시퀀스로서 각 획을 처리한다. 포인트 레벨 계산은 기본 동작, 즉 삽입(64), 삭제(66) 및 치환(68)동작을 포함한다. 바람직한 실시예에서 치환 코스트 평가는 탄젠트 벡터 방법론(70), 중심 관계 평가(72), 및 시작 포인트-종료 포인트 평가(74)를 포함하는 다수의 개선된 기술을 이용한다. 이들은 하기에 설명된다. 그러나, 이들 개선된 기술들을 기술하기에 앞서, 종래의 치환 코스트 측정의 단점중 하나를 설명하는 도 5를 참조한다.
종래의 치환 코스트 측정에서, a에서의 획 s1 및 b에서의 획 b1과 같은 두개의 획 사이의 형상 유사성이 평가된다. 평가는 우선 그들의 상부 좌측 코너(또는 각 경계 박스의 상부 좌측 코너)가 중첩하도록 c에서 두개의 획을 일시적으로 정렬함으로써 수행된다. c에서 설명한 바와 같이, 그들의 상부 좌측 코너에 획을 정렬함으로써, 획이 상부 좌측 부분을 제외하고는 기본적으로 유사하다는 사실에도 불구하고, 획의 나머지는 비교적 큰 유클리드 거리(Euclidean distance)로 분리되어 놓여있다. 이것은 누적된 에러를 초래하며, 치환 코스트는 전체 형상이 나타내는 것보다 더 높은 값으로 평가된다.
도 6은 본 발명의 바람직한 실시예에 따라 치환 코스트를 평가하는 방법을 도시한다. 도6을 참조하면, 두개의 획의 대응 포인트를 다음과 같이 정의한다:
s1은 I1 포인트에서의 획이며, s2는 I2 포인트에서의 획이라 한다. Pi는 s1 내에서의 i번째 포인트이며, s2에서 Pi의 대응 포인트는 Pj이고,
이다.
다음, 두개의 대응 포인트 Pi 및 Pj의 치환을 다음과 같이 계산한다:
POINT_SUB_COST(Pi\s1,s2)=1-cosθ(vi,vj)
여기서 vi는 포인트 Pi에서의 탄젠트 벡터이고 vj는 Pj에서 탄젠트 벡터이고, θ(vi,vj)는 두 벡터 사이의 각도이며, θ∈ [0,π]이다.
cosθ(vi,vj)는 다음과 같이 계산될 수 있다.
여기서 (x1, y1) 및 (x2, y2)는 각각 vi의 시작 포인트 및 종료 포인트이며, (x3, y3) 및 (x4, y4)는 각각 vj의 시작 포인트 및 종료 포인트이다.
상기 식으로부터 알 수 있는 바와 같이, θ(vi,vj)이 클수록, POINT_SUB_COST(vi,vj)의 값이 커진다. 두개의 대응 포인트의 치환은 유클리드 거리를 반영하지 않고, 이들 대응 포인트에서 두개의 획 사이의 "순간적인" 형상의 차이를 반영한다. 획 s1을 따라 모든 포인트에 대한 포인트 치환 코스트를 합산함으로써, 획 s1 및 s2 사이의 치환 코스트를 얻을 수 있다:
여기서 I1은 획 s1의 길이이다.
이 획 치환 코스트는 추가 규격화에 의해 다음과 같이 수정된다:
여기서 은 두 획 사이의 평균 길이를 반영하며, 은 획 사이즈의 차를 반영하며, 획 사이즈의 차가 클수록 치환 코스트도 커진다.
규격화 후에, 다음과 같은 값을 갖는다:
STROKE_SUB_COST(s1,s2) STROKE_SUB_COST(s1,s2)
새로운 획 치환 코스트는 여러 가지 단점들을 극복할 수 있다. 첫번째로, 대응 포인트들을 검색함으로써, 포인트 치환 코스트를 계산하는데 있어서 다이나믹 프로그래밍 절차를 배제할 수 있다. 두번째로, 도 6에 도시된 바와 같이 탄젠트 벡터를 이용한 치환 코스트의 계산은 누적 효과를 가지지 않는다.
상기 약술된 치환 코스트를 평가하는 탄젠트 벡터 방법은 획의 구조 정보를 고려하지 않고 획이 매칭되도록 한다. 성능을 더 개선하기 위하여, 획의 구조적 관계는 획의 중심관계 및 그것의 시작 포인트 및 종료 포인트의 평가를 통해 평가될 수 있다.
사용자가 한자를 형성할 경우, 문자내의 획은 구조적 관계(즉, 획들 사이의 공간 관계)로 배열된다. 구조적 관계를 평가하기 위하여, 획의 가중된 중심이 획의 위치를 지시하기 위하여 사용된다. 구조적 정보는 도7에 도시한 바와 같이 두 획 중심 사이의 공간 관계에 의해 반영될 수 있다. 두개의 획이 매칭되고 그들의 치환 코스트가 계산되기 전에, 시스템은 먼저 매칭되거나 치환된 마지막 두 획을 찾는다. 도7을 참조하면, 마지막 두개의 매칭된 획 ri(기준 부수의 i번째 획) 및 cj(문자의 j번째 획)가 있다. 그후, 시스템은 rm과 cn을 매칭할 것이다.
pi, pj, pm, pn은 각각 ri, cj, rm, 및 cn에 대한 가중된 중심이다. 벡터 는 두개의 획 ri 및 rm 사이의 공간 관계를 반영할 수 있다. 유사하게, 벡터 은 cj 및 cn 사이의 공간 관계를 반영할 수 있다. rm을 cn에 매칭시키고자 할 경우, rm과 cn은 형상이 유사할 뿐만 아니라 이전 매칭된 획(즉, 각각 rj 및 cj)에 대한 공간 관계도 유사해야 한다. 즉, 벡터 사이의 각도는 작아야 한다.
기준은 다음과 같다:
rm과 cn은 매칭되지 않는다.
는 임계값으로서 현재 π/2로 설정되어 있다. 다이나믹 프로그래밍에서, 시험될 두개의 획이 매칭하지 않는 것으로 결정되면, 치환 코스트가 아주 높은 수로 설정되어 치환이 일어나지 않을 것이다. 반면, 상기한 방법을 이용하여 획 치환 코스트 계산을 진행한다.
pi=pm 또는 pj=pn일 경우, 얻어진 제로 길이 벡터의 방향은 의미없다는 것이 예외다. 그러므로, 이 경우, 상기 기준은 무시하고 치환 코스트가 계산될 것이다.
바람직한 실시예는 치환 코스트를 계산함에 있어서 시작 포인트와 종료 포인트를 평가한다. 시스템은 먼저 매칭되거나 치환된 마지막 두개의 획을 찾음으로써 두개의 획을 가능한 매칭에 대해 검사한다. 한 획의 시작 포인트와 다음 획의 종료 포인트를 사용하여 매칭할 획과 비교되는 각을 이루는 벡터를 형성한다. 상기 과정은 도 8을 참조하여 이해될 수 있다.
도 8에 도시된 바와 같이, 최종 두개의 매칭된 획이 ri(부수의 i번째 획) 및 cj(문자의 j번째 획)이라고 하자. 시험중 두개의 획은 rm 및 cn이다. ei 및 ej가 각각 획 ri 및 cj의 종료 포인트라고 하자. sm 및 sn이 각각 획 rm 및 cn의 시작 포인트라고 하자. 벡터()는 두개의 획 ri 및 rm 사이의 공간 관계를 반영한다. 유사하게, 벡터()는 획 cj 및 cn 사이의 공간 관계를 반영한다. 본 출원인이 획 rm을 획 cn에 매칭시키고자 할 때, rm 및 cn은 형상이 유사할 뿐만 아니라 이전에 매칭된 획(즉, 각각 ri 및 cj)에 대한 공간 관계도 유사하여야 한다. 즉, 벡터 ()사이의 각도는 작아야 한다.
본 출원인의 기준은, 이면, rm 및 cn은 매칭되지 않는다는 것이다.
θT는 현재 π/2로 설정된 임계값이다. 다이나믹 프로그래밍에서 중심 포인트 벡터와 유사하게, 만약 시험되는 두개의 획이 매칭하지 않는다고 결정되면, 본 출원인은 치환 코스트를 매우 높은 수로 설정하여 상기 치환은 발생하지 않을 것이다. 그렇지 않으면, 본 출원인은 상기된 방법을 사용하여 획 치환 코스트를 계속 계산할 것이다.
다시, 때때로 두개의 연속적인 획이 접속될 때, 제 1 획의 종료 포인트는 제 2 획의 시작 포인트가 된다. 즉, ei=sm 또는 ej=sn. 이 경우, 상기 기준은 무시되고 치환 코스트가 계산된다.
삽입 코스트, 삭제 코스트 및 치환 코스트가 상기에서와 같이 계산된 후, 76에서 다이나믹 프로그래밍 매칭이 수행된다. 본 바람직한 실시예에서 다이나믹 프로그래밍 매칭은 부수를 두개의 메인 카테고리로 분류하는 부수 분류 과정(78)을 통하여 개선된다. 제 1 카테고리에서, 부수는 문자의 최초 수 획을 시작한다. 제 2 카테고리에서, 부수는 문자의 최종 수 획을 종료한다.
부수가 속하는 카테고리는 일반적으로 종래에 공지되었다. 이 카테고리 정보는 본 바람직한 다이나믹 프로그래밍 매칭 과정에서 보강된다. 기준 부수가 문자와 매칭될 때, 만약 문자내의 매칭된 획이 상기 부수에 대한 예상된 카테고리 내에 속하지 않으면 보다 많은 코스트가 부가된다. 현재 바람직한 실시예는 다음의 다이나믹 프로그래밍 과정을 통하여 설명될 수 있다.
지금까지, 다이나믹 프로그래밍은 기준 부수(R=r1r2...rm)를 문자의 부분열(C=c1c2...cm)과 매칭시키기 위해 사용되고 있다. 이런 과정에서, 3개의 동작인 삽입, 삭제 또는 치환은 각각의 동작 코스트에 따라 발생할 수 있다. 최종 목적은 최소 총 코스트로 최적의 동작 시퀀스를 발견하는 것이다. 예를 들어, 예시된 바와 같이, r=r1r2r3r4가 4개의 획으로 이루어진 기준 부수이며 C=c1c2c3...c8가 8개의 획으로 이루어진 매칭 문자라고 하자. R을 C의 부분열, 즉 c'=c=c3c4c5c6로 변환하기 위하여, 하나의 가능한 동작 시퀀스는, 표 1에서 도시된 바와 같이 c1 삽입, c2 삽입, r1을 c3로 치환, r2를 c4로 치환, c5 삽입, r3를 c6로 치환, r4 삭제하는 것이 고려된다.
표 1 : 제1 카테고리의 부수를 부분적으로 문자의 부분열과 매칭시키기 위한 다이나믹 프로그래밍 과정.
I : 삽입; S : 치환; D : 삭제
C1 C2 C3 C4 C5 C6 C7 C8
R1 I I S
R2 S I
R3 S
R4 D
본래의 다이나믹 프로그래밍 과정에서, 본 출원인은 획 시퀀스(C) 및 종료 포인트 어디에서든 매칭을 시작할 수 있다는 것을 이해한다. 상기 실시예에서, 실제 매칭은 r1을 c3로 치환하는 것으로 시작하여 r4를 삭제하는 것으로 끝낸다. 그러므로, 총 코스트는 r1 c3로 치환하고, r2를 r4로 치환하고, c5를 삽입하고, r3를 c6로 치환하고 r4를 삭제하는 코스트의 합이고, c1을 삽입하고 c2를 삽입하는 코스트는 고려되지 않는다.
부수 카테고리를 고려할 때, 본 출원인은 문자의 최초 수 획과 매칭되지 않는 제 1 카테고리의 부수, 또는 문자의 최종 수 획과 매칭되지 않는 제 2 카테고리의 부수에 대한 페널티(penalty)를 부가한다. 이렇게 하기 위하여, 본 출원인은 다이나믹 프로그래밍 과정을 변경하여, 매칭이 매칭 문자의 최초 획으로부터 시작하여 제 1 카테고리 부수 어느 곳에서든 끝나도록 하고; 매칭이 문자내의 어느 곳에서든 시작하여 제 2 카테고리 부수에 대한 최종 획에서 끝나도록 한다. 표 1의 경우, 총 코스트는 c1 삽입, c2 삽입, r1을 c3로 치환, r2를 r4로 치환, c5 삽입, r3를 c6로 치환 및 r4를 삭제하는 것의 합이다. 상기로부터 알 수 있는 바와 같이, 매칭은 치환이 C의 최초 획에서 시작하지 않기 때문에 c1 삽입 및 c2 삽입 코스트에 의해 패널티를 받는다. 예전처럼, 제 1 카테고리 부수에 대하여, 다이나믹 프로그래밍은 문자내의 어느 곳에서든 끝날 수 있다.
유사하게, 제 2 카테고리에 속하는 부수(R)에 대하여, cm 즉, C의 최종 획에서 끝나는 C의 부분열과 매칭시키는 것이 기대된다. 예를 들어, 가능한 동작 시퀀스는 표 2에 도시된 바와 같이 c1 삽입, c2 삽입, r1을 c3로 치환, r2를 r4로 치환, c5 삽입, r3를 c6로 치환, r4 삭제, c7 삽입 및 c8을 삽입하는 것일 수 있다.
표 2 : 문자에 제 2 카테고리 부수를 매칭시키기 위한 다이나믹 프로그래밍 과정의 도시
C1 C2 C3 C4 C5 C6 C7 C8
R1 (I) (I) S
R2 S I
R3 S
R4 D I I
이 경우에, 제 1 두개의 삽입 동작(c1 삽입 및 c2 삽입)은 매칭이 문자의 어느 곳에서든 시작할 수 있기 때문에 제로 코스트로 실행되어야 한다. 그러나, 최종 두개의 삽입 동작(c7 삽입 및 c8 삽입)에 대한 코스트는 무시되서는 안된다.
다이나믹 프로그래밍 매칭 단계(76)는 문자의 일부와 기준 부수를 매칭하기 위한 총 다이나믹 프로그래밍 코스트를 작성한다. 총 코스트는 모든 동작 코스트(삽입, 삭제 및 치환)의 합산이다. 그러므로, 각 문자에 대하여, 모든 기준 부수를 매칭시키고자 할 때, 보다 적은 획을 가진 부수가 보다 작은 다이나믹 프로그래밍 코스트를 양산한다. 이것은 잘못된 결과를 유발할 수 있다. 바람직한 실시예는 기준 부수(82)의 길이를 사용하여 단계(80)에서 지시된 바와 같은 다이나믹 프로그래밍 코스트를 규격화한다. 다이나믹 프로그래밍 코스트를 규격화하는 것은 보다 적은 획을 가지는 고유의 이득을 제거하여, 결과적으로 더욱 강력한 부수 추출 과정을 제공한다.
두개의 부수(예를 들어, 기준 부수 및 시험 부수) 사이의 위치 유사성은 부수 추출 방법에 이용될 수 있는 몇몇 진행 정보이다. 단계(84)에 나타낸 바와 같이, 바람직한 실시예는 부수를 설정하기 위한 기초로서 위치 유사성을 사용하여, 위치가 비슷하지 않은 경우 제거한다. 각각의 문자에 대하여, 제거 과정은 다이나믹 프로그램에 기초한 모든 기준 부수에 탄력적인 매칭을 제공하는 것을 포함한다. 그 다음, 상기 과정은 기준 부수 및 문자 사이의 매칭된 획의 위치 유사성을 계산한다. 부정적인 위치 유사성을 가진 부수가 제거된 후, 나머지 부수에 대한 다이나믹 프로그래밍 코스트가 정렬되고 최소 코스트를 가진 상위의 두개의 부수가 문자에 대한 추출 부수로서 선택된다. 도시된 바와 같이, 정렬 단계(86) 및 비유사성 제거 단계(84)는 모든 기준 부수를 통하여 반복된다. 그리하여, 이런 과정의 최종 결과는 88에 도시된 추출된 하나의 또는 복수의 부수를 나타낸다.
부수 코드 평가
각 문자에 대한 부수가 추출된 후, 문자열은 부수 코드, 즉 부수 ID의 시퀀스가 된다. 두개의 문자열이 비교되면, 매칭은 부수 코드 레벨에 대한 다이나믹 프로그래밍을 통하여 행해진다. 이것은 수기(즉, 손으로 쓰여진 데이터베이스 및 손으로 쓰여진 쿼리)와 매칭되는 수기 및 타이핑된 텍스트(즉, 손으로 쓰여진 데이터베이스 및 타이핑된 텍스트 쿼리)와 매칭되는 수기 모두에 적용된다. 타이핑된 쿼리에 대해, 이것들은 즉시 부수 코드로 변환되어 데이터베이스 열의 부수 코드와 비교될 수 있다.
두 문자열을 매칭시키기 위한 다이나믹 프로그래밍에서, 3개의 기본적인 동작은 각 동작 코스트와 관련되는, 문자 삽입, 문자 삭제 및 문자 치환으로 정의된다. 이는 쿼리 열의 부수 코드를 데이터 스트링의 부수 코드로 변환하기 위함이다. 다이나믹 프로그래밍으로, 시스템은 최소의 편집 거리를 갖는 최적의 매칭 시퀀스(최소의 총 작동 코스트)를 얻는다.
문자 삽입 및 삭제 코스트는 상수로 할당된다. 문자 치환 코스트는 두 문자(예를 들어, 각 문자에 대해 두개, 즉 네개의 부수 코드) 사이의 차이(difference)를 반영한다. 문자 치환은 한 문자의 부수 코드가 다른데서 발견되지 않는 발생 수로서 정의된다. 만일 문자가 추출된 부수 코드를 갖고 있지 않으면, 두개의 널 부수 코드(ID 영을 가진 코드)에 의해 표현되며, 치환 코스트는 동일한 방법으로 계산된다.
필요에 따라서, 널 부수 코드는 다음과 같이 수정된다. 각 문자는 두개의 추출된 부수를 가지므로, 각 문자는 부수 ID에 대응하는 두개의 숫자에 의해 표현될 수도 있다. 만일 어떠한 부수도 추출되지 않으면, 부수 코드는 널(null)이며, 부수 아이디는 영(zero)이다. 일 실시예에서, 문자 치환은 비매칭 부수 코드 또는 비추출 부수 코드에 대해 동일한 방식으로 계산된다. 그러나, 필요에 따라, 비매칭 부수 코드와 비교해서 비추출 부수 코드에 보다 과중한 패널티가 부가될 수 있다.
더욱이, 종래의 알고리즘에서 알 수 있듯이, 각 추출된 부수는 동일하게 처리된다. 특히, 두 부수 코드가 동일할 경우, 치환 코스트에 아무 것도 기여하지 않는다. 비록 이러한 방법이 부수 코드에서 매칭을 촉진시키지만, 더 적은 부수 추출 코스트, 즉 보다 신뢰할만한 추출된 부수를 가진 부수 코드에서의 매칭에 이득이 되지 않는다. 각 부수 코드가 부수 추출 프로세스에서 획득된 경우, 다이나믹 프로그래밍 코스트는 이와 관련된다. 새로운 방법은 선행하는 여분의 부수에서의 이 다이나믹 프로그래밍 코스트를 치환 코스트 계산으로 연관시키는 것을 제안한다. 만일 두 부수 코드가 모두 높은 신뢰도(부수 추출에서 낮은 코스트)로 매칭되는 경우, 그 치환 코스트는 낮은 신뢰도를 가진 두 부수 코드 보다 더 낮을 것이다. 방법을 조합함으로써, 다음과 같은 새로운 치환 코스트를 설명한다.
문자 C1=a1,a2와 C2=b1,b2를 비교하자. 여기서, a1,a2는 C1으로부터 추출된 부수이며, b1,b2는 C2로부터 추출된 부수이다. 또한, dpCOST_b1, dpCOST_b2, dpCOST_a1, dpCOST_a2 는 각각 b1, b2,a1 및 a2에 대한 부수 추출 코스트인 획 레벨에 대한 다이나믹 프로그래밍 코스트가다. 이러한 두 문자에 대한 치환 코스트는
SUB_COST(b1,b2;a1,a2)=COST(b1;a1,a 2)+COST(b2;a1,a2)
여기서 COST(b1;a1,a2)는 b1에 대한 치환 코스트가다. 이는:
그리고, COST(b2;a1,a2)는 b2에 대한 치환 코스트가다.
여기서, Csub _max는 (a1,a2) 및 (b1,b2)가 완전히 상이할 때의 최악의 치환 코스트를 표현하는 할당된 상수이다. 실시예로부터, dpCOST_x는 항상 임의의 획(x)에 대한 Csub _max 보다 더 작다.
부수 코드(예를 들어, b1=a2)에 매칭이 존재하는 경우, COST(b1;a1,a2) 및 COST(b2;a1,a2)는 Csub _max/2 보다 더 작을 것이며 최종 치환 코스트는 Csub _max보다 더 작을 것이다.
기준 부수
실용적인 실시예를 구성하기 위해, 기준 부수는 전체 의미적 매칭 프로세스를 개선하기 위해 선택된다. 기준 부수의 선택은 직접적으로 부수 추출 프로세스에 영향을 미친다. 통상적으로, 정확하게 추출되는 부수의 수가 많을수록, 최종 매칭 비율은 더 높아진다. 정확하게 추출된 부수의 수를 증가시키는 한 방법은 기준 부수의 수를 증가시키는 것이다. 그 결과, 더 많은 부수가 추출된다. 그러나, 기준 부수 데이터베이스가 증가되면, 기준 부수를 훈련시키기 위해 보다 많은 시간이 필요하며, 기준 부수를 추출하기 위해 보다 많은 시간이 필요하다. 따라서, 적정수의 부수의 선택은 처리시간 및 매칭 비율 사이의 천칭(trade-off)이 된다.
부수 선택에 있어서 고려해야할 다른 사항은 부수 사이에서 유사성을 포함한다. 유사한 부수를 하나의 훈련 세트에 함께 놓는 것은 혼란을 초래할 수 있다. 또한, 일부 부수는 단순히 기록하는 너무 많은 상이한 방법이 있기 때문에 추출하기가 보다 어렵다. 혼란을 야기할 수 있는 부수와 다양한 상이한 방법으로 기록될 수 있는 부수는 부수 추출을 위해 사용되는 기준 부수 세트로부터 배제되는 것이 최선이다. 도 9는 한자 인식 시스템을 구현하는데 사용하기 위한 현재 바람직한 부수를 도시한다. 도시된 최초의 45개 기준 부수는 공통적으로 사용되는 약 2000자의 한자에서 가장 자주 보이는 부수이다. 이러한 문자는 한자 수기에서 반드시 동일한 빈도로 나타나는 것은 아니기 때문에, 이 세트에 데이터베이스 열에서 가장 자주 사용되는 부수로부터 선택된 추가의 12개 부수를 보충한다. 실용적인 실시예의 설계에서, 이러한 기준 부수는 초기 구현을 확립하기 위해 사용될 수 있다. 그 후, 시스템이 사용됨에 따라, 소정의 추가 부수를 식별하여 사용자의 통계적인 빈도에 기초하여 기준 부수 데이터 세트에 추가될 수도 있다.
이상의 설명을 감안하여, 여기에 설명된 부수 추출 기술은 전체의 의미적 매칭 프로세스를 개선시키기 위해 단독으로 또는 조합하여 사용될 수도 있다. 발명이 실시예의 형태로 기술되었지만, 덧붙인 청구항에 기술된 대로 발명의 사상을 벗어남이 없이 수정될 수 있다.
본 발명에 따라, 다이나믹 프로그래밍 절차에서 혼동될 수 있는 다수의 문제가 되는 인위적인 결과를 제거하는 문자 규격화 절차와 개선된 획 분할 절차를 사용하여, 의미 매칭 성능을 상당히 개선할 수 있는 크게 개선된 부수 추출 기술을 얻을 수 있다.
도1은 부수 식별 과정의 소정 양태를 이해하는데 유용한 기계 인쇄된 형태 및 수기된(hand drawn) 형태의 예시적인 한자(Chinese character)를 나타낸다.
도2는 한자 수기된 주석(annotation)에 대한 의미 잉크 매칭 시스템의 개관을 제공하는 블록도이다.
도3 및 도4는 바람직한 실시예의 부수 추출 과정을 나타내는 흐름도이다.
도5는 통상의 형상 유사성 평가의 단점들 중 하나를 나타내는 부수 매칭 다이어그램이다.
도6은 바람직한 실시예의 탄젠트 벡터 기술을 나타내는 부수 매칭 다이어그램이다.
도7은 중심 관계 기술을 나타내는 부수 매칭 다이어그램이다.
도8은 시작 포인트, 종료 포인트 평가를 나타내는 부수 매칭 다이어그램이다.
도9는 본 발명의 바람직한 부수 세트를 나타낸다.

Claims (51)

  1. 초서체 수기 주석을 검색하는 방법으로서:
    주석의 어휘를 저장하는 단계;
    상기 주석의 의미 부분에 대응하는 다수의 부수를 저장하는 단계;
    검색될 수기 주석을 입력하는 단계;
    상기 수기 주석을 복수의 포인트로 표현하고, 입력된 수기 주석이 소정 크기가 되도록 상기 포인트 사이의 공간을 스케일링(scaling)한 후, 상기 수기 주석의 일부를 식별하여 추출된 부수를 표현함으로써, 상기 입력된 수기 주석으로부터 적어도 하나의 부수를 추출하는 단계;
    상기 추출된 부수와 상기 저장된 다수의 부수사이의 평가 조작을 수행하여 적어도 하나의 후보 부수를 식별하는 단계;
    상기 후보 부수를 이용하여 상기 어휘의 서브세트를 선택하는 단계; 및
    상기 입력된 수기 주석과 상기 서브세트사이에 매칭 조작을 수행하여 상기 어휘로부터 주석을 검색하는 단계를 포함하는 초서체 수기 주석을 검색하는 방법.
  2. 삭제
  3. 제 1항에 있어서,
    상기 추출 단계는 상기 입력된 수기 주석내의 획을 식별한 후 상기 획과 관련된 상하 정보(up/down information)를 기초로 상기 획을 편성함으로써 수행되는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  4. 제 1항에 있어서,
    상기 추출 단계는 상기 입력된 수기 주석내의 획을 식별한 후 상기 획내의 국소 최대 포인트와 국소 최소 포인트를 기초로 상기 획을 편성함으로써 수행되는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  5. 제 4항에 있어서,
    상기 선택된 국소 최대 포인트 및 국소 최소 포인트를 선택적으로 제거하는 단계를 더 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  6. 제 1항에 있어서,
    상기 추출 단계는 상기 입력된 수기 주석내의 연결 획을 식별하고 상기 연결 획을 제거함으로써 수행되는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  7. 제 1항에 있어서,
    상기 평가 조작은 상기 추출된 부수 및 상기 저장된 다수의 부수를 일련의 접촉 포인트로서 나타내고 상기 각각의 일련의 접촉 포인트상에서 다이나믹 프로그래밍 매칭을 수행함으로써 실행되는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  8. 제 1항에 있어서,
    상기 평가 조작은 매칭 근사성을 나타내는 적어도 하나의 프로그래밍 코스트 거리(programming cost metric)를 산출하는 다이나믹 프로그래밍 매칭 조작을 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  9. 제 8항에 있어서,
    기준 부수의 길이를 결정하고 상기 기준 부수의 길이에 대한 상기 프로그래밍 코스트 거리를 규격화하는 단계를 더 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  10. 제 1항에 있어서,
    상기 평가 조작은 시작 포인트와 종료 포인트를 기초로 부수를 분류하는 단계를 포함하는 다이나믹 프로그래밍 매칭 조작을 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  11. 제 1항에 있어서,
    상기 평가 조작은 상기 추출된 부수 및 상기 저장된 다수의 부수와 관련된 탄젠트 벡터를 비교함으로써 치환 코스트를 계산하는 단계를 포함하는 다이나믹 프로그래밍 매칭 조작을 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  12. 제 1항에 있어서,
    상기 평가 조작은 상기 추출된 부수의 중심과 상기 저장된 다수의 부수의 중심의 관계를 평가하는 단계를 포함하는 다이나믹 프로그래밍 매칭 조작을 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  13. 제 1항에 있어서,
    상기 평가 조작은 상기 추출된 부수 및 상기 저장된 다수의 부수의 시작 포인트와 종료 포인트를 평가하는 단계를 포함하는 다이나믹 프로그래밍 매칭 조작을 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  14. 제 1항에 있어서,
    상기 평가 조작은 상기 다수의 부수내의 획과 상기 추출된 부수내의 획을 비교하는 단계 및 음의 위치 유사성(negative location similarity)을 가지는 후보 부수를 제거하는 단계를 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  15. 제 1항에 있어서,
    상기 평가 조작은 다수의 추출된 부수 후보를 작성하며, 상기 평가 조작은 다이나믹 프로그래밍 코스트를 기초로 상기 부수 후보를 정렬하는 단계를 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  16. 초서체 수기 주석을 검색하는 방법으로서:
    주석의 어휘를 저장하는 단계;
    상기 주석의 의미 부분에 대응하는 다수의 부수를 저장하는 단계;
    검색될 수기 주석을 입력하는 단계;
    획 시작 포인트와 종료 포인트 정보를 이용하여 상기 수기 주석내의 개별 획을 식별한 후, 국소 최대 포인트와 최소 포인트를 기초로 상기 개별 획을 더 분할하고, 선택된 국소 최대 포인트 및 최소 포인트를 선택적으로 제거하고, 상기 분할된 개별 획을 이용하여 추출된 부수를 표현함으로써, 상기 입력된 수기 주석으로부터 적어도 하나의 부수를 추출하는 단계;
    상기 추출된 부수와 상기 저장된 다수의 부수사이의 평가 조작을 수행하여 적어도 하나의 후보 부수를 선택하는 단계;
    상기 후보 부수를 이용하여 상기 어휘의 서브세트를 선택하는 단계; 및
    상기 입력된 수기 주석과 상기 서브세트사이에 매칭 조작을 수행하여 상기 어휘로부터 주석을 검색하는 단계를 포함하는 초서체 수기 주석을 검색하는 방법.
  17. 삭제
  18. 제 16항에 있어서,
    상기 추출 단계는 상기 입력된 수기 주석내의 연결 획을 식별하고 상기 연결 획을 제거함으로써 수행되는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  19. 제 16항에 있어서,
    상기 평가 조작은 상기 추출된 부수 및 상기 저장된 다수의 부수를 일련의 접촉 포인트로서 나타내고 상기 각각의 일련의 접촉 포인트상에서 다이나믹 프로그래밍 매칭을 수행함으로써 실행되는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  20. 제 16항에 있어서, 상기 평가 조작은 매칭 근사성을 나타내는 적어도 하나의 프로그래밍 코스트 거리를 산출하는 다이나믹 프로그래밍 매칭 조작인 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  21. 제 20항에 있어서,
    기준 부수의 길이를 결정하고 상기 기준 부수 길이에 대한 상기 프로그래밍 코스트 거리를 규격화하는 단계를 더 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  22. 제 16항에 있어서,
    상기 평가 조작은 시작 포인트와 종료 포인트를 기초로 부수를 분류하는 단계를 포함하는 다이나믹 프로그래밍 매칭 조작인 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  23. 제 16항에 있어서,
    상기 평가 조작은 상기 추출된 부수 및 상기 저장된 다수의 부수와 관련된 탄젠트 벡터를 비교함으로써 치환 코스트를 계산하는 단계를 포함하는 다이나믹 프로그래밍 매칭 조작인 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  24. 제 16항에 있어서,
    상기 평가 조작은 상기 추출된 부수의 중심과 상기 저장된 다수의 부수의 중심의 관계를 평가하는 단계를 포함하는 다이나믹 프로그래밍 매칭 조작인 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  25. 제 16항에 있어서,
    상기 평가 조작은 상기 추출된 부수 및 상기 저장된 다수의 부수의 시작 포인트와 종료 포인트를 평가하는 단계를 포함하는 다이나믹 프로그래밍 매칭 조작인 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  26. 제 16항에 있어서,
    상기 평가 조작은 상기 다수의 부수내의 획과 상기 추출된 부수내의 획을 비교하는 단계 및 음의 위치 유사성을 가지는 상기 후보 부수를 제거하는 단계를 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  27. 제 16항에 있어서,
    상기 평가 조작은 다수의 추출된 부수 후보를 작성하며, 상기 평가 조작은 다이나믹 프로그래밍 코스트를 기초로 상기 부수 후보를 정렬하는 단계를 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  28. 초서체 수기 주석으로부터 부수를 추출하는 방법으로서:
    검색될 수기 주석을 입력하는 단계; 및
    상기 수기 주석을 복수의 포인트로 표현하고, 입력된 수기 주석이 소정 크기가 되도록 상기 포인트 사이의 공간을 스케일링(scaling)한 후, 상기 수기 주석의 일부를 식별하여 추출된 부수를 표현함으로써, 상기 입력된 수기 주석으로부터 적어도 하나의 부수를 추출하는 단계를 포함하는 부수 추출 단계를 포함하는 초서체 수기 주석으로부터 부수를 추출하는 방법.
  29. 삭제
  30. 제 28항에 있어서,
    상기 추출 단계는 상기 입력된 수기 주석내의 획을 식별한 후 상기 획과 관련된 상하 정보를 기초로 상기 획을 편성함으로써 수행되는 것을 특징으로 하는 초서체 수기 주석으로부터 부수를 추출하는 방법.
  31. 제 28항에 있어서,
    상기 추출 단계는 상기 입력된 수기 주석내의 획을 식별한 후 상기 획내의 국소 최대 포인트 및 국소 최소 포인트를 기초로 상기 획을 편성함으로써 수행되는 것을 특징으로 하는 초서체 수기 주석으로부터 부수를 추출하는 방법.
  32. 제 31항에 있어서,
    상기 선택된 국소 최대 포인트 및 국소 최소 포인트를 선택적으로 제거하는 단계를 더 포함하는 것을 특징으로 하는 초서체 수기 주석으로부터 부수를 추출하는 방법.
  33. 제 28항에 있어서,
    상기 추출 단계는 상기 입력된 수기 주석내의 연결 획을 식별하고 상기 연결 획을 제거함으로써 수행되는 것을 특징으로 하는 초서체 수기 주석으로부터 부수를 추출하는 방법.
  34. 초서체 수기 주석으로부터 부수를 추출하는 방법으로서:
    검색될 수기 주석을 입력하는 단계; 및
    획 시작 포인트와 종료 포인트 정보를 이용하여 상기 수기 주석내의 개별 획을 식별한 후, 국소 최대 포인트 및 국소 최소 포인트를 기초로 상기 개별 획을 분할하고, 선택된 국소 최대 포인트 및 국소 최소 포인트를 선택적으로 제거하고, 상기 분할된 개별 획을 이용하여 추출된 부수를 표현함으로써, 상기 입력된 수기 주석으로부터 적어도 하나의 부수를 추출하는 단계를 포함하는 초서체 수기 주석으로부터 부수를 추출하는 방법.
  35. 삭제
  36. 제 34항에 있어서,
    상기 추출 단계는 상기 입력된 수기 주석내의 연결 획을 식별하고 상기 연결 획을 제거함으로써 수행되는 것을 특징으로 하는 초서체 수기 주석으로부터 부수를 추출하는 방법.
  37. 수기 주석을 매칭시키는 다이나믹 프로그래밍 과정에서, 획 치환 코스트를 결정하는 방법으로서:
    비교될 다수의 획을 식별하는 단계;
    비교되는 각각의 획에 대한 탄젠트 벡터를 할당하는 단계; 및
    상기 벡터사이의 관계를 기초로 하여 치환 코스트를 결정하는 단계를 포함하는 획 치환 코스트를 결정하는 방법.
  38. 수기 주석을 매칭시키는 다이나믹 프로그래밍 과정에서, 획 치환 코스트를 결정하는 방법으로서:
    비교될 다수의 획을 식별하는 단계;
    비교되는 각각의 획과 관련된 가중된 중심(weighted center)을 결정하는 단계; 및
    상기 가중된 중심사이의 관계를 기초로 하여 치환 코스트를 결정하는 단계를 포함하는 획 치환 코스트를 결정하는 방법.
  39. 삭제
  40. 제 34 항에 있어서,
    사용자로부터 입력된 주석을 수신하는 단계;
    상기 주석의 어휘를 저장하는 단계;
    상기 추출된 부수를 이용하여 상기 어휘의 서브세트를 선택하는 단계; 및
    상기 입력된 수기 주석과 상기 서브세트사이에 매칭 조작을 수행하여 상기 어휘로부터 주석을 검색하는 단계를 더 포함하는 것을 특징으로 하는 초서체 수기 주석으로부터 부수를 추출하는 방법.
  41. 삭제
  42. 초서체 수기 주석을 검색하는 방법으로서:
    주석의 어휘를 저장하는 단계;
    상기 주석의 의미 부분에 대응하는 다수의 부수를 저장하는 단계;
    검색될 수기 주석을 입력하는 단계;
    상기 수기 주석내의 개별 획을 식별하고, 상기 각각의 개별 획과 상기 저장된 다수의 부수에 탄젠트 벡터를 할당하고, 치환 코스트 계산시 상기 탄젠트 벡터사이의 관계를 이용하여 상기 개별 획과 상기 저장된 다수의 부수사이에 다이나믹 프로그래밍을 수행하고, 치환 코스트 계산시 상기 할당된 탄젠트 벡터를 이용함으로써 상기 입력된 수기 주석으로부터 적어도 하나의 부수를 추출하는 단계;
    상기 추출된 부수와 상기 저장된 다수의 부수사이의 평가 조작을 수행하여 적어도 하나의 후보 부수를 선택하는 단계;
    상기 후보 부수를 이용하여 상기 어휘의 서브세트를 선택하는 단계; 및
    상기 입력된 수기 주석과 상기 서브세트사이에 매칭 조작을 수행하여 상기 어휘로부터 주석을 검색하는 단계를 포함하는 초서체 수기 주석을 검색하는 방법.
  43. 제 42 항에 있어서,
    상기 탄젠트 벡터를 할당하는 단계는:
    상기 개별 획으로부터 한 쌍의 포인트 중 제 1포인트 및 상기 저장된 다수의 부수로부터 상기 한 쌍의 포인트 중 제 2포인트로 이루어진 적어도 한 쌍의 포인트를 발견하는 단계; 및
    상기 한 쌍의 포인트 중 상기 제 1포인트에서 개별 획의 제 1탄젠트 벡터 및 상기 한 쌍의 포인트 중 제 2포인트에서 상기 저장된 다수의 부수의 제 2탄젠트 벡터를 계산하는 단계를 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  44. 제 42항에 있어서,
    상기 관계는 상기 제 1탄젠트 벡터와 상기 제 2탄젠트 벡터사이의 각도인 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  45. 초서체 수기 주석을 검색하는 방법으로서:
    주석의 어휘를 저장하는 단계;
    상기 주석의 의미 부분에 대응하는 다수의 부수를 저장하는 단계;
    검색될 수기 주석을 입력하는 단계;
    상기 수기 주석내의 개별 획을 식별하고, 상기 개별 획과 관련된 가중된 중심 정보와 상기 저장된 다수의 부수와 관련된 가중된 중심 정보를 결정하고, 가중된 중심 정보사이의 관계를 이용하여 치환 코스트를 계산함으로써 상기 입력된 수기 주석으로부터 적어도 하나의 부수를 추출하는 단계;
    상기 추출된 부수와 상기 저장된 다수의 부수사이의 평가 조작을 수행하여 적어도 하나의 후보 부수를 선택하는 단계;
    상기 후보 부수를 이용하여 상기 어휘의 서브세트를 선택하는 단계; 및
    상기 입력된 수기 주석과 상기 서브세트사이에 매칭 조작을 수행하여 상기 어휘로부터 주석을 검색하는 단계를 포함하는 초서체 수기 주석을 검색하는 방법.
  46. 제 45항에 있어서,
    상기 가중된 중심 정보를 결정하는 단계는:
    상기 개별 획으로부터 제 1쌍의 획을 식별하는 단계;
    제 1획이 상기 제 1쌍의 획의 제 1획에 대응되고 제 2획이 상기 제 1쌍의 획의 제 2획에 대응되는 상기 저장된 다수의 부수로부터 제 2쌍의 획을 식별하는 단계;
    상기 제 1쌍의 획의 가중된 중심사이에서 제 1벡터를 형성하는 단계; 및
    상기 제 2쌍의 획의 가중된 중심사이에서 제 2벡터를 형성하는 단계를 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  47. 제 45항에 있어서,
    상기 관계는 상기 제 1벡터와 상기 제 2벡터사이의 각도인 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  48. 초서체 수기 주석을 검색하는 방법으로서:
    주석의 어휘를 저장하는 단계;
    상기 주석의 의미 부분에 대응하는 다수의 부수를 저장하는 단계;
    검색될 수기 주석을 입력하는 단계;
    상기 수기 주석내의 개별 획을 식별하고, 상기 개별 획과 관련된 시작 포인트 및 종료 포인트와 상기 다수의 저장된 부수와 관련된 시작 포인트 및 종료 포인트를 결정하고, 상기 시작 포인트 및 종료 포인트 정보사이의 관계를 이용하여 치환 코스트를 계산함으로써 상기 입력된 수기 주석으로부터 적어도 하나의 부수를 추출하는 단계;
    상기 추출된 부수와 상기 저장된 다수의 부수사이의 평가 조작을 수행하여 적어도 하나의 후보 부수를 선택하는 단계;
    상기 후보 부수를 이용하여 상기 어휘의 서브세트를 선택하는 단계; 및
    상기 입력된 수기 주석과 상기 서브세트사이에 매칭 조작을 수행하여 상기 어휘로부터 주석을 검색하는 단계를 포함하는 초서체 수기 주석을 검색하는 방법.
  49. 제 48항에 있어서,
    상기 시작 포인트 및 종료 포인트 정보를 결정하는 단계는:
    상기 개별 획으로부터 제 1쌍의 획을 식별하는 단계;
    제1 획이 상기 제 1쌍의 획의 제 1획에 대응되고 제2 획이 상기 제 1쌍의 획의 제 2획에 대응되는 상기 저장된 다수의 부수로부터 제 2쌍의 획을 식별하는 단계;
    상기 제 1쌍의 획의 제 1획의 종료 포인트와 상기 제 1쌍의 획의 제 2획의 시작 포인트 사이에서 제 1벡터를 형성하는 단계; 및
    상기 제 2쌍의 획의 제 1획의 종료 포인트와 상기 제 2쌍의 획의 제 2획의 시작 포인트 사이에서 제 2벡터를 형성하는 단계를 포함하는 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  50. 제 48항에 있어서,
    상기 관계는 상기 제 1벡터와 상기 제 2벡터사이의 각도인 것을 특징으로 하는 초서체 수기 주석을 검색하는 방법.
  51. 수기 주석을 매칭시키는 다이나믹 프로그래밍 과정에서, 상기 주석내에 포함된 부수를 평가하는 방법으로서:
    입력된 수기 주석에 대한 부수 추출을 수행하고, 각각의 다수의 추출된 부수 후보와 관련된 한 세트의 코스트를 발생시키는 제 1다이나믹 프로그래밍 조작을 이용하여 다수의 추출된 부수 후보를 발생시키는 단계;
    상기 각각의 부수 후보와 부수 코드를 관련시키는 단계; 및
    상기 제 1다이나믹 프로그래밍 조작 중에 결정된 상기 코스트 세트를 이용하여 치환 코스트가 결정되는 제 2다이나믹 프로그래밍 조작을 이용하여 상기 부수 코드를 평가하는 단계를 포함하는 부수를 평가하는 방법.
KR10-2001-0016493A 2000-03-29 2001-03-29 부수 모델에 기초한 초서체 한자 수기 주석의 검색법 KR100487386B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/538,101 US6681044B1 (en) 2000-03-29 2000-03-29 Retrieval of cursive Chinese handwritten annotations based on radical model
US09/538,101 2000-03-29

Publications (2)

Publication Number Publication Date
KR20010093764A KR20010093764A (ko) 2001-10-29
KR100487386B1 true KR100487386B1 (ko) 2005-05-04

Family

ID=24145489

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0016493A KR100487386B1 (ko) 2000-03-29 2001-03-29 부수 모델에 기초한 초서체 한자 수기 주석의 검색법

Country Status (4)

Country Link
US (1) US6681044B1 (ko)
JP (1) JP2001325564A (ko)
KR (1) KR100487386B1 (ko)
CN (1) CN1226696C (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020141643A1 (en) * 2001-02-15 2002-10-03 Denny Jaeger Method for creating and operating control systems
AUPS020302A0 (en) * 2002-01-31 2002-02-21 Silverbrook Research Pty. Ltd. Methods and systems (npw007)
US7262764B2 (en) * 2002-10-31 2007-08-28 Microsoft Corporation Universal computing device for surface applications
US20040243531A1 (en) * 2003-04-28 2004-12-02 Dean Michael Anthony Methods and systems for representing, using and displaying time-varying information on the Semantic Web
US7369702B2 (en) * 2003-11-07 2008-05-06 Microsoft Corporation Template-based cursive handwriting recognition
CN1622121B (zh) * 2003-11-28 2012-08-29 诺基亚公司 改进的手写汉字输入识别方法
US8280719B2 (en) * 2005-05-05 2012-10-02 Ramp, Inc. Methods and systems relating to information extraction
US8428358B2 (en) * 2005-05-31 2013-04-23 Microsoft Corporation Radical-base classification of East Asian handwriting
EP2097853A4 (en) * 2006-12-01 2011-06-29 Zi Decuma Ab METHOD FOR RECOGNIZING CHARACTERS
US8131536B2 (en) * 2007-01-12 2012-03-06 Raytheon Bbn Technologies Corp. Extraction-empowered machine translation
JP5667334B2 (ja) * 2007-03-30 2015-02-12 任天堂株式会社 図形評価プログラムおよび図形評価装置
US8315482B2 (en) * 2007-06-26 2012-11-20 Microsoft Corporation Integrated platform for user input of digital ink
US8094939B2 (en) * 2007-06-26 2012-01-10 Microsoft Corporation Digital ink-based search
US7890539B2 (en) 2007-10-10 2011-02-15 Raytheon Bbn Technologies Corp. Semantic matching using predicate-argument structure
JP2010015238A (ja) * 2008-07-01 2010-01-21 Sony Corp 情報処理装置、及び補助情報の表示方法
CN101452368B (zh) * 2008-12-29 2011-06-22 北京文通科技有限公司 一种手写文字输入方法
CN101604392B (zh) * 2009-07-10 2011-09-07 华南理工大学 一种用于联机手写汉字识别的汉字笔画特征并行提取方法
CN101604393B (zh) * 2009-07-10 2011-08-31 华南理工大学 一种用于联机手写汉字识别的汉字笔画特征提取方法
US8094941B1 (en) 2011-06-13 2012-01-10 Google Inc. Character recognition for overlapping textual user input
CN103186911B (zh) * 2011-12-28 2015-07-15 北大方正集团有限公司 一种处理扫描书数据的方法及装置
JP5330576B1 (ja) * 2012-07-09 2013-10-30 株式会社東芝 情報処理装置および筆跡検索方法
JP6094400B2 (ja) * 2013-06-25 2017-03-15 ソニー株式会社 情報処理装置、情報処理方法、および情報処理プログラム
KR102125212B1 (ko) * 2013-08-29 2020-07-08 삼성전자 주식회사 전자 필기 운용 방법 및 이를 지원하는 전자 장치
KR102240279B1 (ko) 2014-04-21 2021-04-14 삼성전자주식회사 컨텐트 처리 방법 및 그 전자 장치
US9940511B2 (en) * 2014-05-30 2018-04-10 Kofax, Inc. Machine print, hand print, and signature discrimination
CN116416629B (zh) * 2023-06-12 2023-08-29 北京量子伟业信息技术股份有限公司 电子档案生成方法、装置、设备和介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333209A (en) * 1992-03-24 1994-07-26 At&T Bell Laboratories Method of recognizing handwritten symbols
US5812697A (en) * 1994-06-10 1998-09-22 Nippon Steel Corporation Method and apparatus for recognizing hand-written characters using a weighting dictionary
AU3590795A (en) * 1994-09-14 1996-03-29 Apple Computer, Inc. System and method for automatic subcharacter unit and lexicon generation for handwriting recognition
TW338815B (en) * 1995-06-05 1998-08-21 Motorola Inc Method and apparatus for character recognition of handwritten input
US6041137A (en) * 1995-08-25 2000-03-21 Microsoft Corporation Radical definition and dictionary creation for a handwriting recognition system
US5832474A (en) 1996-02-26 1998-11-03 Matsushita Electric Industrial Co., Ltd. Document search and retrieval system with partial match searching of user-drawn annotations
US5923778A (en) * 1996-06-12 1999-07-13 Industrial Technology Research Institute Hierarchical representation of reference database for an on-line Chinese character recognition system
US6275611B1 (en) * 1996-10-17 2001-08-14 Motorola, Inc. Handwriting recognition device, method and alphabet, with strokes grouped into stroke sub-structures

Also Published As

Publication number Publication date
CN1226696C (zh) 2005-11-09
KR20010093764A (ko) 2001-10-29
JP2001325564A (ja) 2001-11-22
US6681044B1 (en) 2004-01-20
CN1324068A (zh) 2001-11-28

Similar Documents

Publication Publication Date Title
KR100487386B1 (ko) 부수 모델에 기초한 초서체 한자 수기 주석의 검색법
Giotis et al. A survey of document image word spotting techniques
JP2973944B2 (ja) 文書処理装置および文書処理方法
Rath et al. Word spotting for historical documents
US6917709B2 (en) Automated search on cursive records not having an ASCII index
EP1564675B1 (en) Apparatus and method for searching for digital ink query
US7885464B2 (en) Apparatus, method, and program for handwriting recognition
US7142728B2 (en) Method and system for extracting information from a document
KR100249055B1 (ko) 문자인식장치및방법
JP3452774B2 (ja) 文字認識方法
Khurshid et al. Word spotting in historical printed documents using shape and sequence comparisons
Singh et al. Offline script identification from multilingual indic-script documents: a state-of-the-art
JPH05217025A (ja) オンライン手書き文字認識装置および方法
Hu et al. Comparison and classification of documents based on layout similarity
JPH0562391B2 (ko)
JP4649512B2 (ja) 文字列検索方法およびその装置
JP2007122403A (ja) 文書タイトルおよび関連情報の自動抽出装置、抽出方法および抽出プログラム
Ataer et al. Retrieval of ottoman documents
Chen et al. Summarization of imaged documents without OCR
JP3917349B2 (ja) 文字認識結果を利用して情報を検索する検索装置および方法
JPH0610829B2 (ja) 手書き文字認識方法
Srinivas et al. An overview of OCR research in Indian scripts
Khurshid et al. Fusion of word spotting and spatial information for figure caption retrieval in historical document images
Puri et al. Sentence detection and extraction in machine printed imaged document using matching technique
Mukhejee et al. A new approach to information retrieval based on keyword spotting from handwritten medical prescriptions

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