KR100286501B1 - 래티스를 키로 하여 검색을 행하는 사전 검색 장치 및 방법 - Google Patents

래티스를 키로 하여 검색을 행하는 사전 검색 장치 및 방법 Download PDF

Info

Publication number
KR100286501B1
KR100286501B1 KR1019960046646A KR19960046646A KR100286501B1 KR 100286501 B1 KR100286501 B1 KR 100286501B1 KR 1019960046646 A KR1019960046646 A KR 1019960046646A KR 19960046646 A KR19960046646 A KR 19960046646A KR 100286501 B1 KR100286501 B1 KR 100286501B1
Authority
KR
South Korea
Prior art keywords
search
node
dictionary
data
evaluation function
Prior art date
Application number
KR1019960046646A
Other languages
English (en)
Other versions
KR970029146A (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 KR970029146A publication Critical patent/KR970029146A/ko
Application granted granted Critical
Publication of KR100286501B1 publication Critical patent/KR100286501B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • 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/99935Query augmenting and refining, e.g. inexact access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

부여된 래티스 구조의 데이타를 기초로 하여 트라이 사전을 이용한 고속의 검색을 실행하는 것을 과제로 한다.
인식 결과의 각 후보 문자를 데이타 노드로 하고, 그것들을 제어 노드로 접속하여 문자 래티스를 구성한다. 그리고 제어 노드의 접속 정보에 따라서 문자 래티스의 데이타 노드를 "[선두]"로부터 "[말미]"를 향해서 더듬어가고, 각 패스에 대응하는 문자열을 트라이 사전내에서 검색한다. 문자 래티스에 포함되는 모든 검색키를 생성하고 나서 그것들을 사전과 대조하는 경우와 비교하여 검색 효율이 향상한다.

Description

래티스를 키로 하여 검색을 행하는 사전 검색 장치 및 방법
본 발명은 문자 인식이나 음성 인식 등에 있어서, 인식 결과의 문자나 음소의 다수의 후보로 이루어지는 래티스 구조의 데이타를 기초로 사전을 검색하는 사전 검색 장치 및 그 방법에 관한 것이다.
근래, 컴퓨터의 발전에 따라 보다 효율적인 컴퓨터로의 데이타 입력 방법이 요구되고 있다. 컴퓨터로의 데이타 입력에는, 예컨대 문자 인식이나 음성 인식 등의 기술이 있고, 인식 대상의 문자열 등을 사전과 대조하는 방법으로서, 해시법, B-Tree법, 트라이(TRIE: tree retrieval)법 등이 이용되고 있다. 해시법은 검색키의 내부 코드로부터 대응하는 등록어의 저장 어드레스를 구하는 방법이고, B-Tree 법은, 다진 탐색 트리의 일종인 B-Tree의 각 노드에 저장된 등록어를 검색하는 방법이다. 또한, 트라이법은 검색키의 일부를 트리의 노드에 저장된 인덱스와 비교하면서 분기하고 있고 앞에 격납된 등록어를 검색하는 방법이다. 인식 처리에 있어서는 1개의 문자나 음소에 대하여 인식 결과의 다수의 후보가 발생하기는 일이 있고 이러한 경우에 인식 결과의 문자열 등을 고속으로 결정하는 것이 요망된다. 다수의 후보를 포함하는 경우의 사전 검색 방법으로서, 후보로 되는 문자나 음소가 격자 형상으로 조합된 래티스 구조의 데이타를 기초로 한 사전 검색이 시도되고 있다.
인식 처리에 이용되는 종래의 사전의 1개에 전방 일치 압축 사전이 있다. 전방 일치 압축 사전에 있어서는, 사전에 저장하는 인식어가 다른 인식어와 전방 부분에서 일치하는 경우에는, 그것들이 압축하여 격납된다. 예컨대, 컴퓨터 아키텍쳐, 컴퓨터 시스템, 컴퓨터 입문이라고 하는 3개의 단어는 선두의 컴퓨터라는 단어가 일치하고 있으므로 이 부분이 1개로 압축된다. 전방 일치 압축 사전을 이용한 문자열의 검색 처리에는 우선 부여된 문자 래티스의 선두 부분으로부터 순서대로 더듬어가서 얻어지는 일군의 인식 후보의 문자열이 구해지고, 그것들이 사전중의 인식어와 비교되어 매칭 처리가 실행된다.
그러나, 상술한 바와 같은 종래의 검색 처리에는 다음과 같은 문제가 있다.
인식 결과의 복수의 후보가 발생하기 쉬운 예로서, 친필 문자나 음성의 인식 처리를 들 수 있지만, 이것들의 인식 처리에서는 아직 그만큼 대규모인 사전 검색은 행해지지 않고, 주로 해시법 등에 의해 사전이 검색되고 있다. 그러나, 해시법에서는 키의 충돌이 많이 발생하는 경우에는 제어가 번잡하게 된다고 하는 문제가 있고 래티스가 커지게 되면 검색 효율이 저하한다. 또한, B-Tree 법에서는, 검색 속도의 고속성이 떨어진다고 하는 문제가 있다.
트라이법에서는 이들에 비하여 고속인 검색을 행할 수 있다. 그러나, 문자 래티스를 기초로 하여 트라이 사전을 검색할 때, 단순히 래티스중의 후보 문자를 순서대로 조합하여 문자열을 생성하면, 후보 문자가 많아짐에 따라서 다수의 문자 열이 생성된다. 그것들의 문자열을 하나하나 키로 하여 사전 검색을 행한다면, 조합적 폭발이 발생하여 현실적인 시간으로 검색을 끝내는 것이 곤란하게 된다. 이것 때문에, 사전 검색을 대량으로 실행할 필요가 있는 인식 처리를 반드시 고속으로 실행할 수 없다고 하는 문제가 발생한다.
본 발명은 부여된 래티스 구조의 데이타를 기초로 하여 트라이 사전을 이용한 고속의 검색을 하는 것이 가능한 사전 검색 장치 및 그 방법을 제공하는 것을 목적으로 한다.
제1도는 본 발명의 원리도.
제2도는 실시 형태의 사전 검색 장치의 구성도.
제3도는 정보 처리 시스템의 구성도.
제4도는 원화상을 도시한 도면.
제5도는 문자 래티스의 예를 도시한 도면.
제6도는 제어 노드를 이용한 제1 문자 래티스를 도시한 도면.
제7도는 제어 노드의 구조를 도시한 도면.
제8도는 데이타 노드의 구조를 도시한 도면.
제9도는 절출 에러를 포함하는 제2 문자 래티스를 도시한 도면.
제10도는 제2 문자 래티스를 전개한 트리(tree)를 도시한 도면.
제11도는 트라이 사전의 구조를 도시한 도면.
제12도는 OPEN 리스트의 노드의 구조를 도시한 도면.
제13도는 제1 검색 처리의 플로우차트.
제14도는 종형 탐색의 OPEN 리스트를 도시한 도면.
제15도는 기록 확인 처리의 플로우차트.
제16도는 횡형 탐색의 OPEN 리스트를 도시한 도면.
제17도는 최적 탐색의 OPEN 리스트를 도시한 도면.
제18도는 검색 중지 처리의 플로우차트.
제19도는 검색 재개 처리의 플로우차트.
제20도는 제2 검색 처리의 플로우차트.
제21도는 제3 검색 처리의 플로우차트.
제22도는 교정 지원을 위한 제3 문자 래티스를 도시한 도면.
제23도는 제4 검색 처리의 플로우차트.
제24도는 영어 단어의 원화상을 도시한 도면.
제25도는 영어의 문자 래티스의 예를 도시한 도면.
제26도는 제4 문자 래티스를 도시한 도면.
제27도는 절출 에러를 포함하는 제5 문자 래티스를 도시한 도면.
제28도는 영어 단어의 트라이 사전을 도시한 도면.
제29도는 영어 단어의 최적 탐색의 OPEN 리스트를 도시한 도면.
〈도면의 주요부분에 대한 부호의 설명〉
1 : 검색 수단 2 : 복합키 관리 수단
3 : 검색 상태 기억 수단 4 : 출력 수단
11 : 사전 검색 장치 12 : 래티스 정보 관리 모듈
13 : 사전 검색 제어 모듈 14 : 사전 검색 상태 정보 관리 모듈
15 : 사전 검색 상태 정보 16 : 평가 함수 모듈
17 : 가지치기 판정 모듈 18 : 트라이 사전 액세스 모듈
19 : 트라이 사전 저장 장치 21 : CPU
22 : 메모리 23 : 입력 장치
24 : 출력 장치 25 : 버스
31,32,33,34,41,42,43,44,45,46 : 인덱스
35,47 : 기록 영역 C0,C1,C2,C3,C4,C5,C6 : 제어 노드
L1,L2,L3,L4,L5,L6,L7,L8,L11,L12,L13,L14,L15,L16,L17,L18,L21,L22,L23,L24,L25,L26,L27,L28,L31,L32,L33,L34,L35,L36,L37,L38,L39 : OPEN 리스트
도 1은 본 발명의 사전 검색 장치의 원리도이다. 도 1의 사전 검색 장치는 검색 수단(1), 복합키 관리 수단(2), 검색 상태 기억 수단(3) 및 출력 수단(4)을 구비한다.
복합키 관리 수단(2)은 유기적으로 조합된 다수의 데이타 노드로 이루어지는 복합키로서 2개 이상의 검색키를 포함하는 복합키의 정보를 관리한다.
검색 수단(1)은 상기 복합키내의 데이타 노드를 더듬어가면서, 상기 트라이 사전의 대응하는 기록을 검색한다.
검색 상태 기억 수단(3)은 상기 복합키내에 있어서의 검색 대상의 데이타 노드의 위치를 나타내는 정보와, 검색 수단(1)이 얻은 검색 결과를 기억한다.
그리고, 출력 수단(4)은 상기 검색 결과를 출력한다.
복합키는, 예컨대 인식 결과의 후보 문자나 후보 음소를 나타내는 데이타 노드를 인식순으로 접속하여 구성되어, 각 데이타 노드의 다음에 연결되는 데이타 노드의 수에 따라서 복수의 데이타 노드열로 분기된다. 따라서 1개의 복합키는 선두로부터 말미에 이르는 다수의 데이타 노드열을 검색키로서 포함하고 있고, 문자 래티스도 그 일종이다.
검색 수단(1)은 이 복합키의 선두로부터 말미를 향하여 순서대로 데이타 노드를 더듬어가면서, 도중의 각 데이타 노드까지의 패스에 대응하는 기록이 트라이 사전내에 있는지 어떤지를 조사한다. 그리고, 대응하는 기록이 있으면 그것을 검색 결과로서 취출하고, 검색 상태 기억 수단(3)에 저장한다. 또한, 대응하는 기록이 없으면 다음의 데이타 노드를 검색 대상으로 하고, 마찬가지로 하여 트라이 사전을 검색한다.
이렇게 해서 얻어진 검색 결과는 출력 수단에 의해, 예컨대 인식 결과의 후보의 문자열로서 외부에 출력되어 사용자에게 제시된다.
이러한 사전 검색 장치에 의하면, 복합키가 선두로부터 순서대로 전개되면서, 트라이 사전의 등록 문자열과 대조되어 간다. 이것 때문에, 복합키에 포함되는 다수의 검색키의 중복하는 부분에 관하여는, 사전과의 대조를 1회에 끝낼 수 있어, 검색 처리가 효율화된다. 또한, 적당한 검색 결과가 얻어진 시점에서 처리를 종료하도록 하면, 사전 검색은 더욱 고속으로 된다.
예컨대, 도 1의 검색 수단(1)은 실시 형태의 도 2의 사전 검색 제어 모듈(13)에 대응하고, 복합키 관리 수단(2), 검색 상태 기억 수단(3)은 각각 래티스 정보 관리 모듈(12), 사전 검색 상태 정보 관리 모듈(14)에 대응한다. 또한, 출력 수단(4)은 도 3의 출력 장치(24)에 대응한다.
이하, 도면을 참조하면서 본 발명의 실시의 형태를 상세히 설명한다.
도 2는 실시 형태의 사전 검색 장치의 구성도이다. 도 2의 사전 검색 장치(11)는 래티스 정보 관리 모듈(12), 사전 검색 제어 모듈(13), 사전 검색 상태 정보 관리 모듈(14), 평가 함수 모듈(16) 및 트라이 사전 액세스 모듈(17)을 구비한다.
래티스 정보 관리 모듈(12)은 입력된 래티스의 정보를 관리한다. 사전 검색 제어 모듈(13)은 미리 지정된 제어 방식에 따라서 래티스 정보 관리 모듈(12)로부터 얻어지는 래티스중의 노드를 순서대로 더듬어가고, 트라이 사전 액세스 모듈(18)을 거쳐서 트라이 사전 저장 장치(19)에 저장된 트라이 사전 중에서 래티스의 노드에 대응하는 부분에 액세스한다. 그리고, 사전내의 기록의 유무 등을 판정하면서 사전 검색을 하여 검색 결과를 출력한다. 사전 검색 제어 모듈(13)에 의한 검색과 동시에 사전 검색 상태 정보 관리 모듈(14)는 적절하게 사전 검색 상태 정보(15)를 갱신하고, 필요에 따라서 그것을 사용자에게 제시한다.
검색이 진행함에 따라서, 평가 함수 모듈(16)은 각 검색 시점에서의 평가치를 계산하여, 그것을 사전 검색 제어 모듈(13)에 보낸다. 사전 검색 제어 모듈(13)은 보내진 평가치를 이용하면서 효율적인 검색을 한다. 가지치기 판정 모듈(17)은 평가치를 사용하여 래티스중의 어떤 노드에 있어서의 가지치기가 가능한지 어떤지를 판정한다. 가지치기 판정 모듈(17)이 가지치기 가능으로 판정하면, 그 노드보다 깊은 래티스 부분은 검색되지 않고, 사전 검색이 효율화된다.
도 3은 사전 검색 장치를 실현하는 정보 처리 시스템의 구성예를 도시하고 있다. 도 3의 정보 처리 시스템은 CPU(21), 메모리(22), 입력 장치(23), 출력 장치(24), 트라이 사전 저장 장치(19) 및 그것들을 접속하는 버스(25)를 구비한다. 이 정보 처리 시스템이 문자 인식 처리을 하는 경우에, 입력 장치(23)는 예컨대, 스캐너 등의 화상 입력 장치이고, 인식 대상의 문자열의 원화상을 입력하기 위해서 이용된다. 또한, 음성 인식 처리을 하는 경우에 입력 장치(23)는 마이크로폰과 음성 변환 장치 등으로 이루어지는 음성 입력 장치이고, 인식 대상의 음성을 입력하기 위해서 이용된다.
CPU(21)는 메모리(22)를 이용하여 입력된 원화상이나 음성의 인식 처리를 행하여 다수의 후보를 포함하는 래티스를 생성한다. 또한, CPU(21)는 메모리(22)에 저장된 프로그램을 실행하는 것에 의해 래티스 정보 관리 모듈(12), 사전 검색 제어 모듈(13), 사전 검색 상태 정보 관리 모듈(14), 평가 함수 모듈(16), 가지치기 판정 모듈(17) 및 트라이 사전 액세스 모듈(18)의 역할을 한다. 그리고, 래티스를 검색키로 하여 트라이 사전 저장 장치(19)내의 트라이 사전을 검색한다. 출력 장치(24)는, 예컨대 디스플레이 장치나 프린터 등으로, 검색 도중의 상태나 검색 결과 등을 표시하기도 하고 출력하기도 하는데 이용된다.
다음에, 도 4에서부터 도 17까지를 참조하면서, 일본어의 원화상을 예로 한 문자 인식 처리에 관해서 설명한다.
도 4는 인식 대상의 원화상의 예를 도시하고 있다. OCR(optical character recognition)에 의해 도 4의 원화상 "大學に行く"의 문자 인식을 하면, 문자의 절출 에러가 없는 경우에는 예컨대, 도 5와 같은 문자 래티스가 얻어진다. 도 5의 문자 래티스에 있어서, 1 행째에는 원화상에 포함되는 각 문자의 제1 후보가 열거되어 있고, 2 행째, 3 행째에는 각각 제2 후보, 제3 후보가 열거되어 있다. 이 문자 레티스를 데이타 노드와 제어 노드를 이용하여 나타내면 도 6과 같이 된다.
도 6의 제1 문자 레티스는 제어 노드와 데이타 노드로 구성되고, 데이타 노드는 종횡의 격자 형상으로 배열되어 있다. 데이타 노드에는 문자 인식 결과인 각 후보 문자가 그 속성와 함께 저장된다.
후보 문자의 속성이란, 예컨대 그 문자의 인식 결과로서의 확실함을 나타내는 평가치를 의미한다. 여기에서 각 데이타 노드의 아래쪽으로 병기된 숫자가 평가치의 한 종류인 인식 거리치를 나타낸다. 인식 거리치는 인식 결과의 문자 패턴과 대응하는 사전내의 후보 문자의 문자 패턴과의 사이의 거리치를 의미하고, 원화상에 있어서의 원래의 문자가 그 후보 문자라는 확실함을 나타낸다. 인식 거리치가 작으면 작을수록, 원래의 문자의 패턴은 사전내의 후보 문자의 패턴에 가깝고, 그 후보 문자는 그만큼 확실하게 된다. 다만, 데이타 노드 "선두" 및 "말미"는 인식 결과가 아니고, 처리의 형편상 마련된 특별한 데이타 노드이고, 인식 거리치는 병기되어 있지 않다.
제어 노드는 데이타 노드와 데이타 노드의 사이에 위치하여, 주로 사전 검색 처리의 제어에 이용되지만, 검색후의 처리에서 필요로 하는 정보를 제공하기 위해서도 이용된다. 이것들의 용도를 위해, "[선두]"에 가까운 제어 노드로부터 "[말미]"에 가까운 제어 노드를 향하여, 순서대로 식별자 C0, C1, C2, C3, C4, C5가 부가되어 있다. 이것들의 식별자에 포함되는 숫자가 작은 것일수록 "[선두]"에 가까운 것을 나타내고 있다.
도 7 및 도 8은 각각 래티스 정보 관리 모듈(12)이 관리하는 각 제어 노드 및 각 데이타 노드의 배열 구조의 예를 도시하고 있다. 도 7의 제어 노드에는 그 제어 노드에 연결되는 데이타 노드의 수와, 그들 데이타 노드로의 포인터가 저장된다. 예컨대, 도 6의 제어 노드 C0의 경우에는 후속하는 데이타 노드가 "文", "大" 및 "丈"이기 때문에, 데이타 노드의 수는 3으로 되고, 이들 3개의 데이타 노드로의 포인터를 유지한다.
또한, 도 8의 데이타 노드에는 그 데이타 노드가 나타내는 후보 문자의 문자 정보와, 그 인식 거리치와, 그 데이타 노드에 연결되는 제어 노드의 식별자(제어노드 ID)가 저장된다. 예컨대, 도 6의 데이타 노드 "文"의 경우는 후보 문자 "文"을 표시하는 문자 정보와 그 인식 거리치 10 및 후속하는 제어 노드의 식별자 C1을 유지한다.
도 6의 제어 노드와 데이타 노드의 예는 인식 과정에서 문자 절취 에러가 없었던 경우를 상정하고 있지만, 문자 절출 에러가 있는 경우에는, 데이타 노드는 일반적으로 격자 형상으로 배열된다고는 한정하지 않는다. 이 경우, 인식 결과의 문자 래티스는 예컨대, 도 9에 도시하는 바와 같은 그래프 형상의 데이타로 된다. 도 9의 제2 문자 래티스를 도 6의 제1 문자 래티스와 비교하면, 제어 노드 C2와 C4의 사이에 새롭게 2개의 후보 문자 "し" 및 "こ"가 삽입되어 있고, 이들은 원화상에 포함되는 문자 "に"로부터 절취되어 있다. 이것 때문에, 데이타 노드 "し", "こ"와 제어 노드 C3은 같은 문자의 다른 인식 후보의 데이타 노드 "に", "院"과 병렬로 늘어서 있다.
사전 검색 제어 모듈(13)은 도 6이나 도 9와 같은 문자 래티스의 각 노드를 더듬어가면서 사전을 검색한다. 도 9의 문자 래티스를 검색키로 한 경우, 그 처리는 문자 래티스를 전개한 도 10과 같은 트리 구조를 더듬어가는 처리와 동일하다. 도 10에 있어서는, 데이타 노드 "[선두]"를 루트 노드로서, 각 제어 노드에 연결되는 데이타 노드가 순서대로 전개되고, 각 가지의 말단은 데이타 노드 "[말미]"에서 종결하고 있다. 데이타 노드 "字"의 뒤에는 "學"에 후속하는 가지와 동일 부분이 이어지고, "大" 및 "丈"의 뒤에는 "文"에 후속하는 가지와 동일 부분이 계속하고 있다.
도 11은 이것들의 후보 문자를 갖는 트라이 사전의 구조를 보이고 있다. 도 11의 트라이 사전은 키로 되는 문자열과 등록 단어의 기록의 모임이고, 등록 단어의 기록은 단어 자신을 나타내는 정보와 품사명의 데이타쌍으로 표시된다. 예컨대, 기록 영역(35)내의 기록 "大"는 단어 "大"를 나타내는 데이타와 접두어를 나타내는 데이타로 이루어지고, 기록 "大學"은 단어 "大學"을 나타내는 데이타와 보통 명사를 나타내는 데이타로 이루어진다.
또한, 트라이 사전에서는 일반적으로 키는 인덱스의 트리로 표현된다. 통상의 문자열을 키로서 사전 검색을 하는 경우, 인덱스의 트리의 루트의 인덱스로부터 순서대로 문자열키의 각 요소에 대응하는 패스를 더듬어가는 것으로, 최종적으로 키에 대응하는 기록이 (혹시 있으면) 검색 결과로서 출력된다. 다만, 실제의 문자 인식 처리에서는 패스의 도중에 발견된 기록도 유용한 것이 많으므로 함께 검색 결과로서 출력되는 일이 많다.
도 11에서는 인덱스(31) 중의 "丈"의 위치에는 기록 영역(35)내의 기록 "丈"으로의 포인터가 저장되고, "大", "文"의 위치에는 각각 다음의 인덱스(32, 34)로의 포인터가 저장되어 있다. 여기에서는, 기록으로의 포인터는 절선으로 표시되고, 인덱스로의 포인터는 실선으로 표시되어 있지만, 실제로는, 예컨대 각 포인터의 최상위 비트 등을 사용하여 구별된다.
인덱스(32)의 선두에 있는 0의 위치에는 기록 "大"로의 포인터가 저장되고, "學"의 위치에는 인덱스(33)으로의 포인터가 저장되어 있다. 또한, 인덱스(33,34)에도 마찬가지로 기록 "大學", "大學院", "文", "文學", "文字"로의 포인터가 저장된다.
본 실시 형태의 사전 검색에 있어서는, 복수의 키를 나타내는 문자 래티스로 부터 그것들의 문자열을 개별로 생성하는 것은 아니고, 문자 래티스의 노드를 선두로부터 순서대로 조사하여, 각 데이타 노드의 후보 문자에 대응하는 패스를 인덱스의 트리의 위에서 순서대로 더듬어간다. 전술한 바와 같이 문자 래티스의 노드를 순서대로 더듬어가는 것은 도 10과 같은 트리 구조를 더듬어가는 것과 등가이다. 이렇게 하여 검색을 하면, 문자 래티스에 포함되는 모든 키를 생성할 필요가 없고, 검색 공간을 검색 결과가 존재할 수 있는 영역만으로 한정할 수 있기 때문에, 효율적인 사전 검색이 가능하여 진다.
래티스의 노드를 순서대로 더듬어가는 방법으로서는 트리의 탐색으로서의 알려져 있는 각종의 방법을 이용할 수 있지만, 본 실시 형태에서는, 간단하게 하기 위해 OPEN 리스트를 이용하는 방법에 관해서 설명한다. OPEN 리스트는 사전 검색 상태 정보(15)에 상당하고, 검색 도중의 래티스에 있어서의 데이타 노드의 정보를 가진다.
도 12는 OPEN 리스트를 구성하는 각 요소 노드의 배열 구조를 도시하고 있다. 도 12의 OPEN 리스트의 요소 노드에는 다음의 OPEN 리스트의 요소 노드로의 포인터, 직전의 제어 노드의 ID, 직전의 제어 노드에 있어서의 데이타 노드 번호, 친노드로의 포인터, 대응하는 트라이 사전으로의 포인터 및 평가 함수치가 저장된다. 이 중에서 직전의 제어 노드에 있어서의 데이타 노드 번호는 래티스내에 있어서의 검색 도중의 데이타 노드의 직전의 제어 노드에 있어서 적절하게 편의적으로 결정된 후속하는 데이타 노드의 식별 번호를 의미한다. 또한, 트라이 사전으로의 포인터는 검색에 사용하는 트라이 사전을 가리키는 포인터이고, 평가 함수치는 문자의 인식 거리치 등을 이용하여 계산된 문자열의 확실함을 나타낸다.
도 13은 OPEN 리스트를 이용한 제1 검색 처리의 플로우차트이다. 검색 처리의 프로그램은 사전 검색 제어 모듈(13)에 의해 실행된다. 도 13에 있어서 처리가 개시되면, 사전 검색 제어 모듈(13)은 우선 래티스의 데이타 노드 "[선두]"를 사전 검색 상태 정보 관리 모듈(14)내의 OPEN 리스트에 넣는다(단계 S1). 도 14의 OPEN 리스트(L1)는 도 9의 문자 래티스로부터 취출된 "[선두]"가 저장된 상태를 나타내고 있다.
다음에, OPEN 리스트가 비어있는지 어떤지를 판정하고(단계 S2), 비어있으면 OPEN 리스트내의 선두 요소 노드를 노드 n으로 한다(단계 S3). 그리고, 노드 n에 대응하는 기록이 트라이 사전의 기록 영역(35)에 존재하는지의 여부를 조사한다(단계 S4).
도 15는 단계 S4에 있어서의 기록 확인 처리의 서브루틴의 플로우차트이다. 도 15에 있어서 처리가 개시되면, 사전 검색 제어 모듈(13)은 우선 트라이 사전내의 노드 n의 위치의 포인터, 즉 노드 n에 대응하는 인덱스내의 위치에 저장되어 있는 포인터가 다음의 인덱스로의 포인터인지 아닌지를 조사한다(단계 S11).
노드 n의 위치의 포인터가 인덱스로의 포인터인 경우에는, 그것이 가리키는 다음 인덱스내의 0의 위치에 기록 영역(35)내의 기록로의 포인터가 저장되어 있는지 어떤지를 조사한다(단계 S12). 그리고, 기록로의 포인터가 존재하면, 도 13의 메인 루틴에 참을 반환하여(단계 S14) 처리를 종료하고, 존재하지 않으면 거짓을 반환하여(단계 S15) 처리를 종료한다.
단계 S11에 있어서, 노드 n의 위치의 포인터가 인덱스로의 포인터가 아닌 경우에는, 그것이 기록으로의 포인터인지 아닌지를 조사한다(단계 S13). 그리고, 기록으로의 포인터이면 메인 루틴에 참을 반환하여(단계 S14) 처리를 종료하고, 그렇지 않으면 거짓을 반환하여(단계 S15) 처리를 종료한다.
서브루틴으로부터 참이 반환되면, 사전 검색 제어 모듈(13)은 노드 n에 대응하는 기록으로 포인터를 이용하여, 기록 영역(35)으로부터 기록을 취출하고, 그 기록을 검색 결과로서 사전 검색 상태 정보 관리 모듈(14)에 격납한다(단계 S5). 서브루틴으로부터 거짓이 반환되면, 노드 n에 대응하는 기록은 존재하지 않는다고 판정하여, 단계 S6의 처리로 진행한다.
도 14의 OPEN 리스트(L1)의 경우에는 그 유일의 요소인 "[선두]"가 노드 n으로 되지만(단계 S3), 노드 "[선두]"는 도 11의 트라이 사전의 최초의 인덱스(31)를 가리키므로 인덱스(31)의 0의 위치가 조사된다(단계 S12). 그런데, 인덱스(31)의 0의 위치(도시하지 않음)에는 포인터가 격납되어 있지 않고, 대응하는 기록은 존재하지 않는 것을 알 수 있다(단계 S15).
다음에, 다시 트라이 사전내의 노드 n의 위치의 포인터가 인덱스로 포인터인지 아닌지를 조사하고(단계 S6), 그것이 인덱스로의 포인터가 아니면 단계 S2 이후의 처리를 반복한다. 노드 n의 위치의 포인터가 인덱스로의 포인터이면, 라텍스내의 노드 n의 자노드를 전개하여, 각 자노드를 OPEN 리스트의 적당한 장소에 삽입한다(단계 S7). 그리고, 단계 S2 이후의 처리를 반복하고, 단계 S2에 있어서 OPEN 리스트가 비어 있으면 처리를 종료한다.
여기에서, 노드 "[선두]"는 인덱스(31)를 가리키기 때문에, 그 자노드인 데이타 노드 "文", "大", "丈"이 전개되고, OPEN 리스트의 선두에 삽입되어, OPEN 리스트는 L2와 같이 된다(단계 S7). OPEN 리스트(L2)는 비어있지 않으므로 다음에 그 선두 요소 "文"이 노드 n으로 되고(단계 S3), 노드 "文"에 대응하는 기록이 존재하는지 어떤지가 조사된다(단계 S4). 도 11의 트라이 사전에 있어서, 인덱스(31)내의 "文"의 위치의 포인터는 다음의 인덱스(34)를 가리키고 있으므로 인덱스(34)의 0의 위치가 조사된다(단계 S12). 여기서, 0의 위치의 포인터는 기록 "文"을 가리키고 있는 것을 알 수 있고, 그 기록이 검색 결과로서 저장된다(단계 S5).
노드 "文"의 위치의 포인터는 다음 인덱스(34)로의 포인터였기 때문에, 다음에 노드 "文"의 자노드인 데이타 노드 "學"과 "字"가 OPEN 리스트에 삽입된다(단계 S7).
그런데, 도 10과 같은 트리의 탐색하는 대표적인 방법으로서, 종형 탐색(depth first search), 횡형 탐색(breadth first search), 최적 탐색(best first search)의 3개가 있다. 종형 탐색은 1개의 가지마다 [선두]로부터 [말미]를 향해 종방향으로 탐색하는 방법이고, 횡형 탐색은 모든 가지를 횡방향으로 탐색하고 나서 종방향으로 진행하는 방법이다. 또한, 최적 탐색은 평가 함수의 값이 가장 좋은 가지로 부터 순서대로 탐색하는 방법이다.
이들의 탐색 방법중 어느 것을 이용할지는 도 13의 단계 S7에 있어서 노드 n의 자노드를 삽입하는 OPEN 리스트내의 위치에 의해서 결정된다. 자노드를 OPEN 리스트의 선두에 삽입하면 종형 탐색으로 되고 OPEN 리스트의 말미에 삽입하면 횡형 탐색이 된다. 또한, 일정한 조건하에서 평가 함수치에 따라서 삽입 위치를 결정하면, 최적 탐색을 할 수 있다. 도 14는 종형 탐색에 있어서의 OPEN 리스트의 예를 도시하고 있고, 도 16은 횡형 탐색에 있어서의 OPEN 리스트의 예를 도시하고 있고, 도 17은 최적 탐색에 있어서의 OPEN 리스트의 예를 도시하고 있다.
우선, 도 14를 참조하면서 도 10의 트리의 종형 탐색에 관해서 설명한다. 상술한 바와 같이 하여, OPEN 리스트(L2)로부터 취출된 요소 "文"에 대응하는 기록 "文"이 검색 결과로서 저장되면, 도 9의 데이타 노드 "文"의 자노드 "學"과 "字"가 전개되어, OPEN 리스트의 선두로부터 순서대로 삽입된다(단계 S7). 이 결과, OPEN 리스트는 L3과 같이 된다. OPEN 리스트(L3)에 있어서, 예컨대, 요소 "(文) 學"은 친노드 "文"으로부터 전개된 자노드 "學"에 대응하는 요소 노드를 나타낸다. 이 표기법은 다른 요소 노드에 관해서도 같다.
요소 "(文) 學"에 대응하는 배열 데이타는 도 12와 같은 구조를 갖고, 다음 노드로의 포인터는 OPEN 리스트(L3)내의 다음 요소 노드인 "(文) 字"를 가리킨다. 또한, 직전의 제어 노드의 ID로서, 도 9의 데이타 노드 "學"의 앞에 있는 제어 노드의 식별자(C1)가 격납된다. 직전의 제어 노드에 있어서의 데이타 노드 번호는 직전의 제어 노드에 후속하는 데이타 노드의 위에서 순서대로 내려진 번호를 나타내고 여기서는, 제어 노드(C1)에 후속하는 데이타 노드 "學", "字"에 각각 번호 1, 2가 부여된다. 따라서, "(文) 學"의 데이타 노드 번호는 1로 된다.
친노드로의 포인터로서는, 래티스내의 친노드 "文"에 대응하는 요소 노드로의 포인터가 격납되고, 트라이 사전으로의 포인터로서는, 도 11의 트라이 사전의 인덱스(34)내에 있어서의 "學"의 위치를 가리키는 포인터가 격납된다. 평가 함수치에 관하여는 후술한다.
도 12의 요소 노드에서는 대응하는 데이타 노드를 식별하기 위해, 직전의 제어 노드의 ID와 그 제어 노드에 있어서의 데이타 노드 번호를 유지하도록 하고 있지만, 대신에 래티스내의 대응하는 데이타 노드 자신으로의 포인터를 유지해도 좋다.
다음에, OPEN 리스트(L3)로부터 "(文) 學"이 취출되어 노드 n으로 되고(단계 S3), 대응하는 기록 "文學"이 검색 결과로서 격납된다(단계 S5). 이 때, OPEN 리스트는 L4와 같이 되지만, "(文) 學"에 대응하는 위치에는 기록 "文學"으로의 포인터가 격납되어 있었기 때문에, 새로운 자노드는 삽입되지 않는다.
다음에, OPEN 리스트(L4)로부터 "(文) 字"가 취출되어 노드 n으로 되고(단계 S3), 대응하는 기록 "文字"가 검색 결과로서 격납되고(단계 S5), OPEN 리스트는 L5와 같이 된다. 이 경우도, "(文) 字"에 대응하는 위치에는 다음 인덱스로의 포인터가 격납되어 있지 않으므로 OPEN 리스트(L5)에 새로운 자노드는 삽입되지 않는다.
다음에, OPEN 리스트(L5)로부터 "大"가 취출되어 노드 n으로 되고(단계 S3), 대응하는 기록 "大"가 검색 결과로서 격납된다(단계 S5). 이 때, "大"에 대응하는 위치에는 다음 인덱스(32)로의 포인터가 격납되어 있으므로 "大"의 자노드로서 "(大) 學"과 "(大) 字"가 OPEN 리스트의 선두에 삽입되어(단계 S7), OPEN 리스트(L6)와 같이 된다.
다음에, OPEN 리스트(L6)로부터 "(大)學"이 취출되어 노드 n으로 되고(단계 S3), 대응하는 기록 "大學"이 검색 결과로서 격납된다(단계 S5). "(大)學"에 대응하는 위치에는 다음 인덱스(33)로의 포인터가 격납되어 있으므로 "(大)學"의 자노드로서 "(大學)に", "(大學) 院", "(大學) し"가 OPEN 리스트의 선두에 삽입되어(단계 S7), OPEN 리스트(L7)와 같이 된다.
다음에, OPEN 리스트(L7)로부터 "(大)學 に"가 취출되어 노드 n으로 되지만(단계 S3), 트라이 사전에 대응하는 인덱스가 없기 때문에 검색 결과는 얻어지지 않고, OPEN 리스트는 L8과 같이 된다. 계속해서, OPEN 리스트(L8)의 "(大學) 院"이 노드 n이 되어(단계 S3), 대응하는 기록 "大學院"이 검색 결과로서 격납된다(단계 S5). 이렇게 하여, OPEN 리스트내의 요소 노드가 처리되어, 그것이 비어 있으면 검색 처리가 종료한다.
다음에, 도 16을 참조하면서 도 10의 트리의 종형 탐색에 관해서 설명한다. 횡형 탐색의 경우에는 도 13의 단계 S7에 있어서 전개된 자노드가 OPEN 리스트의 말미에 삽입된다. 도 16의 OPEN 리스트(L11, L12)가 생성되는 처리에 관하여는 도 14의 OPEN 리스트(L1, L2)의 경우와 같다.
OPEN 리스트(L12)로부터 "文"이 취출되어(단계 S3) 기록 "文"이 검색결과로 되면(단계 S5), 다음에 그 자노드 "(文) 學", "(文) 字"가 OPEN 리스트의 말미에 삽입되고(단계 S7), OPEN 리스트는(L13)과 같이 된다. 또한, OPEN 리스트(L13)로부터 "大"가 취출되어(단계 S3) 기록 "大"가 검색 결과로 되면(단계 S5), 다음에 그 자노드 "(大) 學", "(大) 字"가 OPEN 리스트의 말미에 삽입되어(단계 S7), OPEN 리스트는 L14와 같이 된다.
다음에, OPEN 리스트(L14)로부터 "丈"이 취출되고(단계 S3), 기록 "丈"이 검색 결과로 되고(단계 S5), OPEN 리스트는 L15와 같이 된다. 그런데, 트라이 사전에는 "丈"에 이어지는 인덱스가 없기 때문에, 새로운 자노드는 삽입되지 않는다. 마찬가지로 요소 노드가 증가하는 일없이 OPEN 리스트는 L16, L17로 변화하여 기록 "文學", "文字"가 순서대로 검색 결과로 된다.
다음에, OPEN 리스트(L17)로부터 "(大) 學"이 취출되어(단계 S3) 기록 "大學"이 검색 결과로 되면(단계 S5), 다음에 그 자노드 "(大學) に", "(大學) 院", "(大學) し"가 OPEN 리스트의 말미에 삽입되고(단계 S7), OPEN 리스트(L18)와 같이 된다. 이렇게 하여, OPEN 리스트내의 요소 노드가 처리되어 그것이 비게 되면 검색 처리가 종료한다.
다음에, 도 17을 참조하면서 도 10의 트리의 최적 탐색에 관해서 설명한다. 최적 탐색의 경우에는 도 13의 단계 S7에 있어서 전개된 자노드의 삽입 위치는 평가 함수 모듈(16)이 계산하는 평가 함수의 값에 기초하여 결정된다. 거기에서, 우선 평가 함수에 관해서 설명한다.
래티스내의 어떤 데이타 노드에 있어서의 평가 함수의 값은 노드 "[선두]"로부터 그 데이타 노드까지의 패스(데이타 노드열)이나 그 데이타 노드까지의 검색 과정에서 얻은 정보 등으로부터 계산된다. 구체적으로는, 예컨대 패스상의 데이타 노드수, 각 데이타 노드의 속성으로부터 계산되고, 속성으로서는 그 데이타 노드의 인식 거리치, 순위, 글자 종류 등이 사용된다.
패스가 늘어남에 따라서 평가 함수치가 항상 단조롭게 증가하는 경우, 그 평가 함수를 단조 증가라고 부른다. 예컨대, 패스상의 데이타 노드의 인식 거리치의 합계치라든지, 인식 거리치가 일정치 이상의 데이타 노드의 수 등이 단조 증가인 평가 함수의 예이다.
평가 함수가 단조 증가의 경우, 도 13의 단계 S7에서 노드 n의 자노드를 OPEN 리스트에 삽입할 때에, OPEN 리스트내의 요소 노드가 평가 함수치가 좋은 순으로 늘어서도록 삽입하면, 최적 탐색으로 된다. 즉, 이 탐색 방법에서는 평가 함수치가 좋은 노드로부터 순서대로 트리의 탐색이 행하여진다. 트리의 각 노드는 트라이 사전의 각각의 검색키에 대응하고 있기 때문에, 어떤 노드의 평가 함수치는 대응하는 검색키의 문자열의 평가 함수치라고도 할 수 있다. 따라서, 사전 검색에 있어서도, 검색키의 평가 함수치가 좋은 순서로 검색이 실행되고, 검색 결과의 기록도 그 순서로 취출된다.
도 17의 최적 탐색에 있어서, 평가 함수 모듈(16)은 패스상의 각 데이타 노드에 부여된 인식 거리치의 총합을 평가 함수로서 이용하여 그 값을 계산한다. 그리고, 사전 검색 제어 모듈(13)은 계산된 값을 OPEN 리스트의 대응하는 노드의 평가 함수치로서, 사전 검색 상태 정보 관리 모듈(14)에 격납한다. 또한, 평가 함수치는 작을수록 좋은 것으로 한다.
도 17에 있어서, OPEN 리스트(L21, L22)가 생성되는 처리에 관하여는, 도 14의 OPEN 리스트(L1, L2)의 경우와 같다. 다만, OPEN 리스트(L22)내에는 요소 노드 "文", "大", "丈"이 병기된 평가 함수치가 작은 순으로 격납되어 있다.
다음에, OPEN 리스트(L22)로부터 "文"이 취출되고(단계 S3) 기록 "文"이 검색 결과로 되면(단계 S5), 그 자노드 "(文) 學"과 "(文) 字"가 전개된다. 여기에서, "(文) 學"의 평가 함수치는 도 9의 데이타 노드 "文" 및 "學"의 인식 거리치로 부터 30 으로 되고, "(文) 字"의 평가 함수치는, 데이타 노드 "文" 및 "字"의 인식거리치로부터 60으로 된다.
이것들의 평가 함수치가 나머지의 요소 노드 "大", "丈"의 평가 함수치와 비교된 결과, "(文) 學"은 OPEN 리스트의 선두에 삽입되고, "(文) 字"는 OPEN 리스트의 말미에 삽입된다(단계 S7). 따라서, OPEN 리스트는 L23과 같이 된다.
다음에, OPEN 리스트(L23)로부터 "(文) 學"이 취출되고(단계 S3) 기록 "文學"이 검색 결과로 되면(단계 S5), OPEN 리스트는 L24와 같이 된다.
다음에, OPEN 리스트(L24)로부터 "大"가 취출되어(단계 S3) 기록 "大"가 검색 결과로 되면(단계 S5), 다음에 그 자노드 "(大) 學", "(大) 字"가 그것들의 평가 함수치 50, 80에 따른 위치에 삽입되어(단계 S7), OPEN 리스트는 L25와 같이 된다.
다음에, OPEN 리스트(L25)로부터 "(大) 學"이 취출되고(단계 S3) 기록 "大學"이 검색 결과로 되면(단계 S5), 다음에 그 자노드 "(大學) に", "(大學) 院", "(大學) し"가 그것들의 평가 함수치 60, 100, 110에 따른 위치에 삽입되어(단계 S7), OPEN 리스트는 L26과 같이 된다.
이하 동일하게(같이)하여, OPEN 리스트는 L27, L28로 변화하여, 기록 "丈", "文字"가 순서대로 검색 결과로 된다. 이렇게하여, OPEN 리스트내의 요소 노드가 처리되어, 그것이 비게 되면 검색 처리가 종료한다. 도 17에 도시된 검색 결과를 보면, 평가 함수치가 좋은 순으로 기록이 검색되어 있는 것을 알 수 있다.
다음에, 도 18로부터 도 23까지를 참조하면서, 다른 검색 처리에 관해서 설명한다.
도 13의 제1 검색 처리의 알고리즘에서는, 검색 과정의 상태에 관한 정보는 OPEN 리스트나 검색 결과를 포함하는 사전 검색 상태 정보(15)에 유지되어 있고, 검색이 중단되더라도, 이 사전 검색 상태 정보(15)가 있으면 검색을 재개하는 것이 가능하다. 따라서, 도 13의 단계 S4에서 노드 n에 대응하는 기록이 트라이 사전에 존재하는 경우, 전체의 검색 처리의 종료를 기다리는 일 없이, 그 검색 결과를 사전 검색 상태 정보(15)와 함께 출력하도록 하여도 좋다. 필요하면, 검색 중단 후에 사전 검색 상태 정보(15)를 기초로 하여, 검색을 재개하는 것도 가능하다.
도 18은 제1 검색 처리를 도중에서 중지하는 처리의 플로우차트이다. 도 13의 단계 S2에서 OPEN 리스트가 비어있지 않은 경우, 사전 검색 제어 모듈(13)은 그 시점에서 얻어진 검색 결과를 출력하여 검색을 중지할지 어떨지를 오퍼레이터에게 문의한다(단계 S21).
오퍼레이터로부터 검색 중지가 지시되면, OPEN 리스트내의 각 요소 노드 및 OPEN 리스트로부터 취출된 모든 요소 노드의 데이타를 사전 검색 상태 정보(15)에 보존한 채(단계 S22), 처리를 종료한다. 또한, 오퍼레이터로부터 검색 속행이 지시되면, 검색을 중지하지 않고서 도 13의 단계 S3 이후의 처리를 실행한다.
최적 탐색의 경우는 평가 함수치가 작은 기록으로부터 순서대로 검색되기 때문에, 검색을 도중에서 중지하면, 일정치 이하의 평가 함수치를 갖는 기록만을 검색 결과로서 출력할 수 있다. 따라서, 단시간에 보다 확실한 후보 문자열을 얻을 수 있어, 유효한 검색 처리를 할 수 있다.
도 19는 일단 중지한 제1 검색 처리를 재개하는 처리의 플로우차트이다. 도 19에 있어서 처리가 개시되면, 사전 검색 제어 모듈(13)은 우선 보존되어 있는 사전 검색 상태 정보(15)를 취출하고, 중지한 때의 상태를 OPEN 리스트에 다시 세트한다(단계 S23). 그리고, 도 13의 단계 S2 이후의 처리를 실행한다. 이러한 검색처리의 중지와 재개는 수시로 행할 수 있다.
그런데, 일반적으로 검색 결과의 기록의 평가 함수치가 일정치를 초과하는 경우에는 그 기록에 대한 평가가 나쁘고, 인식 결과로서는 채용되지 않는 것이 많다. 이것 때문에, 평가 함수가 단조 증가인지의 여부에 관계없이, 그것이 일정치 이하의 기록만을 검색 결과로서 돌려 주는 것으로 낭비가 적은 검색 처리가 가능하여진다.
도 20은 이러한 제2 검색 처리의 플로우차트이다. 도 20에 있어서 처리가 개시되면, 사전 검색 제어 모듈(13)은 우선 래티스의 데이타 노드 "[선두]"를 OPEN리스트에 넣는다(단계 S31). 다음에, OPEN 리스트가 비었는지의 여부를 판정하여(단계 S32), 비어 있지 않으면 OPEN 리스트내의 선두 요소 노드를 노드 n으로 한다(단계 S33). 그리고, 노드 n에서의 평가 함수치가 미리 결정된 일정치를 초과하는지의 여부를 판정한다(단계 S34).
평가 함수치가 일정치를 초과하지 않으면, 노드 n에 대응하는 기록이 트라이 사전의 기록 영역(35)에 존재하는지의 여부를 조사하고(단계 S35), 그것이 일정치를 초과하고 있으면, 대응하는 기록의 존재를 확인하지 않고서, 단계 S37의 처리로 진행한다.
단계 S35의 기록 확인 처리는 도 15와 같은 서브루틴에 의해 행해진다. 서브루틴으로부터 참이 되돌려지면, 사전 검색 제어 모듈(13)은 노드 n에 대응하는 기록으로의 포인터를 사용하여 기록 영역(35)으로부터 기록을 취출하고, 그 기록을 검색 결과로서 사전 검색 상태 정보 관리 모듈(14)에 격납한다(단계 S36). 서브루틴으로부터 거짓이 되돌려지면, 노드 n에 대응하는 기록은 존재하지 않는다고 판정하여 단계 S37의 처리로 진행한다.
다음에, 트라이 사전내의 노드 n의 위치의 포인터가 인덱스로의 포인터인지의 여부를 조사하여(단계 S37), 그것이 인덱스로의 포인터가 아니면 단계 S32 이후의 처리를 반복(되풀이)한다. 노드 n의 위치의 포인터가 인덱스로의 포인터이면, 래티스내의 노드 n의 자노드를 전개하고, 각 자노드를 그 평가 함수치에 따라서 OPEN 리스트의 적당한 장소에 삽입한다(단계 S38). 그리고, 단계 S32 이후의 처리를 반복하고, 단계 S32에 있어서 OPEN 리스트가 비어 있으면 처리를 종료한다.
이러한 제2 검색 처리에 의하면, 비교적 좋은 평가 함수치를 갖는 기록만을 검색 결과로서 최후까지 처리을 실행할 수 있어, 그 후의 인식 결과의 결정을 효율화할 수 있다. 또한, 단계 S34에 있어서, 평가 함수치가 일정치 이상인 경우에 단계 S37의 처리로 진행하도록 하여도 좋다.
제2 검색 처리에 있어서 또한 평가 함수가 단조 증가의 경우에는 임의의 노드에 있어서의 평가 함수치가 일정치 이상으로 되면, 또는 일정치를 초과하면, 거기에서부터 부분 트이에 관하여는 이제와서는 평가 함수의 값이 좋아지는 일은 없기 때문에, 사전 검색을 행하더라도 쓸데 없다. 그와 같은 경우, 가지치기 판정 모듈(17)은 부분 트리의 가지치기가 가능하다고 판정하여, 사전 검색 제어 모듈(13)은 그 부분 트리에 관한 검색을 중단한다.
이렇게 해서, 평가 함수의 값이 좋아지는 것을 기대할 수 없는 부분 트리의 가지치기가 실행되어 사전 검색이 효율화된다. 그 후, 사전 검색 제어 모듈(13)은 트리의 나머지의 부분에 관한 검색을 계속하여, 비교적 좋은 평가 함수치를 갖는 기록만을 검색 결과로 한다.
도 21은 이러한 가지치기를 하는 제3 검색 처리의 플로우차트이다. 도 21에 있어서 처리가 개시되면, 사전 검색 제어 모듈(13)은 우선 래티스의 데이타 노드 "[선두]"를 OPEN 리스트에 넣는다(단계 S41). 다음에, OPEN 리스트가 비었는지 어떤지를 판정하여(단계 S42), 비어있지 않으면 OPEN 리스트내의 선두 요소 노드를 노드 n으로 한다(단계 S43).
여기서, 가지치기 판정 모듈(17)은 노드 n에서의 평가 함수치가 미리 결정된 일정치를 초과하였는지의 여부를 판정한다(단계 S44). 그리고, 평가 함수치가 일정치를 초과하여 있지 않으면 가지치기 불가로 판정하고, 일정치를 초과하여 있으면 가지치기가 가능하다고 판정하여, 판정 결과를 사전 검색 제어 모듈(13)에 넘겨준다.
가지치기 불가의 경우에, 사전 검색 제어 모듈(13)은 노드 n에 대응하는 기록이 트라이 사전의 기록 영역(35)에 존재하는지의 여부를 조사한다(단계 S45). 단계 S45의 기록 확인 처리는 도 15와 같은 서브루틴에 의해 행해진다.
서브루틴으로부터 참이 되돌려지면, 사전 검색 제어 모듈(13)은 노드 n에 대응하는 기록으로의 포인터를 이용하여, 기록 영역(35)으로부터 기록을 취출하고, 그 기록을 검색 결과로서 사전 검색 상태정보 관리 모듈(14)에 격납한다(단계 S46). 서브루틴으로부터 거짓이 되돌려지면, 노드 n에 대응하는 기록은 존재하지 않는다고 판정하여, 단계 S47의 처리로 진행한다.
다음에, 트라이 사전내의 노드 n의 위치의 포인터가 인덱스로의 포인터인지의 여부를 조사하고(단계 S47), 그것이 인덱스로의 포인터가 아니면 단계 S42 이후의 처리를 반복한다. 노드 n의 위치의 포인터가 인덱스로의 포인터이면, 래티스내의 노드 n의 자노드를 전개하여, 각 자노드를 그 평가 함수치에 따라서 OPEN 리스트의 적당한 장소에 삽입한다(단계 S48). 그리고, 단계 S42 이후의 처리를 반복한다.
단계 S44에 있어서 평가 함수치가 일정치를 초과하여 있어 가지치기가 가능하다고 판정된 경우에는, 기록 확인이나 자노드의 전개를 행하지 않고서, 그대로 단계 S42의 처리로 되돌아간다. 이에 의해, 노드 n 및 그 자노드의 탐색이 중단되고, 가지치기가 행해진다. 그리고, OPEN 리스트로부터 다음 요소 노드를 취출하여 단계 S43 이후의 처리를 반복하고 단계 S42에 있어서 OPEN 리스트가 비게 되면 처리를 종료한다.
평가 함수가 단조 증가의 경우에는, 이러한 제3 검색 처리에 의해 비교적 좋은 평가 함수치를 갖는 검색 결과를 제2 검색 처리보다도 고속으로 얻을 수 있다. 또한, 단계 S44에 있어서, 평가 함수치가 일정치 이상의 경우에 단계 S42의 처리에 되돌아가도록 하여도 좋다.
도 22는 교정 지원 처리에서 이용되는 제3 문자 래티스를 도시하고 있다. 교정 지원 처리에 있어서는, 문자 인식 처리와 달리 기존의 문장중에 포함되는 오자등을 정정하기 위해서 래티스를 이용한 사전 검색이 행해진다.
도 22의 문자 래티스에 있어서는, 원래의 문장에 포함되는 "性急 項目"이라는 단어에 대하여, "SEIKYU"와 같은 발음을 갖는 3 개의 동음 이의어 "性急", "請求", "制球"의 정보가 짜 넣어져 있다. 이것들의 단어를 전부 문자 단위의 데이타 노드로 분할한 경우, 제어 노드는 검은 동그라미 및 하얀 동그라미 표시된 C0, C1, C2, C3, C4, C5, C6의 7개가 된다. 사전 검색 장치(11)는 이 문자 래티스의 동음 이의어 정보와 트라이 사전중의 "請求項目"이라는 단어 정보로부터 원래의 단어의 에러의 가능성을 판단한다.
그런데, 이 예로서는, 미리 "性急項目"을 "性急"과 "項目"의 2개의 단어로 분할하는 것이 가능하기 때문에, 문자 래티스내의 "性急", "請求", "制球"라는 개개의 단어에 관하여는, 그 이상 상세한 문자 단위로 사전을 검색할 필요가 없다. 그래서 일부의 제어 노드에 검색 불필요하다고 마킹하는 것으로, 트라이 사전으로부터 불필요한 검색 결과를 돌려 주는 낭비를 생략할 수 있다.
도 22에서는 이러한 검색 불필요한 제어 노드가 하얀 동그라미로 표시되고 있고, 이들에 관하여서는 특히 식별자를 부가할 필요는 없다. 그래서, 검은 동그라미로 표시된 제어 노드만을 대상으로서 식별자를 다시 부가하여 고치면, ( )내에 기재한 바와 같이 C0, C1, C2로 된다.
이러한 검색에 이용하는 제어 노드와 불필요한 제어 노드를 구별하기 위해서, 도 7의 제어 노드의 데이터 배열에 사전 검색 조건 정보가 부가된다. 그리고, 예컨대, 사전 검색 조건 정보에 검색 불필요하다고 마킹되어 있으면, 사전 검색 제어 모듈(13)이 그 제어 노드를 보내어 검색 처리를 진행시키도록 한다.
도 23은 사전 검색 조건 정보를 이용한 제4 검색 처리의 플로우차트이다. 도23에 있어서 처리가 개시되면, 사전 검색 제어 모듈(13)은 우선 래티스의 데이타 노드 "[선두]"를 OPEN 리스트에 넣는다(단계 S51). 다음에, OPEN 리스트가 비었는지의 여부를 판정하여(단계 S52), 비어있지 않으면 OPEN 리스트내의 선두 요소 노드를 노드 n으로 한다(단계 S53).
다음에, 노드 n에 대응하는 제어 노드가 검색 불필요하다고 마킹되어 있는지의 여부를 조사한다(단계 S54). 여기서는, 노드 n의 다음에 계속되어 제어 노드의 사전 검색 조건 정보가 조사된다. 그리고, 검색 불필요하다고 마킹되어 있지 않으면, 노드 n에 대응하는 기록이 트라이 사전의 기록 영역에 존재하는지의 여부를 조사하여(단계 S55), 마킹되어 있으면, 대응하는 기록의 존재를 확인하지 않고서, 단계 S57의 처리로 진행한다.
단계 S55의 기록 확인 처리는 도 15와 같은 서브루틴에 의해 행하여진다. 서브루틴으로부터 참이 되돌려지면, 사전 검색 제어 모듈(13)은 노드 n에 대응하는 기록으로의 포인터를 이용하여 기록 영역으로부터 기록을 취출하고, 그 기록을 검색 결과로서 사전 검색 상태 정보 관리 모듈(14)에 격납한다(단계 S56). 서브루틴으로부터 거짓이 되돌려지면, 노드 n에 대응하는 기록은 존재하지 않는다고 판정하여 단계 S57의 처리로 진행한다.
예컨대, 도 22의 데이타 노드 "性"이 노드 n으로 된 경우는, 그 후의 하얀 동그라미의 제어 노드(C1)의 사전 검색 조건 정보가 조사된다(단계 S54). 제어 노드(C1)는 검색 불필요하다고 마킹되어 있기 때문에, 대응하는 기록의 검색은 행하여지지 않는다.
다음에, 트라이 사전내의 노드 n의 위치의 포인터가 인덱스로의 포인터인지의 여부를 조사하여(단계 S57), 그것이 인덱스로의 포인터가 아니면 단계 S52 이후의 처리를 반복한다. 노드 n의 위치의 포인터가 인덱스로의 포인터이면, 라터스내의 노드 n의 자노드를 전개하고, 각 자노드를 OPEN 리스트의 적당한 장소에 삽입한다(단계 S58). 그리고, 단계 S52 이후의 처리를 반복하고, 단계 S52에 있어서 OPEN 리스트가 비게 되면 처리를 종료한다.
단계 S57에 있어서, 노드 "性"에 대응하는 트라이 사전내의 포인터가 다음 인덱스를 가리키고 있는 경우는, "性"의 자노드인 "急"이 OPEN 리스트에 삽입된다(단계 S58). 그리고, 노드 "(性) 急"이 노드 n으로 되었을 때(단계 S53), 대응하는 검은 동그라미의 제어 노드(C4)는 마킹되어 있지 않으므로 대응하는 기록의 검색이 행하여진다(단계 S55).
동일하게 하여, OPEN 리스트내에 삽입된 요소 노드 "請", "制", "(性急) 項", "(請求) 項", "(制球) 項"이 노드 n으로 된 때에도, 기록의 검색은 행하여지지 않고, "(請) 求", "(制) 球", "(性急項) 目", "(請求項) 目", "(制球項) 目"이 노드 n으로 된 때에, 대응하는 기록이 검색된다.
이러한 제4 검색 처리에 의하면, 래티스의 제어 노드에 기재된 조건에 따라서, 기존의 문장의 교정을 효율적으로 행할 수 있다.
다음에, 도 24로부터 도 29까지를 참조하면서, 영어의 원화상을 예로 한 문자 인식 처리에 관해서 설명한다.
도 24는 인식 대상의 영어 단어의 원화상의 예를 보이고 있다. OCR에 의해 도 24의 원화상 "find"의 문자 인식을 하면, 문자의 절출 에러가 없는 경우에는 예컨대, 도 25와 같은 문자 래티스가 얻어진다. 이 문자 래티스를 데이타 노드와 제어 노드를 이용하여 나타내면, 도 26과 같이 된다.
도 26의 제4 문자 래티스에 있어서는, 도 6의 제1 문자 래티스와 같이, 처리의 형편상 데이타 노드 "[선두]"와 "[말미]"가 부가되어 있다. 또한, 각 데이타 노드의 아래쪽에 병기된 숫자는 인식 거리치를 나타내고, 데이타 노드 사이에는 제어노드 C0, C1, C2, C3, C4, C5가 삽입되어 있다. 도 26의 문자 래티스는 문자의 절출 에러가 없던 경우의 것이지만, 문자 절출 에러가 있는 경우에는, 예컨대 도 27에 도시한 바와 같은 그래프 형상의 데이타로 된다. 도 27의 제5 문자 래티스를 도 26의 제4 문자 래티스와 비교하면, 제어 노드 C0과 C2의 사이에 새롭게 후보 문자 "h"가 삽입되어 있고, 이것은 원화상에 포함되는 문자열 "i"를 1개의 문자로서 잘라 낸 경우에 대응한다.
사전 검색 제어 모듈(13)은 도 26 이라든지 도 27과 같은 문자 래티스의 각 노드를 더듬어가면서 사전을 검색한다.
도 28은 도 27의 문자 래티스로부터 얻어지는 검색키를 갖는 트라이 사전의 구조를 보이고 있다. 도 28의 트라이 사전에 있어서, 기록 영역(47)내의 기록은 단어 자신을 나타내는 정보와 품사명의 데이타쌍으로 표시된다. 예컨대, 기록 "hod"는, 단어 "hod"를 나타내는 데이타와 명사를 나타내는 데이타로 이루어지고, 기록 "find"는, 단어 "find"를 나타내는 데이타와, 동사 및 명사를 나타내는 데이타로 이루어진다.
인덱스(41)의 중의 "f", "h"의 위치에는 각각 다음 인덱스(42, 45)로의 포인터가 격납되어 있다. 동일하게, 인덱스(42, 43, 45)중의 "i", "n", "0"의 위치에는 각각 다음 인덱스(43, 44, 46)로의 포인터가 격납되어 있다.
또한, 인덱스(44)의 선두에 있는 0의 위치에는 기록 "fin"으로의 포인터가 격납되고, "d", "e"의 위치에는 각각 기록 "find", "fine"으로의 포인터가 격납되어 있다. 또한, 인덱스(46)의 "d"의 위치에는 기록 "hod"로의 포인터가 격납되어 있다.
도 29는 도 27의 문자 래티스를 키로 하여 도 28의 트라이 사전의 최적 탐색을 하는 경우의 OPEN 리스트의 변화를 보이고 있다. 최적 탐색은 도 13의 제1 검색 처리의 흐름에 따라서 행하여지지만, 단계 S7에 있어서는 인식 거리치의 합에 의해 표시되는 평가 함수의 값에 기초하여, 자노드의 삽입 위치가 결정된다. 도 29의 OPEN 리스트내의 각 요소의 아래쪽에 병기된 숫자는 그 노드의 평가 함수치를 나타낸다.
도 29에 있어서, OPEN 리스트(L31)가 생성되는 처리에 관하여는 도 14의 OPEN 리스트(L1)의 경우와 동일하다. 다음에, OPEN 리스트(L31)로부터 "[선두]"가 취출되면(단계 S3), 그 자노드 "f", "t", "h"가 평가 함수치가 작은순으로 격납되어(단계 S7), OPEN 리스트는 L32와 같이 된다.
다음에, OPEN 리스트(L32)로부터 "f"가 취출되면(단계 S3), 그 자노드 "(f) i"와 "(f) j"가 전개된다. 여기에서, "(f) i"의 평가 함수치는 도 27의 데이타 노드 "f" 및 "i"의 인식 거리치로부터 30으로 되어, "(f) j"의 평가 함수치는 데이타 노드 "f" 및 "j"의 인식 거리치로부터 50이 된다.
이것들의 평가 함수치가 나머지의 요소 노드 "t", "h"의 평가 함수치와 비교된 결과, "(f) i" 및 "(f) j"는 OPEN 리스트의 선두에 삽입된다(단계 S7). 따라서, OPEN 리스트는 L33과 같이 된다.
다음에, OPEN 리스트(L33)로부터 "(f) i"가 취출되면(단계 S3), 그 자노드 "(fi) n", "(fi) 0"가 그것들의 평가 함수치 40, 80에 따른 위치에 삽입되어(단계 S7) OPEN 리스트는 L34와 같이 된다.
다음에, OPEN 리스트(L34)로부터 "(fi) n"가 취출되고(단계 S3) 기록 "fin"이 검색 결과로 되면(단계 S5), 다음에 그 자노드 "(fin) d", "(fin) a", "(fin) e" 가 그것들의 평가 함수치 60, 80, 90에 따른 위치에 삽입되어(단계 S7), OPEN 리스트는 L35와 같이 된다.
이하 동일하게 OPEN 리스트는 L36, L37, L38, L39로 변화하고, 기록 "find"가 다음 검색 결과로 된다. 이렇게 하여, OPEN 리스트내의 요소 노드가 처리되어, 그것이 비게 되면 검색 처리가 종료한다. 도 29에 표시된 검색 결과에 있어서도, 평가 함수치가 좋은순으로 기록이 얻어지고 있다.
이상의 실시 형태에 있어서는 주로 일본어 및 영어의 문자 인식 처리, 교정 지원처리에 관해서 설명하였지만, 본 발명의 사전 검색 처리는 음성 인식등의 다른 처리에도 동일하게 적용된다. 또한, 사전을 구성하는 언어로서는 그 외에도 중국어, 한국어, 불어, 독일어 등 임의의 언어를 사용할 수 있어 검색 결과의 문자열에 기호라든지 도형 등이 포함되어도 괜찮다.
또한, 평가 함수를 이용한 탐색에 있어서, 그 값이 작은 검색 결과일수록 확실한 것으로 하였지만, 반대로 그 값이 클수록 확실하게 되는 평가 함수를 이용할 수도 있다. 그 경우에는, OPEN 리스트내에서 평가 함수치가 큰 순으로 요소 노드를 늘어 놓으면 되고, 도 20의 단계 S34 및 도 21의 단계 S44에서는 노드 n의 평가 함수치가 일정치 미만인지 어떤지를 판정하면 좋다.
또한, OPEN 리스트를 이용한 검색 처리는 일예에 지나지 않고, 다른 임의의 방법을 이용하여 라터스내의 다음 자노드를 전개하여도 좋다.
본 발명에 의하면, 부여된 래티스 구조의 데이타를 키로서 트라이 사전을 효율적으로 검색할 수 있기 때문에, 문자 인식이나 음성 인식 등의 사전 검색을 필요로 하는 처리의 고속화가 가능하게 된다. 따라서, 문자 입력이나 음성 입력 등의 입력 작업의 효율이 향상한다.

Claims (17)

  1. 부여된 검색키를 이용하여 트라이 사전을 검색하여 얻어진 결과를 출력하는 정보 처리 장치에 있어서, 유기적으로 조합된 복수의 데이타 노드로 이루어지는 복합키로서, 2개 이상의 검색키를 포함하는 상기 복합키의 정보를 관리하는 복합키 관리 수단과 ; 상기 복합키내의 데이타 노드를 더듬어가면서 상기 트라이 사전의 대응하는 기록을 검색하는 검색 수단과 ; 상기 복합키내에 있어서의 검색 대상의 데이타 노드의 위치를 나타내는 정보와 상기 검색 수단이 얻은 검색 결과를 기억하는 검색 상태 기억 수단과 ; 상기 검색 결과를 출력하는 출력 수단을 구비하는 것을 특징으로 하는 사전 검색 장치.
  2. 제1항에 있어서, 상기 복합키 관리 수단은 문자 인식의 인식 결과의 후보 문자에 대응하는 데이타 노드로 이루어지는 상기 복합키의 정보를 관리하는 것을 특징으로 하는 사전 검색 장치.
  3. 제1항에 있어서, 상기 복합키 관리 수단은 음성 인식의 인식 결과의 후보 음소(phoneme)에 대응하는 데이타 노드로 이루어지는 상기 복합키의 정보를 관리하는 것을 특징으로 하는 사전 검색 장치.
  4. 제1항에 있어서, 상기 복합키 관리 수단은 상기 복수의 데이타 노드에 있어서의 제1 데이타 노드와 제2 데이타 노드의 사이의 접속 관계를 나타내는 제어 노드를 포함하는 상기 복합키의 정보를 관리하는 것을 특징으로 하는 사전 검색 장치.
  5. 제4항에 있어서, 상기 복합키 관리 수단은 상기 제어 노드에 검색의 필요와 불필요를 나타내는 사전 검색 조건 정보를 부가하여 관리하고, 상기 검색 수단은 상기 사전 검색 조건 정보가 검색 불필요를 나타낼 때, 상기 제어 노드에 대응하는 데이타 노드에 대해서 대응하는 상기 트라이 사전내의 기록을 검색하지 않는 것을 특징으로 하는 사전 검색 장치.
  6. 제1항에 있어서, 상기 복합키 관리 수단은 상기 복수의 데이타 노드가 격자 형상으로 조합된 래티스 구조의 데이타를, 상기 복합키의 정보로서 관리하는 것을 특징으로 하는 사전 검색 장치.
  7. 제1항에 있어서, 상기 복합키 관리 수단은 절출 에러(boundary setting error)에 대응하는 데이타 노드를 포함하고, 상기 복수의 데이타 노드가 그래프 형상(graphic shape)으로 조합된 래티스 구조의 데이타를, 상기 복합키의 정보로서 관리하는 것을 특징으로 하는 사전 검색 장치.
  8. 제1항에 있어서, 상기 검색 수단은 상기 복합키내의 데이타 노드를 더듬어가는 과정중에 적당한 위치에서 검색을 중단하는 것을 특징으로 하는 사전 검색 장치.
  9. 제8항에 있어서, 상기 검색 수단은 상기 검색 상태 기억 수단이 기억하는 정보를 이용하여 중단된 위치 이후의 검색을 재개하는 것을 특징으로 하는 사전 검색 장치.
  10. 제1항에 있어서, 상기 검색 수단은 상기 복합키내의 데이타 노드를 더듬어가는 과정에서 상기 복합키를 전개한 트리에 관한 종형 탐색을 이용하는 것을 특징으로 하는 사전 검색 장치.
  11. 제1항에 있어서, 상기 검색 수단은 상기 복합키내의 데이타 노드를 더듬어가는 과정에서 상기 복합키를 전개한 트리에 관한 횡형 탐색을 이용하는 것을 특징으로 하는 사전 검색 장치.
  12. 제1항에 있어서, 상기 복합키를 전개한 트리의 노드에 관한 평가 함수치를 계산하는 평가 함수 계산 수단을 더 구비하고, 상기 검색 상태 기억 수단은 상기 평가 함수치를 상기 검색 대상의 데이타 노드와 대응시켜 기억하며, 상기 검색 수단은 상기 복합키내의 데이타 노드를 더듬어가는 과정에서 상기 평가 함수치가 좋은 데이타 노드로부터 순서대로 검색 대상으로 하는 것을 특징으로 하는 사전 검색 장치.
  13. 제12항에 있어서, 상기 검색 수단은 상기 평가 함수치가 일정 수준 이상 좋은 값인 데이타 노드에 대응하는 상기 트라이 사전내의 기록을, 상기 검색 결과로서 취출하는 것을 특징으로 하는 사전 검색 장치.
  14. 제12항에 있어서, 상기 평가 함수 계산 수단은 상기 복합키내의 데이타 노드를 더듬어가는 과정에서 단조롭게 증가하는 평가 함수를 이용하여 상기 평가 함수치를 게산하고, 상기 검색 수단은 상기 평가 함수치가 작은 데이타 노드로부터 순서대로 검색 대상으로 하는 것을 특징으로 하는 사전 검색 장치.
  15. 제14항에 있어서, 상기 검색 수단은 상기 평가 함수치가 일정치 이상의 데이타 노드에 대해서 대응하는 상기 트라이 사전내의 기록을 검색하지 않는 것을 특징으로 하는 사전 검색 장치.
  16. 제14항에 있어서, 상기 검색 수단은 상기 평가 함수치가 일정치 이상의 데이타 노드에 대해서 후속하는 데이타 노드의 검색을 중단(interrupt)하는 것을 특징으로 하는 사전 검색 장치.
  17. 부여된 검색키를 이용하여 트라이 사전을 검색하는 방법에 있어서, 유기적으로 조합된 다수의 데이타 노드로 이루어지는 복합키로서, 2개 이상의 검색키를 포함하는 상기 복합키의 정보를 생성하는 단계와, 상기 복합키내의 데이타 노드를 더듬어가면서 검색 대상의 데이타 노드의 위치를 나타내는 정보에 기초하여 상기 트라이 사전의 대응하는 기록을 검색하여 얻어진 검색 결과를 출력하는 단계를 포함하는 것을 특징으로 하는 사전 검색 방법.
KR1019960046646A 1995-11-10 1996-10-18 래티스를 키로 하여 검색을 행하는 사전 검색 장치 및 방법 KR100286501B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP95-292989 1995-11-10
JP29298995A JP3152871B2 (ja) 1995-11-10 1995-11-10 ラティスをキーとした検索を行う辞書検索装置および方法

Publications (2)

Publication Number Publication Date
KR970029146A KR970029146A (ko) 1997-06-26
KR100286501B1 true KR100286501B1 (ko) 2001-04-16

Family

ID=17789038

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960046646A KR100286501B1 (ko) 1995-11-10 1996-10-18 래티스를 키로 하여 검색을 행하는 사전 검색 장치 및 방법

Country Status (4)

Country Link
US (1) US5778405A (ko)
JP (1) JP3152871B2 (ko)
KR (1) KR100286501B1 (ko)
CN (1) CN1096036C (ko)

Families Citing this family (170)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055515A (en) * 1996-07-30 2000-04-25 International Business Machines Corporation Enhanced tree control system for navigating lattices data structures and displaying configurable lattice-node labels
US6341372B1 (en) * 1997-05-01 2002-01-22 William E. Datig Universal machine translator of arbitrary languages
SE513248C2 (sv) * 1997-12-19 2000-08-07 Ericsson Telefon Ab L M Metod för hantering av datastrukturer
JP3930138B2 (ja) 1998-02-27 2007-06-13 株式会社東芝 情報解析方法および情報解析プログラムを記憶した媒体
CN100334582C (zh) * 1999-01-08 2007-08-29 国际商业机器公司 在手持装置中存储和检索数据的方法及装置
ATE306098T1 (de) * 1999-07-30 2005-10-15 Intertrust Tech Corp Verfahren und systeme zur transaktionsaufzeichnungsübertragung unter anwendung von schwellen und einem mehrstufigen protokoll
US6671856B1 (en) * 1999-09-01 2003-12-30 International Business Machines Corporation Method, system, and program for determining boundaries in a string using a dictionary
DE19944608A1 (de) * 1999-09-17 2001-03-22 Philips Corp Intellectual Pty Erkennung einer in buchstabierter Form vorliegenden Sprachäußerungseingabe
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
AUPQ867700A0 (en) * 2000-07-10 2000-08-03 Canon Kabushiki Kaisha Delivering multimedia descriptions
US6941294B2 (en) * 2000-08-28 2005-09-06 Emotion, Inc. Method and apparatus for digital media management, retrieval, and collaboration
GB2367917A (en) * 2000-10-12 2002-04-17 Qas Systems Ltd Retrieving data representing a postal address from a database of postal addresses using a trie structure
US7451075B2 (en) * 2000-12-29 2008-11-11 Microsoft Corporation Compressed speech lexicon and method and apparatus for creating and accessing the speech lexicon
JP2002259388A (ja) * 2001-03-05 2002-09-13 Fujitsu Ltd 画像検索システム、方法及び画像検索プログラム
JP4421134B2 (ja) 2001-04-18 2010-02-24 富士通株式会社 文書画像検索装置
FI121583B (fi) * 2002-07-05 2011-01-14 Syslore Oy Symbolijonon etsintä
JP4463504B2 (ja) * 2002-07-29 2010-05-19 株式会社リコー 画像形成装置および複写機
DE50305344D1 (de) * 2003-01-29 2006-11-23 Harman Becker Automotive Sys Verfahren und Vorrichtung zur Einschränkung des Suchumfangs in einem Lexikon für Spracherkennung
JP4461769B2 (ja) * 2003-10-29 2010-05-12 株式会社日立製作所 文書検索・閲覧手法及び文書検索・閲覧装置
DE602005012596D1 (de) * 2004-10-19 2009-03-19 France Telecom Spracherkennungsverfahren mit temporaler markereinfügung und entsprechendes system
US8175889B1 (en) 2005-04-06 2012-05-08 Experian Information Solutions, Inc. Systems and methods for tracking changes of address based on service disconnect/connect data
US7908242B1 (en) 2005-04-11 2011-03-15 Experian Information Solutions, Inc. Systems and methods for optimizing database queries
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
EP2074572A4 (en) 2006-08-17 2011-02-23 Experian Inf Solutions Inc SYSTEM AND METHOD FOR PROVIDING A BRAND FOR A USED VEHICLE
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US7899822B2 (en) * 2006-09-08 2011-03-01 International Business Machines Corporation Automatically linking documents with relevant structured information
WO2008039860A1 (en) 2006-09-26 2008-04-03 Experian Information Solutions, Inc. System and method for linking mutliple entities in a business database
US8036979B1 (en) 2006-10-05 2011-10-11 Experian Information Solutions, Inc. System and method for generating a finance attribute from tradeline data
US8074172B2 (en) 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US8606666B1 (en) 2007-01-31 2013-12-10 Experian Information Solutions, Inc. System and method for providing an aggregation tool
US8285656B1 (en) 2007-03-30 2012-10-09 Consumerinfo.Com, Inc. Systems and methods for data verification
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US7742982B2 (en) 2007-04-12 2010-06-22 Experian Marketing Solutions, Inc. Systems and methods for determining thin-file records and determining thin-file risk levels
US20080294540A1 (en) 2007-05-25 2008-11-27 Celka Christopher J System and method for automated detection of never-pay data sets
JP2009070226A (ja) * 2007-09-14 2009-04-02 Ricoh Co Ltd マッチング装置
US8301574B2 (en) 2007-09-17 2012-10-30 Experian Marketing Solutions, Inc. Multimedia engagement study
US9690820B1 (en) 2007-09-27 2017-06-27 Experian Information Solutions, Inc. Database system for triggering event notifications based on updates to database records
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8232973B2 (en) 2008-01-09 2012-07-31 Apple Inc. Method, device, and graphical user interface providing word recommendations for text input
JP5125573B2 (ja) * 2008-02-12 2013-01-23 富士通株式会社 領域抽出プログラム、文字認識プログラム、および文字認識装置
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US8312033B1 (en) 2008-06-26 2012-11-13 Experian Marketing Solutions, Inc. Systems and methods for providing an integrated identifier
US7991689B1 (en) 2008-07-23 2011-08-02 Experian Information Solutions, Inc. Systems and methods for detecting bust out fraud using credit data
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
EP2315134A4 (en) * 2008-10-14 2012-12-26 Mitsubishi Electric Corp SEARCHING DEVICE, RESEARCH INDEX CREATING DEVICE, AND SEARCHING SYSTEM
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US8280723B1 (en) * 2009-01-29 2012-10-02 Intuit Inc. Technique for comparing a string to large sets of strings
US20100235780A1 (en) * 2009-03-16 2010-09-16 Westerman Wayne C System and Method for Identifying Words Based on a Sequence of Keyboard Events
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US20100332292A1 (en) 2009-06-30 2010-12-30 Experian Information Solutions, Inc. System and method for evaluating vehicle purchase loyalty
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8364518B1 (en) 2009-07-08 2013-01-29 Experian Ltd. Systems and methods for forecasting household economics
WO2011036830A1 (ja) * 2009-09-24 2011-03-31 日本電気株式会社 単語認識装置、方法及びプログラムが格納された非一時的なコンピュータ可読媒体並びに発送物区分装置
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
WO2011089450A2 (en) 2010-01-25 2011-07-28 Andrew Peter Nelson Jerram Apparatuses, methods and systems for a digital conversation management platform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8725613B1 (en) 2010-04-27 2014-05-13 Experian Information Solutions, Inc. Systems and methods for early account score and notification
US9152727B1 (en) 2010-08-23 2015-10-06 Experian Marketing Solutions, Inc. Systems and methods for processing consumer information for targeted marketing applications
US8639616B1 (en) 2010-10-01 2014-01-28 Experian Information Solutions, Inc. Business to contact linkage system
US9147042B1 (en) 2010-11-22 2015-09-29 Experian Information Solutions, Inc. Systems and methods for data verification
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
EP2492824B1 (en) * 2011-02-23 2020-04-01 Harman Becker Automotive Systems GmbH Method of searching a data base, navigation device and method of generating an index structure
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US9483606B1 (en) 2011-07-08 2016-11-01 Consumerinfo.Com, Inc. Lifescore
WO2013009920A1 (en) 2011-07-12 2013-01-17 Experian Information Solutions, Inc. Systems and methods for a large-scale credit data processing architecture
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9853959B1 (en) 2012-05-07 2017-12-26 Consumerinfo.Com, Inc. Storage and maintenance of personal data
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
KR20150104615A (ko) 2013-02-07 2015-09-15 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US9697263B1 (en) 2013-03-04 2017-07-04 Experian Information Solutions, Inc. Consumer data request fulfillment system
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
CN105027197B (zh) 2013-03-15 2018-12-14 苹果公司 训练至少部分语音命令系统
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
EP3008641A1 (en) 2013-06-09 2016-04-20 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
AU2014278595B2 (en) 2013-06-13 2017-04-06 Apple Inc. System and method for emergency calls initiated by voice command
CN105453026A (zh) 2013-08-06 2016-03-30 苹果公司 基于来自远程设备的活动自动激活智能响应
US10102536B1 (en) 2013-11-15 2018-10-16 Experian Information Solutions, Inc. Micro-geographic aggregation system
US9529851B1 (en) 2013-12-02 2016-12-27 Experian Information Solutions, Inc. Server architecture for electronic data quality processing
US10262362B1 (en) 2014-02-14 2019-04-16 Experian Information Solutions, Inc. Automatic generation of code for attributes
US9576030B1 (en) 2014-05-07 2017-02-21 Consumerinfo.Com, Inc. Keeping up with the joneses
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US10242019B1 (en) 2014-12-19 2019-03-26 Experian Information Solutions, Inc. User behavior segmentation using latent topic detection
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
US20180060954A1 (en) 2016-08-24 2018-03-01 Experian Information Solutions, Inc. Sensors and system for detection of device movement and authentication of device user based on messaging service data from service provider
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11227001B2 (en) 2017-01-31 2022-01-18 Experian Information Solutions, Inc. Massive scale heterogeneous data ingestion and user resolution
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10963434B1 (en) 2018-09-07 2021-03-30 Experian Information Solutions, Inc. Data architecture for supporting multiple search models
US11941065B1 (en) 2019-09-13 2024-03-26 Experian Information Solutions, Inc. Single identifier platform for storing entity data
US11880377B1 (en) 2021-03-26 2024-01-23 Experian Information Solutions, Inc. Systems and methods for entity resolution

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355473A (en) * 1991-06-20 1994-10-11 Lawrence Au Indexed record locating and counting mechanism
US5357431A (en) * 1992-01-27 1994-10-18 Fujitsu Limited Character string retrieval system using index and unit for making the index
US5640551A (en) * 1993-04-14 1997-06-17 Apple Computer, Inc. Efficient high speed trie search process
JP2683870B2 (ja) * 1994-05-23 1997-12-03 日本アイ・ビー・エム株式会社 文字列検索システム及び方法
US5528701A (en) * 1994-09-02 1996-06-18 Panasonic Technologies, Inc. Trie based method for indexing handwritten databases

Also Published As

Publication number Publication date
KR970029146A (ko) 1997-06-26
CN1096036C (zh) 2002-12-11
JP3152871B2 (ja) 2001-04-03
CN1153356A (zh) 1997-07-02
JPH09134369A (ja) 1997-05-20
US5778405A (en) 1998-07-07

Similar Documents

Publication Publication Date Title
KR100286501B1 (ko) 래티스를 키로 하여 검색을 행하는 사전 검색 장치 및 방법
US7809744B2 (en) Method and system for approximate string matching
US7536297B2 (en) System and method for hybrid text mining for finding abbreviations and their definitions
US5687384A (en) Parsing system
Blumer et al. Complete inverted files for efficient text retrieval and analysis
US5649023A (en) Method and apparatus for indexing a plurality of handwritten objects
US6859800B1 (en) System for fulfilling an information need
US6023536A (en) Character string correction system and method using error pattern
JP3077765B2 (ja) 語彙辞書の検索範囲を削減するシステム及び方法
JP4639077B2 (ja) 語彙と文法を有する言語の上のストリングの内部構造の各レベルにインデックス付けを行うためのシステム及び方法
JPH02271468A (ja) データ処理方法
US5553284A (en) Method for indexing and searching handwritten documents in a database
JPH08241335A (ja) ファジー非決定性有限オートマトンを使用したあいまいな文字列検索方法及びシステム
Takahashi et al. A spelling correction method and its application to an OCR system
JPH0877173A (ja) 文字列修正システムとその方法
EA003619B1 (ru) Система и способ поиска электронных документов, созданных с помощью оптического распознавания знаков
CN109684928A (zh) 基于互联网检索的中文文档识别方法
US5625553A (en) Machine translation system generating a default translation
JP3617096B2 (ja) 関係表現抽出装置および関係表現検索装置、関係表現抽出方法、関係表現検索方法
JPH0844771A (ja) 情報検索装置
KR100692327B1 (ko) 지명 표현 방법, 지명 문자열 인식 방법 및 장치
US20040054677A1 (en) Method for processing text in a computer and a computer
Meknavin et al. Combining trigram and winnow in Thai OCR error correction
JP3531222B2 (ja) 類似文字列検索装置
Toselli et al. Probabilistic Indexing Search Extensions

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