KR20020023543A - Korean language stemmer for natural language searching system and stemming method thereof - Google Patents
Korean language stemmer for natural language searching system and stemming method thereof Download PDFInfo
- Publication number
- KR20020023543A KR20020023543A KR1020000055858A KR20000055858A KR20020023543A KR 20020023543 A KR20020023543 A KR 20020023543A KR 1020000055858 A KR1020000055858 A KR 1020000055858A KR 20000055858 A KR20000055858 A KR 20000055858A KR 20020023543 A KR20020023543 A KR 20020023543A
- Authority
- KR
- South Korea
- Prior art keywords
- rule
- processing
- word
- syllable
- natural language
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3335—Syntactic pre-processing, e.g. stopword elimination, stemming
Landscapes
- Engineering & Computer Science (AREA)
- Machine Translation (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
Description
본 발명은, 온라인/오프라인 정보검색시스템 및 웹 환경에서 자연언어 텍스트 데이터베이스에 대한 검색성능을 향상시키기 위해 정보검색시스템의 주요 모듈로 구현한 한글 스태머(Korean Language Stemmer), 및 그 스태밍 방법에 관한 것이다.The present invention relates to a Korean language stemmer implemented as a main module of an information retrieval system and to a method of stamming the same in order to improve retrieval performance of a natural language text database in an online / offline information retrieval system and a web environment. It is about.
자연어 검색 시스템에 있어서 색인 및 검색시에 발생하는 주요한 문제 중의 하나는, 텍스트 데이터베이스에서 동일한 의미를 전달하는 단어가 형태적 변이체(word variants)를 갖는다는 점이다. 일반적으로, 한국어에서 단어의 형태적 변이체는 단어가 구성되는 음운적(phonological) 조건과 형태적(morphological) 조건에 의해 생성된다.One of the major problems encountered in indexing and retrieval in natural language retrieval systems is that words carrying the same meaning in text databases have word variants. In general, morphological variants of words in Korean are generated by the phonological and morphological conditions under which words are composed.
본 스태머의 개발은, 텍스트의 변화를 가져오는 형태론적 조건을 고려하여 이루어졌다. 예컨대, 한국어에서 어간의 끝의 조건이나 어미 형태에 따라 도 11에 나타낸 바와 같이 동사의 규칙 또는 불규칙 활용, 명사의 준굴곡에 따라 다양한 변이체를 갖는다. 이것은, 검색시 질의어와 문헌의 색인어가 정확히 일치하지 않으면 적합한 레코드의 검색이 누락되어 재현수준의 저하를 초래한다.The development of this stammer takes account of the morphological conditions that bring about changes in the text. For example, as shown in FIG. 11 according to the condition of the tip of the stem and the form of the ending in Korean, it has various variants according to the rule or irregular utilization of verbs and the semi-flexion of nouns. This results in a drop in the reproducibility level due to a missing search for a suitable record if the query and the index of the document do not exactly match.
또, 문헌의 적합성 순위에 따른 순위화된 출력을 제공하는 정보검색시스템에 있어서는, 문헌레코드 상에 출현한 형태적 변이체를 검색시에 시스템에서 모두 고려하지 않으면, 출력순위에 영향을 미쳐 검색의 정확도를 현저히 저하시킨다. 사용자 인터페이스에서는, 전문용어에 대한 지식이 제한적인 사용자가 자연언어 질의어를 사용하여 검색하였을 때, 질의어로 사용되는 자연어 형태에 따라 검색결과에차이를 가져온다.In addition, in an information retrieval system that provides a ranked output according to the relevance ranking of documents, if the system does not consider all the morphological variants appearing in the document record, it affects the output ranking and the accuracy of the retrieval. Significantly lowers. In the user interface, when a user with limited knowledge of a terminology searches for a natural language using a query, a difference is made in the search result according to the form of the natural language used as the query.
이러한 문제를 해결하기 위해, 온라인 정보검색 시스템에서는 전형적으로 전문탐색자가 탐색식 작성시 탐색전략의 하나로 단어의 우측, 좌측, 양측 절단에 의한 탐색어를 질문식으로 작성하여 이를 탐색에서 사용하여 왔다. 그러나, 이 전략은 시스템에 의한 자동적 지원이 아닌 탐색자의 탐색 및 시스템 사용의 전문성이나 질문식 작성시에 사용하는 다양한 탐색전략에 따라 검색결과의 효과가 결정된다는 한계점을 갖는다.In order to solve this problem, in an online information retrieval system, a professional searcher has typically created a search word by using the right, left, and both sides of a word as a search strategy, and used it in the search. However, this strategy has a limitation in that the effectiveness of the search results is determined by the searcher's expertise in using the searcher's search and system usage, and the various search strategies used in writing the questionnaire.
상술한 바와 같이 통상의 정보검색 시스템에서는, 형태적 변이체를 갖고 출현하는 단어의 검색은 시스템의 색인어 매칭 알고리즘만으로는 해결되지 않는다.As described above, in the conventional information retrieval system, the retrieval of words appearing with morphological variants is not solved only by the index word matching algorithm of the system.
본 발명에서 기초로 하는 가정은, 한 단어에서 의미적으로 유용한 정보는 어간 또는 어근에 존재하고, 어미의 변화는 단지 문법적인 목적을 위해 변화된다는 점이다.The assumption based on the present invention is that the semantically useful information in a word is present in the stem or root, and the change of the ending is changed only for grammatical purposes.
본 발명은, 동일 어간의 변이체는 같은 의미를 전달하는 것으로 표층형태가 다른 한글 단어를 정보검색시스템에서 문헌에 대한 색인작성시, 탐색요구를 위해 자연어 형태의 질의어 작성시에 시스템이 자연어 텍스트 필드를 갖는 레코드와 사용자의 질의어에 대해 효과적으로 자동처리를 실행할 수 있는 한글 스태머 및 그 스태밍 방법을 제공하는 것을 목적으로 한다.According to the present invention, variants of the same language transmit the same meaning. When the Korean word with different surface types is indexed in a document in the information retrieval system, the system generates a natural language text field when creating a natural language type query for the search request. It is an object of the present invention to provide a Hangul stemmer and a method of stamming that can automatically execute an automatic process for a record and a user's query word.
한글 스태머에서 어미란 한글단어에서 체언의 곡용에 따라 접미사와 조사가 사용되는 경우와, 용언 활용에 의해 생성되는 어미를 포함한다. 본 발명에 의한한글 스태머는, 시스템에 구현된 다양한 사전, 규칙 및 알고리즘을 사용하여 어간의 의미를 유지하고 다양한 어미를 제거하는 모듈로 구현되어 시스템에서 스태밍된 색인어를 자연어 정보검색에 사용하여 그 검색효과를 현저히 향상시킨다.The term ending in Hangul stemmer includes a case in which a suffix and a survey are used according to a song's use in a Hangul word, and a ending generated by use of a verb. Hangul stammer according to the present invention is implemented as a module that maintains the meaning of the stem using the various dictionaries, rules and algorithms implemented in the system and removes various endings, using the indexed words stammed in the system for natural language information retrieval Significantly improve search effectiveness.
도 1은 본 발명에 따른 한글 스태머의 데이터흐름도,1 is a data flow diagram of the Hangul stemmer according to the present invention,
도 2는 규칙테이블1의 구성예를 나타낸 도면,2 is a diagram showing an example of the configuration of rule table 1;
도 3은 규칙테이블2의 구성예를 나타낸 도면,3 is a diagram showing an example of the configuration of rule table 2;
도 4는 규칙테이블3의 구성예를 나타낸 도면,4 is a diagram showing an example of the configuration of the rule table 3;
도 5는 규칙테이블4의 구성예를 나타낸 도면,5 is a diagram showing an example of the configuration of rule table 4;
도 6은 어간사전의 구성예를 나타낸 도면,6 is a view showing a configuration example of a stem dictionary;
도 7은 어미파일의 구성예를 나타낸 도면,7 is a view showing a configuration example of a mother file;
도 8은 도 2의 규칙테이블1의 '도' 섹션의 예를 나타낸 도면,8 is a view showing an example of a 'degree' section of the rule table 1 of FIG.
도 9는 확장스태밍 1단계의 다시 쓰기 단계까지 진행한 후, 종료처리된 단어의 예를 나타낸 도면,9 is a view showing an example of a word that is terminated after proceeding to the rewriting step of the extended stemming step 1;
도 10은 본 발명에 따른 한글 스태머의 스태밍 알고리즘을 구체적으로 나타낸 도면,10 is a view showing in detail the stemming algorithm of the Hangul stemmer according to the present invention;
도 11은 일반적인 형태적 변이체를 설명하기 위한 도면이다.11 is a diagram for explaining a general morphological variant.
상기 목적을 달성하기 위해 본 발명에 따른 한글 스태밍 방법은, 자연어 한글 단어에 대한 스태밍을 하기 위해서 소정 종류의 문맥의존 규칙테이블을 설계하는 단계와, 상기 테이블을 시스템에서 순환적으로 호출하여 프로시쥬어에서 적용하는 단계를 구비하여 이루어진 것을 특징으로 한다.In order to achieve the above object, the Hangul stemming method according to the present invention comprises the steps of designing a predetermined kind of context-dependent rule table for stamming a natural language Hangul word, and calling the table recursively in the system. Characterized in that it comprises a step of applying in.
또, 상기의 한글 스태밍 방법에 있어서, 다양한 불규칙 활용에 대한 처리를 위해서 어간사전 및 어미파일을 준비하는 단계를 더 구비하고, 조건에 따라 하나 이상의 매칭 방법을 적용하는 것을 특징으로 한다.In the Hangul stemming method, the method may further include preparing a stem dictionary and a mother file for processing various irregular applications, and applying one or more matching methods according to conditions.
상기 매칭 방법은, 완전 매칭과 부분 매칭의 적어도 한쪽이다.The matching method is at least one of complete matching and partial matching.
더욱이, 본 발명에 따른 한글 스태머는, 한글의 색인어 처리대상을 최소어간 길이 규칙을 적용하여 처리하는 처리수단과, 이 처리수단에 의해 처리된 색인어 처리대상을 현재 처리되어야 할 자연어 음절조건에 따라 소정의 규칙을 적용하여 처리하는 스태밍 수단을 구비하여 구성된 것을 특징으로 한다.Furthermore, the Hangul stemmer according to the present invention is characterized in that the processing means for processing the index word processing target of Hangul by applying the minimum length rule, and the index word processing target processed by the processing means according to the natural language syllable conditions to be processed currently It is characterized in that it is provided with a streaming means for processing by applying the rule of.
또, 상기의 한글 스태머에 있어서, 한글의 색인어 처리대상은 체언과 용언을 포함한다.In addition, in the Hangul stemmer described above, the index word processing target of Hangul includes a message and a verb.
또, 상기 처리수단에서 적용하는 최소어간 길이 규칙이 고정어간 길이 규칙이고, 상기 스태밍 수단에서 적용하는 규칙이 문맥의존 어간길이 규칙이다.The minimum stem length rule applied by the processing means is a fixed stem length rule, and the rule applied by the stemming means is a context-dependent stem length rule.
(실시예)(Example)
본 발명의 실시예의 설명에 앞서, 본 발명이 청구하는 알고리즘에 포함되지는 않지만, 본 발명에 따른 스태머를 구동하기 전에 실행되는 불용어 제거루틴에 대해 참고적으로 설명하기로 한다.Prior to the description of the embodiments of the present invention, the terminology removing routine, which is not included in the algorithm claimed by the present invention, is executed by reference before the driving of the stammer according to the present invention.
불용어 제거루틴은, 본 발명의 알고리즘을 실행하기 전에 데이터베이스 탐색시에 적합한 정보를 검색하는데 유용하지 않을 것으로 시스템에서 예측된 단어 및 그 활용형태로 구성된 불용어 파일을 사용하여 본 발명에 따른 스태머를 구동하기 전에 질의어와 데이터베이스에서 제거하는 프로시쥬어이다. 이를 위해, 불용어 파일을 개발하고, 불용어 제거 프로그램을 작성하며, 불용어 제거 프로시쥬어를 호출하면 불용어 파일과 현재의 단어와를 비교하여 완전 매칭이 이루어진 단어를 삭제하는 알고리즘으로 구현되어 있다.Terminology elimination routines use the terminology file consisting of words and usage forms that are predicted by the system to be useful for retrieving suitable information in database searches before executing the algorithm of the present invention to drive the stemmer according to the present invention. It is a procedure to remove from query and database before executing. To do this, an algorithm for developing a stopword file, creating a stopword removal program, and calling a stopword removal procedure is implemented by an algorithm that compares the stopword file with the current word and deletes a word that has been completely matched.
불용어 사전에 포함될 수 있는 후보 불용어의 수집을 위해 다음과 같은 정보원을 사용했다. 즉,The following sources were used to collect candidate stopwords that could be included in the stopwords dictionary. In other words,
. 한글 문장의 부속성분에 속한 단어그룹. Word groups belonging to the subcomponents of Korean sentences
. 한국어 역순 사전에 수록된 해당 품사그룹에 포함된 단어그룹. Word groups included in the part-of-speech group listed in the Korean reverse order dictionary
. 기존 시스템의 불용어 파일의 참조. References to stopword files on existing systems
. 실험문헌 집단으로부터 추출된 후보 불용어. Candidate stopwords extracted from experimental literature population
상기의 정보원으로부터 각 파일로 수집된 후보 불용어에서 중복 단어를 제외하고, 곡용 및 활용어미를 갖는 단어에 대해서는 각 용어에 포함되는 굴절형태를 모두 작성하여 최종적인 불용어 사전을 구성했다.Except for duplicate words from candidate stop words collected in each file from the above information sources, all the refractive forms included in each term were composed for the words with songs and utilization endings to form a final stop word dictionary.
또, 후보 불용어 리스트로부터 최종 불용어로 선택하기 위해서, 다음과 같은 기준을 사용했다. 즉,In addition, in order to select the last stopword from the candidate stopword list, the following criteria were used. In other words,
. 한글 문장의 부속성분에 속하는 부사, 관형사로서 무의미어: 어느, 저 등,. Adverbs belonging to the components of the Hangul sentence, as adjectives, meaningless meanings: which, that, etc.,
. 수사, 지정사, 보조동사, 대명사에 속한 단어: 하나, 없다, 아니하다, 그것이 등,. Investigative, noun, auxiliary, and pronoun words: one, none, no, it is, etc.
. 한글 문장의 주성분에 속한 품사영역의 단어이나, 주제어로서 유용성이 낮은 단어: 어르신, 여짭다, 저쑵다, 조렇다 등.. Words in the part-of-speech area that belong to the main components of Hangul sentences or words that are not useful as the main words: elderly, young, low, young, etc.
반면에, 문헌집단에서 낮은 출현빈도를 보이고 주제어로서의 의미가 적은 단어로서 다음과 같은 단어가 후보 불용어로서 고려될 수 있으나, 일반적인 이용목적의 불용어 사전을 위해 다음과 같은 단어는 불용어 사전에 포함시키지 않았다. 즉,On the other hand, the following words may be considered as candidate stopwords with low occurrence frequency and low meaning as a subject in the document group. However, the following words are not included in the stopword dictionary for general purpose stopwords. . In other words,
. 의미의 섬세한 변조나 표현방식에 따라 결정되는 단어유형: 뽀얗다, 보얗. Word types determined by subtle modulations or expressions of meaning: white, white
다, 하얗다, 새하얗다, 길다, 기다랗다 등,White, white, long, long, etc.
. 사물이나 사람의 움직임 강세에 따른 다양한 표현의 단어유형: 끌어안다,. Word types of various expressions according to the movement of objects or people:
얼싸안다 등,I embrace you,
. 한글문헌의 실험 결과, 한국어 문장에는 한국어 표기에 의한 다수의 한자어가 사용되고 있음을 나타내었고, 이들 중에는 다음의 예에서 보인 바와 같이 다수의 동음이의어가 포함되어 있다. 예컨대, 적(enemy: noun), 적(non content-bearing: suffix); 성(sex: noun), 성(non content-bearing: suffix); 때(time: noun), 때(dirt: noun); 안(inner side: noun), 안(knew: verb) 등이다. 이러한유형의 단어는 불용어 사전에 포함시키지 않았다.. As a result of the experiment of the Korean literature, it was shown that a large number of Chinese characters by Korean notation are used in the Korean sentence, and among them, a plurality of homonyms are included as shown in the following example. For example, enemy (noun), non content-bearing (suffix); Sex (noun), non content-bearing (suffix); When: time: noun; time: noun; Inner side: noun, knew: verb, etc. Words of this type are not included in the stopwords dictionary.
결과적으로, 총 2,469개의 단어로 구성된 최종 불용어사전을 구성했고, 이 사전은 스태밍 알고리즘에서 분석대상 단어그룹으로부터 불용어 후보를 제외하는 루틴에서 사용된다.As a result, a final stopword dictionary consisting of a total of 2,469 words was constructed, which is used in routines to exclude stopword candidates from the group of words to be analyzed in the stemming algorithm.
이하, 예시도면을 참조하여 본 발명의 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명에 따른 한글 스태머는, 1차 처리단계와 2차 처리단계인 확장 스태밍 단계로 구성되어 있다. 입력된 텍스트의 형태론적 표층형태의 규칙 또는 불규칙성에 따라 1차 처리과정만 거친 후에 처리된 결과의 음절을 검색엔진에서 사용할 수 있고, 입력단어가 형태가 복잡한 활용형태인 경우 한글 스태머가 구현한 모든 하부 프로시쥬어를 모두 거친 후에 최종 결과로서의 문자열이 생성되어 검색엔진에서 사용할 수 있다.The Hangul stemmer according to the present invention is composed of an extended stemming step, which is a first processing step and a second processing step. According to the rules or irregularities of the morphological surface form of the input text, the syllable of the processed result can be used in the search engine after only the first processing process. After going through the subprocedures, the final string is generated and can be used by the search engine.
본 발명의 상세한 처리과정은 다음과 같다.Detailed processing of the present invention is as follows.
먼저, 자연어 형태의 문자열이 시스템에 입력되면, 입력된 단어가 불용어인지를 체크하기 위해 불용어 제거루틴이 불용어 파일을 사용하여 불용어를 삭제한다. 그리고, 불용어 제거루틴이 실행되고 남은 음절에 대해 한글 스태머의 처리단계가 진행된다.First, when a natural language string is input to the system, the stopword removing routine uses the stopword file to delete the stopword to check whether the input word is a stopword. Then, the stop word processing routine is executed and the Hangul stammer processing step is performed on the remaining syllables.
1차 처리단계는, 기본적인 어미 제거루틴으로 규칙테이블1에서 어미가 매칭되면, 고정어간 길이조건을 만족하는 경우에 한하여 규칙테이블1에서 매칭된 규칙이 적용된다. 규칙테이블1을 구성하는 각 규칙은 역순형태의 어미, 제거대상 음절, 규칙테이블2의 활성화, 규칙 적용의 순환적(iterative) 진행 또는 작업종료 등을 나타내는 요소로 코드화되어 있다. 1차 처리단계에서 규칙테이블1의 적용단계가 종료하면, 문맥의존적 처리단계로서 규칙테이블2의 적용단계로 진행된다. 규칙테이블2 의 활성화는, 최초처리 단계에서 어미제거후 남은 어간이 시스템에서 정의한 조건, 즉 축약, 불규칙활용, 어간과 어미간에 또는 용언과 체언간에 음절의 표층형태가 동일한 경우 중 하나에 해당되는 경우로 규칙테이블2를 적용하여 과잉 스태밍 또는 과소 스태밍 결과가 초래되지 않도록 처리된다.In the first processing step, if the ending is matched in rule table 1 with a basic ending elimination routine, the rule matched in rule table 1 is applied only when the length condition between fixed words is satisfied. Each rule constituting the rule table 1 is coded with elements indicating the ending order of syllables, the syllable to be removed, the activation of the rule table 2, the iterative progression of the rule application, or the end of work. When the applying step of the rule table 1 is finished in the primary processing step, the processing proceeds to the applying step of the rule table 2 as the context-dependent processing step. Activation of Rule Table 2 corresponds to one of the conditions defined by the system after the removal of the mother in the initial processing stage, namely abbreviation, irregular use, between the stem and the mother, or between the words and verbs. By applying rule table 2, the processing is performed so as not to result in over stemming or under stemming.
1차 처리단계에 의한 결과음절의 표층형태에 따라 한글 스태머는 확장 스태밍 단계로 진행된다. 확장 스태밍 단계는, 보다 복잡한 처리과정을 요하는 자연어 텍스트에 대해 시스템 알고리즘으로 구현된 조건의 체크와, 시스템에 구축된 다양한 사전의 조회, 다시 쓰기 규칙 등이 적용되어 정확한 스태밍 처리결과의 문자열을 생성한다. 확장 스태밍 단계에서는, 첫번째 단계로서 문맥의존적 최소어간 조건을 체크하여 시스템에서 정의된 다음의 3가지 경우중에 현재의 입력음절이 해당하는 루틴으로 진행한다.According to the surface layer of the result syllable by the first processing step, the Hangul stammer proceeds to the extended stamming step. The extended stemming step is based on the checking of the condition implemented by the system algorithm for the natural language text which requires more complicated processing, the querying of various dictionaries built in the system, the rewriting rules, etc. Create In the extended stemming phase, the first phase checks the context-dependent minimum stem condition and proceeds to the routine corresponding to the current input syllable among the following three cases defined in the system.
입력음절이 1음절인 경우는, 규칙테이블3과의 매칭을 행한 후, 매칭된 규칙을 적용하여 결과를 찾아낸다. 반면에, 규칙이 탐색되지 않은 경우는, 시스템은 최종 처리결과로 현재의 입력음절을 출력하고, 작업을 종료한다.If the input syllable is one syllable, matching is performed with the rule table 3, and then the matched rule is applied to find the result. On the other hand, if no rule is found, the system outputs the current input syllable as the final processing result and ends the operation.
기억장소에 있는 음절이 2음절인 경우는, 처리의 순서는 어간사전과의 매칭, 어미파일과 규칙테이블4와의 완전매칭, 규칙테이블5와의 매칭의 순서로 해당 조건에 만족되는 규칙을 적용하여 처리된다.If the syllables in the storage place are two syllables, the order of processing is to apply the rule that satisfies the conditions in the order of matching with the dictionary of the dictionary, complete matching of the mother file and the rule table 4, and matching with the rule table 5. do.
1차 처리루틴을 거친 후의 음절이 3음절 이상의 경우는, 현 문자열에서 1음절이 증가된 음절수에 해당하는 엔트리를 어간사전에서 부분 매칭기법을 이용하여 탐색을 진행한다. 부분 매칭이 된 엔트리가 탐색되면 현재 매칭된 엔트리에서 마지막 음절을 제외한 엔트리를 최종결과로서 출력하고, 부분 매칭에 실패하면 시스템은 현재의 단어를 최종결과로서 출력하게 된다.If the syllable after the first processing routine is 3 syllables or more, the entry corresponding to the number of syllables increased by one syllable in the current string is searched using a partial matching technique in the stem dictionary. If a partial match is found, the current matching entry is output as the final result except the last syllable. If the partial matching fails, the system outputs the current word as the final result.
다음에는 도 1을 참조하여 상술한 사용자 자연어 질의어 처리과정을 구체적인 예를 들어 상세히 설명하기로 한다.Next, the above-described user natural language query processing will be described in detail with reference to FIG. 1.
본 발명의 스태머가 구현된 시스템에서 검색결과가 출력되기 까지의 질의어처리, 데이터베이스 텍스트 처리, 질의어에 대한 데이터베이스 탐색결과의 과정을 요약하면 다음과 같다.The process of query processing, database text processing, and database search results for query terms until the search results are output in the system of which the presenter is implemented are as follows.
<질의어의 처리><Processing of question>
단계step 결과result
<최초질의어> ‘멀티미디어나 하이퍼미디어의 개발에 관한, 또는 하이<First Query> ‘About the development of multimedia or hypermedia, or high
퍼텍스트 저작을 위한 저작도구에 관한 연구는'Research on authoring tools for pertext authoring
<불용어 제거> 멀티미디어나 하이퍼미디어의 개발에 하이퍼텍스트Removing stopwords Hypertext in the development of multimedia or hypermedia
저작을 저작도구에To the authoring tool
<1차처리><Primary treatment>
R1 멀티미디어나 하이퍼미디어에 개발에R1 for multimedia and multimedia development
하이퍼텍스트 저작을 저작도구에Hypertext authoring to authoring
R2 멀티미디 하이퍼미디 개발 하이퍼텍스트 저작R2 Multimedia Hypermedia Development Hypertext Authoring
저작도구Authoring tool
<2차처리><Secondary processing>
멀티미디 하이퍼미디 개발 하이퍼텍스트 저작 저작도구Multimedia hypermedia development hypertext authoring tool
<데이터베이스상의 다양한 레코드의 처리><Processing of Various Records in Database>
스태밍전(before stemming)Before stemming 스태밍후(after stemming)After stemming
멀티미디어에서 멀티미디Multimedia in Multimedia
멀티미디아도Multimedia
멀티미디어에In multimedia
멀티미디어인Multimedia
하이퍼미디어로 하이퍼미디Hypermedia with Hypermedia
하이퍼미디어가Hypermedia
하이퍼미디어의Hypermedia
하이퍼미디어로With hypermedia
하이퍼미디어는Hypermedia is
하이퍼미디어보다Than hypermedia
하이퍼미디어를Hypermedia
개발도 개발Development
개발하기Develop
개발하여Developed
개발하였고Developed
개발하였는데Developed
개발하였다Developed
개발이지만Development
개발된Developed
개발은Development
하이퍼텍스트에서만은 하이퍼텍스트Hypertext only in Hypertext
하이퍼텍스트로In hypertext
하이퍼텍스트들간의Between hypertexts
하이퍼텍스트로서As hypertext
저작면에서 저작Copyrighted
저작용Action
저작하기에To author
저작임을Copyright
저작하기도Authoring
저작도구상의 저작도구Authoring Tools on Authoring Tools
저작도구까지To authoring tool
저작도구를Authoring tool
저작도구조차도Even the authoring tool
저작도구들을Authoring tools
데이터베이스 탐색엔진의 구동시에, 접근할 데이터베이스의 각 텍스트 데이터 레코드는 불용어가 제외되고, 자연어 형태의 각 음절이 문장에서의 활용, 곡용을 위해 사용되었던 어미, 접미사, 조사 부분이 모두 처리되어 단어의 핵심의미만을 전달하는 어간으로서 저장되어 압축된 텍스트 데이터베이스를 구축한다.When the database search engine is running, each text data record in the database to be accessed excludes stop words, and each syllable in natural language form is processed in sentences, endings, suffixes, and search parts used for song processing. Construct a compressed text database stored as a stem that conveys only meaning.
한편, 질의어와 데이터베이스와의 매칭처리는 다음과 같이 이루어진다.On the other hand, the matching process between the query and the database is performed as follows.
시스템 탐색시에, 사용자는 탐색시스템에서 지원하는 검색논리(예컨대, 불리언 논리)나 용어에 대한 탐색전략을 잘 알고 있지 못하더라도, 사용자가 일상생활에서 사용하는 형태의 자연어 탐색문을 입력하면, 이에 대해 시스템은 데이터베이스처리시 본 알고리즘에 의한 순환적 처리과정을 거쳐 사용자의 질의어 문장을 각 탐색어의 어간으로 구성된 문자열로 생성한다.When searching the system, even if the user is not familiar with the search logic (e.g., Boolean logic) or search strategy supported by the search system, the user inputs a natural language search sentence that is used in everyday life. In case of database processing, the system generates the user's query sentence as a string consisting of the stem of each search word through the recursive processing by this algorithm.
검색 프로시쥬어는, 질의어의 문자열에 일치하는 레코드를 데이터베이스로부터 매칭하여, 시스템에서 채택한 검색알고리즘을 사용하여 사용자가 가장 만족할 것으로 시스템이 예측하는 순서대로 검색된 결과집합을 출력한다.The search procedure matches records from the database that match the query string, and outputs the searched result sets in the order that the system predicts that the user will be most satisfied using the search algorithm adopted by the system.
이상의 설명은, 도 1에 의거 본 발명의 스태머의 동작을 상세히 설명하기 위해 실질적으로 이용가능한 질의어 ‘멀티미디어나 하이퍼미디어의 개발에 관한, 또는 하이퍼텍스트 저작을 위한 저작도구에 관한 연구는’에 대한 검색 예를 보인 것이다.The above description is based on FIG. 1 for the query "substantially available for the development of multimedia or hypermedia or for authoring tools for hypertext authoring" which can be used to describe the operation of the stammer of the present invention in detail. Here is an example search.
여기서, 예로 든 해당 질의어내에는 2차 처리의 3.2 단계까지 진행을 필요로 하는 단어가 포함되어 있지 않으므로, 2차 처리의 3.1 단계에서 ‘어간 사전’조회를 통하여 단어를 처리한 후, 이것이 최종형태이므로 이어서 검색프로시쥬어(<질의어와 데이터베이스와의 매칭>)로 진행하는 것을 기술한 것이다.Here, the example query does not include words that need to proceed to step 3.2 of the secondary processing. Therefore, after processing the word through the 'stem dictionary' query in step 3.1 of the secondary processing, this is the final form. Therefore, the process proceeds to a search procedure (<matching query and database>).
도 1에는 <데이터베이스 상의 다양한 레코드의 처리>가 없지만, 이 부분이 포함된 것은 본 발명의 알고리즘은 질의어의 텍스트를 처리할 뿐만 아니라 데이터베이스의 텍스트 레코드에 대한 처리를 진행하고, 처리된 질의어와 처리된 텍스트 데이터베이스와의 매칭을 통하여 최종 검색결과가 시스템으로부터 출력되기 때문이다.Although there is no <processing of various records in the database> in FIG. 1, this part includes that the algorithm of the present invention not only processes the text of the query, but also processes the text records of the database, and processes the processed query and the processed query. This is because the final search result is output from the system by matching with the text database.
다음에는 도 2∼도 5를 참조하여 규칙테이블1∼4의 구성예에 대해 설명한다.Next, a configuration example of the rules tables 1 to 4 will be described with reference to FIGS. 2 to 5.
규칙테이블1:Rule Table 1:
규칙테이블1에 있어서, 각 규칙은 다음의 4가지 요소로 구성되고, 그 예는 도 2에 나타낸 바와 같다.In Rule Table 1, each rule is composed of the following four elements, an example of which is shown in FIG.
- 체언의 곡용 또는 용언의 활용시 어간에 부가되는 어미로서 어미사전에 수록된 음절의 역순형태의 어미;-The mother of syllables in the reverse order of syllables listed in the mother dictionary, which is added to the stem when the chant is used or when the word is used;
- 선택적으로 채택된 심볼 ‘>>’로서, 본 발명을 위해 조사된 98가지의 경우에 해당하는 어미에 한하여 부가되어 규칙테이블2의 활성화로 진행;-Optionally adopted symbol '>>', added to the end of the 98 cases investigated for the present invention and proceeding to activation of rule table 2;
- 제거할 어미의 음절수를 나타내는 0에서 9까지의 숫자;A number from 0 to 9 representing the number of syllables of the ending to be removed;
- 조건을 만족하는 경우에 한하여 규칙의 순환적 적용을 나타내는 심볼 ‘>’;The symbol '>' indicating a cyclical application of the rule only if the condition is met;
예1) 도라이지4>까>>Example 1) Pray 4
시스템에 입력되어 앞에서부터 순차적으로 읽은 음절이 R1 파일을 탐색하여 찾은 규칙에서 음절의 형태인 ‘도라이지까’와 완전히 일치하면, 처음부터 4음절 [8바이트(byte)]을 삭제하고, R2 파일을 활성화하여 R2 파일에서 ‘까’로 시작하는 규칙을 탐색하라.If the syllables entered from the system and read sequentially from the previous one match the syllable type 'Toraijika' in the rule found by searching the R1 file, the four syllables [8 bytes] are deleted from the beginning, and the R2 file Activate to search for rules that begin with a 'to' in R2 files.
예2) 도라이테한5>Example 2) Doraitehan 5>
입력된 단어의 음절이 R1에서 탐색된 규칙 ‘도라이테한’과 완전히 일치하면, 처음부터 5음절을 삭제한 후, 다시 R1을 활성화하여 삭제되고 남은 음절의 첫 음절과 R1과의 매칭을 계속하라.If the syllable of the entered word matches the rule 'Doritehan' found in R1, delete 5 syllables from the beginning, then activate R1 again and continue matching the first syllable of the remaining syllables with R1. .
규칙테이블2:Rule Table 2:
규칙테이블2에 있어서, 각 규칙은 다음의 5가지의 요소로 구성되고, 해당 규칙이 매칭되면, 규칙에서 지시한 조건을 체크한 후, 규칙에서 정의한 액션(action)이 해당 프로시쥬어에서 진행된다. 규칙테이블2의 예는 도 5에 나타낸 바와 같다.In Rule Table 2, each rule consists of the following five elements. If the rule is matched, the rule indicated by the rule is checked, and then the action defined by the rule is performed in the procedure. An example of the rule table 2 is as shown in FIG.
- 역순형태의 어미 또는 어미와 어간의 축약형태;-Mother in the reverse order or abbreviation between mother and fish;
- 제거할 어미의 음절수를 나타내는 0에서 9까지의 숫자;A number from 0 to 9 representing the number of syllables of the ending to be removed;
- 어미 또는 축약형 어미의 첫음절 바로 앞의 음절수를 나타내는 심볼 ‘~’와 ‘!’;-The symbols ‘~’ and ‘!’ Representing the number of syllables immediately before the first syllable of the ending or abbreviated ending;
- 규칙테이블의 다른 규칙 적용의 계속 또는 종료를 지시하는 심볼 ‘>’,‘>>’ 및 ‘.’;The symbols '>', '>>' and '.' Indicating the continuation or termination of the application of other rules in the rules table;
- 어미제거 후 대체해야 할 하나 이상의 음절-One or more syllables to be replaced after removing the ending
예1) 라!1>Example 1) LA!
1차 처리에서 넘어온 단어의 음절중 첫음절이 ‘라’로 시작하고, ‘라’앞의 음절을 읽어 1음절(2byte) 이상인 조건을 만족하면, 현재 읽은 어절의 순차적 첫음절에 해당하는 ‘라’를 삭제하고, R1을 활성화하여 매칭을 계속하라.If the first syllable among the syllables of the word passed in the first process starts with 'la' and read the syllable before 'la' and satisfies the condition of 1 syllable (2 bytes) or more, 'la' corresponding to the first syllable of the currently read syllable Delete 'and activate R1 to continue matching.
예2) 시~0.Example 2) Hours ~ 0.
1차 처리에서 넘어온 단어 어절의 첫음절이 ‘시’와 일치하고, ‘시’음절 앞에 음절이 없으면, 현재 읽은 음절을 그대로 읽어 임시 기억장소에 저장하라.If the first syllable of the word syllable passed in the first step matches the poem and there are no syllables before the poem syllable, read the syllable as it is and store it in the temporary memory.
규칙테이블3:Rule Table 3:
이 규칙테이블은, 한국어에서 체언 및 용언이 단음절의 어간을 갖는 어절을 한국어 사전 및 형태론에 관한 저서/보고서 등에서 설명되고 있는 이들의 규칙성과 불규칙성을 조사하여 하나의 텍스트 파일로 포맷한 것이다. 이는 본 발명에 따른 스태머가 과소스태밍, 즉 삭제할 음절이나 철자가 남아 있는 채로 종료하는 오류를 가질 확률을 최소화하기 위해 설계된 것이다. 본 파일은 총 716음절의 한국어 단음절 어간으로 구성되어 있다.This rule table is a form of a text file that examines the regularity and irregularities of words in which Korean words and verbs have single syllable stems, which are described in books and reports on Korean dictionary and morphology. This is designed to minimize the probability that the stemmer according to the present invention will have an over-source tampering, ie, an error ending with a syllable or spell to be deleted. This file consists of 716 syllable Korean monosyllable stems.
예) 헌1헐.Ex) Hull 1 hull.
2차 처리단계(확장 스태밍)로 들어온 단어 어절의 첫음절이 ‘헌’과 일치하면, 읽은 현재의 음절 ‘헌’을 ‘헐’로 변환하여 임시 기억장소에 저장하고, 현재의 프로시쥬어를 종료하라.If the first syllable of the word syllable that enters the secondary processing stage (extended stemming) matches 'Hun', the read syllable 'Hun' is converted to 'Hull' and stored in temporary storage, and the current procedure is terminated. do it.
규칙테이블4:Rule Table 4:
이 규칙테이블은, 한국어에서 서로 의미가 다른 어간(예컨대, 풀 solve; 푸 draw)을 갖는 어절임에도 불구하고, 어간이 어미나 접미사를 만날 때 그 활용 형태가 동일한 표층형태를 갖거나(예컨대, 풀 will solve ; 풀 will draw) 또는 어미에 따라 구별되는 형태를 갖는 경우가 발생한다(예컨대, 풀어서 solve and; 퍼서 draw and). 또는, 단어의 클래스가 전혀 달라(예컨대, 체언, 용언), 용언은 활용형태를 갖는 반면, 체언은 그 형태가 활용되지 않는 경우가 있다(풀 will draw; 풀 a gum).Although the rules table is a word that has stems with different meanings (eg, pool solve; fu draw) in Korean, when the stem meets the ending or suffix, the rules have the same surface type (eg, pool). There will be cases in which forms will be solved according to will solve; full will draw) or ending (e.g., solve and parser draw and solve). Alternatively, the class of words is completely different (eg, verses, idioms), where a verb has a form of use, while a verse does not utilize that form (full will draw; pool a gum).
예1) 러누1렇Example 1) Runu 1
2차 처리단계로 들어온 단어 어절을 순차적으로 읽어 첫 2음절(4byte)이 ‘러누’와 일치하면, 첫 2바이트에 해당하는 문자열만을 ‘렇’으로 변환한 후, 전체 음절(4byte)을 기억장소에 저장하고, 처리루틴을 종료하라.If the first two syllables (4bytes) match 'Lunu' after reading the word phrases entered into the secondary processing step sequentially, convert only the string corresponding to the first two bytes into 'Hae' and store the whole syllables (4bytes) Save it and exit the processing routine.
예2) 러슬2르스Example 2) Russel 2 Luth
2차 처리단계로 들어온 단어 어절을 순차적으로 읽어 첫 2음절(4byte)이 ‘러슬’과 일치하면, 읽은 모든 문자열(4byte)을 ‘르스’로 변환한 후, 이 어절(4byte)을 기억장소에 저장하고, 처리루틴을 종료하라.If the first two syllables (4bytes) match the 'Russle' after reading the word phrases entered into the secondary processing step sequentially, all the read strings (4bytes) are converted to 'Less', and the words (4bytes) are stored in the memory. Save and exit the processing routine.
다음에는 도 7 및 도 8을 참조하여 어간사전 및 어미파일의 구성에 대해 설명한다.Next, the structure of the stem dictionary and the mother file will be described with reference to FIGS. 7 and 8.
먼저, 어간사전에 대해 설명한다.First, the stem dictionary is described.
이 어간사전은, 어간이 2음절 이상이 되는 단어가 전단계의 처리과정에서 과대스태밍, 즉 삭제해서는 안될 음절이 초과 삭제처리된 경우의 보완을 위해서, 또한 체언이 용언과 동일한 음절을 갖음으로써 용언처럼 처리되는 오류를 발생시키지 않기 위해서 설계된 것이다. 어간사전은 별도의 포맷을 하지 않고, 텍스트 파일로 구성되어 완전 매칭이 가능하도록 하고 있다. 다만, 한국어 복합어의 경우, 해당 복합어를 엔트리에 포함시키는 것 외에 하나의 복합어가 하나 이상의 어간으로 구성된 경우, 이들을 각각의 어간으로 간주하여, 이들 어절도 어간사전에 포함시켰다. 어간사전의 개략적인 예는 도 7에 나타낸 바와 같다.This stemming dictionary is used to supplement the case where words with more than two syllable stems are over-stamped, i.e., over-deleted syllables that should not be deleted. It is designed to avoid errors that are handled as The stem dictionary does not have a separate format, but consists of a text file for complete matching. However, in the case of Korean compound words, in addition to including the compound word in an entry, when a compound word is composed of one or more stems, these words are regarded as each stem and these words are also included in the dictionary. A schematic example of the stem dictionary is shown in FIG. 7.
어미파일은, 시스템에서 어미파일 단독으로는 사용되지 않고, 반드시 규칙테이블3과 함께 사용되므로 처리조건 탐색시 이들 2파일의 조건을 모두 만족하는 경우에 규칙테이블3에서 매칭된 규칙이 해당 프로시쥬어에서 적용된다. 어미파일의 예는 도 8에 나타낸 바와 같다.Since the mother file is not used alone in the system, but together with rule table 3, the rule matched in rule table 3 is applied in the procedure when both conditions of these two files are satisfied when searching for processing conditions. do. An example of a mother file is as shown in FIG.
다음에는 이들 규칙테이블이 어떻게 작성되고, 또 어떻게 적용되는지에 대해 상세히 설명하고, 더욱이 이들 규칙테이블의 구동에 대해서도 상세히 설명하기로 한다.The following describes in detail how these rule tables are created and how they are applied, and further describes the operation of these rule tables.
본 발명에 따른 한글 스태머 알고리즘의 구현시에, 입력된 단어의 형태적 특성에 따라 5개의 규칙테이블을 순차적으로 모두 사용할 수도 있고, 형태론적 특성이 복잡하지 않은 단어의 경우는 처리에 필요한 단계까지 진행한 후, 현재의 규칙에서 액션으로 처리종료 심볼을 만나면 작업을 종료한다. 매칭된 규칙테이블 상의 규칙 중에서 현재 단어의 형태적 조건과 매칭되는 규칙이 더 이상 없거나, 규칙에서 처리종료를 가리키는 경우에는 처리를 종료하고, 그렇지 않은 경우에는 최소어간 조건이 만족될 때까지 루틴을 계속 진행한 후, 현재의 기억장소에 저장된 단어를 최종 처리결과로서 출력한다.In the implementation of the Hangul stammer algorithm according to the present invention, all five rule tables may be used sequentially according to the morphological characteristics of the input words. After proceeding, if the current rule encounters an end-of-process symbol, the operation ends. If there are no more rules in the matched rule table that match the current word's morphological condition, or if the rule indicates the end of processing, processing terminates. Otherwise, the routine continues until the minimum stemming condition is met. After proceeding, the word stored in the current storage location is output as the final processing result.
시스템에서 규칙의 적용을 위해서 컴퓨터가 규칙데이블의 구조를 인식하여 프로그램에서 명령한 대로 구동될 수 있도록, 각 규칙은 C언어의 구조체 타입으로 정의된다. 선언부에서 각 규칙테이블의 구조를 정의하고, 프로그램의 각 하부루틴에서 규칙의 적용조건을 체크한다.For the application of rules in the system, each rule is defined as a C-type structure so that the computer can recognize the structure of the rule table and run it as commanded by the program. In the declaration section, we define the structure of each rule table, and check the condition of rule application in each subroutine of the program.
각 규칙테이블(R1, R2, R3, R4), 어간사전 및 어미파일은, 알고리즘의 해당 루틴에서 필요한 처리단계에 적용하기 위해 호출되면, 해당 규칙테이블, 또는 현재 단어의 조건에 따라 하나 이상의 규칙테이블에서 규칙이 탐색되어 조건에 맞는 규칙이 매칭되면 규칙에서 정의된 액션이 실행된다. 실행되는 액션의 종류는, 음절제거, 현재음절의 유지, 음절 다시 쓰기, 처리후 현재의 규칙에서 호출하는 규칙테이블의 활성화, 처리종료 등이다.Each rule table (R1, R2, R3, R4), stem dictionary, and mother file, when called to apply to the processing steps required by the algorithm's corresponding routine, the rule table, or one or more rule tables, depending on the conditions of the current word. If the rule is searched for and the matching rule matches, the action defined in the rule is executed. The types of actions to be executed are syllable removal, maintenance of the current syllable, rewriting syllables, activation of a rule table called by the current rule after processing, and termination of processing.
형태론적 특성이 복잡하지 않은 단어의 처리를 처리중에 사용한 규칙테이블 중의 하나인 도 8과 관련하여 설명하면 다음과 같다.The following description will be given with reference to FIG. 8, which is one of the rule tables used in processing a word whose morphological characteristics are not complicated.
입력단어의 마지막 음절과 매칭된 해당 섹션(‘-도’)에서 해당 규칙을 탐색하여 다음과 같이 적용하는 것은, 알고리즘의 1차 단계에서 진행되는 주요한 특성을 보여준다. 즉, 입력된 3단어 ‘전동기라도’, ‘온도’, ‘난로도’에 대해 ‘전동기라도’는 후보어미 ‘-라도’중 어미 ‘-도’를 적용하여 삭제하고, 규칙테이블2가 활성화된 후, 확장 스태밍 단계에서 조건을 조사하며, ‘-라’를 적용하여 어간으로 ‘전동기’를 출력한다. 입력단어 ‘온도’는 어미 제거루틴에서 규칙이적용될 수 있는지 조건을 탐색하는 단계에서, 최소어간 길이조건이 만족되지 않으므로 입력단어의 형태변화 없이 ‘온도’로서 출력된다. 단어 ‘난로도’에 적용가능한 후보어미는 ‘-로도’와 ‘-도’이다. 그러나, 후보어미 ‘-로도’의 적용은 최소어간 길이조건에 맞지 않으므로, 어미 ‘-도’가 채택된다. 규칙테이블1에서 삭제대상 어미 ‘-도’의 적용은 1차 단계가 아닌 규칙테이블2의 활성화(>>)를 지시하므로, 확장 스태밍 단계에서 조건의 만족여부를 조사한 후, 단어 ‘난로도’에 대해 어미 ‘-도’를 삭제하여 어간으로 ‘난로’를 출력한다.Searching for the rule in the corresponding section ('-degree') that matches the last syllable of the input word and applying it as follows shows the main characteristics of the first stage of the algorithm. That is, for the input three words 'motor ado', 'temperature' and 'hearth degree', 'motor ado' is deleted by applying the ending '-do' among candidate endings '-rado' and rule table 2 is activated. Then, the condition is examined in the extended stemming step, and '-la' is applied to output the 'motor' to the stem. The input word 'temperature' is output as 'temperature' without changing the shape of the input word because the minimum length condition is not satisfied in the step of searching for a condition that a rule can be applied in the ending elimination routine. Candidate endings applicable to the word `` hearth degree '' are ‘-로도’ and ‘-도’. However, the application of the candidate ending ‘-로도’ does not meet the minimum stem length condition, so the ending ‘-도도’ is adopted. The application of the ending parent '-degree' in rule table 1 indicates activation (>>) of rule table 2, not the first step. Therefore, after checking whether the condition is satisfied in the extended stemming step, the word 'hearth degree' Delete the ending '-do' for the output of 'hearth' as stem.
알고리즘의 2차 단계인 확장 스태밍 및 다시 쓰기 루틴은 규칙테이블2의 적용으로 진행되며, 분석대상 단어는 1차 단계에서 단어의 일부 음절이 제거된 형태이거나, 형태를 유지한 입력단어가 된다. 확장 스태밍 및 다시 쓰기 루틴에 포함되는 세부적인 단계는 다음과 같다.The extended stamming and rewriting routines, which are the second stages of the algorithm, proceed to the application of the rule table 2, and the words to be analyzed are the input words in which some syllables of words are removed or maintained in the first stage. The detailed steps involved in the extended stemming and rewriting routines are as follows:
- 규칙테이블2에서 단어의 마지막 음절과 일치하여 매칭된 섹션에 직접 접근 한 후, 후보 규칙을 탐색하기 위해 섹션내에서 순차적으로 분석대상 단어의 음절과 규칙의 음절과를 비교하며 완전히 일치한 규칙이 탐색될 때까지 진행한다.In rule table 2, we directly access the matched section by matching the last syllable of the word, and then compare the syllables of the analyzed word with the syllables of the rule sequentially in the section to search for candidate rules. Proceed until found.
- 규칙이 탐색되면, 규칙에서 현재의 음절 다음 위치의 문자를 체크한다.When a rule is found, the rule checks the character after the current syllable.
- 다음 위치의 문자가 숫자인 경우는 규칙에서 지시한 수와 동일한 크기의 음절을 분석대상 단어로부터 제거하고, 심볼인 경우는 매칭된 현재 위치의 음절 바로 전 위치의 조건을 조사하여 조건이 만족되는 경우에만 규칙에서 지시된 수만큼의 음절을 삭제한다.-If the character of the next position is a number, the syllable of the same size as the number indicated by the rule is removed from the word to be analyzed, and if it is a symbol, the condition is satisfied by examining the condition immediately before the syllable of the matched current position. Only delete as many syllables as indicated in the rule.
- 해당 어미의 삭제 후에, 규칙에서 대체할 음절이 있는지를 체크하고, 대체할 음절이 있으면 이를 현재의 위치에 삽입한다.-After deleting the ending, the rule checks whether there is a syllable to replace, and if there is a syllable to replace, inserts it at the current position.
- 음절을 대체하고 난 후, 현재의 규칙에서 대체음절 다음 위치를 읽어 작업의 종료 또는 계속 여부를 결정하고, 스태밍의 순환적 진행은 다음 중 해당하는 경우를 진행하도록 한다. 즉,-After replacing the syllables, read the position after the replacement syllable in the current rule to decide whether to finish or continue the work. In other words,
1차 단계로 되돌아가 다음 단계의 규칙을 적용하여 과정을 진행하는 경우;Return to the first step and proceed with the rules of the next step;
규칙테이블2의 다른 섹션의 탐색을 계속하여 확장 스태밍을 진행하는 경우;Proceed with extended stemming by continuing to search the other sections of rule table 2;
현재 분석중인 단어에 대해 스태밍 작업루틴을 종료하여, 어미의 제거 및 다시 쓰기 과정을 거친 후 현재 남아 있는 음절을 어간으로서 출력하는 경우 등이다.This is the case when the stemming work routine is terminated for the word currently being analyzed, and after the mother is removed and rewritten, the remaining syllables are output as stems.
확장스태밍 1단계의 다시 쓰기 단계까지 진행한 후, 종료처리된 단어의 예는 도 9에 나타낸 바와 같다.An example of the terminated word after proceeding to the rewriting step of the extended stamming step 1 is shown in FIG. 9.
다음에는 도 10의 한글 스태머 알고리즘을 그 번호순서대로 상세히 설명한다.Next, the Hangul stemmer algorithm of FIG. 10 will be described in detail in numerical order.
1. 고정어간 길이의 조건(2음절)을 적용하여 알고리즘에서 규칙테이블 R1 과 R2를 사용하여 처리된 현재의 단어에 대해 현재의 음절수를 조사한다.1. By applying the condition of fixed word length (two syllables), the algorithm checks the current syllable number for the current word processed using the rules tables R1 and R2.
2. 현재 처리해야 할 음절수가 1인 경우(case a )에는, 다음 단계(도 10의 3)로 진행하여 해당 규칙테이블에서 매칭되는 규칙을 만나면 규칙을 적용한 결과를 출력하고, 해당 규칙테이블에서 매칭되는 규칙이 없으면 현재의 단어를 출력한다.2. If the number of syllables to be processed currently is 1 (case a), the process proceeds to the next step (3 in FIG. 10), and when a matching rule is found in the corresponding rule table, the result of applying the rule is output and the matching is made in the corresponding rule table. If no rule is found, print the current word.
현재 처리해야 할 음절수가 2인 경우(case b)에는, 다음 단계(도 10의 3)로 진행한다.If the number of syllables to be processed currently is 2 (case b), the process proceeds to the next step (3 in FIG. 10).
현재 처리해야 할 음절수가 3 이상인 경우(case c)에는, 해당 단계(도 10의4)로 진행한다.If the number of syllables to be processed currently is 3 or more (case c), the process proceeds to the step (4 in FIG. 10).
3. 전 단계에서 받아들인 단어와 순차적으로 다음과 같이 진행한다.3. Sequentially proceed as follows with the words accepted in the previous step.
만일 받아들인 단어의 문자열과 어간사전과 매칭하여 어간사전 상의 엔트리와 완전 매칭을 하면, 현재의 단어를 가지고 해당 단계(도 10의 7)로 진행한다.If the matched word string and the stem dictionary match the entry in the stem dictionary, the process proceeds to the step (7 in FIG. 10) with the current word.
그렇지 않은 경우에는, 즉 받아들인 단어의 문자열과 일치하는 엔트리가 어간사전에 없는 경우에는, 규칙테이블3과 현재 음절의 두번째 철자와, 또한 어미파일과 현재 음절의 첫번째 철자와를 비교하여 이들 2조건이 모두 만족하면, 해당 단계(도 10의 5)로 진행한다.Otherwise, if there is no entry in the stem dictionary that matches the string of the accepted word, these two conditions are compared by comparing Rule Table 3 with the second spelling of the current syllable, and the first spelling of the mother file and the current syllable. If all of these are satisfied, the process proceeds to step 5 of FIG. 10.
만일 상기의 조건 중 어느 하나라도 만족하지 않으면, 현 음절의 문자열과 규칙테이블4와의 매칭을 시작한다. 매칭 결과, 규칙테이블4 상에서 해당 규칙이 발견되면, 다음 단계(도 10의 5)로 진행한다. 해당 규칙이 탐색되지 않으면 해당 단계(도 10의 7)로 진행한다.If any of the above conditions are not satisfied, matching of the string of the current syllable and the rule table 4 is started. As a result of the matching, if the corresponding rule is found in the rule table 4, the process proceeds to the next step (5 in FIG. 10). If the rule is not found, the process proceeds to step 7 of FIG. 10.
4. 현재 처리해야 할 음절수가 3 이상이어서 전단계에서 받아들여진 경우에는, 어간사전과의 매칭을 시작한다. 현재 비교하는 음절과 완전 매칭하는 엔트리가 어간사전에 있으면 해당 단계(도 10의 7)로 진행하고, 그렇지 않으면, 즉 해당 엔트리가 없으면, 단계 6(도 10의 6)으로 진행한다.4. If the number of syllables to be processed is 3 or more and accepted in the previous step, matching with the stem dictionary is started. If there is an entry that perfectly matches the syllable to be compared currently, it proceeds to the corresponding step (7 in FIG. 10). Otherwise, that is, if there is no entry, it proceeds to step 6 (6 in FIG. 10).
5. 현재 비교하는 음절과 규칙테이블에서 규칙이 탐색되고, 이것이 규칙에서 정의한 액션으로 문맥의존적 조건을 갖는 규칙인 경우에는, 현재 문자열의 조건을 모두 조사하여 규칙에서 요구하고 있는 조건을 만족하는지를 체크하여(예컨대, 현재 철자 앞의 음절수, 음절형태, 현재 음절의 삭제여부, 현재 음절의 다시쓰기), 조건을 만족하면, 규칙을 적용하고 해당 어미를 삭제한다. 그리고, 해당 단계(도 10의 7)로 진행한다.5. If the rule is searched in the syllable and the rules table currently being compared, and this is a rule that has a context-dependent condition as an action defined by the rule, check all the conditions of the current string and check whether the condition required by the rule is satisfied. (Eg, the number of syllables before the current spelling, syllable type, whether to delete the current syllable, or rewrite the current syllable). If the condition is satisfied, the rule is applied and the ending is deleted. Then, the flow proceeds to the corresponding step (7 in FIG. 10).
현재 매칭된 규칙이 문맥의존조건을 정의하지 않는 규칙이면, 비교하고 있는 음절을 삭제하고, 해당 단계(도 10의 7)로 진행한다.If the currently matched rule is a rule that does not define a context-dependent condition, the syllable being compared is deleted and the process proceeds to step 7 of FIG. 10.
6. 현재의 음절수가 3 이상(도 10의 4)이어서 루틴으로 이 단계를 호출한 경우에는, 어간사전에서 해당 엔트리의 탐색을 행하기 위해, 2가지 타입의 매칭, 즉 완전매칭이나 부분매칭에 의한 탐색을 시작한다. 먼저, 현재 음절수(3음절)와 완전히 일치하는 엔트리가 있는지 없는지 어간사전을 탐색한다. 엔트리가 탐색되면, 다음 단계(도 10의 7)로 진행한다. 만일 탐색되지 않았으면, 현재 음절수에 1음절을 더한 수를 현재 문자열의 음절수로 저장한 후, 현재 저장된 수의 음절수보다 1음절이 작은 부분까지만 문자열을 비교하는 부분매칭을 실행하고, 조건을 만족하면 매칭된 엔트리를 저장하고 이를 처리된 문자열로서 출력한다.6. If the current syllable is 3 or more (4 in Fig. 10) and this step is called by a routine, two types of matching, namely perfect matching or partial matching, are performed to search for the entry in the stem dictionary. Start searching by First, the stem dictionary is searched for an entry that completely matches the current syllable number (three syllables). If the entry is found, proceed to the next step (7 in FIG. 10). If not searched, the number of syllables plus one syllable is stored as the number of syllables in the current string, and then partial matching is performed to compare the character string only up to one syllable smaller than the number of syllables currently stored. If is satisfied, the matched entry is stored and output as a processed string.
7. 현재까지 처리되어 최종결과로 저장된 음절을 출력하고, 루틴을 종료한다.7. Outputs the syllable processed as the final result and ends the routine.
또한, 한국어에 있어서는, 각 음절이 조합되어 하나의 어절을 구성하는 가운데 다양한 음운 및 형태론적 조건에 따라 규칙 및 불규칙 활용, 음절의 축약, 체언과 용언간의 동음이의어, 단음절어의 불규칙 활용 등이 발생할 수 있다. 따라서, 이러한 특성을 고려하여, 규칙테이블의 각 규칙은 처리할 단어의 음절과 각 규칙의 시작 음절이 완전히 일치하더라도, 적용하기 전에 무조건적으로 현재 음절의 앞 음절의 조건, 현재 음절의 음절수, 용언과 체언간의 구별을 위해 설계된 규칙 등의조건을 먼저 체크하도록 구성하고 있다.In addition, in Korean, each syllable is combined to form one word, and according to various phonological and morphological conditions, the use of rules and irregularities, shortening of syllables, homonym between words and verbs, and irregular use of monosyllable words may occur. have. Therefore, in consideration of these characteristics, each rule in the rules table must be unconditionally matched to the syllable of the current syllable, the number of syllables of the current syllable, and even before the syllable of the word to be processed and the beginning syllable of each rule are completely matched. It is designed to check conditions such as rules designed to distinguish between a statement and a statement.
이와 같은 조건이 만족되면, 1차 처리단계에서 최소어간 조건을 체크한 후에 규칙테이블 상의 규칙을 적용하며, 2차 처리 단계에서는 현재 처리하는 단어의 음절수를 체크하여 각 조건에 따른 프로시쥬어를 진행하도록 설계되어 있다.If such a condition is satisfied, the rule on the rule table is applied after checking the minimum stemming condition in the first processing step, and the procedure according to each condition is checked by checking the number of syllables of the word currently being processed in the second processing step. It is designed.
본 발명에서는, 한글 스태머의 구현시에 1차 처리단계에서는 고정어간길이를 적용하고, 확장 스태밍에 해당하는 2차 처리단계에서는 문맥의존 어간길이를 적용하도록 하고 있다.In the present invention, the fixed stem length is applied in the first processing step and the context-dependent stem length is applied in the second processing step corresponding to the extended stemming when the Hangul stemmer is implemented.
고정어간 길이의 적용이란, 알고리즘은 입력되어 처리될 단어에 대해 조건을 만족하는 한 순환적으로 해당 루틴(recursive routine)을 호출하여 실행한다. 그 과정에서, 현재 처리를 위해 저장된 음절수가 2이면 순환적 루틴에서 빠져 나와 2차 처리단계로 진행하도록 설계되어 있다. 이러한 설계는, 한국어 체언 음절수의 통계적 특성을 반영하여 1차 처리단계에서 우선적으로 고정어간 길이를 적용하도록 한 것이다.The application of fixed word length means that the algorithm executes by calling a recursive routine as long as the condition is satisfied for the word to be input and processed. In the process, if the number of syllables stored for the current processing is 2, it is designed to exit the cyclic routine and proceed to the secondary processing step. This design reflects the statistical characteristics of the number of syllables spoken in Korean so that the fixed word length is applied first in the first processing step.
이후 진행되는 2차 처리단계에서는 문맥의존 어간길이를 적용하는데, 이는 현재 처리해야 할 음절수를 기준으로 하여 해당 프로그램 루틴으로 진행하되, 동일한 음절수라 하더라도 현재 처리할 음절이나 현재 음절의 앞 음절의 형태론적 조건을 먼저 조사하여 이 조건과 규칙에서 정의하고 있는 조건이 완전히 일치하는 경우에만 규칙에서 정의한 액션을 취하도록 한 것으로, 현재 처리하는 단어의 문맥의존적 조건은 전술한 바와 같이 규칙데이블에서 정의되어 있다.In the subsequent secondary processing step, context-dependent stem length is applied, which proceeds to the corresponding program routine based on the number of syllables to be processed, even if the same syllable number is the syllable to be processed or the form of the syllable before the current syllable. The theoretical condition is examined first and the action defined in the rule is taken only when the condition and the condition defined in the rule are completely matched. The context-dependent condition of the currently processed word is defined in the rule table as described above. .
본 발명의 한글 스태머는, 미국 코넬 대학에서 개발한 자연어검색시스템(SMART)의 한글버전을 구현하여 이 시스템의 색인 프로시쥬어로서 테스트를 함으로써, 표준검색효율의 현저한 증대를 통계적으로 검증한 바 있다. 즉, 한글 스태머를 사용한 검색과 사용하지 않은 검색과의 통계적 검증결과, 단측 검증 유의수준 0.05에서 검색의 평균재현율, 평균정확률이 모두 현저히 향상되고 있음이 확인되었다.The Hangul stammer of the present invention, by implementing the Hangul version of the natural language search system (SMART) developed by Cornell University in the United States and tested as an index procedure of the system, statistically verified a significant increase in the standard search efficiency. In other words, as a result of statistical verification between the search using Hanger and the unused search, it was confirmed that the mean reproducibility and mean accuracy of search were significantly improved at the one-sided verification level of 0.05.
한편, 본 발명은 상술한 실시예에 한정되지 않고, 본 발명의 요지를 이탈하지 않는 범위내에서 여러 가지로 변형하여 실시할 수 있음은 물론이다. 예컨대, 본 발명에 따른 한글 스태머는, 현재 일반적으로 사용되고 있는 검색엔진 등에 탑재되어 사용될 수도 있다. 이 경우에도, 전술한 바와 같이 검색효율을 현저히 향상시킬 수 있다.In addition, this invention is not limited to the Example mentioned above, A various deformation | transformation is possible, of course, in the range which does not deviate from the summary of this invention. For example, the Hangul stemmer according to the present invention may be mounted and used in a search engine which is generally used. Even in this case, as described above, the search efficiency can be significantly improved.
이상 설명한 바와 같이 본 발명에 의하면, 온라인/오프라인 정보검색 시스템 및 웹 환경에서 자연언어 텍스트 데이터베이스에 대한 검색성능을 현저히 향상시킬 수 있는 한글 스태머를 제공할 수 있다.As described above, according to the present invention, it is possible to provide a Hangul stammer capable of remarkably improving the search performance of a natural language text database in an online / offline information retrieval system and a web environment.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0055858A KR100401466B1 (en) | 2000-09-22 | 2000-09-22 | Korean language stemmer for natural language searching system and stemming method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0055858A KR100401466B1 (en) | 2000-09-22 | 2000-09-22 | Korean language stemmer for natural language searching system and stemming method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020023543A true KR20020023543A (en) | 2002-03-29 |
KR100401466B1 KR100401466B1 (en) | 2003-10-11 |
Family
ID=19690028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2000-0055858A KR100401466B1 (en) | 2000-09-22 | 2000-09-22 | Korean language stemmer for natural language searching system and stemming method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100401466B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101139469B1 (en) | 2010-03-25 | 2012-04-30 | 성중모 | The korean dictionary |
KR20240140206A (en) | 2023-03-16 | 2024-09-24 | 배재대학교 산학협력단 | Natural language processing-based korean summary system considering linguistic features |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08235187A (en) * | 1995-02-24 | 1996-09-13 | Fujitsu Ltd | Dictionary retrieval system |
KR100286650B1 (en) * | 1996-06-27 | 2001-04-16 | 이구택 | Method for generating predicated feature according to table driven system |
JPH11143861A (en) * | 1997-11-05 | 1999-05-28 | Omron Corp | Character input device, character inputting method and recording medium |
KR19990042430A (en) * | 1997-11-26 | 1999-06-15 | 정선종 | Noun Phrase Extraction Apparatus Using Structural Information of Sentence and Its Method |
KR100474823B1 (en) * | 1998-02-23 | 2005-03-16 | 삼성전자주식회사 | Part of speech tagging apparatus and method of natural language |
KR100283100B1 (en) * | 1998-12-03 | 2001-03-02 | 정선종 | Statistical Application Extraction Method and Method for Massive Coral |
KR100288144B1 (en) * | 1998-12-10 | 2001-05-02 | 이계철 | Foreign language coding method in Korean and search method using the same |
-
2000
- 2000-09-22 KR KR10-2000-0055858A patent/KR100401466B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100401466B1 (en) | 2003-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhou et al. | Approaches to text mining for clinical medical records | |
US8041697B2 (en) | Semi-automatic example-based induction of semantic translation rules to support natural language search | |
US8280721B2 (en) | Efficiently representing word sense probabilities | |
EP1508861A1 (en) | Method for synthesising a self-learning system for knowledge acquisition for text-retrieval systems | |
EP0971294A2 (en) | Method and apparatus for automated search and retrieval processing | |
Spasić et al. | FlexiTerm: a flexible term recognition method | |
US20030130837A1 (en) | Computer based summarization of natural language documents | |
JPS63231674A (en) | Word processing system | |
WO1997004405A9 (en) | Method and apparatus for automated search and retrieval processing | |
JPH083815B2 (en) | Natural language co-occurrence relation dictionary maintenance method | |
Ekmekcioglu et al. | Stemming and n-gram matching for term conflation in Turkish texts | |
Schinke et al. | A stemming algorithm for Latin text databases | |
Galvez et al. | Term conflation methods in information retrieval: Non‐linguistic and linguistic approaches | |
Srinivas et al. | An approach to robust partial parsing and evaluation metrics | |
Lazarinis et al. | Current research issues and trends in non-English Web searching | |
JP2004133564A (en) | Document search system | |
Tambouratzis | Automatic corpora-based stemming in Greek | |
Yeshambel et al. | Evaluation of corpora, resources and tools for Amharic information retrieval | |
Daille et al. | Applications of computational morphology | |
Hamon et al. | A robust linguistic platform for efficient and domain specific web content analysis | |
Vilares et al. | Extraction of complex index terms in non-English IR: A shallow parsing based approach | |
KR100401466B1 (en) | Korean language stemmer for natural language searching system and stemming method thereof | |
Litkowski | Question Answering Using XML-Tagged Documents. | |
Meyer | On Sanskrit and information retrieval | |
Milić-Frayling | Text processing and information retrieval |
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 | ||
FPAY | Annual fee payment |
Payment date: 20110927 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20120907 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |