KR100404320B1 - 문장 자동 색인 방법 - Google Patents

문장 자동 색인 방법 Download PDF

Info

Publication number
KR100404320B1
KR100404320B1 KR20000080992A KR20000080992A KR100404320B1 KR 100404320 B1 KR100404320 B1 KR 100404320B1 KR 20000080992 A KR20000080992 A KR 20000080992A KR 20000080992 A KR20000080992 A KR 20000080992A KR 100404320 B1 KR100404320 B1 KR 100404320B1
Authority
KR
South Korea
Prior art keywords
stack
index
sentence
state
sub
Prior art date
Application number
KR20000080992A
Other languages
English (en)
Other versions
KR20020051596A (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 한국전자통신연구원
Priority to KR20000080992A priority Critical patent/KR100404320B1/ko
Publication of KR20020051596A publication Critical patent/KR20020051596A/ko
Application granted granted Critical
Publication of KR100404320B1 publication Critical patent/KR100404320B1/ko

Links

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Machine Translation (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)

Abstract

본 발명은 검색 도구의 성능 향상에 필수적인 문서의 내용을 대표하는 색인어(Index Term) 추출을 위해 PDA(Push Down Automata)를 이용한 정형화된 한국어와 영어 문장의 자동 색인 방법에 관한 것이다.
본 발명에 따르면, 문장의 자동 색인 방법에 있어서, 문서 내의 문장을 인식하는 제 1 단계; 상기 제 1 단계에서 인식된 문장에서 불용어 리스트에 등록된 불용어를 추출하여 임의의 문자로 치환하는 제 2 단계; 및 상기 불용어가 치환된 문장을 한 단위씩 읽어 들여, PDA(Push Down Automata) 색인 엔진을 이용하여 색인어를 추출하고, 한 문장 처리가 끝나면, 상기 제 1 단계로 복귀하는 제 3 단계를 포함하고, 상기 PDA의 스택(Stack) 구조는 상태 스택, 색인 스택 및 심볼 스택으로 나누어져 있는 것을 특징으로 하는 문장의 자동 색인 방법이 제공된다.

Description

문장 자동 색인 방법 {Automatic sentence indexing method}
본 발명은 PDA(Push Down Automata)에 관한 것으로서, 보다 상세하게 설명하면, 검색 도구의 성능 향상에 필수적인 문서의 내용을 대표하는 색인어(Index Term) 추출을 위하여 PDA를 이용한 정형화된 문장의 자동 색인 방법에 관한 것이다.
종래의 한국어 색인 방법은 어절 중심 색인법(Word - Based Indexing), 형태소 중신 색인법(Morphological - Based Indexing) 및 n-gram 중심 색인법(n-gram Based Indexing) 등이 주류를 이루어 왔다.
어절 중심 색인법은 단어에서 비색인 어절을 분리하고, 남은 어절을 색인어로 추출하는데, 한국어와 같이 복합 명사가 많이 포함된 언어의 색인에는 효율적인 색인을 추출할 수 없다는 문제점이 있다.
또한, 형태소 중심 색인법은 단어를 구성하고 있는 형태소들을 인식하여 대부분의 언어에서 공통적으로 발생하는 언어 현상인 형태론적 변형을 처리하는 기법을 기반으로 하고 있으나, 이 방법은 복합 명사 및 합성 명사의 처리는 가능하지만, 복잡한 언어 특성을 포함하는 사전(Dictionary)을 구성해야 하고, 언어의 문법 구조를 이해해야 한다는 문제점이 있다. 또한, 사전의 참조로 인하여 검색의 응답 시간이 저하된다는 문제점이 있다.
또한, 최근의 관심 연구 대상인 n-gram 중심 색인법은 어절을 n(n = 1, 2, ..., m, m : 단어의 길이)에 의해서 분절함으로써, 색인어를 추출하는 방법이다. 이 색인법은 복잡하지 않고, 복합어의 분리 등에 유용하지만, n 값의 결정 방법에따라 색인어의 추출 효율이 차이가 심하다는 문제점이 있다.
이러한 종래 기술에 대하여 보다 더 상세하게 살펴 보도록 한다.
(1) 단어 중심 색인법(Word - Based Indexing)
단어 중심 색인법은 문서와 질의의 각 어절들에 대해 색인어의 일부분으로서 가치가 없는 비색인 분절(Non-indexable Segment), 즉, 조사, 어미 및 접미사 등의 음절들을 절단하여 원문에 가까운 형태로 색인어를 추출한다.
예를 들어 "정보 검색 시스템의 효율성에 대하여"이라는 문장에서 단어 중심 색인법을 적용한다면, 먼저 비색인 분절인 '의', '에', '대하여'를 제외한 '정보', '검색', '시스템', '효율성' 등의 어절이 색인어로 추출된다. 단어 중심 색인법은 위의 예에서 알 수 있듯이 색인 과정이 비교적 간단하다. 그러나 이 색인 방법은 2음절 혹은 3음절 복합 명사의 색인이 불가능하다. 예를 들어 '정보 검색'과 '정보 검색 시스템', '정보 검색 시스템 효율성' 등의 복합 명사는 색인어로 중요한 역할을 하지만 단어 중심 색인법은 이러한 어절을 색인어로 추출하지 못하는 단점을 가지고 있다.
이러한 이유는 한국어는 영문과는 달리 세 단어 이상이 결합되어 복합어를 구성하는 경우가 빈번히 나타나기 때문이다. 이 경우 복합어를 분해하여 여러 가지 개념을 표현하도록 하는 것이 필요하다.
예를 들어, "정보 검색 시스템"과 같은 복합어에서 "정보", "검색", "시스템"등의 단일어와 "정보 검색", "검색 시스템", "정보 검색 시스템"등의 색인어가추출되어야 한다. 또한, 띄어 쓰기 오류나 철자 오류와 같이 어절의 분리 오류에는 추출된 색인어는 부적절한 색인을 한다. 이러한 부적절한 색인어의 추출은 검색 시스템의 효율을 저하시키고, 불필요한 색인어의 저장 공간의 낭비를 초래하게 된다.
(2) 형태소 중심 색인법(Morphological - Based Indexing)
형태소 분석이란 한국어를 처리하기 위하여 하나의 어절이 어떠한 형태소들로 구성되어 있고, 각각의 형태소와 관련된 품사, 원형 및 의미 등의 정보가 무엇인가를 분석하는 작업이다. 기존의 형태소 중심 색인법은 형태소 분리와 형태론적 변형 문제가 복합되어 있어서 형태소 분석 자체를 어렵게 하는 요인이 되어 왔으며, 이를 해결하기 위한 여러 가지 방법론들이 제시되었다. 그 예로는 머리-꼬리(Head-Tail) 구분법, 타뷸라(Tabular) 파싱법, 최장-최단 일치법, 접속 정보를 이용하는 방법, 음절 단위 분석법, 어절 사전을 이용하는 방법 및 이레벨(Two-level) 모델을 이용하는 방법론들이 제시되었다.
이러한 방법들은 복합 명사를 단일 명사들로 분리할 수 있어 앞에서 언급한 단어 중심 색인법에서 복합 명사 띄어 쓰기 문제를 극복할 수 있다. 또한, 맞춤법 검사에서 띄어 쓰기 자동 교정이나 복합 명사 분해, 한국어 시스템에서 형태소와 품사의 세부 정보 등 응용 시스템의 요구 사항을 반영할 수 있다.
그러나, 형태소 분석에 의존적인 형태소 단위 색인법은 형태소 해석을 위한 규칙이 복잡하고, 형태소 해석 결과의 모호성, 미등록어 처리, 비문법적인 어절에서 부정확한 색인어가 추출될 수 있다. 또한, 형태소 사전 등의 언어 정보를 포함하는 사전과 같은 언어 정보의 관리 등의 부담을 가지고 있다. 특히, 형태소 사전은 많은 개발 시간과 비용을 요구하며, 형태소 해석의 대상이 되는 문서들의 성질에 크게 의존하는 경향이 있어 문서의 종류마다 서로 다르게 개발되어야 하는 부담을 안고 있다. 또한, 형태소 분리를 위한 자료 사전의 빈번한 참조로 검색 시간의 지연 등의 문제점을 가진다.
(3) n-gram 중심 색인법(n-gram Based Indexing)
단어 중심 색인법과 n-gram 방법을 결합한 n-gram 중심 색인법에서 n-gram이란 인접한 n 개의 음절을 의미한다. 문장 내의 각각의 어절에 대하여 어절 단위의 색인법을 적용하고, 그 결과로 생성된 분절에 n-gram 방법을 적용함으로써, 색인어를 추출한다.
예를 들어 "정보 검색을"이란 어절에 대하여 제 1 단계에서 불용어 리스트(Stop-list)를 제거하고, 제 2 단계에서 어절을 n에 의해서 분리한다. 위의 예를 들면, 2-gram 기반의 색인 방법은 '정보', '보검', '검색'의 색인어들을 추출한다.
이 색인법은 복합 명사 띄어 쓰기 문제를 해결하고, 형태소 중심 색인법과 같은 복잡한 문장 해석 규칙이나 형태소 정보 사전의 관리를 요구하지 않으며, 단일 명사를 추출할 수 있는 형태소 단위 색인법과 유사한 검색 효과를 제공한다. 또한, 이 방법은 절단 오류로 인한 파급 효과를 완화하고, 단일 명사 뒤에 한 글자의 명사가 붙거나 파생 접사가 붙어서 형성된 명사들을 많이 발견할 수 있다.
그러나, 3-gram 방법을 위의 예에 적용한다면, '정보검', '보검색'등의 색인어를 추출하는데, 이는 모두 의미 없는 색인어를 추출하게 된다. n-gram 색인 방법의 가장 큰 단점은 복합 명사의 음절수가 길면, 많은 수의 불필요한 절단을 해야한다는 것이다. 예를 들어, "정보/검색/시스템/연구"라는 어절에서 n 을 1부터 적용하면 "정", "보", "검", "색", "시", "스", "템", "연", "구"등의 절단이 이루어진다. 예에서 알 수 있듯이, 분리된 모든 1-gram 어절들은 의미가 없는 어절일 뿐 아니라, 오히려, "시"와 같이 잘못된 색인이 추출될 수 있게 된다,
n-gram 중심 색인법에서 어절의 길이를 n이라 가정할 때, n이 1일 때 n번의 절단이 필요하고, n이 2일 때, (n-1)번의 절단이 필요하게 된다. 계속적으로, n 까지 증가하면서 절단을 수행하므로, (n+n-1+n-2+...+1)번의 절단이 이루어진다.
즉, n-gram 중심 색인 방법은 최악의 경우에 n2이상의 절단이 필요하게 된다. 이로 인하여 색인어로 추출된 색인어라 하더라도 불필요한 색인으로 인하여 저장 공간의 낭비와 검색결과의 정확도의 저하를 초래한다는 문제점이 있다.
이러한 종래 기술들을 구체적으로 살펴 보면, 다음과 같은 것들이 있다.
먼저, 권리권자가 '한국전기통신공사'이고, 특허 명칭이 '부분 구문 분석을 통한 보어-술어 관계의 복합 명사 색인 방법'(특 : 1998-054726)을 살펴 보면, 다음과 같다.
본 선행 발명은 정보 검색 시스템에서 문장 관계 중 보어-술어 결합 관계를 찾아주는 부분 구문 분석을 통하여 보어를 이루는 명사와 서술성 명사의 결합으로 이루어지는 복합 명사를 색인 방법으로 제공하고 있다.
이를 위하여, 본 선행 발명은 명사 사전의 복합 명사와 말뭉치에서 자동 태깅(Tagging) 결과 얻어진 복합 명사를 합하여 복합 명사 사전을 구축하는 단계와 부분 구문 분석을 통하여 서술성 명사의 공기 관계를 이용하여 추출될 수 있는 복합 명사 유형 중에 실제로 사용되는 올바른 복합 명사만을 선정하는 단계 및 문헌에서 색인어를 공기 관계에 의하여 생성된 복합 명사가 상기 올바른 복합 명사일 경우, 색인어로 선정하는 단계를 포함하여 구성된다.
즉, 선행 발명은 복합 명사 사전을 구축하기 위하여 구문 분석 방법을 이용함이 가장 큰 특징이며, 단순히 복합 명사 사전에 활용된다는 점에서 그 한계성을 가지고 있다.
또한, 권리권자가 '한국전자통신연구원'이고, 특허 명칭이 '의미 기반 정보 검색을 위한 관련 명사의 검색 방법'(특 : 1997-071084)인 선행 발명을 살펴 보면, 다음과 같다.
본 선행 발명은 언어 처리에 필수적인 명사 사전을 구축할 때, 애매성을 해소하기 위하여 관련 명사 구축기를 대량의 코퍼스를 사용하여 객관적 측면으로 구축하는 의미 기반 정보 검색을 위한 검색 방법에 관한 것이다.
최근 정보 검색 분야에서 한국 자연어 처리 기술은 형태소 분석 및 구문 분석을 통하여 품사의 식별, 원형 및 문장 내에서의 역할 등을 상당 수준 검출할 수 있게 되었는데, 이러한 문장 자체의 정보만으로는 검색의 정확성 및 재현율을 사람이 생각해 낼 수 있는 수준까지 끌어 올리기에는 한계가 있다. 명사에 대한 정보는 단어 자체의 의미 이외에 여러 가지 종류가 있는데, 이들 정보는 명사들 사이에 복잡한 관계를 내포하고 있다. 그러나, 이러한 관련 명사를 구축하는데 있어서, 마관련 명사를 일반적인 지식을 갖고 있는 사람에 의하여 구축할 때, 그 사람의 상식 수준, 환경 및 그가 지니고 있는 전문 지식등에 의한 주관적인 자료가 될 수 있다는 것이다.
따라서, 본 발명은 언어 처리에 필수적인 명사 사전을 구축함에 있어서, 애매성 해소에 필요한 관련 명사 구축기를 대량의 코퍼스를 이용한 객관적인 측면에서, 즉, 구축하는 사람의 주관적 사고를 최대한 배제할 수 있는 정보 검색을 위한 관련 명사의 검색 방법을 제공하고 있다.
그러나, 본 선행 발명도 명사 사전을 구축하는데 이용된다는 점에서 그 한계가 있다.
또한, 저자가 'Joon Ho Lee, Hyun Yang Cho and Hyouk Ro Park'이고, 논문지 'Information processing and Management 35권'에 게재된 논문 'n-Gram based indexing for Korean text retrieval'을 살펴 보면, 다음과 같다.
본 선행 논문은 기존의 한국어 자동 색인 방법들인 어절 단위 색인법 및 형태소 단위 색인법의 단점을 극복하고 있다 보다 간단한 색인 방법을 제안하고 있다. 어절 단위 색인법은 문서내의 어절에서 비색인 분절을 절단함으로써, 색인어를 추출하는 방법으로, 문서들이 많은 복합 명사들을 포함할 경우, 검색 효과가 저하된다. 형태소 단위 색인법은 형태소 해석이나 구문 해석을 이용하여 중요한 의미를 갖는 명사나 명사구를 추출하는 방법으로, 단일 명사를 추출함으로써, 복합 명사의 띄어쓰기 문제를 극복할 수 있다. 그러나, 색인 과정에서 요구되는 많은 언어 정보를 개발하고 유지 보수해야 하는 문제점이 있다.
이러한 문제점을 극복하기 위하여, 본 선행 논문은 단어 중심 색인법과 n-gram 방법을 결합한 새로운 방법을 제안하고 있는데, 색인어를 추출하기 위해서, 어절수에 의존적으로 분해하는 방법을 제공함으로써, 잘못된 색인으로 인한 효율의 저하를 가져 올 수 있는 문제점이 있다.
따라서, 본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 기존의 한국어 자동 색인법의 장점을 보장하고 확장성이 뛰어나며 복합명사뿐만 아니라 새로 추가되는 신조어와 중의적 분해가 가능하도록 PDA(push down automata)를 이용한 정형화된 한국어 자동 색인법을 제공하기 위한 것이다.
도 1은 본 발명에 적용되는 PDA(Push Down Automata)의 일반적인 구성도이고,
도 2는 본 발명의 일 실시예에 따라 PDA를 이용한 한국어 자동 색인 방법의 전체 데이터 흐름을 개략적으로 나타낸 개념도이고,
도 3은 본 발명의 일 실시예에 따른 PDA 색인 엔진의 전체 흐름도이고,
도 4는 도 3에 도시된 문자 처리 알고리즘을 상세히 나타낸 흐름도이고,
도 5는 도 3에 도시된 공백 처리 알고리즘을 상세히 나타낸 흐름도이고,
도 6은 도 3에 도시된 불용어 처리 알고리즘을 상세하게 나타낸 흐름도이고,
도 7은 도 3에 도시된 POP 처리 알고리즘을 상세히 나타낸 흐름도이고,
도 8은 도 3에 도시된 EOS(End Of Setence)처리 알고리즘을 상세히 나타낸 흐름도이다.
상기한 목적을 달성하기 위한 본 발명에 따르면, 한국어 자동 색인 방법에있어서, 문서 내의 문장을 인식하는 제 1 단계; 상기 제 1 단계에서 인식된 문장에서 불용어 리스트에 등록된 불용어를 추출하여 임의의 문자로 치환하는 제 2 단계; 및 상기 불용어가 치환된 문장을 한 단위씩 읽어 들여, PDA(Push Down Automata) 색인 엔진을 이용하여 색인어를 추출하고, 한 문장 처리가 끝나면, 상기 제 1 단계로 복귀하는 제 3 단계를 포함하고, 상기 PDA의 스택(Stack) 구조는 상태 스택, 색인 스택 및 심볼 스택으로 나누어져 있는 것을 특징으로 하는 한국어 자동 색인 방법이 제공된다.
또한, 컴퓨터에, 문서 내의 문장을 인식하는 제 1 단계; 상기 제 1 단계에서 인식된 문장에서 불용어 리스트에 등록된 불용어를 추출하여 임의의 문자로 치환하는 제 2 단계; 및 상기 불용어가 치환된 문장을 한 단위씩 읽어 들여, PDA(Push Down Automata) 색인 엔진을 이용하여 색인어를 추출하고, 한 문장 처리가 끝나면, 상기 제 1 단계로 복귀하는 제 3 단계를 포함하고, 상기 PDA의 스택(Stack) 구조는 상태 스택, 색인 스택 및 심볼 스택으로 나누어져 있는 것을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공된다.
본 발명에서 제안하는 자동 색인 방법은 크게 3개의 단계로 이루어진다.
첫 번째 단계는 문서내의 문장을 인식하는 단계이고, 두 번째 단계는 인식된 문장에서 불용어 리스트(Stop-list)에 등록된 불용어를 임의의 문자로 치환하는 단계이다. 한편, 본 발명에서 불용어는 문장 내에서 색인어로 부적절한 어절의 접두어와 접미어를 포함한 형용사와 동사의 용언을 뜻한다. 왜냐하면, 한국어에서 색인어로 추출이 가능한 어절은 대부분이 명사이기 때문이다. 마지막 단계는PDA(Push Down automata)를 이용한 색인어 추출 단계이다. 본 발명은 마지막 단계인 PDA를 통한 색인어를 추출하는 알고리즘을 제안하였다.
이하, 첨부된 도면을 참조하면서 본 발명의 일 실시예에 따른 문장의 자동 색인 방법을 보다 상세하게 설명하기로 한다.
도 1은 본 발명에 적용되는 PDA(Push Down Automata)의 일반적인 구성도로서, 상기 PDA는 입력 파일, 유한 제어(Finite Control) 및 저장 공간으로 스택(Stack)을 갖고 있다.
스택은 어떤 알파베트들의 부호들로 구성된 스트링이다. PDA는 상황에 따라 2가지 동작 중에서 어떤 선택을 할 수 있다는 점에서, 비결정적(Non - Deterministic)이다.
첫 번째 형태의 비결정적 동작은 입력을 사용하는 경우이다. 입력 부호에 따라서 스택의 꼭대기에 있는 부호 및 유한 제어의 상태에 따라서 몇 가지 선택들이 가능하다. 각각의 선택을 할 때마다 유한 제어의 상태가 바뀌어진다. 그리고, 스택의 꼭대기에 있는 부호를 어떤 부호들의 스트링(Empty 스트링이 될 수도 있다)으로 치환된다. 어떤 선택을 한 뒤에 입력 헤드는 한 부호 앞으로 전진한다.
두 번째 형태의 비결정적 동작은(ε-동작이라고 함) 입력 부호가 사용되지 않는 경우이다. 한 동작 다음에 입력 헤드가 앞으로 진행하지 않는다는 것을 제외하고는, 앞의 첫 번째 형태의 동작과 같다. 이 형태의 동작은 PDA가 입력 부호를 읽어 들이지 않고서도 스택을 취급하도록 하여준다. 또한, PDA에 의해서 수락되는언어의 정의는 2가지가 있다. 첫 번째 방법은 어떤 동작들의 순서가 스택을 완전히 비우는 경우, 그러한 입력들의 집합을 PDA에 의하여 수락되는 언어로 정의한다. 또한, 이러한 언어를 빈 스택(Empty Stack)에 의해 수락되는 언어로 생각한다. 두 번째 방법은 어떤 상태들을 최종 상태들로 정하여, 어떤 동작들을 택하여 PDA가 최종 상태에 돌입하도록 한다. 이 경우의 언어 역시 PDA에 의하여 수락하는 언어로 정의한다.
만약, 어떤 집합이 빈 스택의 PDA에 의해 수락되면, 이 집합은 최종 상태에 의한 다른 PDA에 의해서도 수락되며, 그 역도 성립한다. 따라서, 위와 같이 2가지 방법은 서로 같다.
도 2는 본 발명의 일 실시예에 따라 PDA를 이용한 한국어 자동 색인 방법의 전체 데이터 흐름을 개략적으로 나타낸 개념도로서, 본 발명을 구성하는 3 단계간의 데이터 흐름을 설명하고 있다.
첫 번째 단계에서 문서내의 문장을 인식하여 인식된 문장을 2 단계에 보낸다.
만약, 2 단계 처리 과정에서 인식된 문장에 오류가 발생하면 다시 에러 메시지를 상기 1 단계로 보내게 된다. 두 번째 단계에서는 인식된 문장에서 불용어 리스트에 등록된 불용어를 추출하여 임의의 문자로 치환하는 단계이다. 이와 같이 치환된 문장은 3 단계 처리로 넘겨지고, 상기 3 단계 처리에서 오류가 발생하면, 다시 에러 메시지를 상기 2 단계로 보낸다. 마지막으로 상기 3 단계에서는 불용어가 치환된 문장을 한 단위(PDA의 셀)씩 읽어들여, PDA 색인 엔진을 이용하여 색인어를 추출하고, 한 문장 처리가 끝나면, 다시 상기 1 단계 처리로 이동하여 전체 문서에서 색인어를 추출한다.
도 3은 본 발명의 일 실시예에 따른 PDA 색인 엔진의 전체 흐름도로서, 크게 5개 부분으로 구성되어 있다.
먼저, 스텝 S301에서, 불용어로 치환된 문장이 입력되면, 스텝 S302에서, 각각의 스택 및 변수, 즉, 색인 스택, 상태 스택, 심볼 스택 및 팝 변수를 초기화한 후, 스텝 S303에서, 한 문자씩 읽고, 스텝 S304에서, 입력 받은 문자가 일반 문자, 공백, 불용어, EOS(End Of Sentence)인지 여부를 판단한다.
상기 스텝 S304에서의 판단 결과에 따라 스텝 S305 내지 스텝 S308에서, 적절한 알고리즘을 수행하며, 공백 및 불용어인 경우에는 스텝 S309에서, POP 처리를 수행한 후, 상기 스텝 S303으로 복귀한다. 문자 처리 알고리즘을 수행한 후에도, 역시 마찬가지로, 상기 스텝 S303으로 복귀한다.
도 4는 도 3에 도시된 문자 처리 알고리즘을 상세히 나타낸 흐름도로서, 이를 상세히 설명하면, 다음과 같다.
먼저, 스텝 S401에서, 한 문자가 입력되면, 스텝 S402에서, 바로 이전에 입력된 단위를 의미하는 상태 스택을 확인한다.
상기 스텝 S402에서의 판단 결과, 상태가 1(바로 직전에 문자 입력)이면, 스텝 S403에서, 색인 스택에 현재 입력된 문자를, 심볼 스택에 문자를 의미하는 B를 저장(PUSH)한다.
상기 스텝 S402에서의 판단 결과, 상태가 2(바로 직전에 불용어 또는 공백 입력)이면, 상태 스택에 1을 추가로 저장한다.
이어서, 다음 단위를 읽기 위하여, 도 3의 A로 이동한다.
도 5는 도 3에 도시된 공백 처리 알고리즘을 상세히 나타낸 흐름도로서, 이를 상세히 설명하면 다음과 같다.
먼저, 스텝 S501에서, 공백(SPACE)이 입력되면, 스텝 S502에서, 상태 스택의 상태가 어떠한지를 판단한다.
상기 스텝 S502에서의 판단 결과, 상태 스택이 1(바로 전에 문자를 처리하였거나, 초기 상태)이면, 스텝 S503에서, 심볼 스택의 상태를 확인한다.
상기 스텝 S503에서의 확인 결과, 심볼 스택의 상태가 R이면, 문장의 시작을 의미하므로, 스텝 S504에서, 심볼 스택에 공백을 의미하는 G를, 색인 스택에 공백 및 상태 스택에 공백 처리를 의미하는 2를 저장(PUSH)한다. 그리고, 별도의 색인어 추출(POP)처리를 수행하지 않고, 다음 입력 단위(PDA 셀)를 처리하기 위하여 도 3의 분기 A로 이동한다.
한편, 상기 스텝 S503에서의 확인 결과, 심볼 스택이 B이면, 스텝 S505에서, 심볼 스택이 R일 때와 같이 3 개의 스택 처리(색인 스택, 상태 스택, 심볼 스택)를 수행한 후, 스텝 S506에서, POP 처리 모듈로 이동한다.
또한, 상기 스텝 S502에서의 판단 결과, 상태 스택이 2(바로 전에 공백 또는 불용어를 처리)이면, 스텝 S507에서, 공백을 색인 스택에 저장(PUSH)하고, 바로 다음 입력 단위(PDA셀)를 읽기 위하여 도 3의 분기 A로 처리를 넘긴다.
도 6은 도 3에 도시된 불용어 처리 알고리즘을 상세하게 나타낸 흐름도로서, 이를 상세히 설명하면, 다음과 같다.
먼저, 스텝 S601에서, 불용어가 입력되면, 스텝 S602에서, 상태 스택의 상태를 판단한다.
상기 스텝 S602에서의 판단 결과, 상태 스택이 1(바로 전에 문자 처리 또는 초기 상태)이면, 스텝 S603에서, 심볼 스택의 상태를 확인한다.
상기 스텝 S603에서의 확인 결과, 심볼 스택의 상태가 R이면, 문장의 시작을 의미하므로, 스텝 S604에서, 심볼 스택에 불용어를 의미하는 G를, 색인 스택에 불용어 및 상태 스택에 불용어 처리를 의미하는 2를 저장(PUSH)한 후, 별도의 색인어 추출(POP)처리를 수행하지 않고, 다음 입력 단위(PDA 셀)를 처리하기 위하여 도 3의 분기 A로 이동한다.
한편, 상기 스텝 S603에서의 확인 결과, 심볼 스택이 B이면, 스텝 S605에서, 심볼 스택이 R일 때와 같이, 3 개의 스택 처리를 하고, 스텝 S606에서, POP 처리 모듈로 이동한다.
또한, 상기 스텝 S602에서의 판단 결과, 상태 스택이 2(바로 전에 공백 또는 불용어를 처리)이면, 스텝 S607에서, 불용어를 색인 스택에 저장(PUSH)한 후, 다음입력 단위(PDA셀)를 읽기 위하여 도 3의 분기 A로 처리를 넘긴다.
도 7은 도 3에 도시된 POP 처리 알고리즘을 상세히 나타낸 흐름도로서, 이를 상세히 설명하면, 다음과 같다.
먼저, 스텝 S701에서, 색인 스택으로부터 색인어를 추출(POP)하기 위하여 준비 작업으로 색인 스택을 복사한 임시 스택을 만든다. 그 이유는 색인 스택으로부터 바로 추출하면, 복합 명사 및 합성 명사를 추출하기 위한 누적된 정보를 보관할 수 없으므로 임시로 복사된 스택을 만든다. 이러한 준비 작업이 완료되면, 스텝 S702에서, 임시 스택에서 1 단어, 2 단어 또는 3 단어로 구성된 색인어를 추출한다. 이어서, 스텝 S703에서, 추출된 색인어는 색인 파일에, 문서 정보 및 위치 정보는 문서 파일에 보관하여 향후 전문 검색에 활용한다.
이러한 방식으로 색인어 추출이 완료되면, 후속 작업으로, 스텝 S704 내지 스텝 S706에서, 팝(POP) 빈도를 기록하기 위하여 팝 빈도 변수에 회수를 누적시키고, 한글의 경우 대부분의 복합 명사 및 합성 명사가 3 단어 이하로 구성되기 때문에 팝 빈도 변수의 누적 숫자가 2 이상(즉 3번 POP)이면, 색인 스택을 비우고, 팝 빈도 변수도 0으로 초기화한다. 이러한 후속 작업이 완료되면, 다시 입력 단위(PDA 셀)을 읽기 위하여 도 3의 분기 A로 이동한다. 한편, 팝빈도의 누적 숫자가 2 이하이면, 바로 도 3의 분기 A로 처리 과정이 옮겨진다.
도 8은 도 3에 도시된 EOS(End Of Setence)처리 알고리즘을 상세히 나타낸흐름도로서, 이를 상세히 설명하면, 다음과 같다.
먼저, 스텝 S801에서, EOS가 입력되면, 스텝 S802에서, POP 처리를 위한 준비 작업으로 임시 스택에 복사를 하고, 스텝 S803에서, 임시 스택에서 색인어를 추출(POP)한다. 이어서, 스텝 S804에서, 추출된 색인어는 색인어 파일에 문서 번호와 위치 정보는 문서 파일에 저장하여 전문 검색(Full-Text retrieval)에 활용한다. 그리고, 스텝 S805 내지 스텝 S806에서, 색인어 추출 작업의 후속 작업으로 섹인 스택을 비우고(POP), 다음 문장을 읽기 위하여 1 단계 처리로 이동한다.
위에서 상술한 바와 같이 본 발명은 인터넷과 다양한 언어로 확장이 가능하다. 성능 평가에서는 실제 인터넷상의 문서화된 한국의 KTSET을 대상으로 단일 명사와 복합 명사의 색인 성능을 평가하고, 영어 문장을 제안하는 시스템에 적용하여 다른 언어로의 확장성과 음절 수에 관계없이 색인어를 성공적으로 추출하는 것을 알 수 있었다.
위에서 양호한 실시예에 근거하여 이 발명을 설명하였지만, 이러한 실시예는 이 발명을 제한하려는 것이 아니라 예시하려는 것이다. 이 발명이 속하는 분야의 숙련자에게는 이 발명의 기술 사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능함이 자명할 것이다. 그러므로, 이 발명의 보호 범위는 첨부된 청구 범위에 의해서만 한정될 것이며, 위와 같은 변화예나 변경예 또는 조절예를 모두 포함하는 것으로 해석되어야 할 것이다.
이상과 같이 본 발명에 의하면, 기존의 한국어 자동 색인법의 중요한 관심이었던 복합명사 처리, 복잡한 사전 지식과 색인법의 용이성, 합성어와 신조어의 색인, 인터넷으로의 확장성, 메모리의 낭비, 다른 언어로의 확장 등의 가능한 장점을 가지고 있다.
또한, 제안하는 색인법의 제 1 단계를 통해 불용어 리스트를 제거하므로, 자동 색인 시스템의 가장 큰 문제점인 불필요한 색인어 추출을 배제할 수 있다.
또한, 색인어 추출을 정형화된 기계를 이용하므로, 컴퓨터에 익숙하지 못한 사용자가 간편하게 이용할 수 있고, 다른 자연언어 처리나 정보 검색, 에이전트 등의 다양한 분야에 응용이 편리한 특징을 가진다.
또한, 색인어 "컴퓨터", "컴퓨터 바이러스"에서 알 수 있듯이 단일어를 색인어로 추출할 뿐 아니라 복합 명사의 색인도 가능하다.
또한, 불용어 리스트를 제거한 문장을 한번만 읽으므로, 색인 시간과 메모리를 절약할 수 있다. 또한, 현재 인터넷의 대부분인 하이퍼텍스트(HTML)문서에서 태그(tag)를 불용어 리스트에 포함하여 제 2 단계에서 임의의 문자로 치환을 통해서 색인 과정을 수행한다면, 인터넷으로 확장할 수 있다.

Claims (8)

  1. 문장의 자동 색인 방법에 있어서,
    문서 내의 문장을 인식하는 제 1 단계;
    상기 제 1 단계에서 인식된 문장에서 불용어 리스트에 등록된 불용어를 추출하여 임의의 문자로 치환하는 제 2 단계; 및
    상기 불용어가 치환된 문장을 한 단위씩 읽어 들여, PDA(Push Down Automata) 색인 엔진을 이용하여 색인어를 추출하고, 한 문장 처리가 끝나면, 상기 제 1 단계로 복귀하는 제 3 단계를 포함하고,
    상기 PDA의 스택(Stack) 구조는 상태 스택, 색인 스택 및 심볼 스택으로 나누어져 있는 것을 특징으로 하는 문장의 자동 색인 방법.
  2. 제 1 항에 있어서,
    상기 제 3 단계는,
    입력된 문자가 일반 문자, 공백, 불용어 및 EOS(End Of Sentence)인지를 구별하여 색인어를 추출하는 것을 특징으로 하는 문장의 자동 색인 방법.
  3. 제 2 항에 있어서,
    입력된 문자가 일반 문자이면, 바로 이전에 입력된 단위의 상태인 상태 스택을 판단하는 제 1 서브 단계;
    상기 제 1 서브 단계의 판단 결과, 상태 스택이 1(바로 직전에 문자 입력)이면, 색인 스택에 현재 입력된 문자를, 심볼 스택에 문자를 의미하는 'B'를 저장(Push)하는 제 2 서브 단계; 및
    상기 제 1 서브 단계의 판단 결과, 상태 스택이 2(바로 직전에 불용어 또는 공백 입력)이면, 색인 스택에 현재 입력된 문자를, 심볼 스택에 문자를 의미하는 'B'를, 상태 스택에 1을 저장하는 제 3 서브 단계;
    를 포함하여 이루어진 것을 특징으로 하는 문장의 자동 색인 방법.
  4. 제 2 항에 있어서,
    입력된 문자가 공백(Space) 문자이면, 바로 이전에 입력된 문자의 단위의 상태인 상태 스택을 판단하는 제 4 서브 단계;
    상기 제 4 서브 단계의 판단 결과, 상태 스택이 1(바로 직전에 일반 문자 입력 또는 초기 상태)이면, 심볼 스택의 상태를 확인하는 제 5 서브 단계;
    상기 제 5 서브 단계의 판단 결과, 심볼 스택이 'R'(문장의 시작을 의미)이면, 심볼 스택에 공백을 의미하는 'G'를, 색인 스택에 '공백' 및 상태 스택에 공백 처리를 의미하는 '2'를 저장(Push)한 후, POP 빈도를 기록하는 방법을 수행시키는 제 6 서브 단계;
    상기 제 5 서브 단계의 판단 결과, 심볼 스택이 'B'(문장의 중간임을 의미)이면, 심볼 스택에 공백을 의미하는 'G'를, 색인 스택에 '공백' 및 상태 스택에 공백 처리를 의미하는 '2'를 저장(Push)하는 제 7 서브 단계; 및
    상기 제 4 서브 단계의 판단 결과, 상태 스택이 2(바로 직전에 공백 또는 불용어 입력)이면, 공백을 색인 스택에 저장(Push)하는 제 8 서브 단계;
    를 포함하여 이루어진 것을 특징으로 하는 문장의 자동 색인 방법.
  5. 제 2 항에 있어서,
    입력된 문자가 불용어이면, 바로 이전에 입력된 문자의 단위의 상태인 상태 스택을 판단하는 제 9 서브 단계;
    상기 제 9 서브 단계의 판단 결과, 상태 스택이 1(바로 직전에 문자 입력 또는 초기 상태)이면, 심볼 스택의 상태를 확인하는 제 10 서브 단계;
    상기 제 10 서브 단계의 판단 결과, 심볼 스택이 'R'(문장의 시작을 의미)이면, 심볼 스택에 불용어를 의미하는 'G'를, 색인 스택에 '불용어' 및 상태 스택에 불용어 처리를 의미하는 2를 저장(Push)하는 제 11 서브 단계;
    상기 제 10 서브 단계의 판단 결과, 심볼 스택이 'B'(문장의 중간임을 의미)이면, 심볼 스택에 공백을 의미하는 'G'를, 색인 스택에 '공백' 및 상태 스택에 공백 처리를 의미하는 '2'를 저장(Push)한 후, POP 빈도를 기록하는 방법을 수행시키는 제 12 서브 단계; 및
    상기 제 9 서브 단계의 판단 결과, 상태 스택이 2(바로 직전에 공백 또는 불용어 입력)이면, 불용어를 색인 스택에 저장(Push)하는 제 13 서브 단계;
    를 포함하여 이루어진 것을 특징으로 하는 문장의 자동 색인 방법.
  6. 제 4 항 또는 제 5 항에 있어서,
    상기 POP 빈도를 기록하는 방법은,
    POP 빈도 변수에 회수를 누적시킨 후, 상기 POP 빈도 변수의 누적 숫자가 2 이상이면, 색인 스택을 비우고, POP 빈도 변수는 0으로 초기화하는 것을 특징으로 하는 문장의 자동 색인 방법.
  7. 제 2 항에 있어서,
    입력된 문자가 EOS이면, POP 처리를 위한 준비 작업으로 임시 스택에 복사하는 제 14 서브 단계;
    상기 임시 스택에서 색인어를 추출(POP)하는 제 15 서브 단계; 및
    추출된 색인어를 색인어 파일에, 문서 번호 및 위치 정보는 문서 파일에 각각 저장하는 제 16 서브 단계;
    를 포함하여 이루어진 것을 특징으로 하는 문장의 자동 색인 방법.
  8. 컴퓨터에,
    문서 내의 문장을 인식하는 제 1 단계;
    상기 제 1 단계에서 인식된 문장에서 불용어 리스트에 등록된 불용어를 추출하여 임의의 문자로 치환하는 제 2 단계; 및
    상기 불용어가 치환된 문장을 한 단위씩 읽어 들여, PDA(Push Down Automata) 색인 엔진을 이용하여 색인어를 추출하고, 한 문장 처리가 끝나면, 상기 제 1 단계로 복귀하는 제 3 단계를 포함하고,
    상기 PDA의 스택(Stack) 구조는 상태 스택, 색인 스택 및 심볼 스택으로 나누어져 있는 것을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR20000080992A 2000-12-23 2000-12-23 문장 자동 색인 방법 KR100404320B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20000080992A KR100404320B1 (ko) 2000-12-23 2000-12-23 문장 자동 색인 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20000080992A KR100404320B1 (ko) 2000-12-23 2000-12-23 문장 자동 색인 방법

Publications (2)

Publication Number Publication Date
KR20020051596A KR20020051596A (ko) 2002-06-29
KR100404320B1 true KR100404320B1 (ko) 2003-11-01

Family

ID=27685170

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20000080992A KR100404320B1 (ko) 2000-12-23 2000-12-23 문장 자동 색인 방법

Country Status (1)

Country Link
KR (1) KR100404320B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959012B2 (en) 2007-04-04 2015-02-17 Orville E. Easterly System and method for the automatic generation of patient-specific and grammatically correct electronic medical records
US20080249761A1 (en) * 2007-04-04 2008-10-09 Easterly Orville E System and method for the automatic generation of grammatically correct electronic medical records
KR100835706B1 (ko) * 2007-07-09 2008-06-05 한국과학기술정보연구원 자동 색인을 위한 한국어 형태소 분석 시스템 및 그 방법

Also Published As

Publication number Publication date
KR20020051596A (ko) 2002-06-29

Similar Documents

Publication Publication Date Title
Palmer Tokenisation and sentence segmentation
US6269189B1 (en) Finding selected character strings in text and providing information relating to the selected character strings
US6393389B1 (en) Using ranked translation choices to obtain sequences indicating meaning of multi-token expressions
US20100332217A1 (en) Method for text improvement via linguistic abstractions
JPH0351020B2 (ko)
CN100361124C (zh) 用于词分析的系统和方法
Thet et al. Word segmentation for the Myanmar language
Fung Extracting key terms from Chinese and Japanese texts
Stamatatos et al. A practical chunker for unrestricted text
Oakes et al. Bilingual text alignment-an overview
Arulmozhi et al. A hybrid pos tagger for a relatively free word order language
KR100404320B1 (ko) 문장 자동 색인 방법
Silberztein Text indexation with INTEX
CN113330430A (zh) 语句结构向量化装置、语句结构向量化方法及语句结构向量化程序
Rachidi et al. Arabic user search Query correction and expansion
Rateb et al. A critical survey on arabic named entity recognition and diacritization systems
Shamsfard et al. STeP-1: standard text preparation for Persian language
Khoufi et al. Chunking Arabic texts using conditional random fields
Purey et al. Language resources for Mongolian
KR20040018008A (ko) 품사 태깅 장치 및 태깅 방법
Ouersighni Robust rule-based approach in Arabic processing
Sedlácek et al. Automatic Processing of Czech Inflectional and Derivative Morphology
Eineborg et al. ILP in part-of-speech tagging—an overview
Megyesi Brill’s PoS tagger with extended lexical templates for Hungarian
Amri et al. Coupling an annotated corpus and a lexicon for amazigh POS tagging

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20091228

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee