KR19990084950A - 역화일을 이용한 데이터 부분검색 장치 및 그 방법 - Google Patents

역화일을 이용한 데이터 부분검색 장치 및 그 방법 Download PDF

Info

Publication number
KR19990084950A
KR19990084950A KR1019980017021A KR19980017021A KR19990084950A KR 19990084950 A KR19990084950 A KR 19990084950A KR 1019980017021 A KR1019980017021 A KR 1019980017021A KR 19980017021 A KR19980017021 A KR 19980017021A KR 19990084950 A KR19990084950 A KR 19990084950A
Authority
KR
South Korea
Prior art keywords
data
file
pattern
query
address
Prior art date
Application number
KR1019980017021A
Other languages
English (en)
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 이계철
Priority to KR1019980017021A priority Critical patent/KR19990084950A/ko
Publication of KR19990084950A publication Critical patent/KR19990084950A/ko

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 역화일을 이용한 데이터 부분검색 장치 및 그 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 입력되는 질의어를 일정한 기준에 따라 표준화하고, 표준화된 문자열을 음절패턴으로 분할한 후에, 음절패턴으로 구성된 역화일을 이용하여 문자열의 부분검색을 수행할 수 있도록 하는 데이터부분검색장치 및 그방법을 제공하고자 함.
3. 본 발명의 해결 방법의 요지
본 발명은, 패턴 분할하여 패턴 분할된 질의 패턴을 출력하기 위한 전처리 수단; 불용어를 출력하기 위한 불용어 저장 수단; 질의 패턴을 입력받아 해당 색인화일에 대응되는 데이터화일의 주소를 출력하고, 질의 패턴에 공통되는 데이터화일 주소의 데이터를 출력하기 위한 역화일 및 데이터화일 저장 수단; 질의 패턴에 공통되는 데이터화일 주소에 대응되는 데이터를 상기 역화일 및 데이터화일 저장 수단으로부터 제공받아 출력하기 위한 검색 수단; 및 상기 검색 수단으로부터 입력되는 데이터중에 질의어를 포함하고 있는 데이터를 출력하기 위한 후처리 수단을 포함한다.
4. 발명의 중요한 용도
본 발명은 문자열 부분검색에 이용됨.

Description

역화일을 이용한 데이터 부분검색 장치 및 그 방법
본 발명은 음절단위 패턴으로 구성한 역화일을 이용하여 데이터의 부분검색을 수행할 수 있도록 하는 역화일을 이용한 데이터 부분검색 장치 및 그 방법에 관한 것이다.
종래의 개발된 색인 구조들은 원하는 레코드에 대한 빠른 접근이 그 주된 목적이었다.
일반적으로 색인을 구성하는데 가장 많이 이용되는 구조는 비플러스(B+)-트리라 할수 있다. 비플러스(B+)-트리는 색인을 구성할 때 기준 값보다 작거나 같은 값들은 왼쪽 서브트리에, 큰값들은 오른쪽 서브트리에 위치시킨다. 이러한 색인 구조는 비교 대상을 대폭적으로 줄여 검색 속도를 향상시켜 준다.
그러나, 문자열 검색에 있어서 비플러스(B+)-트리는 그 특성상 전방향 절단 검색(foward truncate serch)만이 가능하다. 즉, 질의어와 일치하거나 질의어를 문자열의 처음 부분에 포함하고 있는 값들만을 검색할 수 있다.
따라서, 문자열 부분검색에 있어서 비플러스(B+)-트리 구조는 바람직하지 않다.
예를 들면, 질의어를 "데이터"라고 주었을 때 "데이터"로 시작하는 문자열들은 검색할 수 있지만 "데이터"가 중간이나 끝에 오는 경우의 문자열들은 검색할 수 없게 된다.
한편, 종래의 정보검색 분야에 이용하고 있는 역화일 색인 방법과 요약화일 색인 방법에서는 문자열의 부분검색이 가능하다.
먼저 역화일 색인 방법에 대해 살펴보면 다음과 같다.
일반적으로 문서로부터 단어들을 추출해 내면 그 문서는 단어들의 열로 표현할 수가 있다. 예를 들어 문서 D가 단어 W1, W2, W3, ... Wm으로 구성되어 있다면 다음과 같이 표현할 수 있을 것이다.
D = (W1, W2, W3, ... Wm)
이것을 모든 문서에 대해 적용시킨 후에 단어를 기준으로 바꾸어 표현하면 다음과 같다.
W1 = ( ..., Dn)
W2 = (D1,D3, ... Dn)
W3 = (D2, D3, ...)
Wm = (D1, ...)
단순한 형태의 역화일은 상기와 같지만 일반적으로 정보검색에서는 단어의 반복 횟수와 위치 정보까지를 이용하는데 이는 다음과 같이 표현할 수 있다.
W1 = (..,{<Dn,1>105})
W2 = ({D1,2>37,45}, ... ,{<Dn,1>342})
W3 = ({<D2,2>38,280)
{<D3,5>29,30,45,50,77}, ... )
Wm = ({<D1,4>15,83,91,123}, ...)
상기 예에서 Wm이라는 단어는 D1이라는 문서에서 15번째, 83번째, 91번째, 123번째 위치에 나타났음을 보여준다. 그런데 위치 정보를 도입하면서 색인의 크기가 배이상 커질 수 있음을 알 수 있다. 보통 위치 정보를 사용할 경우에는 필수적으로 압축하는 방법을 도입한다.
정보검색에서 불용어(stopword)라고 불리는 검색에서 제외되는 단어들이 있다. 예를 들어 영어로 된 문서의 경우 'a', 'the', 'of'를 가지지 않은 문서는 거의 없을 것이다. 이들 단어들은 거의 모든 문서에 존재하므로 검색의 의미가 없기 때문에 검색에서는 제외된다.
정보검색에서는 이런 성격의 단어들을 모아서 불용어라고하여 특별히 검색에서 제거대상으로 삼는다. 불용어를 사용하면, 색인의 크기가 급격하게 줄어들기 때문에 역화일 방법에서는 불용어의 사용이 거의 필수적이다.
도 1 은 일반적인 역화일의 구조를 나타낸 일예시도이다.
도면에 도시된 바와 같이, 일반적인 역화일은 단어에 대해 정렬된 포스팅화일 주소를 가지고 있는 색인화일, 각 해당 단어가 포함된 문서로 연결할 수 있는 데이터화일 주소를 가지고 있는 포스팅화일, 해당 문자열을 포함하고 있는 문서를 저장하고 있는 데이터화일로 구성되어 있다.
도면에서 단어 '정보검색' 뒤의 숫자 3은 링크를 3개 가지고 있음을 보여준다.
역화일 색인 방법에서 색인화일을 구성하는 단어들은 형태소 분석에 의해 얻어진다.
형태소 분석은 문서로부터 각어절(띄어쓰기 단위)들을 분석하여 명사, 조사, 동사 어미 등으로 분해하는 작업으로 단어 사전을 필요로 한다. 형태소 분석은 자연어 처리의 가장 기본적인 작업이면서도 잘 풀리지 않는 어려운 문제이다. 형태소 분석에서 더욱 문제가 되는 것은 복합명사 및 고유명사 혹은 신조어의 존재이다. 이들은 생성 규칙이 없으며 단어사전에 존재하지 않기 때문이다.
다음으로 요약화일 방법을 살펴보면 다음과 같다.
요약화일 색인 방법은 각 레코드(또는 텍스트)에 대한 요약(signature)을 요약화일에 저장하고, 데이터화일을 검색하기에 앞서 요약화일을 검색하여 질의를 만족할 가능성이 있는 레코드만을 선택 접근함으로써, 데이터화일 검색 시간을 감소시키는 텍스트 검색 방법이다.
일반적으로 각 레코드의 요약은 단어 요약을 비트별로 중첩하여 구성한다.
각 단어에 대한 요약은 해슁 코드를 사용하여 구성하며 기존의 해슁 코드와는 달리 요약화일에서 사용하는 해슁 코드는, 해슁 코드에 따른 결과 비트 스트림의'1'의 개수가 일정하게 유지되는 방법이다.
다음 (표 1)은 레코드가 'database', 'text', 'retrieval'의 3개의 단어로 구성된 경우에 레코드 요약을 만드는 과정을 나타낸다. 여기서는 m과 k는 각각 레코드 요약의 크기와 한 단어에 할당된 '1'의 개수를 나타낸다.
한편, 요약화일 색인 방법에서 질의의 선택 조건을 만족하는 레코드를 검색하는 방법은 다음과 같다. 먼저 질의로부터 레코드 요약을 구성하는 방법과 같은 방법으로 질의 요약을 만들고, 데이터화일을 접근하기 전단계로서 요약화일에 접근하여, 질의 요약의 비트 패턴(bit patttern)을 포함하는 요약들을 추출한다. 이때 추출된 요약에 해당하는 레코드는 질의를 만족할 가능성이 있는 레코드로 간주하고, 이러한 레코드만 데이터화일에서 최종적으로 검색하여 질의를 만족하는 레코드로 추출한다.
그러나 상기 종래의 역화일 색인 방법은 형태소 분석과정을 거친 단어들 즉, 사전에 등록된 단어들에 대해서만 부분검색이 가능하다는 문제점이 있었다.
또한, 요약화일 색인 방법에서는 문서 요약(비트 패턴)을 이용하여 검색하는데, 이 요약의 가중치(요약에서'1'로 설정된 비트의 수)가 낮을 경우 성능 저하가 심해지는 문제점을 가지고 있었다. 또한 질의를 만족시키지 않는 것까지 결과로 가져오는 폴스 매치(false match)라는 문제점을 가지고 있었다.
따라서, 상기한 바와 같은 문제점을 해결하기 위하여 안출된 본 발명은, 사용자로부터 입력되는 질의어를 일정한 기준에 따라 표준화하고, 표준화된 문자열을 음절 패턴으로 분할한 후에, 음절단위 패턴으로 구성된 역화일을 이용하여 문자열의 부분검색을 수행할 수 있도록 하는 데이터 부분검색 장치 및 그 방법을 제공하는데 그 목적이 있다.
도 1 은 일반적인 역화일의 구조를 나타낸 일예시도.
도 2 는 본 발명에 이용되는 음절단위 패턴으로 구성된 역화일의 구조를 나타낸 일예시도.
도 3 은 본 발명의 일실시예에 따른 역화일을 이용한 데이터 부분검색 장치의 구성도.
도 4 는 본 발명에 이용되는 데이터 표준화 설명도.
도 5a 및 5b 는 본 발명의 일실시예에 따른 역화일을 이용한 데이터 부분검색 방법의 흐름도.
* 도면의 주요 부분에 대한 부호의 설명
310 : 전처리기 311 : 검색기
312 : 후처리기 313 : 불용어 사전 저장기
314 : 역화일 및 데이터화일 저장기
상기 목적을 달성하기 위한 본 발명의 장치는, 외부로부터 입력되는 질의어를 표준화하고, 패턴 분할하여 패턴 분할된 질의 패턴을 출력하기 위한 전처리 수단; 불용어를 저장하고 있다가 출력 요구에 따라 출력하기 위한 불용어 저장 수단; 질의 패턴을 입력받아 해당 색인화일에 대응되는 데이터화일의 주소를 출력하고, 질의 패턴에 공통되는 데이터화일 주소를 입력받아 그 데이터화일 주소의 데이터를 출력하기 위한 역화일 및 데이터화일 저장 수단; 상기 전처리 수단으로부터 입력된 질의 패턴에 따라 상기 불용어 저장 수단으로부터 불용어를 제공받아 질의 패턴에서 제거하고, 질의 패턴에 공통되는 데이터화일 주소에 대응되는 데이터를 상기 역화일 및 데이터화일 저장 수단으로부터 제공받아 출력하기 위한 검색 수단; 및 상기 검색 수단으로부터 입력되는 데이터중에 질의어를 포함하고 있는 데이터를 출력하기 위한 후처리 수단을 포함하여 이루어지는 것을 특징으로 한다.
또한, 본 발명의 방법은, 데이터 검색장치에 적용되는 데이터 부분검색 방법에 있어서, 질의어를 수신하면 음절단위로 패턴 분할을 수행하고, 패턴 분할된 질의 패턴중에 불용어 사전에 존재하는 질의 패턴을 제거하는 제 1 단계; 불용어가 아닌 각각의 패턴 분할된 질의 패턴의 포스팅화일에 저장된 데이터화일 주소로부터 패턴 분할된 질의 패턴에 공통된 주소를 추출하는 제 2 단계; 및 추출된 데이터 주소의 데이터를 검색하여 질의어를 포함하는 데이터를 출력하는 제 3 단계를 포함하여 이루어지는 것을 특징으로 한다
이하, 도 2 내지 5b 를 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
본 발명에서 제안한 부분검색을 위한 색인구조는 정보검색의 역화일과 동일한 구조를 갖는다. 정보검색에서 역화일의 기본 단위는 단어(키워드)인 반면에 부분검색을 위한 역화일은 단어를 일정한 크기로 나눈 음절 패턴(어절)을 기본 단위로하며 이것이 부분검색의 핵심이 된다.
그리고, 본 발명의 일실시예에서의 음절 패턴을 얻기 위한 패턴 분할은 요약화일의 한글 텍스트 코딩 방법 중에 두 음절씩(4바이트) 코딩하는 방법을 이용한다.
패턴 분할에 있어서는 정보검색 방법중 역화일 색인 방법에서 문제가 되었던 형태소 분석이 필요없다.
문자열을 분할하여 생성된 패턴들을 사용하여 어떻게 부분검색이 지원되는지 간단한 예를 통하여 살펴보면 다음과 같다.
예를 들어 사용자의 질의어는 '이동통신'이고, 검색 대상이 되는 단어는 '한국통신'과 '한국이동통신'이라하면, 질의어는 각각 '이동', '동통', '통신'의 질의 패턴으로 분할된다. '한국통신'을 단어 패턴으로 분할하고 질의 패턴들과 비교했을 때, 공통되는 것은 '통신' 하나이다.
반면에 단어 '한국이동통신'에 대해 같은 과정을 적용시키면, 질의어의 모든 질의 패턴이 단어 패턴 집합에 포함되는 것을 알 수 있다.
결과적으로 비교되는 단어가 질의어의 질의 패턴을 모두 가지고 있다면 그 단어는 질의어를 부분 문자열로 포함하고 있다고 할 수 있다.
도 2 는 본 발명에 이용되는 음절단위 패턴으로 구성된 역화일의 구조를 나타낸 일예시도이다.
도면에 도시된 바와 같이, 역화일의 구조는, 단어에 대해 포스팅화일의 주소를 저장하고 있는 색인화일, 각 해당 단어가 포함된 문서로 연결할 수 있는 데이터화일 주소를 저장하고 있는 포스팅화일, 단어를 저장하고 있는 데이터화일로 구성되어 있다.
포스팅화일은 동일 단어 패턴을 가지고 있는 문서의 개수와 데이터화일에서의 위치정보 즉, 주소를 가지고 있다.
그리고, 일반적인 역화일의 경우에 데이터화일에서 단어 '이동통신'이 존재하는 모든 위치의 주소를 포스팅화일에 유지하고, 이것을 색인화일에서 포인트한다. 검색할 때에는 색인화일을 이용하여 포스팅화일로부터 단어 '이동통신'이 위치한 데이터화일의 주소들을 구하고, 이 주소들로부터 검색결과를 얻는다.
그러나, 부분검색을 위한 역화일에서는 단어 '이동통신'을 4바이트 패던으로 나누고, 각각의 패턴에 대해 일반적인 역화일에서와 같은 방법으로 색인을 구성하며, 검색할 때에는 역화일을 만들 때와 같은 방법으로 질의어를 4바이트 패턴들로 나누어 검색을 수행하고, 각 패턴의 검색 결과들 중에 공통되는 것만을 최종검색 결과로 취한다.
도 3 은 본 발명의 일실시예에 따른 역화일을 이용한 데이터 부분검색 장치의 구성도이다.
도면에 도시된 바와 같이, 역화일을 이용한 데이터 부분검색 장치는, 외부로부터 입력되는 질의어를 질의 패턴으로 분할하는 전처리기(310), 전처리기(310)로부터 분할된 질의 패턴을 입력받아 검색하는 검색기(311), 잘못된 검색결과를 제거하는 후처리기(312), 검색이 무의미한 질의 패턴을 제거하기 위한 불용어 사전 저장기(313), 역화일 및 데이터화일을 포함하고 있는 역화일 및 데이터화일 저장기(314)를 구비하고 있다.
이제, 본 발명의 일실시예에 따른 역화일을 이용한 데이터 부분검색 장치의 동작을 상세히 설명하면 다음과 같다.
전처리기(310)는 사용자로부터 입력받은 질의어를 패턴의 분할이 용이하도록 표준화를 수행한 후에, 4바이트 크기(두 음절)의 질의 패턴들로 분할하여 출력한다.
검색기(311)는 전처리기(310)로부터 입력받은 질의 패턴이 불용어인지를 판단하기 위하여 불용어 사전 저장기(313)를 검색한다.
계속하여, 검색기(311)는 검색 결과, 질의 패턴이 불용어 사전에 존재하면, 불용어로 판단하여 질의 패턴을 검색에서 제외시키고, 역화일 및 데이터화일 저장기(314)에 정선된 질의 패턴을 송신한 후에, 역화일 및 데이터 화일 저장기(314)로부터 포스팅화일에 저장되어 있는 데이터화일의 주소를 전송받는다.
불용어 사전 저장기(313)는 데이터화일에서 임의의 임계치 이상의 출현 빈도수를 가진 패턴들을 불용어로 기억하고 있다.
검색기(311)는 이 불용어 사전을 참조하여 질의 패턴들을 검색대상에서 제외시킨다.
그러므로, 검색기(311)의 성능을 좌우하는 중요한 요소가 불용어를 결정하는 임계치이다. 즉, 임계치가 높으면 더욱 많은 단어들이 검색될 수 있으나 검색속도가 느려지고 역화일의 크기는 커진다. 반면에 임계치가 낮으면 너무 많은 질의 패턴이 걸려져 검색이 제대로 수행되지 않을 수도 있다. 그러므로 임계치 값은 시스템 성능, 사용자의 질의, 검색시스템의 사용환경 등 여러 가지 요소를 고려하여 결정되어야 할 것이다.
한편, 검색기(311)의 동작 순서는 다음과 같다.
가) 질의 패턴이 불용어 사전에 존재하면 다음 질의 패턴을 처리한다.
나) 질의 패턴을 키값으로 색인화일을 검색하여, 포스팅화일의 주소를 얻는다. 만약, 한 질의 패턴에 대한 검색이 실패하면 전체 검색도 실패한다.
다) 가)의 검색 결과로 포스팅화일에 접근하여, 데이터화일의 주소들을 얻는다.
라) 이전 질의 패턴의 검색결과인 데이터화일의 주소와 공통된 주소만을 추출한다.
마) 마지막 질의 패턴까지 가)부터 라)까지 반복한다.
최종단계에서는 질의어의 모든 패턴이 포함된 단어들의 주소만이 남게된다.
검색기(311)는 포스팅화일로부터 얻은 질의 패턴에 대한 데이터화일의 모든 주소를 비교하여, 공통된 주소만을 취한다.
그러나, 이들 주소가 가리키는 단어들이 모두 질의어를 부분 문자열로 가지고 있는 것은 아니다. 불용어 처리 과정에서 검색에서 제외된 질의 패턴과 질의 패턴들의 순서정보 및 위치정보가 고려되지 않았기 때문에 질의어가 부분 문자열로 포함되지 않는 단어를 검색할 수 있기 때문이다. 이를 구체적으로 살펴보면 다음과 같다.
첫째, 불용어 처리로 인한 검색 오류이다. 불용어 처리가 되는 질의 패턴은 무시되기 때문에 불용어 처리되는 패턴의 위치에 다른 패턴이 있더라도 이를 처리하지 못해 잘못된 결과가 발생한다. 다음은 불용어 처리에 의한 검색 오류의 예이다.
질의어 : 한국통신
질의 패턴 : 한국(불용어 처리), 국통, 통신
검색 오류 : 동국통신, (주)홍국통신 등
둘째, 검색 알고리즘으로 인한 검색 오류이다. 본 발명에서 제시한 알고리즘은 질의어에서 질의 패턴의 위치정보나 순서정보를 고려하지 않기 때문에 잘못된 결과가 발생한다. 다음은 검색 알고리즘에 의한 검색 오류의 예이다.
질의어 : 한국전관
질의 패턴 : 한국(불용어 처리), 국전, 전관
검색 오류 : 한국전력안전관리공사
후처리기(312)에서는 위의 두 가지 검색 오류를 스트링 매칭으로써 해결한다. 즉, 검색기(311)의 결과들을 모두 질의어를 부분 문자열로 포함하고 있는지를 조사하는 것이다.
한편, 본 발명의 일실시예에서는 한글뿐만 아니라 영문자, 숫자, 기호를 포함한 문자열을 검색 대상으로 하였다. 한글의 경우에 한 문자당 2바이트의 크기를 가지며, 나머지 문자들은 1바이트 크기를 갖는다. 그러므로 검색 및 역화일 생성시 문자열은 4바이트 크기의 패턴으로 분할할 때, 각 패턴이 두 음절씩 문자의 개수를 갖도록 해줄 필요가 있다. 두 문자 이상의 한글만으로 구성된 문자열은 쉽게 두 음절의 4바이트 패턴으로 분할될 수 있으나, 다음 3가지 경우에는 패턴 분할이 용이하도록 표준화가 필요하다.
a) 문자열이 한글과 1바이트 문자와 혼합된 경우
b) 문자열이 영문자로만 이루어진 경우
c) 문자열이 한 문자인 경우
a)와 b)의 경우는 1바이트 문자를 확장시키고, c)의 경우는 문자열을 2문자로 확장함으로써 문제를 해결하였다. 즉, 1바이트 문자의 확장은 1바이트 문자 뒤에 확장용 1바이트 문자를 추가하고 이 연속된 두 문자를 하나의 2바이트 문자로 간주한다. 한 문자 문자열 확장에서도 마찬가지로 확장용문자를 추가해 문자열을 2문자로 확장시킨다.
도 4 는 본 발명에 이용되는 데이터 표준화 설명도이다.
도면에 도시된 바와 같이, (a)는 표준화 이전의 문자열이 한글 1자와 알파벳 1자로 3바이트이나 알파벳 1자에 1바이트 확장용 문자를 부가하여 4바이트 문자열로 표준화하는 것을 나타내며, (b)는 알파벳 2자로 2바이트이나 알파벳 각각에 1바이트 확장용 문자를 부가하여 4바이트 문자열로 표준화하는 것을 나타내며, (c)는 한글 1자로 2바이트이나 1문자 문자열 확장용 문자를 부가하여 3바이트로 확장한 다음, 1바이트 확장용 문자를 부가하여 4바이트 문자열로 표준화하는 것을 나타내고, (d)는 알파벳 1자로 1바이트이나 1문자 문자열 확장용 문자를 부가한 후에, 1바이트 확장용 문자를 부가하여 4바이트로 확장한 것을 나타낸다.
결론적으로, 표준화 이전의 문자열은 각각 3바이트, 2바이트, 2바이트, 1바이트의 크기이나 데이터 표준화를 거친 후에는 모두 4바이트의 크기를 갖는다.
도 5a 및 5b 는 본 발명의 일실시예에 따른 역화일을 이용한 데이터 부분검색 방법의 흐름도이다.
도면에 도시된 바와 같이, 데이터 부분검색 방법은, 외부로부터 질의어를 수신하면(510), 문자열 표준화를 수행한 후에(511), 표준화된 문자열을 2음절 패턴으로 분할하고(512), 분할된 패턴에 번호를 할당한다(513).
이후에, 변수 n을 1로 놓은 후에(514), n번째 해당하는 분할된 패턴이 불용어 사전에 있는지를 판단한다(515).
판단 결과, 불용어 사전에 있으면 변수 n에 1을 더한 후에(516), n번째 해당하는 분할된 패턴이 불용어 사전에 있는지를 판단하는 과정(515)부터 반복하고, 불용어 사전에 없으면 n번째 해당 분할된 패턴이 색인화일에 있는지를 판단한다(517).
판단 결과, 색인화일에 없으면, 전체 검색 결과 실패를 통보하고(518), 종료하며, 색인화일에 있으면, n번째 해당하는 분할된 패턴의 색인화일에서 포스팅화일의 주소를 가져온다(519).
계속하여, 포스팅화일에서 해당 분할된 패턴을 가지고 있는 데이터화일의 주소를 가져온 후에(520), 해당 주소 데이터화일의 주소를 저장하고(521), 마지막 분할된 패턴인지를 판단한다(522).
판단 결과, 마지막 분할된 패턴이 아니면, n번째 해당하는 분할된 패턴이 불용어 사전에 있는지 여부를 판단하는 과정(515)부터 반복하고, 마지막 분할된 패턴이면, 저장된 데이터화일의 주소의 공통값을 추출한다(524).
계속하여, 추출된 데이터화일의 주소로부터 데이터를 가져오고(525), 가져온 데이터에 번호를 할당하며(526), 변수 m을 1로 놓는다(527).
그리고, m번째 해당 데이터가 질의어를 부분문자열로 포함하고 있는지를 판단하여, 포함하고 있지 않으면, m을 1증가시킨 후에(529), m번째 해당 데이터가 질의어를 부분문자열로 포함하고 있는지를 판단하는 과정(528)부터 반복 수행하고, 포함하고 있으면, 데이터를 출력한 후에(530), 마지막 데이터인지를 판단한다(531).
판단 결과, 마지막 데이터가 아니면 m을 1증가시키고(532), m번째 해당 데이터가 질의어를 문자열로 포함하고 있는지를 판단하는 과정(528)부터 반복하고, 마지막 데이터이면, 종료한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.
상기와 같은 본 발명은, 상호명 서비스와 같이 문자열의 부분 검색을 필요로하는 검색 시스템의 요구 사항을 완벽하게 수용할 수 있으며, 신조어, 복합명사, 고유명사에 대한 검색을 정확히 수행할 수 있고, 역화일 기법을 이용함으로써 검색 속도를 향상시킬 수 있는 효과가 있다.

Claims (7)

  1. 외부로부터 입력되는 질의어를 표준화하고, 패턴 분할하여 패턴 분할된 질의 패턴을 출력하기 위한 전처리 수단;
    불용어를 저장하고 있다가 출력 요구에 따라 출력하기 위한 불용어 저장 수단;
    질의 패턴을 입력받아 해당 색인화일에 대응되는 데이터화일의 주소를 출력하고, 질의 패턴에 공통되는 데이터화일 주소를 입력받아 그 데이터화일 주소의 데이터를 출력하기 위한 역화일 및 데이터화일 저장 수단;
    상기 전처리 수단으로부터 입력된 질의 패턴에 따라 상기 불용어 저장 수단으로부터 불용어를 제공받아 질의 패턴에서 제거하고, 질의 패턴에 공통되는 데이터화일 주소에 대응되는 데이터를 상기 역화일 및 데이터화일 저장 수단으로부터 제공받아 출력하기 위한 검색 수단; 및
    상기 검색 수단으로부터 입력되는 데이터중에 질의어를 포함하고 있는 데이터를 출력하기 위한 후처리 수단
    을 포함하여 이루어진 데이터 부분검색 장치.
  2. 제 1 항에 있어서,
    상기 역화일 및 데이터화일 저장 수단은,
    질의 패턴을 입력받아 해당 색인화일의 포스팅화일 주소에 대응되는 포스팅화일에 저장되어 있는 데이터화일의 주소를 출력하고, 질의 패턴에 공통되는 데이터화일 주소를 입력받아 그 데이터화일 주소의 데이터를 출력하는 것을 특징으로 하는 데이터 부분검색 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 검색 수단은,
    상기 전처리 수단으로부터 입력된 질의 패턴에 대한 불용어 출력 요구 신호를 상기 불용어 저장 수단으로 출력하여, 상기 불용어 저장 수단으로부터 불용어를 입력받아 질의 패턴에서 제거하고, 질의 패턴을 상기 역화일 및 데이터화일 저장 수단으로 출력하여, 상기 역화일 및 데이터화일 저장 수단으로부터 각각의 질의 패턴에 대응되는 데이터화일 주소를 입력받은 후에, 질의 패턴에 공통되는 데이터화일 주소를 추출하여 상기 역화일 및 데이터화일 저장 수단으로 출력하고, 상기 역화일 및 데이터화일 저장 수단으로부터 데이터를 입력받아 출력하는 것을 특징으로 하는 데이터 부분 검색 장치.
  4. 데이터 검색장치에 적용되는 데이터 부분검색 방법에 있어서,
    질의어를 수신하면 음절단위로 패턴 분할을 수행하고, 패턴 분할된 질의 패턴중에 불용어 사전에 존재하는 질의 패턴을 제거하는 제 1 단계;
    불용어가 아닌 각각의 패턴 분할된 질의 패턴의 포스팅화일에 저장된 데이터화일 주소로부터 패턴 분할된 질의 패턴에 공통된 주소를 추출하는 제 2 단계; 및
    추출된 데이터 주소의 데이터를 검색하여 질의어를 포함하는 데이터를 출력하는 제 3 단계
    를 포함하여 이루어진 데이터 부분검색 방법.
  5. 제 4 항에 있어서,
    상기 제 1 단계는,
    질의어를 수신하는 제 4 단계;
    문자 문자열 확장용 문자와 바이트 확장용 문자를 사용하여 데이터 표준화를 수행하는 제 5 단계; 및
    음절단위 패턴으로 분할하는 제 6 단계
    를 포함하여 이루어진 데이터 부분검색 방법.
  6. 제 4 항 또는 제 5 항에 있어서,
    상기 제 2 단계는,
    모든 분할된 질의 패턴이 불용어 사전에 있는지를 검색하는 제 7 단계;
    분할된 패턴이 색인화일에 있는지를 판단하는 제 8 단계;
    상기 제 8 단계의 판단 결과, 색인화일에 없으면, 전체 검색 결과 실패를 통보하는 제 9 단계;
    상기 제 8 단계의 판단 결과, 색인화일에 있으면, 분할된 패턴의 색인화일에서 포스팅화일의 주소를 가져오는 제 10 단계;
    포스팅화일에서 해당 분할된 패턴을 가지고 있는 데이터화일의 주소를 가져온 후에, 해당 주소 데이터화일의 주소를 저장하고, 마지막 분할된 패턴인지를 판단하는 제 11 단계; 및
    상기 제 11 단계의 판단 결과, 마지막 분할된 패턴이 아니면, 상기 제 7 단계부터 반복 수행하고, 마지막 분할된 패턴이면, 저장된 데이터화일의 주소의 공통값을 추출하는 제 12 단계
    를 포함하여 이루어진 데이터 부분검색 방법.
  7. 제 6 항에 있어서,
    상기 제 3 단계는,
    추출된 데이터화일의 주소로부터 데이터를 가져온 후에, 데이터가 질의어를 부분문자열로 포함하고 있는지를 모든 데이터에 대하여 검색하는 제 13 단계;
    질의어를 부분문자열로 포함하고 있는 데이터를 출력한 후에, 마지막 데이터인지를 판단하는 제 14 단계; 및
    상기 제 14 단계의 판단 결과, 마지막 데이터가 아니면 상기 제 13 단계의 데이터가 질의어를 부분문자열로 포함하고 있는지를 검색하는 과정부터 반복 수행하고, 마지막 데이터이면, 종료하는 제 15 단계
    를 포함하여 이루어진 데이터 부분검색 방법.
