KR100627195B1 - 광학문자인식으로 생성된 전자문서 검색방법 및 그 시스템 - Google Patents

광학문자인식으로 생성된 전자문서 검색방법 및 그 시스템 Download PDF

Info

Publication number
KR100627195B1
KR100627195B1 KR1020007011024A KR20007011024A KR100627195B1 KR 100627195 B1 KR100627195 B1 KR 100627195B1 KR 1020007011024 A KR1020007011024 A KR 1020007011024A KR 20007011024 A KR20007011024 A KR 20007011024A KR 100627195 B1 KR100627195 B1 KR 100627195B1
Authority
KR
South Korea
Prior art keywords
substitution
node
optical character
character recognition
word
Prior art date
Application number
KR1020007011024A
Other languages
English (en)
Other versions
KR20010034738A (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 KR20010034738A publication Critical patent/KR20010034738A/ko
Application granted granted Critical
Publication of KR100627195B1 publication Critical patent/KR100627195B1/ko

Links

Images

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/22Character recognition characterised by the type of writing
    • G06V30/226Character recognition characterised by the type of writing of cursive writing
    • G06V30/2268Character recognition characterised by the type of writing of cursive writing using stroke segmentation
    • 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/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/268Lexical context
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access

Landscapes

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

Abstract

OCR 스캐닝 과정중에 잘못 읽혀진 문자 및 문자열을 보상하기 위해 검색 요구가 처리된다. 알파뉴메릭 검색이 입력된 후(50), 상기 시스템은 소정의 가능 OCR 에러표, 상기 OCR 에러의 발생 가능성 및 발생 가능성의 한계에 따라 상기 입력된 알파뉴메릭 검색요구와 관련된 이형 단어를 결정하게 된다(52). 프로세싱이 완료되었을 때, 검색 엔진은 OCR 스캐닝 문서를 포함하는 데이타베이스를 검색하기 위해 상기 이형 단어를 사용하게 된다(54).
전자문서, 검색, 광학문자인식, 스캐너, 노드.

Description

광학문자인식으로 생성된 전자문서 검색방법 및 그 시스템{SYSTEM AND METHOD FOR SEARCHING ELECTRONIC DOCUMENTS CREATED WITH OPTICAL CHARACTER RECOGNITION}
본 발명은 컴퓨터 데이타베이스를 검색하기 위한 방법, 장치 및 컴퓨터 제품에 관한 것으로, 특히 광학문자인식기술을 이용하여 문서를 검색하기 위한 방법, 장치 및 컴퓨터 제품에 관한 것이다.
경제 및 정부와 관련된 많은 정보는 종이에 저장되었다. 용이하게 접근할 수 있는 광역 네트워크, 고속 광학 스캐너 및 저렴한 대량 저장 수단의 개발에 따라, 종이 정보에 접근할 수 있는 장치를 제조하려는 시도가 지난 수년간 이루어졌다.
정보에 접근할 수 있는 장치는 종이보다 매우 유리하다. 전자 데이타 저장소는 임대료를 고려할 때 보관실의 캐비넷보다 훨씬 저렴하다. 광범위한 기록에서 정보 검색시간은 분, 시간, 일일 단위가 아닌 초 또는 수십초단위로 측정된다. 정보 의 복제가 용이하며, 많은 사람이 하나의 문서에 동시에 접근할 수 있다. 그럼에도 불구하고, 기존의 많은 종이 정보를 장치가 접근할 수 있는 형태로 변환하는 작업은 곤란하다.
하나의 방법은 각각의 문서를 광학 스캐너로 스캐닝하고, 스캐닝될 때 각각 의 문서를 자동으로 처리하는 것이다. 광학 스캐너는 문서의 전자 이미지를 생성한다. 광학문자인식(OCR) 소프트웨어가 전자 이미지를 처리하여 문서를 표시하는 전자 텍스트 파일을 생성하게 된다. "인덱싱" 소프트웨어는 각각의 텍스트 파일을 읽어 모든 문서에 대한 인덱스를 생성한다. 검색 프로그램은 특정 단어, 단어의 조합을 포함한 문서의 위치를 상기 인덱스를 사용하여 찾을 수 있다. 문서를 인덱싱하고 검색하는 프로세스를 완전 텍스트 인덱싱 및 검색이라 한다.
완전 텍스트 인덱싱 및 검색은 2개의 강력한 가치를 갖는다. 즉, 이는 완전자동이며(따라서, 비교적 저렴하고), 스캐닝된 문서의 실제 내용에 기초를 둔다. 고급 검색 시스템은 문맥 의존성을 포함할 수 있으며, 이는 사용자가 정확한 어법이 아닌 문서의 주제를 조건으로 지정하였을 때 관련 단어를 가진 문서의 위치를 찾을 수 있도록 한다. 월드 와이드 웹(WWW) 검색 엔진은 수백만의 전자문서를 검색하기 위해 완전 텍스트 검색 엔진을 사용한다.
때때로, 검색 엔진은 스캐너 및 OCR 소프트웨어로 생성된 문서의 위치를 찾지 못한다. 이는 스캐닝된 문서로 이루어진 대형 데이타베이스에 다양한 에러가 존재하기 때문이다. 대형 데이타베이스는 백만개의 문서 및 10만 페이지 이상을 포함할 수 있다. 문서를 검색하기 위해, 사용자는 문서를 특정하거나 적어도 검색결과 목록을 관리할 수 있는 크기로 제한하는 단어의 조합을 3개 또는 그 이상 지정하여야만 한다. 만약 잠재적 목표 문서가 검색에 이용된 키워드에 에러를 포함하고 있다면, 검색 엔진은 문서의 위치를 찾지 못하게 된다. 때때로, OCR 프로그램은 페이지마다 수개의 에러를 만든다. 이와 같은 에러의 예는 문자, 예를 들면 소문자 "l" 과 유사한 문자인 대문자 "I"가 될 수 있을 것이다.
이러한 문제의 해결책은 "퍼지 검색(fuzzy search)"이다. 퍼지 검색은 에러를 가진 단어는 그 단어의 진정한 버전과 구조적으로 유사하다는 개념에 기초를 둔다. 예를 들어, "internet"과 "intemet"은 구조적으로 유사하다. 하나의 문자를 삭제하고 "m"을 다른 문자와 대체함으로써, 첫번째 단어는 두번째 단어로 변경될 수 있다. 퍼지 검색 루틴은 하나의 단어를 다른 단어로 바꾸는데 필요한 변환의 수를 계산한다. 적은 수의 변환이 필요하다면, 부합(match)이 보고된다. 이는 키워드에 데이타베이스내의 모든 유일어(unique word)가 부합되는지를 결정하기 위해 검색과정중에 각각 비교되기 때문에 계산상으로 고가이다. OCR 에러는 "유일어"를 종종 만들기 때문에, 대형 어카이브(archive)의 완전 텍스트 인덱스를 포함한 데이타 베이스는 각각의 키워드와 비교하기 위한 백만개 이상의 유일어를 가질 수 있다. 고속 서버에서도, 이와 같은 검색은 많은 시간을 소요한다.
소요되는 시간뿐만 아니라, 퍼지 검색은 대량의 "히트(hits)"를 가져올 수 있다. 대형 대이타베이스에서, 많은 검색은 수천개의 부합을 반송(返送)시킨다. "internet"은 "intemet"과 유사하지만, "intem" "undernet" 및 심지어 "international"과도 유사하다. OCR 프로그램이 "b"와 "c"를 거의 혼동하지 않지만, "boat"에 대한 검색이 "coat"와 부합될 수 있다.
OCR 소프트웨어로 생성된 전자문서의 위치를 검색 엔진이 정확하게 찾을 수 있도록 하는 장치를 만드는 것이 바람직하다. 바람직하게, 이와 같은 장치는 OCR 소프트웨어에 의해 통상적으로 만들어지는 에러를 인식하고, 발생가능성이 높은 에 러의 원인을 밝힐 것이다. 또한, 바람직한 장치는, 각각의 검색 시간을 줄이기 위해, 사용자가 검색을 요구할 때 발생하는 처리량을 최소화할 것이다.
본 발명에 따라, 광학문자인식(OCR) 스캐닝과정중에 부적절하게 해석되는 문자 및 문자열을 보상하기 위해 검색 요구를 처리하기 위한 컴퓨터 제품 및 방법이 제공된다. 알파뉴메릭 검색 요구가 접수된 이후, 본 발명의 장치는, 미리 결정된 OCR 가능 치환표, OCR 치환의 발생 가능성 및 미리 결정된 발생 가능성의 한계에 따라, 접수된 알파뉴메릭 검색 요구와 관련된 이형 단어(variant word)를 결정한다. 상기 이형 단어에 대해 OCR로 스캐닝된 문서가 구비된 데이타베이스가 검색된다.
본 발명의 다른 특징에 따라, 상기 검색 요구의 일부의 OCR 해석을 표시하는 단어 조각을 결정함으로써, 이형 단어가 결정된다. 각각의 단어 조각에 대한 누적 가능성이 결정되고, 단어의 누적 가능성이 소정 한계 이하이면, 상기 단어 조각은 이형 단어로서 거절된다.
본 발명의 또 다른 특징에 따라, 분기노드와 치환노드를 가진 수데이타(tree data) 구조가 제조된다. 각각의 분기노드는 OCR 프로세싱과정중 가능한 문자의 윤곽을 표시한다. 각각의 치환노드는 부모 분기노드에 해당하는 문자에 대한 가능한 OCR 대체를 표시한다. 상기 치환노드는 루트(root)로부터 잎노드(leaf node)까지의 경로를 따라 이형 단어를 형성한다. 치환노드의 누적 가능성은 노드의 발생가능성을 상기 노드의 조부모 치환노드의 누적 발생 가능성에 곱하여 결정된다.
전술한 바와 같이, 본 발명은 광학문자인식으로 생성된 전자문서의 단어를 검색하기 위한 신규하고 개선된 방법, 장치 및 컴퓨터 제품을 제공한다. 본 발명은 문서를 전자형태로 변환할 때 발생되는 OCR 에러로 인해 검색과정에서 놓치는 문서의 수를 줄인다. 또한, 본 발명은 검색 요구가 접수된 후 실시되는 처리량을 최소화함으로써 검색을 실시하는데 필요한 시간을 저감시킨다. 따라서, 이러한 방식으로 만들어진 이형 단어는 데이타베이스의 자연언어에서 적합한 언어가 거의 아니기 때문에, 잘못된 "히트"의 수가 매우 저감된다.
도 1은 본 발명을 실시하는데 적합한 컴퓨터 시스템의 기본 구성요소의 일부를 도시한 도면이고,]
도 2는 본 발명을 가능하게 하는데 사용되는 광학문자인식(OCR) 통계표의 과정을 도시한 흐름도이며,
도 3 및 도 4는 본 발명에 따라 OCR로 스캐닝된 문서의 데이타베이스를 검색하기 위한 과정을 도시한 흐름도이고,
도 5는 본 발명에 따라 실시된 프로세싱 과정을 도시한 의사결정도이며,
도 6은 도 2에 도시된 바와 같이 생성된 통계표에 저장된 도 5의 검색예로부터 정보의 관계를 도시한 관계도이다.
도 1은 본 발명에 따라 형성된 텍스트 검색 시스템(20)의 구성요소를 도시한 도면이다. 더욱 상세하게, 상기 텍스트 검색 시스템(20)은 미리 저장된 통계표(23)가 구비된 메모리(22), 메모리(22)에 접속된 사전처리기(preprocessor)(24), 사전 처리기(24)로부터 검색 요구를 접수하기 위한 검색 엔진(28) 및 검색 엔진(28)에 의해 검색된 선(先)저장 문서를 포함한 데이타베이스(30)를 포함한다. 상기 시스템은 문서를 광학적으로 스캐닝하는 스캐너(32)와, 스캐너(32)에 의해 만들어진 이미지를 처리하여 데이타베이스(30)에 삽입하기 위한 텍스트 파일로 만드는 광학문자인식(OCR) 프로그램(34)을 포함할 수도 있다. 인터페이스 장치(26)는 키보드 및 마우스와 같은 사용자 입력장치와 디스플레이 장치 또는 프린터와 같은 출력장치를 포함한다. 본 실시예에서, 상기 사전처리기(24)와 검색 엔진(28)은 호스트 컴퓨터(21)내에 위치된다. 그러나, 당업자가 알 수 있는 바와 같이, 상기 사전처리기(24)와 검색 엔진(28)은 서로 분리될 수도 있다. 예를 들면, 사전처리기(24)는 클라이언트 호스트 컴퓨터에 위치될 수 있으며, 검색 엔진(28)은 공용 또는 전용 데이타 네트워크를 통해 사전처리기(24)에 접속된 서버 컴퓨터 시스템에 위치될 수 있다. 다른 선택적 구조로서, 사용자 인터페이스 장치(26)는 광역 네트워크 또는 근거리 네트워크와 같은 컴퓨터 네트워크를 통해 호스트 컴퓨터(21)와 소통하는 클라이언트 컴퓨터에 접속될 수 있다. 또한, 상기 데이타베이스(30)는 호스트 컴퓨터(21) 또는 호스트 컴퓨터(21)와 직접 또는 컴퓨터 네트워크를 통해 소통하는 별도의 컴퓨터에 배치될 수 있다.
검색 시스템(20)을 적당하게 작동시키기 전에, 통계표(23)가 가동된다. 도 2에 도시된 바와 같이, 블록(40)에서, 각각의 문자 및 문자열에 대한 잠재적 OCR 대안(에러)과, 각 대안의 발생가능성이 결정된다. 가능한 대안과 이들의 발생가능성에 대한 목록작성은 여러가지 방법으로 경험적으로 실시될 수 있다. 예를 들어, 워 드 프로세싱 시스템으로 만들어진 수개의 문서는 인쇄된다. 인쇄된 문서는 스캐너(32)로 스캐닝되어 OCR 프로그램(34)으로 처리된다. OCR로 스캐닝된 문서는 본래의 워드 프로세싱으로 생성된 문서와 비교된다. 차이점과 이들의 발생가능성이 결정된다. 바람직하게, 통계표를 만드는데 사용된 OCR 기술은 문서를 데이타베이스에 입력하는데 사용되었던 OCR 기술과 유사하다.
블록(42)에서, 발생가능성과 함께, 대안을 만들 것으로 결정된 모든 문자와 문자의 조합을 포함하는 표가 제작된다. 바람직한 통계표(23)가 도 6에 도시되어 있으며, 이는 이후에 설명하기로 한다.
통계표(23)가 만들어진 후, 검색엔진(20)은 OCR 기술을 이용하여 데이타베이스에 입력된 문서를 포함하는 데이타베이스(30)를 효과적으로 검색할 준비가 되어 있다. 도 3에 도시된 바와 같이, 블록(50)에서, 검색 요구는 사전처리기(24)에 의해 접수된다. 바람직하게, 사용자에 의해 입력된 검색 요구는 사용자 인터페이스 장치(26)와 상호작용한 다음, 사전처리기(24)로 전송된다. 그 후, 블록(52)에서, 사전처리기(24)는 미리 결정된 발생가능성 한계와 통계표에 따라 요구된 검색과 관련된 이형 검색 단어를 결정한다. 이러한 결정과정이 도 4에 도시되어 있으며, 이는 이후에 설명하기로 한다. 마지막으로, 블록(54)에서, 검색 엔진(28)은 결정된 이형 검색 단어에 따라 데이타베이스(30)를 검색한다. 그 후, 사용자가 볼수 있도록 검색 결과는 사용자 인터페이스 장치(26)에 보내진다.
도 4는 요구된 검색과 관련된 이형 치환 단어를 결정하는 프로세스(70)를 도시한 도면이다. 이 프로세스(70)는 수구조(tree structure)와 링크된 일련의 노드 를 구성한다. 이형 치환 단어를 결정하는 프로세스(70)를 논하기 전에, 통계표(23)(도 1 참조)에 대해 설명한다. 도 6은 예시적 통계표(23)를 도시한 것으로, 이는 OCR 프로세싱중 특정 에러의 통계적 가능성과 관련된 데이타를 포함한다.
도 6에 도시된 바와 같이, 본 발명의 실시예에서, 통계표(23)는 분기표(200)와 치환표(202)를 포함한다. 상기 분기표(200)는 일련의 항목(204, 206, 208, 210)을 포함하며, 각각의 항목은 문자 또는 문자 조합을 의미한다. 이들 항목은 OCR 프로그램(34)(도 1 참조)에 의해 처리되는 전자 이미지를 구성할 수 있는 문자와 문자 조합을 의미한다. 특히, 분기표 항목은 COR 프로세싱중에 OCR 프로그램(34)이 단일 문자로 파악할 수 있는 문자 또는 문자 조합을 의미한다. 이형 치환 단어를 결정하는 프로세스(70)(도 4 참조)를 나타내기 위해, 도 6은 적은 수의 항목만을 표시하였다. 실제 통계표(23)는 많은 항목을 포함하며, 특히 모든 알파벳 문자에 해당하는 적어도 하나의 항목을 포함한다. 바람직하게, 분기표의 항목(204, 206, 208, 210)은 해시표(hash table)과 같이 빠르게 볼 수 있는 구조로 구성된다. 해시표는 컴퓨터 프로그래밍 분야의 업자에게 잘 알려져 있으며, 여기에서는 본 발명을 설명하는데 필요한 부분만을 논하고자 한다.
각각의 분기표 항목(204, 206, 208, 210)은 치환표(202)의 치환표 항목(212, 214, 216, 218)에 해당하는 포인터를 갖는다. 치환표 항목(212, 214, 216, 218)은 해당 분기표 항목이 표시하는 문자 조합의 가능 OCR 해석을 의미하는 일련의 OCR 이형 항목을 포함한다. 예를 들어, 도 6에 도시된 바와 같이, 분기표 항목(204)은 단일 문자 "G"를 의미한다. 상기 "G" 분기표 항목(204)은 치환표 항목(212)에 해당 한다. 상기 치환표 항목(212)은 3개의 이형 항목(220)(222)(224)을 포함한다. 상기 이형 항목(220)은 문자 "G"를 포함하며, OCR 프로그램(34)(도 1 참조)이 문자 "G"를 "G"로 해석할 수 있다는 정보를 의미한다. 이 때, 이러한 해석은 정확한 해석이다. 도 6에 도시된 이형 항목(220)은 OCR 프로그램(34)이 문자 "G"를 "G"로 해석할 가능성이 95%임을 나타내는 확률값(226)(0.95)을 포함한다. 다음의 이형 항목(222)은 "6"과, 0.03의 확률값(228)을 포함한다. 이는 OCR 프로그램(34)이 "G"를 "6"으로 해석할 확률값이 3%임을 의미한다.
상기 치환표 항목(212)은 "무(無)"를 나타내는 이형 항목(224)과 0.01의 확률값(230)을 포함할수도 있다. 이 항목은 OCR 프로그램(34)이 문자 "G"를 인식하지 못하거나 이를 문자가 없는 것으로 해석할 가능성이 1%라는 정보를 나타낸다. 도 6에 도시된 치환표 항목(212)이 3개의 이형 항목(220, 222, 224)만을 포함하는 것으로 표현되어 있으나, 문자 "G"를 의미하는 분기표(204)에 해당하는 실제 치환표 항목은 그 이상의 항목을 포함할 수 있다. 도시된 확률값은 실제 확률값이 아니며, 설명을 단순화시키기 위해 사용된 것이다. OCR 분야의 당업자는 OCR 기술 및 문자의 형식과 같은 제반환경이 다르면 표(23)에 약간 다른 값이 나타날 수 있음을 알 수 있을 것이다. 바람직하게, 각각의 치환표 항목은 소정 한계값 이상의 확률을 가진 치환에 해당하는 이형 항목을 포함한다. 표의 크기를 최소화하기 위해, 각각의 치환표 항목은, 필요하다면, 사용자 인터페이스(26)로부터 사전처리기(24)까지 요구에 사용된 최저 한계값보다 훨씬 작은, 소정 한계값 이상의 확률을 가진 치환에 해당하는 항목을 포함하는 것으로 가정될 수 있다.
이와 유사하게, 문자 "I"를 의미하는 분기표 항목(206)은 치환표 항목(214)에 해당한다. 이 치환표 항목은 가능 치환 "I", "l", "1", 및 "무"를 각각 의미하는 4개의 이형 항목(232, 234, 236, 238)을 나타낸다. 각각의 이형 항목(232, 234, 236, 238)은 해당 확률값(240, 242, 244, 246)을 포함한다.
상기 분기표 항목(208)은 문자 조합 "IN"을 의미한다. OCR 프로그램(34)은 통계적 발생가능성을 가진 방식으로 문자 조합을 잘못 해석할 수 있다. 예를 들면, 도 6에 도시된 바와 같이, 분기표 항목(208)은 문자 조합 "IN"의 가능 해석을 포함한 치환표 항목(216)에 해당한다. 도 6에 도시된 바와 같이, 치환표 항목(216)은 치환 "M"과 "무"를 의미하는 2개의 이형 항목(248)(250)을 포함한다. 이형 항목(248)(250)에 해당하는 확률값(254)(256)은 각각 0.05 및 0.003이다. 치환표 항목(216)은 OCR 프로그램이 문자 조합 "IN"을 정확한 문자 조합 "IN"으로 해석할 수 있음을 나타내는 "IN"의 가능 치환을 의미하는 이형 항목을 포함할 수도 있다. 그러나, 이러한 항목을 이용하여 이형 검색 단어를 찾아내는 작업은 "I"와 "N"에 해당하는 분기표 항목에 이어짐으로써 발견될 수 있는 동일한 검색 단어를 2배로 만든다. 따라서, "I" 및 "N"으로 예견된 확률과의 통계적 차이가 그대로 남길 원하지 않는다면, 바람직하게, 치환표 항목(216)에서 "IN"에 대한 항목은 삭제된다. 그대로 존재한다면, "IN"에 대한 (하기된)분기노드 항목은 검색 요구를 처리하는 과정에서 "I"와 "N"에 대한 분기노드 항목을 대신하게 된다.
도 6의 분기표 항목(210)은 문자 "S"를 의미하며 치환표 항목(218)에 해당한다. 상기 치환표 항목(218)은 OCR 치환 "S", "5" 및 "무"에 해당하는 항목을 갖는 다.
상기 치환표 항목은 문자 없음에 해당하는 이형 항목(224)(250)(262)을 포함하지 않도록 최적화될 수 있다. 그 대신, OCR 프로그램(34)은 각각의 분기표 항목에 해당하는 빈 치환(null substitution)을 인식하는 가진 소정 코드를 포함할 수 있다. 이러한 최적화에서 빈 치환에 상응하는 일정한 확률값이 사용될 수 있다.
도 5는 요구된 검색 단어와 관련된 이형 치환 단어를 결정하는 프로세스(70)에서 사전처리기(24)로 생성된 예시적 결정트리(decision tree)를 도시한 것이다. 상기 결정트리(110)는 등가 텍스트를 생성하기 위해 단어의 이미지를 해석 및 변환할 때 OCR 프로그램(34)이 따를 수 있는 경로를 나타낸다. 각각의 분기노드는 입력 이미지에서 다음 문자의 가능한 형태를 의미한다. OCR 프로그램은 2개 또는 그 이상의 문자를 하나의 문자로 인식할 수 있기 때문에, 분기노드는 하나 또는 그 이상의 문자를 의미할 수 있다. 각각의 치환노드는 치환노드의 부모 분기노드에 의해 표현되는 입력 문자 또는 문자들의 가능 해석을 나타낸다. 프로세스(70)를 설명하기 위해, 요구된 검색 단어는 "SING"라 가정한다. 사전처리기(24)는 설정된 소정의 한계 확률보다 높은 발생가능성을 가진 검색 단어의 가능 이형을 결정하기 위해 결정트리(110)를 생성하는 프로세스(70)를 실시한다.
결정트리(110)는 트리의 루트 역할을 하는 루트노드(120)를 갖는다. 상기 루트노드는 치환노드의 특수한 경우이며, 1.0의 확률을 갖는다. 루트노드(120) 하부에는 소정의 치환노드 레벨이 뒤따르는 소정의 분기노드 레벨을 포함하는 선택노드 레벨이 존재하며, 이를 다른 분기노드 레벨과 치환노드 레벨이 뒤따른다. 상기 결 정트리(110)는 이형 치환 단어를 결정하는 프로세스(70)를 완성하는데 필요한 만큼의 많은 노드 레벨을 포함한다. 상기 루트노드(120)는 결정트리(110)의 제로 레벨에 있는 것으로 가정한다.
각각의 분기노드 레벨에 존재하는 분기노드는 OCR 프로그램(34)(도 1 참조)에 이미지로 입력되는 문자 또는 문자 조합을 의미한다. 각각의 분기노드는 분기표(200)(도 6 참조)에서 분기표 항목(204, 206, 208, 210)에 해당한다. 각각의 치환노드 레벨에 존재하는 치환노드는 해당 분기노드를 해석한 결과로서 OCR 프로그램에 의해 생성된 문자 또는 문자 조합을 의미한다. 각각의 치환노드는 치환표(202)에서 이형 항목에 해당한다. 분기노드의 각 자식 노드(child node)는 분기노드에 해당하는 분기표 항목에 의해 지시된 치환표 항목의 이형 항목에 해당한다.
예를 들면, 제 1 분기노드 레벨(112)에서, 루트노드(120)는 4개의 "자식" 분기노드, 즉 입력 문자 "S", "SI", "SIN", "SING"를 각각 의미하는 "S" 분기노드(122), "SI" 분기노드(124), "SIN" 분기노드(126) 및 "SING" 분기노드(128)를 갖는다. 이는 OCR 프로그램(34)이 이들 문자 조합중 어느 하나를 단어 "SING"의 처음 문자로서 인식할 수 있음을 나타낸다.
도 5에 도시된 바와 같이, 분기노드(122)는 3개의 자식 노드, 즉 "S" 치환노드(130), "5" 치환노드(132) 및 무 치환노드(134)를 갖는다. 이들 치환노드는 OCR프로그램(34)이 "SING"의 "S"를 "S", "5" 또는 문자 없음으로 해석할 수 있다는 정보를 의미한다. 하기된 바와 같이, "S" 치환노드(130), "5" 치환노드(132) 및 무 치환노드(134)는 통계표(23)에서 분기표 항목(210)에 해당하는 치환노드 항목(218)(도 6 참조)로부터 구한다.
제 1 치환노드 레벨(113)의 각 치환노드(130)(132)(134)는 제로 또는 그 이상의 자식 분기노드를 갖는다. 제 2 분기노드 레벨(114)의 각 분기노드는 선행 문자 또는 문자 조합을 처리한 후 OCR 프로그램(34)이 인식한 다음의 문자 또는 문자 조합을 나타내며, 상기 선행 문자 또는 문자 조합은 새로운 분기노드의 조부모 노드로 표현된다. 예를 들면, 도 5에 도시된 바와 같이, "S" 분기노드(122)로 표현된 문자 "S"를 처리한 후, "S" 치환노드(130)에 의해 표현된 바와 같이, 상기 "S"를 문자 "S"인 것으로 해석한다. 다음에 처리될 문자 또는 문자 조합은 각각 "I" 분기노드(135), "IN" 분기노드(136) 및 "ING" 분기노드(138)로 표현된 바와 같이, "I", "IN" 또는 "ING"이다.
이와 유사하게, "S" 분기노드(122)로 표현된 "S"를 처리한 후, "5" 치환노드(132)에 의해 표현된 바와 같이, 상기 "S"를 문자 "5"인 것으로 해석하며, OCR 프로그램(34)에 의해 처리된 다음 문자 또는 문자 조합은 각각 "I" 분기노드(140), "IN" 분기노드(142) 및 "ING" 분기노드(144)로 표현된 바와 같이, "I", "IN" 또는 "ING"이다. 양 분기노드 세트가 조부모 분기노드(122)로 표현되는 문자 조합을 처리한 후 OCR 프로그램(34)에 의해 처리되는 다음 문자 또는 문자 조합을 나타내기 때문에, 분기노드(140)(142)(144)는 각각 분기노드(135)(136)(138)와 유사하다.
제 2 치환노드 레벨(115)의 치환노드는 제 2 분기노드 레벨(114)에서 자신의 부모 분기노드에 대한 가능 치환을 의미한다. 각각의 치환노드는 도 6에 도시된 바 와 같이 통계표(23)의 분기표(200)의 분기노드 레벨(114)에서 그 부모 분기노드를 찾아 구할 수 있다. 예를 들면, 각각 "I", "l", "1" 및 문자 없음을 의미하는 "I" 치환노드(146), "l" 치환노드(148), "1" 치환노드(149) 및 무 치환노드(150)는 "I"분기노드(134)의 자식 노드이다. 이들 치환노드는 분기표 항목(206)에 해당하는 것으로 도 6에 도시된 치환표 항목(214)에 해당한다.
각각의 치환노드는 해당 치환을 실시할 확률을 의미하는 해당 확률값과, OCR 인식 과정중에 결정트리에서 치환노드의 조상 치환노드로 표현되는 모든 치환을 갖는다. 임의의 치환노드에 대한 확률값은 그 조상 치환노드의 확률을 통합한 것이다.
치환노드에 해당하는 누적 확률은 치환표의 해당 이형 항목의 확률값을 치환노드의 조부모 치환노드의 누적확률과 곱하여 계산하게 된다. 예를 들면, "I" 치환노드(146)는 0.92인 확률값(240)을 가진 이형 항목(232)(도 6 참조)에 해당한다. 0.92는 0.98인 조부모 "S" 치환노드에 대한 누적 확률과 곱해진다. 따라서, "I" 치환노드(146)에 대한 누적 확률은 0.92×0.98 또는 0.9016이다. 이와 유사하게, "l" 치환노드(148)에 해당하는 누적 확률은 0.02×0.98 또는 0.196이다.
상술한 바와 같이, 도 5에 도시된 결정트리(110)는 설명을 위한 예시이다. 본 발명의 실시예에서, 도 5에 도시된 임의의 노드는 생성되지 않을 수도 있고 또는 부가적인 노드가 생성되지 않을 수도 있다. 본 발명의 바람직한 실시예에서, 루트노드(120)로부터 인도되는 경로가 미리결정된 한계확률을 갖는 누적치환을 표시할 때 노드는 치환트리(110) 내에 생성된다.
도 4를 다시 참조하면, 요구된 검색과 관련된 이형 치환 단어를 결정하는 프로세스(70)를 도 5에 도시된 결정트리(110)와 도 6에 도시된 해당 통계표(23)와 연관시켜 설명한다. 이형 치환 단어를 결정하는 프로세스(70)는 도 5의 결정트리(110)와 같은 결정트리의 생성을 포함한다. 이형 치환 단어를 결정하는 프로세스(70)과정에서, 사전처리기(24)는 "현재노드(current node)"와 관련된 데이타를 유지한다.
블록(71)에서, 사전처리기(24)는 루트노드(120)를 생성하고 그 루트노드를 현재노드로 설정한다. 단계(72)에서, 사전처리기는 현재 치환노드의 자식 분기노드를 생성한다. 전술한 바와 같이, 각각의 자식 분기노드는 OCR 프로그램(34)에 의한 다음 문자의 가능인식을 의미한다. 루트노드(120)가 현재노드일 때, 어떠한 문자도 처리되지 않는다. 따라서, 생성된 자식 분기노드는 각각 "S", "SI", "SIN" 및 "SIGN"의 입력 문자 인식을 의미하는 분기노드(122, 124, 126, 128)이다.
단계(74)에서, 결정은 완전히 프로세스되지 않은 현재노드의 자식 분기노드가 있는지에 의해 만들어진다. 먼저, 이 단계는 새로운 분기노드를 생성한 후에 이루어지고, 어떠한 자식 분기노드도 프로세스되지 않는다. 따라서, 답은 "예"이고, 프로세싱은 단계(76)로 계속된다. 단계(76)에서, 다음의 프로세스되지 않은 자식 분기가 현재노드로 설정된다. 도 5의 결정트리에서, 먼저, 단계(76)이 실시되고, 분기노드(122)는 현재노드로 설정된다. 단계(80)에서, 현재 분기노드에 대하여 아직 시험되지 않은 어떤 치환이 존재하는지가 결정된다. 이러한 결정은 현재 분기노드에 해당하는 치환표(202)내의 항목을 검사하는 단계를 포함한다. 도 6에 도시 된 바와 같이, 치환표 항목(218)은 "S" 분기노드(122)에 대응하는 문자 "S"를 갖는 분기표 항목(210)에 해당한다. 치환표 항목(218)에서, 각각의 이형 항목(258, 260, 262)은 잠재적 OCR 치환이다. 먼저 단계(80)가 실시되고, 어떠한 치환도 아직 검사되지 않았다. 단계(82)에서, 치환이 현재노드에 대해 검색된다. 예를 들어, 먼저 단계(82)가 실시되고, 치환 "S"가 치환 항목표(218)로부터 검색된다.
단계(84)에서, 검색된 OCR 치환의 누적확률이 계산된다. 이러한 계산은 현재 분기노드(122)의 부모 치환노드의 누적확률에 치환에 대응하는 확률값을 곱하여 이루어진다. 이 프로세스에서, 부모노드는 1.0의 누적 확률을 갖는 루트 노드(120)이다. 따라서, "S"의 OCR 치환에 대한 누적 확률은 0.98×1.0= 0.98이다.
단계(86)에서, 계산된 누적 확률이 미리 결정된 한계인지의 여부가 결정된다. 만일, 누적 확률이 미리 결정된 한계 이상이라면, 단계(88)에서, 검색된 치환에 대응하는 새로운 치환 노드가 생성된다. 예를 들어, "S" 치환 노드(130)가 생성된다. 단계(86)에서 계산된 누적 확률은 "S" 치환 노드(130)에 저장된다. 다음에 새롭게 생성된 노드는 현재노드로 설정된다. 흐름 제어(flow control)는 단계(72)로 이어지고, 여기에서 현재노드의 새로운 자식 분기노드가 생성된다. 도 5의 결정 트리(110)에서, 각각 가능 후속 문자 인식 "I", "IN" 및 "ING"를 의미하는 분기노드(135, 136 및 138)가 생성된다.
상술한 일련의 단계는 새로운 분기노드 및 치환노드를 생성하고 결정 트리(110)의 계통을 잇도록 반복적으로 수행된다. 도 5에 도시된 바와 같이, "N" 분기노드(152), 자식 "N" 치환노드(154), "G" 분기노드(156) 및 "G" 치환 노드(158)가 생성된다.
단계(88)에서 "G" 치환노드(158)를 생성하고 이를 현재노드로 만든 후에, 단계(72)에서는 생성될 자식 분기노드가 존재하지 않는다. 이는 입력 단어의 모든 문자인 "SING"이 프로세스되었기 때문이다. 따라서, 단계(74)에서, 프로세스되지 않은 현재노드의 자식 분기노드가 존재하지 않는 것으로 결정된다. 흐름 제어는 단계(94)로 계속되며, 여기에서 현재노드가 루트 노드인지의 여부가 결정된다. 본 실시에에서, 현재노드는 루트 노드가 아니며, 흐름 제어는 현재 치환노드의 자식 노드가 존재하는 지의 여부를 결정하는 단계(96)로 진행된다. 만일, 자식 노드가 없다면, 정합한 검색 단어가 밝견된 것이다. 검색 단어는 루트 노드로부터 현재 노드에 이르는 경로에 있는 일련의 치환 노드에 의해 표시된다. 본 실시예에서, "S" 치환 노드(130), "I" 치환 노드(146), "N" 치환 노드(154) 및 "G" 치환 노드(158)는 본 실시예에서 입력 이미지를 정확하게 해석한 검색 단어 "SING"를 표시하기 위해 조합된다.
단계(100)에서, 현재 치환노드의 부모 분기노드는 현재노드로 설정된다. 본 실시예에서, "G" 분기노드(156)는 현재노드로 설정된다. 흐름 제어는 현재노드에 대한 부가적인 치환을 검사하기 위해 단계(80)로 진행된다. 도 5의 예에 도시된 "6" 치환 노드(160)와 같은 부가적인 치환 노드를 생성하기 위해 상술한 바와 같이 프로세스가 계속된다. 단계(98)에서, "6" 치환 노드(160)로 끝나는 정당한 검색 단어가 발견된다. 따라서, 제 2의 적합한 검색 단어는 치환 노드(130, 146, 154 및 160)으로 표시되고 철자는 "SIN6"이 된다.
단계(86)에서, 만일, 계산된 누적 확률이 미리 결정된 한계 이상이 아니라면, 흐름은 단계(90)로 계속되고, 여기에서 현재 분기노드의 부모 치환 노드는 현재 노드로 설정된다. 도 5의 결정트리에서, 이는 "G" 분기노드(156)가 현재노드일 때 발생하며, OCR 치환 없음에 대한 누적 확률이 검사된다. 도 5에서, 무 문자(null character)를 표시하는 가상의 무 치환 노드(162)가 무 치환이 검사되는 것을 설명하기 위해 도시되어 있으나, 치환 노드는 생성되지 않는다. 본 실시예에서, 부모 "N" 치환 노드(154)는 현재노드로 설정되며, 완전히 프로세스되지 않은 현재노드의 부가적인 자식 분기노드가 존재하는지의 여부를 결정하기 위해 흐름 제어는 단계(74)로 진행된다. 전술한 바와 같이, 만일 본 실시예에서와 같이, 프로세스되지 않은 자식 분기노드가 존재하지 않는다면, 흐름은 단계(94) 및 단계(96)로 진행된다. 본 실시예에서, 단계(96)에서, 현재노드("N" 치환 노드(154))의 자식 분기 노드가 존재함으로써, 검색 단어는 발견되지 않고, 흐름은 부모 분기 노드가 현재 노드로 설정되는 단계(100)로 진행된다. 이러한 방식으로 프로세스(70)는 결정 트리(110)를 뒷받침한다. 프로세스(70)는 결국 "I" 분기노드(135)가 현재노드일 때 단계(80)에 도달한다. 도 5에 도시된 바와 같이, OCR 치환 "l"은 검사되고, 대응하는 "l" 치환 노드(148)가 생성된다. 도 5에 도시된 결정 트리(110)를 단순화하기 위해, "l" 치환 노드(148)의 자손 노드들은 설명하지 않았다. 단순히 "1" 치환 노드(149)가 생성되고, 프로세스는 그 자손 노드들을 뒤따른다(미도시). 도 5에 도시된 바와 같이, 가상의 무 치환 노드(150)는 무의 치환이 검사되는 것을 도시하였으나, 치환 노드는 생성되지 않는다.
컴퓨터 프로그래밍 분야 및 다른 분야의 기술자가 용이하게 알 수 있는 바와 같이, 이형 치환 단어를 결정하는 프로세스(70)는 도 5에 도시된 결정 트리(110)를 만들어 낸다. 도시된 바와 같이, "IN" 분기노드(136)는 자식 "M" 치환 노드(164) 및 손자 "G" 분기 노드(166)를 갖는다. "G" 분기 노드(166)는 "G" 자식 치환 노드(168) 및 "6" 자식 치환 노드(170)를 갖는다. 가상의 무치환 노드(174) 및 가상의 무치환 노드(176)는 그 각각의 확률이 미리 결정된 한계보다 떨어지기 때문에 본 발명의 프로세스에서는 고려되었으나 이러한 노드들을 생성하지는 않는다는 것을 설명해 준다.
결국, 루트 노드(120)는 현재노드가 되고, 프로세스는 완전히 프로세스되지 않은 루트 노드의 부가적인 자식 분기 노드가 없는 단계(74)로 진행된다. 그 후 흐름 제어는 현재 노드가 루트 로드인지를 결정하는 단계(94)로 진행된다. 여기에서 프로세스(70)가 완료된다. 모든 정합한 이형 검색 단어가 생성된다. 도 5에 도시된 바와 같이, 프로세스는 이형 검색 단어가 "SING", "SING6", "SMG", "SM6"를 포함하는지의 여부를 결정한다. 부가적인 이형 검색 단어는 도 5에 도시되어 있지 않다.
컴퓨터 프로그래밍 및 그 외 분야의 기술자가 용이하게 알 수 있는 바와 같이, 본 발명의 사상 및 범주를 벗어나지 않고 도시된 프로세스(70)에 대한 다양한 변경이 있을 수 있다. 예를 들어, 프로세스는 분기 노드가 지정된 한계 이하의 확률을 표시하기 때문에, 분기 노드(124, 126 및 128)과 같은 일부 분기 노드가 생성될 필요가 없다는 것을 결정할 수 있다. 또한, 프로세스(70)의 단계 순서는 본 발명으로부터 벗어나지 않고 변경될 수 있다.
본 발명의 바람직한 실시예가 도시되고 설명되었지만, 본 발명의 사상 및 범주를 벗어나지 않고 다양한 변경이 있을 수 있다.

Claims (19)

  1. 알파뉴메릭의 검색 요구를 접수하는 단계;
    광학 문자 인식 치환 세트 및 각 광학 문자 인식 치환에 대응하는 발생 확률을 포함하는 미리 정의된 광학 문자 인식 치환 데이타에 따라 알파뉴메릭의 검색 요구에 관련된 적어도 하나의 이형 단어를 결정하되, 상기 이형 단어는 알파뉴메릭 검색 요구와는 다른 적어도 하나의 이형 단어를 발생시키는 단계; 및
    상기 적어도 하나의 발생된 이형 단어를 갖는 데이타베이스 내의 전자문서를 확인하는 단계를 포함하는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
  2. 제1항에 있어서, 상기 적어도 하나의 이형 단어를 결정하는 단계는
    적어도 단어의 일부분을 포함하는 각 후보 이형 단어 분절을 결정하는 단계;
    후보 이형 단어 분절이 미리 결정된 확률의 한계에서 발생할 가능성이 있는지 결정하는 단계;
    만일 후보 이형 단어 분절이 미리 결정된 확률의 한계에서 발생할 가능성이 없는 경우 상기 적어도 하나의 이형 단어로부터 후보 이형 단어 분절을 제외시키는 단계를 포함하는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
  3. 제2항에 있어서, 상기 후보 이형 단어 분절이 미리 결정된 확률의 한계에서 발생할 가능성이 있는지 결정하는 단계는
    미리 정의된 광학 문자 인식 치환 데이타에 대응하는 후보 이형 단어 분절에 따라 복수의 광학 문자 인식 치환을 결정하는 단계;
    후보 이형 단어 분절에 대응하는 발생 가능성을 결정하기 위해 후보 단어 분절에 따른 각 광학 문자 인식 치환에 대응하는 발생 가능성을 조합하는 단계; 및
    후보 이형 단어 분절에 대응하는 발생 가능성을 미리 결정된 확률의 한계와 비교하는 단계를 포함하는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
  4. 제1항에 있어서, 미리 정의된 광학 문자 인식 치환 데이타에 따라 알파뉴메릭에 대응하는 복수의 광학 문자 인식 치환을 결정하는 단계; 및
    후보 이형 단어 분절을 생성하기 위해 복수의 광학 문자 인식 치환을 조합하는 단계를 더 포함하는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
  5. 제1항에 있어서, 복수의 치환 노드를 갖는 수데이타 구조를 생성시키되, 각 치환 노드는 알파뉴메릭 검색 요구에 대응하는 광학 문자 인식 치환의 성분에 대응하며, 수데이타 구조는 하나의 루트 노드 및 적어도 하나의 잎노드를 가지며, 각 잎노드는 잎노드에 대응하는 경로에 의해 루트 노드에 연결되는 단계; 및
    이형 단어를 생성시키기 위해 상기 잎 노드의 하나에 대응하는 경로에서 각 치환 노드에 대응하는 광학 문자 인식 치환을 조합하는 단계를 더 포함하는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
  6. 제5항에 있어서, 각 치환 노드에 대하여 미리 정의된 광학 문자 인식 치환 데이타에 대응하는지 결정하는 단계;
    각 치환 노드에 대하여 발생 가능성이 미리 결정된 한계에 대응하는지 결정하는 단계; 및
    치환 노드에 대응하는 발생 가능성이 미리 결정된 한계가 아닌 경우에는 상기 적어도 하나의 이형 단어로부터 치환 노드에 대응하는 이형 단어를 제외시키는 단계를 더 포함하는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
  7. 제5항에 있어서, 알파뉴메릭 검색 요구에 대한 광학 문자를 인식하는 동안 문자의 형태에 대응하는 분기 노드를 수데이타 구조 내에 생성시키는 단계;
    분기 노드에 대응하는 문자에 대하여 광학 문자 인식 치환에 대응하는 분기 노드의 자식 노드인 적어도 하나의 치환 노드를 생성시키는 단계를 더 포함하는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
  8. 제7항에 있어서, 치환 노드에 대응하는 광학 문자 인식 치환은 두 개의 문자를 포함하는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
  9. 제7항에 있어서, 상기 치환 노드에 대응하는 광학 문자 인식 치환은 제로 문자로 표시되는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
  10. 제1항에 있어서, 상기 적어도 하나의 이형 문자를 결정하는 단계는 복수의 이형 문자를 결정하고, 복수의 이형 문자를 결정한 후에 발생하는 데이타베이스를 검색하는 단계를 포함하는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
  11. 목표 알파뉴메릭 단어를 포함하는 검색 요구를 수신하는 단계;
    목표 알파뉴메릭 단어에 대응하는 복수의 광학 문자 인식 치환을 결정하는 단계;
    목표 알파뉴메릭 단어에 대응하는 적어도 하나의 이형 문자를 발생시키되, 상기 적어도 하나의 이형 문자는 목표 알파뉴메릭 단어와 다르고 목표 알파뉴메릭 단어에 대응하는 복수의 광학 문자 인식 치환에 기초하는 단계; 및
    적어도 하나의 발생된 이형 단어를 갖는 문서 데이타베이스 내의 문서를 확인하는 단계를 포함하는 것을 특징으로 하는 광학 문자 인식으로 생성된 문서를 포함하는 문서 데이타베이스를 검색하기 위한 단계를 기능시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  12. 제11항에 있어서, 목표 알파뉴메릭 단어에 대응하는 가능한 광학 문자 인식 치환을 결정하는 단계;
    가능한 광학 문자 인식 치환에 대응하는 발생 가능성을 결정하는 단계;
    가능한 광학 문자 인식 치환에 대응하는 발생 가능성이 확률의 한계 이상인지 결정하는 단계;
    확률의 한계에 대한 발생 가능성에 기초하여 복수의 광학 문자 인식 치환의 가능 광학 문자 인식 치환을 선택적으로 포함하는 단계를 더 포함하는 것을 특징으로 하는 를 기능시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  13. 제11항에 있어서, 각 치환 노드는 광학 인식 치환에 대응하며, 계층적인 트리 구조를 형성하는 복수의 치환 노드를 특수화하는 단계;
    계층적인 트리 구조의 루트 노드 및 잎 노드 사이에 경로를 형성하는 치환 노드 세트에 대응하는 치환을 포함함으로써 이형 단어를 형성시키는 단계를 더 포함하는 것을 특징으로 하는 를 기능시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  14. 제11항에 있어서, 각 분기 노드는 목표 알파뉴메릭 단어의 광학 문자를 인식하는 동안 문자의 형태를 표시하며, 각 계층적인 트리 구조 내의 복수의 분기 노드를 특수화하는 단계를 더 포함하는 것을 특징으로 하는 를 기능시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  15. 알파뉴메릭 검색 요구를 접수하는 단계;
    미리 정의된 광학 문자 인식 치환 데이타에 따른 알파뉴메릭 검색 요구에 관련된 적어도 하나의 이형 단어를 결정하되, 광학 문자 인식 치환 데이타는 광학 문자 인식 치환 세트 및 각 광학 문자 인식 치환에 대응하는 발생 가능성을 포함하며 상기 이형 단어는 알파뉴메릭 검색 요구와는 다른 적어도 하나의 이형 단어를 결정하는 단계;
    복수의 치환 노드를 갖는 수데이타 구조를 생성시키되, 각 치환 노드는 알파뉴메릭 검색 요구에 대응하는 광학 문자 인식 치환의 요소에 대응하며, 수데이타 구조는 루트 노드 및 적어도 하나의 잎 노드를 갖고, 각 잎 노드는 잎 노드에 대응하는 경로에 의하여 루트 노드에 연결되는 단계;
    이형 단어를 생성시키기 위하여 상기 잎 노드의 하나에 대응하는 경로에서 각 치환 노드에 대응하는 광학 문자 인식 치환을 조합하는 단계; 및
    상기 적어도 하나의 결정된 이형 단어에 따른 전자문서의 데이타베이스를 검색하는 단계를 포함하는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
  16. 제15항에 있어서, 각 치환 노드에 대하여 미리 정의된 광학 문자 인식 치환 데이타에 따른 발생 가능성을 결정하는 단계;
    각 치환 노드에 대하여 발생 가능성이 미리 정의된 한계에 대응하는지 결정하는 단계;
    치환 노드에 대응하는 발생 가능성이 미리 결정된 한계는 상기 적어도 하나의 이형 단어로부터 치환 노드에 대응하는 이형 단어를 제외시키는 단계를 더 포함하는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
  17. 제15항에 있어서, 알파뉴메릭 검색 요구의 광학 문자를 인식하는 동안 문자의 형태에 대응하는 분기 노드를 수데이타 구조 내에 생성시키는 단계;
    분기 노드에 대응하는 문자에 대하여 광학 문자 인식 치환에 대응하는 분기 노드의 자식 노드인 적어도 하나의 치환 노드를 생성시키는 단계를 더 포함하는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
  18. 제17항에 있어서, 상기 치환 노드에 대응하는 광학 문자 인식 치환은 두 개의 문자를 포함하는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
  19. 제17항에 있어서, 상기 치환 노드에 대응하는 광학 문자 인식 치환은 제로 문자를 표시하는 것을 특징으로 하는 광학문자인식으로 생성된 전자문서의 데이타베이스를 검색하기 위한 컴퓨터에 기초한 검색방법.