KR1019980017021A 1998-05-12 1998-05-12 역화일을 이용한 데이터 부분검색 장치 및 그 방법 KR19990084950A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980017021A KR19990084950A (ko) 1998-05-12 1998-05-12 역화일을 이용한 데이터 부분검색 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980017021A KR19990084950A (ko) 1998-05-12 1998-05-12 역화일을 이용한 데이터 부분검색 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR19990084950A true KR19990084950A (ko) 1999-12-06

Family

ID=65891381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980017021A KR19990084950A (ko) 1998-05-12 1998-05-12 역화일을 이용한 데이터 부분검색 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR19990084950A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020034547A (ko) * 2000-11-02 2002-05-09 김응천 인버스 데이터 타입을 이용한 데이터베이스 검색 방법
KR100760301B1 (ko) 2006-02-23 2007-09-19 삼성전자주식회사 부분 검색어 추출을 통한 미디어 파일 검색 방법 및 장치
US9110973B2 (en) 2011-04-08 2015-08-18 Samsung Electronics Co., Ltd. Method and apparatus for processing a query

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020034547A (ko) * 2000-11-02 2002-05-09 김응천 인버스 데이터 타입을 이용한 데이터베이스 검색 방법
KR100760301B1 (ko) 2006-02-23 2007-09-19 삼성전자주식회사 부분 검색어 추출을 통한 미디어 파일 검색 방법 및 장치
US9110973B2 (en) 2011-04-08 2015-08-18 Samsung Electronics Co., Ltd. Method and apparatus for processing a query