KR1020007011024A 1998-04-01 1999-03-26 광학문자인식으로 생성된 전자문서 검색방법 및 그 시스템 KR100627195B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US5384698A 1998-04-01 1998-04-01
US09/053,846 1998-04-01

Publications (2)

Publication Number Publication Date
KR20010034738A KR20010034738A (ko) 2001-04-25
KR100627195B1 true KR100627195B1 (ko) 2006-09-22

Family

ID=21986949

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007011024A KR100627195B1 (ko) 1998-04-01 1999-03-26 광학문자인식으로 생성된 전자문서 검색방법 및 그 시스템

Country Status (13)

Country Link
US (1) US6480838B1 (ko)
EP (1) EP1073972A4 (ko)
JP (1) JP2002510089A (ko)
KR (1) KR100627195B1 (ko)
CN (1) CN1157673C (ko)
AU (1) AU770515B2 (ko)
BR (1) BR9909337A (ko)
CA (1) CA2326901A1 (ko)
EA (1) EA003619B1 (ko)
HK (1) HK1038087A1 (ko)
ID (1) ID29592A (ko)
IL (1) IL138806A0 (ko)
WO (1) WO1999050763A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102605381B1 (ko) 2022-10-25 2023-11-23 (주)미래환경플랜건축사사무소 설비 사양의 자동 인식을 위한 설비 명판 광학 문자 판독 시스템 및 방법

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69933123T2 (de) * 1998-07-30 2007-03-15 British Telecommunications Public Ltd. Co. Zugriff auf eine semi-strukturierte datenbank
US6532476B1 (en) * 1999-11-13 2003-03-11 Precision Solutions, Inc. Software based methodology for the storage and retrieval of diverse information
US7600183B2 (en) * 2000-06-16 2009-10-06 Olive Software Inc. System and method for data publication through web pages
WO2002017166A2 (en) * 2000-08-24 2002-02-28 Olive Software Inc. System and method for automatic preparation and searching of scanned documents
US7254773B2 (en) * 2000-12-29 2007-08-07 International Business Machines Corporation Automated spell analysis
JP4421134B2 (ja) * 2001-04-18 2010-02-24 富士通株式会社 文書画像検索装置
US20020176628A1 (en) 2001-05-22 2002-11-28 Starkweather Gary K. Document imaging and indexing system
US20030084031A1 (en) * 2001-10-31 2003-05-01 Tarquini Richard P. System and method for searching a signature set for a target signature
US20040059726A1 (en) * 2002-09-09 2004-03-25 Jeff Hunter Context-sensitive wordless search
US7155427B1 (en) * 2002-10-30 2006-12-26 Oracle International Corporation Configurable search tool for finding and scoring non-exact matches in a relational database
JP2004171316A (ja) * 2002-11-21 2004-06-17 Hitachi Ltd Ocr装置及び文書検索システム及び文書検索プログラム
US20030177115A1 (en) * 2003-02-21 2003-09-18 Stern Yonatan P. System and method for automatic preparation and searching of scanned documents
US7391527B2 (en) * 2003-04-29 2008-06-24 Hewlett-Packard Development Company, L.P. Method and system of using a multifunction printer to identify pages having a text string
US8718367B1 (en) * 2009-07-10 2014-05-06 Intuit Inc. Displaying automatically recognized text in proximity to a source image to assist comparibility
US9069731B2 (en) 2009-12-29 2015-06-30 Olive Software Inc. System and method for providing online versions of print-medium publications
CN102486834A (zh) * 2010-12-06 2012-06-06 北大方正集团有限公司 一种处理字符的方法和装置
US9846688B1 (en) 2010-12-28 2017-12-19 Amazon Technologies, Inc. Book version mapping
US8798366B1 (en) * 2010-12-28 2014-08-05 Amazon Technologies, Inc. Electronic book pagination
CN102779140B (zh) * 2011-05-13 2015-09-02 富士通株式会社 一种关键词获取方法及装置
CN103488982A (zh) * 2012-06-11 2014-01-01 富泰华工业(深圳)有限公司 文字识别系统及方法
US9411801B2 (en) * 2012-12-21 2016-08-09 Abbyy Development Llc General dictionary for all languages
US9659109B2 (en) * 2014-05-27 2017-05-23 Wal-Mart Stores, Inc. System and method for query auto-completion using a data structure with trie and ternary query nodes
RU2598300C2 (ru) * 2015-01-27 2016-09-20 Общество с ограниченной ответственностью "Аби Девелопмент" Способы и системы автоматического распознавания символов с использованием дерева решений
US10671677B2 (en) * 2015-06-12 2020-06-02 Smugmug, Inc. Advanced keyword search application

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1311486A (en) * 1969-03-31 1973-03-28 Dunlop Holdings Ltd Floor structures for inflatable boats
US3969698A (en) * 1974-10-08 1976-07-13 International Business Machines Corporation Cluster storage apparatus for post processing error correction of a character recognition machine
US4654875A (en) * 1983-05-23 1987-03-31 The Research Foundation Of State University Of New York System to achieve automatic recognition of linguistic strings
JPH0797373B2 (ja) * 1985-08-23 1995-10-18 株式会社日立製作所 文書フアイリングシステム
JPH03144877A (ja) * 1989-10-25 1991-06-20 Xerox Corp 文脈的文字または音素認識方法及びシステム
US4977602A (en) * 1989-11-20 1990-12-11 Eastman Kodak Company Character normalization using an elliptical sampling window for optical character recognition
US5875263A (en) * 1991-10-28 1999-02-23 Froessl; Horst Non-edit multiple image font processing of records
TW222337B (ko) * 1992-09-02 1994-04-11 Motorola Inc
TW401567B (en) * 1992-10-09 2000-08-11 Matsushita Electric Ind Co Ltd Certifiable optical character recognition
US5625719A (en) * 1992-10-19 1997-04-29 Fast; Bruce B. OCR image preprocessing method for image enhancement of scanned documents
US5606690A (en) * 1993-08-20 1997-02-25 Canon Inc. Non-literal textual search using fuzzy finite non-deterministic automata
DE69424902T2 (de) * 1993-08-20 2000-11-09 Canon Kk Gerät und Verfahren zur anpassungsfähigen nicht-buchstäblichen Textsuche
US5465309A (en) 1993-12-10 1995-11-07 International Business Machines Corporation Method of and apparatus for character recognition through related spelling heuristics
US5461488A (en) 1994-09-12 1995-10-24 Motorola, Inc. Computerized facsimile (FAX) system and method of operation
US5802515A (en) * 1996-06-11 1998-09-01 Massachusetts Institute Of Technology Randomized query generation and document relevance ranking for robust information retrieval from a database

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102605381B1 (ko) 2022-10-25 2023-11-23 (주)미래환경플랜건축사사무소 설비 사양의 자동 인식을 위한 설비 명판 광학 문자 판독 시스템 및 방법

Also Published As

Publication number Publication date
HK1038087A1 (en) 2002-04-04
US6480838B1 (en) 2002-11-12
CN1300400A (zh) 2001-06-20
ID29592A (id) 2001-09-06
EA003619B1 (ru) 2003-08-28
CA2326901A1 (en) 1999-10-07
EA200001013A1 (ru) 2001-06-25
EP1073972A4 (en) 2005-03-30
EP1073972A1 (en) 2001-02-07
CN1157673C (zh) 2004-07-14
BR9909337A (pt) 2001-11-06
IL138806A0 (en) 2001-10-31
AU770515B2 (en) 2004-02-26
JP2002510089A (ja) 2002-04-02
AU3366799A (en) 1999-10-18
WO1999050763A1 (en) 1999-10-07
KR20010034738A (ko) 2001-04-25

Similar Documents

Publication Publication Date Title
KR100627195B1 (ko) 광학문자인식으로 생성된 전자문서 검색방법 및 그 시스템
US8468167B2 (en) Automatic data validation and correction
US5943443A (en) Method and apparatus for image based document processing
US7236923B1 (en) Acronym extraction system and method of identifying acronyms and extracting corresponding expansions from text
CN102708095B (zh) 选择用于文本分割的语言的方法
KR100666064B1 (ko) 인터랙티브 검색 쿼리 개선 시스템 및 방법
Taghva et al. OCRSpell: an interactive spelling correction system for OCR errors in text
US8391614B2 (en) Determining near duplicate “noisy” data objects
US6501855B1 (en) Manual-search restriction on documents not having an ASCII index
US7415171B2 (en) Multigraph optical character reader enhancement systems and methods
US8712989B2 (en) Wild card auto completion
US20050021545A1 (en) Very-large-scale automatic categorizer for Web content
Bazzo et al. Assessing the impact of OCR errors in information retrieval
US8423885B1 (en) Updating search engine document index based on calculated age of changed portions in a document
US20040122660A1 (en) Creating taxonomies and training data in multiple languages
US8805803B2 (en) Index extraction from documents
US7730062B2 (en) Cap-sensitive text search for documents
Ford et al. Pattern matching techniques for correcting low-confidence OCR words in a known context
US20050154703A1 (en) Information partitioning apparatus, information partitioning method and information partitioning program
EP1076305A1 (en) A phonetic method of retrieving and presenting electronic information from large information sources, an apparatus for performing the method, a computer-readable medium, and a computer program element
JP2003178261A (ja) 文字認識装置およびプログラム
JPH08115330A (ja) 類似文書検索方法および装置
MXPA00009679A (es) Sistema y metodo de busqueda en documentos electronicos creados con reconocimiento optico de caracteres
CN117216179A (zh) 一种基于语言模型的英文词语搭配查询方法
Taghva et al. Ocrspell: An interactive spelling correction system for ocr errors in text

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