Similar Documents

Publication Publication Date Title
KR101157693B1 (ko) 토큰스페이스 저장소와 함께 사용하기 위한 멀티-스테이지질의 처리 시스템 및 방법
US9619565B1 (en) Generating content snippets using a tokenspace repository
Chien PAT-tree-based keyword extraction for Chinese information retrieval
EP0590858B1 (en) Method for performing a search of a plurality of documents for similarity to a query
Silva de Moura et al. Fast and flexible word searching on compressed text
US5752051A (en) Language-independent method of generating index terms
US8055498B2 (en) Systems and methods for building an electronic dictionary of multi-word names and for performing fuzzy searches in the dictionary
US6754650B2 (en) System and method for regular expression matching using index
US6785677B1 (en) Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector
US7756859B2 (en) Multi-segment string search
US7526497B2 (en) Database retrieval apparatus, retrieval method, storage medium, and program
US20030139921A1 (en) System and method for hybrid text mining for finding abbreviations and their definitions
JP2001524717A (ja) 情報管理及び検索
US20050065776A1 (en) System and method for the recognition of organic chemical names in text documents
US5560037A (en) Compact hyphenation point data
US20030158725A1 (en) Method and apparatus for identifying words with common stems
KR19990084950A (ko) 역화일을 이용한 데이터 부분검색 장치 및 그 방법
Liang et al. Optimal weight assignment for a Chinese signature file
KR20020054254A (ko) 사전구조를 이용한 한국어 형태소 분석방법
Ristov et al. Ziv Lempel compression of huge natural language data tries using suffix arrays
JPH056398A (ja) 文書登録装置及び文書検索装置
Boytsov Super-linear indices for approximate dictionary searching
JPH0954781A (ja) 文書検索システム
Lap et al. Indexing multilingual information on the web
KojiHIRAIWA et al. NTCIR-2 Experiments Using Long Gram Based Indices

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application