KR101694179B1 - Method and apparatus for indexing based on removing vowel - Google Patents

Method and apparatus for indexing based on removing vowel Download PDF

Info

Publication number
KR101694179B1
KR101694179B1 KR1020160118281A KR20160118281A KR101694179B1 KR 101694179 B1 KR101694179 B1 KR 101694179B1 KR 1020160118281 A KR1020160118281 A KR 1020160118281A KR 20160118281 A KR20160118281 A KR 20160118281A KR 101694179 B1 KR101694179 B1 KR 101694179B1
Authority
KR
South Korea
Prior art keywords
index
keyword
gram
generating
document
Prior art date
Application number
KR1020160118281A
Other languages
Korean (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 KR1020160118281A priority Critical patent/KR101694179B1/en
Application granted granted Critical
Publication of KR101694179B1 publication Critical patent/KR101694179B1/en

Links

Images

Classifications

    • G06F17/3002
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures

Abstract

According to one aspect of the present invention, a method for generating an index based on removing a vowel includes: a step of allowing an index generation device to remove a vowel in a keyword of a document and converting the vowel into a keyword composed of a consonant; and a step of generating the index for the document by using the converted keyword.

Description

모음 제거 기반 인덱스 생성 방법 및 장치 {Method and apparatus for indexing based on removing vowel}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001]

본 발명은 퍼지 키워드 검색을 위해 모음을 제거하여 인덱스를 생성하는 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 문서에서 키워드를 추출하고, 추출한 키워드를 이용하여 문서에 대한 인덱스를 만들 때, 모음을 제거하여 인덱스를 만드는 방법 및 그 장치에 관한 것이다.The present invention relates to a method and apparatus for generating an index by removing a vowel for a fuzzy keyword search. More particularly, the present invention relates to a method and apparatus for extracting a keyword from a document and removing the vowel to create an index for the document using the extracted keyword.

요즘과 같은 정보의 홍수 시대에 웹 페이지나 문서를 빠르게 검색하는 것은 매우 중요하다. 빠른 검색을 위해 문서에서 검색이 될 만한 것(lexicon)을 사전에 추출하여 자료 구조를 구축하는 것을 색인(index)이라고 한다. 반대로 특정 키워드가 주어졌을 때, 어떠한 문서에서 해당 키워드가 나타났는지 알려 주는 것을 역색인(inverted index)이라고 한다.In today's flood of information, it is very important to search web pages or documents quickly. Indexing is the process of extracting a lexicon from a document for quick retrieval and constructing a data structure. Conversely, given a particular keyword, it is called an inverted index that tells you which keyword appears in which document.

사용자가 특정 단어를 입력하면, 역색인을 통해서 해당 단어를 키워드로 가지고 있는 문서를 빠르게 검색하여 제공할 수 있다. 이를 위해서는 각 문서에 대해 구축되어 있는 인덱스를 활용한다. 문서의 인덱스를 만드는 과정에서 문서에서 추출한 키워드 외에도 키워드와 관련성이 있는 단어를 문서의 인덱스에 추가할 수 있다. 여기서 관련성이 있는 단어란, 시제나 품사에 따른 단어의 형태 변화나 빈번하게 입력되는 오타 등을 말한다.When a user enters a specific word, it is possible to quickly search for and provide a document having the word as a keyword through an inverse index. This is done by using the indexes built for each document. In addition to the keywords extracted from the document during the process of indexing the document, you can add words related to the keywords to the document's index. Here, the relevant word is a change in the form of a word according to a tense or a part-of-speech or a typo frequently inputted.

예를 들면 came을 검색어로 입력하더라도 come이 키워드로 포함된 문서를 보여 주고 싶을 때에는, come이 포함된 문서의 인덱스를 만들 때, come 외에도 came를 인덱스에 추가하여야 한다. 마찬가지로 teach 및 teacher와 같은 단어를 하나의 인덱스에 추가할 수 있다. 또한 calendar의 오타인 "calender"를 하나의 인덱스에 추가할 수도 있다.For example, if you want to show a document that contains the word come, even if you enter the word came in the search term, when you create the index of the document that contains come, you must add came to the index. Likewise, words such as teach and teacher can be added to a single index. You can also add calendar 's "calender" to a single index.

이처럼 키워드와 관련성이 있는 단어를 인덱스에 더 추가하여 검색하는 것을 퍼지 키워드 검색 내지 퍼지 검색이라고 한다. 퍼지 키워드 검색을 위해서 편집 거리(Levenshtein distance; edit distance), wild-card, K/n-gram 등의 알고리즘이 있다. 하지만 이와 같은 알고리즘들은 큰 사이즈의 인덱스를 필요로 하고, 성능도 떨어지는 단점이 있다.In this way, a keyword having relevance to the keyword is added to the index to perform the search, which is called fuzzy keyword search or fuzzy search. For the fuzzy keyword search, there are algorithms such as Levenshtein distance (edit distance), wild-card, and K / n-gram. However, these algorithms require large indexes and have poor performance.

이에, 인덱스의 사이즈를 줄이면서도 검색 성능을 높일 수 있는 인덱스 생성 방법이 필요하다.Therefore, there is a need for an index generation method that can improve the search performance while reducing the size of the index.

본 발명이 해결하고자 하는 기술적 과제는 문서에서 키워드를 추출하고, 추출된 키워드를 이용하여 문서에 대한 인덱스를 만들 때, 키워드의 모음을 제거하고 인덱스를 만드는 방법 및 그 장치를 제공하는 것이다.SUMMARY OF THE INVENTION The present invention provides a method and apparatus for extracting a keyword from a document and creating an index for the document using the extracted keyword by removing a collection of keywords and creating an index.

본 발명이 해결하고자 하는 다른 기술적 과제는, 키워드의 모음을 제거하고 인덱스를 만드는 과정에서 모음이 제거된 키워드의 길이에 따라 추가적인 보조 인덱스를 만드는 방법 및 그 장치를 제공하는 것이다.It is another object of the present invention to provide a method and apparatus for creating an auxiliary index according to the length of a keyword from which a vowel is removed in the process of eliminating a keyword vowel and creating an index.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the above-mentioned technical problems, and other technical problems which are not mentioned can be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 해결하기 위한 본 발명의 일 태양에 따른 모음 제거 기반 인덱스 생성 방법은, 인덱스 생성 장치가, 문서의 키워드에서 모음을 제거하여, 자음으로 구성된 키워드로 변환하는 단계 및 상기 인덱스 생성 장치가, 상기 변환된 키워드를 이용하여, 상기 문서에 대한 인덱스를 생성하는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided a method of generating a collection removal index, the method comprising: a step of removing an vowel from a keyword of a document and converting the keyword into a keyword composed of consonants; And generating an index for the document using the converted keyword.

일 실시예에서, 상기 자음으로만 구성된 키워드로 변환하는 단계는, 상기 추출된 키워드에서 연속해서 중복으로 나타나는 자음은 그 중에서 하나를 제거하는 단계를 포함할 수 있다.In one embodiment, the step of converting into the keyword consisting only of the consonants may include removing one of the consonants consecutively appearing as duplicates in the extracted keyword.

다른 실시예에서, 상기 문서에 대한 인덱스를 생성하는 단계는, 상기 변환된 키워드의 길이가 기 설정된 값보다 작은 경우에는, 상기 인덱스보다 크기가 큰 보조 인덱스를 더 생성하는 단계를 포함할 수 있다.In another embodiment, the step of generating an index for the document may further include generating an auxiliary index larger than the index if the length of the converted keyword is less than a predetermined value.

또 다른 실시예에서, 상기 기 설정된 값은 3이다.In another embodiment, the predetermined value is three.

또 다른 실시예에서, 상기 문서에 대한 인덱스를 생성하는 단계는, 상기 변환된 키워드를 대상으로 K-그램(K-gram)을 수행하여 상기 인덱스를 생성하는 단계를 포함할 수 있다.In yet another embodiment, generating the index for the document may include generating the index by performing a K-gram on the converted keyword.

또 다른 실시예에서, 상기 K-그램(K-gram)을 수행하여 상기 인덱스를 생성하는 단계는, 상기 변환된 키워드의 길이 L이 기 설정된 값 m보다 큰 지 비교하는 단계 및 상기 L이 상기 m보다 큰 경우에, 상기 변환된 키워드에 K=m으로 하는 K-gram을 수행하는 단계를 포함할 수 있다.In yet another embodiment, the step of performing the K-gram to generate the index may include comparing the length L of the converted keyword to a predetermined value m, The step of performing K-grams with K = m for the converted keyword may be included.

또 다른 실시예에서, 상기 K-그램(K-gram)을 수행하여 상기 인덱스를 생성하는 단계는, 상기 변환된 키워드의 길이 L이 기 설정된 값 m보다 큰 지 비교하는 단계 및 상기 L이 상기 m보다 작거나 같은 경우에, 상기 변환된 키워드에 K=L로 하는 K-gram을 수행하는 단계를 포함할 수 있다.In yet another embodiment, the step of performing the K-gram to generate the index may include comparing the length L of the converted keyword to a predetermined value m, And performing a K-gram to set K = L to the converted keyword, if K is less than or equal to L.

또 다른 실시예에서, 상기 변환된 키워드에 K=L로 하는 K-gram을 수행하는 단계는, 상기 L이 1보다 큰 경우에, 상기 변환된 키워드에 K=L-1로 하는 K-gram을 더 수행하는 단계를 포함할 수 있다.In another embodiment, the step of performing K-grams with K = L for the transformed keyword may include: if the L is greater than 1, converting K-grams with K = L-1 to the transformed keywords And performing further steps.

상기 기술적 과제를 해결하기 위한 본 발명의 다른 태양에 따른 모음 제거 기반 인덱스 생성 장치는, 하나 이상의 프로세서와 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리 및 문서와 상기 문서에 대한 인덱스를 저장하는 스토리지를 포함할 수 있다. 여기서 상기 컴퓨터 프로그램은, 상기 문서의 키워드에서 모음을 제거하여, 자음으로 구성된 키워드로 변환하는 오퍼레이션 및 상기 변환된 키워드를 이용하여, 상기 문서에 대한 인덱스를 생성하는 오퍼레이션을 포함할 수 있다.According to another aspect of the present invention, there is provided an apparatus for generating a collection elimination-based index, the apparatus comprising: at least one processor; a memory for loading a computer program executed by the processor; a storage for storing an index for the document; . ≪ / RTI > Here, the computer program may include an operation of removing a vowel from a keyword of the document and converting the vowel to a keyword composed of consonants, and an operation of generating an index for the document using the converted keyword.

일 실시예에서, 상기 문서에 대한 인덱스를 생성하는 오퍼레이션은, 상기 변환된 키워드를 대상으로 바이-그램을 수행하여 상기 인덱스를 생성하는 오퍼레이션을 포함할 수 있다.In one embodiment, the operation of generating an index for the document may include an operation of bi-gramming the converted keyword to generate the index.

다른 실시예에서, 상기 문서에 대한 인덱스를 생성하는 오퍼레이션은, 상기 변환된 키워드의 길이가 기 설정된 값보다 작은 경우에는, 상기 인덱스보다 크기가 큰 보조 인덱스를 더 생성하는 오퍼레이션을 포함할 수 있다.In another embodiment, the operation of generating an index for the document may include an operation of further generating an auxiliary index larger than the index if the length of the converted keyword is less than a predetermined value.

또 다른 실시예에서, 상기 문서에 대한 인덱스를 생성하는 오퍼레이션은, 상기 변환된 키워드를 대상으로 K-그램(K-gram)을 수행하여 상기 인덱스를 생성하는 오퍼레이션을 포함할 수 있다.In another embodiment, the operation of generating an index for the document may include an operation of generating the index by performing a K-gram on the converted keyword.

또 다른 실시예에서, 상기 K-그램(K-gram)을 수행하여 상기 인덱스를 생성하는 오퍼레이션은, 상기 변환된 키워드의 길이 L이 기 설정된 값 m보다 큰 지 비교하는 오퍼레이션 및 상기 L이 상기 m보다 큰 경우에, 상기 변환된 키워드에 K=m으로 하는 K-gram을 수행하는 오퍼레이션을 포함할 수 있다.In another embodiment, the operation of performing the K-gram to generate the index may include an operation of comparing whether the length L of the converted keyword is greater than a predetermined value m, , It may include an operation of performing a K-gram with K = m for the converted keyword.

또 다른 실시예에서, 상기 K-그램(K-gram)을 수행하여 상기 인덱스를 생성하는 오퍼레이션은, 상기 변환된 키워드의 길이 L이 기 설정된 값 m보다 큰 지 비교하는 오퍼레이션 및 상기 L이 상기 m보다 작거나 같은 경우에, 상기 변환된 키워드에 K=L로 하는 K-gram을 수행하는 오퍼레이션을 포함할 수 있다.In another embodiment, the operation of performing the K-gram to generate the index may include an operation of comparing whether the length L of the converted keyword is greater than a predetermined value m, , It may include an operation of performing a K-gram to set K = L to the converted keyword.

본 발명의 실시예에 따른 효과는 다음과 같다.The effects according to the embodiment of the present invention are as follows.

키워드에서 모음을 제거하여 자음으로만 구성된 키워드를 검색에 이용함으로써, 인덱스를 만드는데 필요한 크기를 줄일 수 있다. 또한 키워드의 길이를 줄였음에도, 키워드의 특징을 잘 반영할 수 있기 때문에 검색의 성능을 높일 수 있다.By removing a vowel from a keyword and using a keyword consisting only of consonants in the search, the size required to create an index can be reduced. In addition, although the length of the keyword is reduced, the performance of the search can be improved because the characteristic of the keyword can be reflected well.

뿐만 아니라, 모음을 제거하여 자음으로만 구성된 키워드를 생성하는 과정에서 키워드의 변형으로 인한 손해를 보조 인덱스를 이용함으로써 보완할 수 있다. 즉 모음을 제거하여 단어의 길이가 너무 짧아지는 경우, 보조 인덱스를 활용함으로써 검색의 효율을 높일 수 있다.In addition, in the process of generating a keyword composed only of consonants by removing the vowel, the damage due to the modification of the keyword can be compensated by using the auxiliary index. In other words, if the length of the word becomes too short by removing the vowel, the search efficiency can be improved by utilizing the auxiliary index.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood to those of ordinary skill in the art from the following description.

도 1a 내지 도 1c는 종래의 인덱스 생성 방법을 설명하기 위한 예시도이다.
도 2는 본 발명의 일 실시예에 따른 모음 제거 방법에 기반한 인덱스 생성 방법을 설명하기 위한 순서도이다.
도 3는 본 발명의 일 실시예에 따른 모음 제거 방법에 기반한 인덱스 생성 방법을 설명하기 위한 의사코드(pseudocode)이다.
도 4a 내지 도 4c는 편집 거리 방법을 이용한 퍼지 검색을 설명하기 위한 예시도이다.
도 5a 내지 도 5c는 와일드 카드 방법을 이용한 퍼지 검색을 설명하기 위한 예시도이다.
도 6a 내지 도 6c는 K=3을 기준으로 K-그램 방법을 이용한 퍼지 검색을 설명하기 위한 예시도이다.
도 7a 내지 도 7c는 바이-그램 방법을 이용한 퍼지 검색을 설명하기 위한 예시도이다.
도 8a 내지 도 8c는 본 발명의 일 실시예에 따른 NOVEL 방법을 이용한 퍼지 검색을 설명하기 위한 예시도이다.
도 9a 내지 도 9c는 복수의 키워드를 포함하는 제1 문서를 검색하는 경우, 각 방법에 따른 정확도를 설명하기 위한 예시도이다.
도 10a 내지 도 10b는 복수의 키워드를 포함하는 제1 데이터 셋을 대상으로 각 방법의 정확도를 설명하기 위한 예시도이다.
도 11 내지 도 12는 복수의 키워드를 포함하는 제1 데이터 셋과 제2 데이터 셋에 대한 테스트 결과를 그래프와 표로 나타낸 것이다.
도 13은 본 발명의 일 실시예에 따른 모음 제거 방법에 기반한 인덱스 생성 장치의 하드웨어 구성의 일 예를 나타내는 도면이다.
1A to 1C are diagrams for explaining a conventional index generation method.
2 is a flowchart illustrating an index generation method based on a vowel removal method according to an embodiment of the present invention.
FIG. 3 is a pseudocode explaining a method of generating an index based on a vowel removal method according to an embodiment of the present invention.
4A to 4C are diagrams for explaining a fuzzy search using an edit distance method.
5A to 5C are diagrams for explaining a fuzzy search using a wildcard method.
6A to 6C are diagrams for explaining a fuzzy search using the K-gram method based on K = 3.
7A to 7C are diagrams for explaining a fuzzy search using a bi-gram method.
8A to 8C are diagrams for explaining a fuzzy search using a NOVEL method according to an embodiment of the present invention.
9A to 9C are diagrams for explaining accuracy according to each method when searching a first document including a plurality of keywords.
10A and 10B are diagrams for explaining the accuracy of each method with respect to a first data set including a plurality of keywords.
11 to 12 are graphs and tables showing test results for the first data set and the second data set including a plurality of keywords.
13 is a diagram illustrating an example of a hardware configuration of an index generation apparatus based on a vowel removal method according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs. Also, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise. The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification.

명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.It is noted that the terms "comprises" and / or "comprising" used in the specification are intended to be inclusive in a manner similar to the components, steps, operations, and / Or additions.

이하, 본 발명에 대하여 첨부된 도면에 따라 보다 상세히 설명한다.Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings.

도 1a 내지 도 1c는 종래의 인덱스 생성 방법을 설명하기 위한 예시도이다.1A to 1C are diagrams for explaining a conventional index generation method.

도 1a는 와일드 카드(wild-card)에 기반한 인덱스 생성 방법을 설명하기 위한 예시도이다. 도 1a를 참고하면, chemistry와 phenomenon 및 come 3개의 키워드가 화살표 위에 예시된 것을 볼 수 있다. 편집 거리(edit distance)를 1로 했을 때, 3개의 키워드에 대한 인덱스를 만들면 도 1a의 화살표 아래에 도시된 바와 같다.FIG. 1A is an exemplary diagram for explaining a method of generating an index based on a wild-card. Referring to FIG. 1A, three keywords chemistry, phenomenon, and come can be seen on the arrows. When an edit distance is set to 1, an index for three keywords is created as shown below the arrow in FIG. 1A.

여기서 편집 거리(edit distance)란 두 단어 사이의 유사도를 판단하는 방법을 말한다. 두 단어를 비교할 때, 문자열에 삽입(insertion), 삭제(deletion), 치환(substitution)의 연산을 몇 번을 수행해야 동일해 지는지를 기준으로 편집 거리를 결정한다. 즉 원천 문자열(source)을 목적 문자열(target)로 변환하기 위해 필요한 최소한의 편집 연산의 횟수를 편집 거리라고 한다. 웹 페이지 https://en.wikipedia.org/wiki/Edit_distance에서 편집 거리에 대한 보다 자세한 설명을 확인할 수 있다.Here, edit distance refers to a method of determining the degree of similarity between two words. When comparing two words, the edit distance is determined based on how many times the insertion, deletion, and substitution operations are performed on the string. That is, the minimum number of editing operations required to convert a source string to a target string is called edit distance. A more detailed description of the editing distance can be found on the web page at https://en.wikipedia.org/wiki/Edit_distance .

예를 들어, 도 1a의 하단에 chemistry의 인덱스로 예시된 *chemistry는 *가 표시된 자리에 어떠한 알파벳이 오더라도 이를 삭제(deletion)하기만 하면 목적 문자열인 chemistry를 얻을 수 있다. 마찬가지로 che*istry도 *가 표시된 자리에 어떠한 알파벳이 오더라도 이를 m으로 치환(substitution)하기만 하면 목적 문자열인 chemistry를 얻을 수 있다.For example, * chemistry, which is illustrated by the index of chemistry at the bottom of FIG. 1A, can be obtained by simply deleting any alphabet in the place marked with *, which is a target string, chemistry. Likewise, che * istry can substitute m for any alphabet in the place marked with * to get the target string chemistry.

이처럼 도 1a의 하단에 표시된 인덱스는 *가 표시된 부분에 1회의 편집 연산(edit operation)을 수행하기면, 목적 문자열인 chemistry와 phenomenon 및 come의 키워드를 얻을 수 있는 단어들로 구성되어 있다. 인덱스에 표시된 단어들은 1회의 편집 연산으로 목적 문자열인 키워드를 얻을 수 있기 때문에, 편집 거리가 1인 단어들로 구성된 인덱스이다.Thus, the index shown at the lower part of FIG. 1A consists of the words chemistry and the words that can obtain the keywords of phenomenon and come, in order to perform an edit operation once in a portion marked with an asterisk. The words displayed in the index are indexes composed of words having an edit distance of 1 because the keyword that is the object string can be obtained by one editing operation.

여기서 단어의 길이에 따른 인덱스의 크기에 대해서 살펴보도록 하자. 도 1a의 예시에서 가장 단어의 길이가 짧은 come을 대상으로 살펴보면 come은 단어의 길이 L 이 4의 값을 가진다. come에 대한 인덱스를 구축한다고 할 때, 아무런 편집이 필요 없는 come과, 1회의 삭제로 come을 얻을 수 있는 {*come, c*ome, co*me, com*e, come*} 및 1회의 삽입 또는 치환으로 come을 얻을 수 있는 {*ome, c*me, co*e, com*}으로 인덱스를 구축할 수 있다. 즉 come에 대한 인덱스는 {come, *come, c*ome, co*me, com*e, come*, *ome, c*me, co*e, com*}가 된다. 이 때의 인덱스의 크기는 10이다.Let's look at the size of the index according to the word length. In the example of FIG. 1A, if the word 'come' is short, the word 'come' has a length L of 4. If you want to build an index of come, you need to do the following: * come with no editing and {* come, c * ome, co * me, com * Alternatively, you can build an index with {* ome, c * me, co * e, com *} where you can get a come replace. That is, the index for come is {come, * come, c * ome, co * me, com * e, come *, * ome, c * me, co * e, com *}. The size of the index at this time is 10.

즉 와일드 카드 방법에 의하면 단어의 길이가 4인 come은 1 + 5 + 4 = 10의 크기를 가지는 인덱스를 만들게 된다. 이를 수식으로 표현하면 1 + (L+1) + L = 2L + 2 가 된다. 수식에서 볼 수 있듯이 와일드 카드 방법에 의하면 단어의 길이가 길어질수록 그에 비례해서 인덱스의 크기도 커지는 단점이 있다.That is, according to the wildcard method, the word "come" having a length of 4 makes an index having a size of 1 + 5 + 4 = 10. Expressing it as 1 + (L + 1) + L = 2L + 2. As can be seen from the formula, according to the wildcard method, the longer the word length, the larger the size of the index becomes.

이는 와일드 카드 방법에 의한 경우이며, 와일드 카드 방법의 모태가 된 편집 거리 방법의 경우 *자리에 실제 a부터 z까지 26개의 알파벳이 들어가게 되므로, 필요한 인덱스의 크기는 2L + 2 가 아닌 1 + {(L+1) + L} * 26 = 52L + 27 이 되어 와일드 카드 방식에 비해 더 큰 크기의 인덱스를 필요로 하게 된다. 즉 come에 대해서 편집 거리 방법에 의해 인덱스를 만들면, *come 대신에 acome부터 zcome까지 인덱스에 추가되고, com* 대신에 coma부터 comz까지 인덱스에 추가된다.This is the case with the wildcard method. In the case of the edit distance method, which is the mother of the wildcard method, 26 alphabets from the actual a to z are included in the place, so the required index size is 1 + { L + 1) + L} * 26 = 52L + 27, which requires a larger size index than the wild card method. That is, if you create an index by the edit distance method for come, the index from acome to zcome is added to the index instead of * come, and from coma to comz instead of com *.

정리하면 편집 거리 방법에 의할 경우 단어의 길이가 L인 단어에 대해 편집 거리 방법으로 편집 거리 1의 인덱스를 구축하기 위해서는 52L + 27 크기의 인덱스가 필요하고, 와일드 카드 방법에 의할 경우 2L + 2 크기의 인덱스가 필요하다.In summary, according to the edit distance method, a 52L + 27 size index is required to construct an index of edit distance 1 in the edit distance method for a word whose length is L, and when the wild card method is used, Two size indexes are required.

이는 편집 거리가 1인 경우의 인덱스의 크기이며 편집 거리가 1보다 더 커지면 인덱스의 크기도 기하급수적으로 커지게 된다. 인덱스의 크기가 커지면 커질수록 검색에서 비교해야 하는 데이터의 양도 증가하게 되므로 검색에 소모되는 비용과 시간도 증가하게 되어 검색의 성능도 떨어지게 된다.This is the size of the index when the editing distance is 1 and the size of the index becomes exponentially larger when the editing distance is larger than 1. As the size of the index grows, the amount of data to be compared in the search increases, which results in an increase in the cost and time consumed in the search, thereby deteriorating the search performance.

도 1b는 K-그램(k-gram)에 기반한 인덱스 생성 방법을 설명하기 위한 예시도이다. K-그램은 키워드를 K 크기만큼의 음절로 나누어서 인덱스를 구축하는 방식을 말한다. 도 1b에는 K의 값이 3인 경우를 기준으로 인덱스를 구축한 예가 도시되어 있다.1B is an exemplary diagram for explaining a method of generating an index based on a K-gram (k-gram). The K-gram is a method of constructing an index by dividing the keyword into K-sized syllables. 1B shows an example in which an index is constructed on the basis of a case where the value of K is 3.

예를 들어 chemistry를 K=3을 기준으로 인덱스를 만들면 경계를 의미하는 #을 시작과 끝으로 해서 {#ch, che, hem, emi, mis, ist, str, try, rt#}을 인덱스로 가지게 된다. phenomenon의 경우에는 {#ph, phe, hen, eno, nom, ome, men, eno, non, on#}를 인덱스로 가지게 된다. 마찬가지로 come의 경우에는 {#co, com, ome, me#}를 인덱스로 가지게 된다.For example, if you create an index based on chemistry with K = 3, you have indexes of {#ch, che, hem, emi, mis, ist, str, try, rt # do. In the case of a phenomenon, the index has {#ph, phe, hen, eno, nom, ome, men, eno, non, on #}. Similarly, in the case of come, we have {#co, com, ome, me #} as an index.

도 1b에서 볼 수 있듯이, 앞 뒤로 경계를 나타내는 #이 추가 되어서, 길이가 L인 키워드의 인덱스의 크기는 L이 된다. 와일드 카드 방식에 의할 경우, 길이가 L인 키워드의 인덱스의 크기가 2L + 2인 것에 비하면, K-그램을 이용하면 인덱스의 크기를 절반 가량으로 대폭 줄일 수 있다.As shown in FIG. 1B, the front and back boundaries # are added so that the size of the index of the keyword of length L is L. In the case of the wild card method, the size of the index can be reduced to about half by using K-gram, compared with the index of the keyword having the length L of 2L + 2.

K-그램 방법에서 K의 값에 따라 K=1인 경우를 특별히 유니-그램(uni-gram)이라 하며, K=2인 경우를 바이-그램(bi-gram), K=3인 경우를 트라이-그램(tri-gram)이라고 한다. 바이-그램을 이용하는 경우를 도 1c와 함께 살펴보도록 하자.In the K-gram method, a case where K = 1 is called a uni-gram, a case where K = 2 is a bi-gram, a case where K = 3 is a tri- It is called a tri-gram. Let's take a case of using a bi-gram together with FIG. 1C.

도 1c는 바이-그램(bi-gram)에 기반한 인덱스 생성 방법을 설명하기 위한 예시도이다. 바이-그램에 의할 경우 키워드를 두 음절로 나누어서 인덱스를 구축하게 된다.1C is an exemplary diagram for explaining a bi-gram based index generation method. By bi-grams, the index is constructed by dividing the keyword into two syllables.

도 1c에서 볼 수 있듯이, chemistry의 경우에는 {ch, he, em, mi, is, st, tr, ry}를 인덱스로 가지며, phenomenon의 경우에는 {ph, he, en, no, om, me, en, no, on}를 인덱스로 가진다. 마지막으로 come의 경우에는 {co, om, me}를 인덱스로 가진다.As shown in FIG. 1C, in the case of chemistry, {ch, he, em, mi, is, st, tr, ry} en, no, on} as an index. Finally, in the case of come, {co, om, me} are indexed.

길이가 L인 단어를 바이-그램으로 인덱스를 만들게 되면 L-1 크기를 가지는 인덱스를 생성하게 된다 K-그램의 경우와 인덱스의 크기가 비슷한 것을 볼 수 있다. 이렇게 K-그램 내지 바이-그램을 이용하는 경우, 와일드 카드 방법에 비해 인덱스의 크기를 절반 가까이 줄일 수 있다. 그렇게 때문에 최근에는 K-그램에 기반하여 인덱스를 구축하는 방법을 많이 사용하고 있다.If we create a bi-gram index of a word with length L, we will create an index with L-1 size. We can see that the size of K-gram is similar to that of K-gram. When using K-grams or bi-grams, the size of the index can be reduced by about half compared with the wildcard method. Therefore, in recent years, many methods of building indexes based on K-gram have been used.

그럼에도 K-그램 역시 단어의 길이에 비례해서 인덱스의 크기가 커지는 점, 오탈자를 검색하는 경우 검색의 성능이 떨어지는 점이 있다. 이에 이를 보완하기 위한 새로운 인덱스 구축 방법을 제안한다. 본 발명에서 제안하는 인덱스 구축 방법은 K-그램을 기본으로 하되, 모음 제거와 보조 인덱스를 활용하는 방법이다.Nevertheless, the K-gram also has a disadvantage in that the size of the index increases in proportion to the length of the word, and the search performance is poor when the punctuation is searched. To overcome this problem, we propose a new index construction method. The index construction method proposed by the present invention is based on the K-gram, which uses a vowel removal and an auxiliary index.

도 2는 본 발명의 일 실시예에 따른 모음 제거 방법에 기반한 인덱스 생성 방법을 설명하기 위한 순서도이다.2 is a flowchart illustrating an index generation method based on a vowel removal method according to an embodiment of the present invention.

앞서 편집 거리 방법, 와일드 카드 방법, K-그램 방법을 설명하면서 살펴본 것처럼, 키워드의 길이가 길면 길수록 인덱스의 크기는 커질 수밖에 없다. 그러므로 인덱스의 크기를 줄이려면 키워드의 길이를 줄여야 한다. 다만, 키워드의 길이를 줄이면 인덱스의 크기도 작아지나, 인덱스의 크기는 검색에 바로 영향을 미치게 된다. 그러므로 어떻게 키워드의 길이를 줄이느냐가 중요하다.As we have explained in the previous section on editing distance method, wildcard method, and K-gram method, the longer the keyword length, the larger the size of the index. Therefore, to reduce the size of the index, you must reduce the length of the keyword. However, if the length of the keyword is reduced, the size of the index becomes smaller, but the size of the index directly affects the search. Therefore, it is important how to reduce the length of the keyword.

키워드의 길이를 효과적으로 줄이기 위해서는 정보 검색에 대해서 알아야 한다. 정보 검색에서 정확도(precision)과 재현율(recall)의 두가지 개념이 있다. 특정 A 키워드가 포함된 문서가 총 32개라고 가정해보자. 이때 검색 엔진을 통해 A 키워드를 입력하였을 때 검색 결과로 20개의 문서가 검색되었고, 검색된 20개의 문서 중에 16개의 문서가 A 키워드과 관련이 있는 문서였으며, 4개의 문서는 A 키워드와 관련이 없는 문서였다고 가정해보자.To effectively reduce the length of a keyword, you need to know about information retrieval. There are two concepts in information retrieval: precision and recall. Suppose that there are a total of 32 documents containing a specific A keyword. At this time, when the keyword A was inputted through the search engine, 20 documents were searched as a search result. Of the 20 documents retrieved, 16 documents were related to the A keyword, and 4 documents were related to the keyword A Let's assume.

이 경우 정확도는 검색 결과로 가져온 20개의 문서 중에 실제 A 키워드와 관련된 문서의 비율로 16 / 20 * 100 = 80%의 수치를 가진다. 그리고 재현율은 관련된 문서 중에 검색된 문서를 말하므로 16 / 32 * 100 = 50%의 수치를 가진다. 즉, 정확도는 True로 예측한 것 중에서 실제 True인 것의 비율이고, 재현율은 실제 True인 것 중에서 True로 예측한 것의 비율이다.In this case, the accuracy is 16/20 * 100 = 80%, which is the ratio of the document related to the actual A keyword among the 20 documents fetched as the search result. And the recall rate refers to the document retrieved from related documents, so it has a value of 16/32 * 100 = 50%. That is, the accuracy is the ratio of what is true to what is true, and the recall is the ratio of what is actually true to what is true.

정확도를 높이기 위해서는 인덱스에 포함된 각 단어가 키워드와 유사할수록 좋다. 예를 들어, come 키워드에 대해서 인덱스를 {come}으로 키워드와 동일하게 구축하면, 검색된 문서는 모두 come를 포함하고 있으므로 정확도는 높아지게 된다. 대신, came을 포함한 문서들은 검색이 안 될 수도 있으므로 재현율은 떨어지게 된다.The better the accuracy, the more similar each keyword in the index is to the keyword. For example, if the index of the come keyword is constructed with the keyword {come} equal to the keyword, the retrieved document contains all the come, so the accuracy becomes high. Instead, documents containing came could not be retrieved, so the recall rate drops.

그래서 품사 및 시제에 따른 단어의 변화나 오타를 포함한 문서도 검색을 하기 위해서 와일드 카드 방법, K-그램 방법 등을 이용하여, 키워드와 유사한 단어들을 인덱스에 추가하여 인덱스의 크기를 늘인다. 바이-그램을 이용하여 come의 인덱스로 {co, om, me}를 구축하게 되면, come를 포함하고 있지 않더라도 me의 인덱스로 인해 came를 포함한 문서들도 검색할 수 있게 된다. 즉 재현율을 높일 수 있다.Therefore, the size of the index is increased by adding words similar to the keyword to the index by using the wildcard method or the K-gram method in order to retrieve the document including the change of the word or the tense according to the parts and tense. By constructing {co, om, me} with an index of come using a bi-gram, even if it does not include come, indexes of me will be able to search for documents that have come. That is, the recall rate can be increased.

정리하면 인덱스에 포함된 단어들이 키워드와 유사할수록 정확도가 높아지게 되며, 인덱스의 크기가 클수록 재현율이 높아지게 된다. 다만, 재현율을 높이기 위해 무작정 인덱스의 크기를 키우게 되면 정확도가 떨어지고, 인덱스의 크기로 인해 검색에 소모되는 시간과 비용이 증가할 수 있다.In summary, the more similar the keywords in the index are to the keywords, the higher the accuracy. The larger the index size, the higher the recall rate. However, if the size of the index is increased to increase the recall rate, the accuracy may be lowered, and the time and cost of the search may increase due to the size of the index.

결국 인덱스의 크기는 키워드의 길이에 비례하므로, 키워드의 길이를 줄여서 인덱스의 크기를 줄일 수 있다. 대신 정확도를 높이기 위해서, 키워드의 특징은 그대로 살릴 수 있어야 한다. 그래야 키워드와 인덱스에 포함된 단어들의 유사도가 높아지기 때문이다. 이를 위해서는 오타들이 주로 어떠한 패턴으로 발생하는지를 살펴볼 필요가 있다.As a result, the size of the index is proportional to the length of the keyword, so the size of the index can be reduced by reducing the length of the keyword. Instead, in order to increase accuracy, the characteristics of the keywords should be preserved. This is because the similarity between the words included in the keyword and the index is increased. In order to do this, it is necessary to look at the pattern in which the typos mainly occur.

영어에서 가장 많이 발생하는 오타를 살펴보면, 첫 번째는 모음을 다른 모음으로 표시하는 것이다. 이는 잘못된 발음(mispronunciation)으로 인한 것이다. 예를 들면 realize를 "relize"로 입력하거나, because를 "becouse"로 입력하는 경우가 있다. 통계적으로 모음을 잘못 입력하여 발생하는 오타가 전체 오타의 60% 정도를 차지한다.If you look at the most common typo in English, the first is to display the vowel as a different vowel. This is due to mispronunciation. For example, you may enter realize as "relize" or because as "becouse". Statistically, typographical errors caused by mistyped vowels account for about 60% of all typographical errors.

다음으로는 잘못된 입력으로 인한 경우가 있다. 예를 들면, between 대신에 "betwween"이나 "betweeen"처럼 동일한 문자를 중복으로 입력하는 경우가 있다. 또는 모음의 철자를 앞뒤를 바꿔서 입력하는 경우도 있다. 예를 들면 because를 "becuase"로 입력하거나 solider를 "soldier"로 입력하는 경우의 오타도 있다.Next, there may be cases of incorrect input. For example, you may want to type the same character as "betwween" or "betweeen" instead of between. Or, the spelling of a vowel may be changed back and forth. For example, typing "becuase" as the reason or "solider" as the solider is a typo.

다음으로는 유사한 발음의 다른 의미를 가지는 단어(homophones)로 인한 오타가 있다. 예를 들면, right 대신에 rite를 입력하거나, read 대신에 reed를 입력하는 경우가 있을 수 있다. 이와 같은 오타들이 통계적으로 주로 발생하는 오타들이다. https://en.wikipedia.org/wiki/Commonly_misspelled_English_words 에서 이와 관련된 자세한 정보를 확인할 수 있다.Next, there is a typo caused by homophones with similar meanings. For example, you might enter rite instead of right or reed instead of read. These typo are mainly typographical errors. You can find more information on this at https://en.wikipedia.org/wiki/Commonly_misspelled_English_words.

지금까지 살펴본 것처럼 영어의 경우 대부분의 오타가 모음에서 발생하며(60%), 그 외에는 중복 입력이나 순서 혼동 등이 있다. 이러한 오타의 패턴을 고려하여 키워드의 길이를 줄이되, 모음을 제거하여 줄이는 방법을 제안한다. 즉 come라는 키워드에 대해서 모음인 a와 e를 제거하여 "cm"을 기준으로 인덱스를 구축하는 것이다.As we have seen so far, most errors in English (60%) occur in vowels, and others include duplicate input or order confusion. In this paper, we propose a method to reduce the length of a keyword by eliminating vowels. That is, for the keyword come, we remove the vowels a and e and build the index based on "cm".

모음을 제거하여 키워드의 길이를 줄이는 것은 오타의 주된 패턴을 반영한다는 장점 외에도 또 다른 장점을 가진다. 그것은 모음을 제거하고 자음만 남겨두는 것이 키워드의 특징을 더 잘 반영한다는 점이다. 영어는 26개의 알파벳을 가지고 있는데 그 중에서 {a, e, i, o, u} 다섯개가 모음이며 그 외의 21개가 자음이다.Reducing the length of a keyword by removing vowels has another advantage in addition to the fact that it reflects the main pattern of typos. That is, removing vowels and leaving consonants better reflects the characteristics of the keywords. English has 26 alphabets, of which {a, e, i, o, u} are five vowels and the other 21 are consonants.

만약 모음을 제거하여 키워드의 길이를 줄이는 대신 자음을 제거하여 키워드의 길이를 줄인다면, 자음을 제거하여 줄인 키워드는 {a, e, i, o, u} 다섯개가 모음으로 조합된 단어가 되므로 다른 키워드와 유사하게 되어 식별력이 떨어지게 된다.If the length of the keyword is reduced by removing the consonants instead of decreasing the length of the keyword by removing the vowel, five keywords {a, e, i, o, u} The keyword becomes similar to the keyword and the discrimination power is lowered.

즉 자음을 제거하여 만든 경우가 모음을 제거하여 만든 경우에 비해 키워드의 특징을 덜 반영하게 된다. 다시 말해 모음을 제거하여 키워드의 길이를 줄이게 되면 남은 단어는 21자의 자음으로만 구성된 단어가 되므로 다른 키워드와 비교하였을 때 식별력은 오히려 더 올라가게 되고 원래의 키워드의 특징을 더 잘 반영하게 되어 정확도가 높아지게 된다.In other words, when the consonants are removed, the characteristics of the keywords are less reflected than when the vowels are eliminated. In other words, if the length of the keyword is reduced by removing the vowel, the remaining word becomes a word consisting of only 21 consonants. Therefore, when compared with other keywords, the discrimination becomes rather higher and reflects the characteristic of the original keyword more accurately. .

정리하면 알파벳에서는 모음의 수가 더 적으므로 모음을 삭제하고 자음만 남겨두게 되면, 키워드의 특징을 더 잘 반영할 수 있어서 정확도를 높일 수 있는 점, 영어에서 모음을 잘 못 입력하는 경우가 오타의 대부분을 차지하는 점에서 모음을 제거하여 키워드의 길이를 줄이는 것이 정확도를 높이면서 재현율도 높일 수 있는 방법임을 알 수 있다.In summary, the number of vowels in the alphabet is smaller, so if you delete the vowels and leave only the consonants, you can increase the accuracy by reflecting the characteristics of the keywords better. It can be seen that reducing the length of the keyword by eliminating the vowel increases the accuracy and the recall rate.

이에 키워드로부터 인덱스를 구축할 때 키워드의 모음을 제거하여 인덱스를 구축하는 방법을 제안한다. 모음(vowel)을 제거하기 때문에 No-VoeEL 로부터 착안하여 NOVEL 방법이라고 칭한다. 이하 NOVEL이라고 하면 이는 모음을 제거하여 키워드의 길이를 줄이고 인덱스를 구축하는 방법을 말한다.In this paper, we propose a method of constructing an index by removing a set of keywords when constructing an index from a keyword. Since the vowel is removed, it is called the NOVEL method, focusing on the No-VoeEL. Hereinafter, NOVEL refers to a method of eliminating a vowel to reduce the length of a keyword and construct an index.

또한, 영어에서 모음에 오타가 많고, 모음의 종류가 적기 때문에 모음을 제거하는 방법을 제안하였는데, 이는 영어 외에도 동일하게 적용될 수 있다. 즉 영어 외에 알파벳을 기반으로 한 다른 종류의 언어 및 일어나 중국어나 한국어와 같은 비 알파벳 계열의 언어들도 대부분 모음보다 자음을 많이 가지고 있는 점, 모음을 잘못 입력하는 경우의 오타가 많은 점을 고려할 때 본 발명에서 제안하는 NOVEL 방법이 여전히 유효하다고 할 수 있다.In addition, since there are many typos in vowels in English, and the kinds of vowels are small, a method of removing vowels has been proposed. In other words, other kinds of languages based on the alphabet other than English, and non-alphabetic languages such as Chinese and Korean are widespread than most vowels. Considering that there are a lot of mistakes in inputting wrong vowels The NOVEL method proposed by the present invention is still valid.

이하 NOVEL 방법에 대해서 영어를 대상으로 설명을 진행하나, 다만 이는 이해의 편의를 돕기 위한 것일 뿐 다른 언어에 NOVEL 방법을 적용하는 것을 제한하고자 하는 것은 아님을 밝혀 둔다. 이러한 전제하에 NOVEL 방법에 대해서 도 2의 순서도와 함께 설명을 계속하기로 한다.The following NOVEL method is explained in English, but it is not intended to limit the application of the NOVEL method to other languages, as this is only for convenience of understanding. Under this assumption, the NOVEL method will be described with reference to the flow chart of FIG. 2.

도 2를 참고하면 우선 문서에서 문장을 추출한다(S1000). 문서에서 문장을 추출하는 과정은 문장 부호나 단락 부호를 이용한다. 다음으로 문장에서 키워드를 추출한다(S2000). 여기서 키워드란 문서에 포함된 단어 중에서 중요도를 평가하여, 중요도가 높은 단어를 선별한 것을 말한다.Referring to FIG. 2, a sentence is first extracted from a document (S1000). The process of extracting a sentence from a document uses a punctuation or a separator. Next, the keyword is extracted from the sentence (S2000). Here, the keyword is a word having a high degree of importance by evaluating the degree of importance among the words included in the document.

문서에 포함된 단어의 중요도를 평가하는 방법에는 다양한 알고리즘이 적용될 수 있다. 예를 들면 TF-IDF(Term Frequency-Inverse Document Frequency)와 같은 알고리즘을 이용하여 문서에서 해당 키워드가 발생한 빈도 및 다른 문서에서 발생한 빈도 등을 고려하여 중요도를 평가할 수 있다. 또는 문서에 포함된 태그와 같은 메타 정보(meta-data)를 이용하여 중요도를 평가할 수 있다. 또는 문서에 포함된 단어를 의미를 기준으로 클러스터링(clustering)하여 클러스터의 크기에 따라 중요도를 평가할 수 있다. 이상 언급한 방법 외에도 다양한 알고리즘을 적용하여 문서에 포함된 단어의 중요도를 평가하고 키워드를 추출할 수 있다.Various algorithms can be applied to evaluate the importance of words in a document. For example, by using an algorithm such as TF-IDF (Term Frequency-Inverse Document Frequency), the importance can be evaluated in consideration of the frequency of occurrence of the keyword in the document and the frequency of occurrence in other documents. Or meta-data such as tags included in the document can be used to evaluate the importance. Or the words included in the document can be clustered on the basis of meaning to evaluate the importance according to the size of the cluster. In addition to the methods mentioned above, various algorithms can be applied to evaluate the importance of words included in a document and to extract keywords.

다음으로, 키워드에서 모음을 제거하여 자음만 추출한다(S3000). 즉 키워드에서 모음을 제거하여 자음으로만 구성된 키워드를 만든다. baseball의 경우에는 "bsbll"이 자음만 추출하여 만든 새로운 키워드가 되며, telephone의 경우에는 "tlphn"이 자음만 추출하여 만든 새로운 키워드가 된다.Next, only vowels are extracted by removing vowels from the keyword (S3000). That is, remove the vowel from the keyword to create a keyword consisting only of consonants. In the case of baseball, "bsbll" is a new keyword created by extracting only consonants. In the case of telephone, "tlphn" is a new keyword created by extracting only consonants.

도 1a에서 설명하면서 사용했던, chemistry, phenomenon, come의 경우에는 모음을 제거하면, "chmstry", "phnmnn", "cm"이 자음만 추출한 새로운 키워드가 된다. 모음을 제거하고 자음만 추출하여 새로운 키워드를 만드는 과정에서 추가적인 가공이 있을 수 있다.In the case of chemistry, phenomenon, and come, which were used in FIG. 1A, when the vowel is removed, "chmstry", "phnmnn", and "cm" become new keywords extracted only consonants. There may be additional processing in the process of creating new keywords by removing vowels and extracting only consonants.

예를 들면, 앞서 살펴본 것처럼 오타의 주된 패턴 중에 하나가 문자를 중복 입력하는 경우가 있다. 그러므로 중복 입력된 문자를 중복을 제거하고 하나의 문자로 고치는 과정을 통해서 키워드의 길이를 줄이는 방법도 생각해 볼 수 있다. 예를 들면 baseball에서 두 개의"ll"을 하나의 "l"로 줄이는 방법을 적용할 수 있다. 또한, 중복 입력을 제거하는 방법은 모음을 제거하는 방법과 병행하여 적용할 수도 있다.For example, as we have seen, one of the main patterns of typographical errors is that characters are duplicated. Therefore, it is possible to consider a method of reducing the length of a keyword by eliminating redundant input characters and correcting them with a single character. For example, you can apply a method of reducing two "ll" s to a single "l" in baseball. In addition, the method of eliminating redundant input may be applied in parallel with the method of eliminating vowels.

예를 들어 baseball에 중복 제거와 모음 제거를 동시에 적용해 보자. 이 경우 baseball > basebal > bsbl 과 같은 방식으로 키워드의 길이를 줄일 수 있다. 원래의 키워드인 basebll은 8음절의 단어이지만, 변경된 키워드인 "bsbl"은 4음절의 단어이다. baseball과 같은 예에서 키워드의 특징은 그대로 살리면서 키워드의 길이를 줄일 수 있는 NOVEL 방법만의 장점을 확인할 수 있다. 이를 통해 정확도도 높이면서 재현율도 높일 수 있게 된다.For example, let's apply de-duplication and vowel removal to baseball at the same time. In this case, you can reduce the length of the keyword in the same way as baseball> basebal> bsbl. The original keyword basebll is an 8-syllable word, but the changed keyword "bsbl" is a 4-syllable word. In the example of baseball, the advantage of the NOVEL method that can reduce the length of the keyword while preserving the characteristics of the keyword is confirmed. This improves the accuracy and the recall rate.

모음을 제거하고 자음으로만 된 키워드를 추출할 경우 동일한 자음이 나타날 확률이 더 높아지므로 모음을 제거하기 전에 앞서서 중복된 문자를 제거하는 것이 바람직할 것이다. 그러나 이것은 제안일 뿐 모음 제거 후에 중복 제거를 수행해도 무방하다.It is desirable to remove duplicate characters before eliminating the vowel because removing the vowels and extracting the keywords with consonants will increase the probability of the same consonant appearing. However, this is only a suggestion, and duplicate removal can be performed after vowel removal.

다시 도 2로 돌아가서 모음 제거를 통해 자음으로만 구성된 키워드를 추출한 후에는 해당 키워드에 K-그램을 적용하여 인덱스를 구축한다. 키워드에 K-그램을 적용하여 인덱스를 구축하는 과정은 종래의 K-그램을 이용하여 인덱스를 구축하는 방법과 유사하다고 볼 수 있다.Returning to FIG. 2, after extracting the keyword consisting only of consonants by removing the vowel, the index is constructed by applying the K-gram to the keyword. The process of constructing an index by applying a K-gram to a keyword is similar to a method of constructing an index using a conventional K-gram.

그러나 여기서 본 발명에서 제안하는 NOVEL 방법만의 특징이 또 등장한다. 그것은 K-그램을 한 번 더 적용하여 보조 인덱스를 구축하는 것이다. 예를 들어 come이라는 키워드에 대해서 K-그램을 적용할 때 K=3을 기준으로 적용한다고 가정해보자.However, another feature of the NOVEL method proposed by the present invention also appears here. That is to apply the K-gram one more time to construct the secondary index. For example, suppose you apply the K-gram for the keyword come to the K = 3.

종래의 K-그램 방법은 키워드를 변경하지 않으므로 come 단어에 대해서 {#co, com, ome, me#}를 인덱스로 구축하게 된다. 그러나 본 발명에서 제안하는 NOVEL 방법은 모음을 제거한 키워드로 인덱스를 구축하므로 come 단어에 대해서 cm으로 변경한 후 키워드를 구축하게 된다. cm에 대해서 K=3을 기준으로 인덱스를 구축하면 {cm}이 된다.Since the conventional K-gram method does not change the keyword, it builds indexes of {#co, com, ome, me #} for the word come. However, in the NOVEL method proposed by the present invention, since the index is constructed by removing the vowel, the keyword is changed after changing the word to cm for the come word. If we construct an index based on K = 3 for cm, {cm}.

여기서 볼 수 있듯이 모음을 제거하게 되면 키워드의 길이가 줄어들어 인덱스의 크기를 줄일 수 있다는 장점이 있지만, 반면에 인덱스의 크기가 너무 작아져서 재현율이 낮아지게 되는 단점이 있다. 이를 보완하기 위하여, 모음을 제거하고 자음으로만 구성한 새로운 키워드의 길이가 작을 때는 K-그램 외에 (K-1)-그램을 더 수행하여 보조 인덱스를 구축함으로써, 인덱스의 전체 크기를 키울 수 있다. 이를 통해 재현율을 높일 수 있다.As can be seen, removing the vowel has the advantage of reducing the size of the index by reducing the length of the keyword, but the size of the index is too small and the recall is lowered. In order to compensate for this, when the length of a new keyword composed only of consonants is small, the total size of the index can be increased by constructing an auxiliary index by performing (K-1) -gram in addition to K-gram. This can increase the recall rate.

여기서 보조 인덱스를 구축할지 말지를 결정하는 K의 값으로 본 발명에서는 3을 제안한다. 영어를 기준으로 했을 때, 단어의 평균적인 길이가 K=3의 값일 때 가장 효율적이기 때문이다. 다만, 이는 영어를 전제로 한 경우이며 본 발명에서 제안하는 NOVEL 방법은 다른 언어에도 적용이 가능하므로 다른 언어에 NOVEL 방법을 적용하는 경우에는 기준이 되는 K의 값이 얼마든지 달라질 수 있다.Here, 3 is proposed in the present invention as a value of K which determines whether to construct an auxiliary index. This is because the average length of words is the most efficient when K = 3, based on English. However, this is based on English, and the NOVEL method proposed in the present invention can be applied to other languages. Accordingly, when the NOVEL method is applied to other languages, the value of K, which is a standard, can be changed.

다시 도 2로 돌아가서 자음으로만 구성된 새로운 키워드의 길이를 m이라고 했을 때, m의 값이 3보다 크면(S4000), 3-grma의 인덱스를 생성한다(S5000). 이 경우 3-gram으로 구축된 인덱스만으로도 검색이 충분하다. 그러나, m의 값이 3보다 작은 경우에는 우선 m-gram의 인덱스를 생성하고(S6100), m의 값이 1보다 큰 경우에는(S6300), (m-1)-gram의 인덱스를 추가적으로 더 생성한다(S6500). 즉 보조 인덱스를 더 구축하는 것이다.Returning to FIG. 2, if the value of m is greater than 3 (S4000), an index of 3-grma is generated (S5000). In this case, the index constructed with 3-gram is enough to search. However, if the value of m is smaller than 3, the index of the m-gram is generated first (S6100). If the value of m is larger than 1 (S6300), an index of (m-1) (S6500). In other words, the secondary index is to be constructed.

여기서 m의 값이 1보다 큰지 한번 더 확인하는 단계(S6300)는 당연한 것으로 m의 값이 1인 경우에는 m-1은 0이 되고 0-gram은 수행할 수 없기 때문이다. 즉, m의 값이 1보다 큰지 한번 더 확인하는 단계(S6300)는 논리상 당연히 필요한 단계이다.Here, it is natural that step (S6300) of confirming once again whether the value of m is larger than 1 is because m-1 becomes 0 and 0-gram can not be performed when the value of m is 1. That is, the step of confirming once again whether the value of m is greater than 1 (S6300) is a necessary step in logic.

또한 도 2의 예에서는 모음을 제거하고 자음으로만 구성된 키워드에 대해서 K-그램을 적용하여 인덱스를 구축하는 것으로 설명하였는데, K-그램 외에도 얼마든지 다른 방법을 적용하여 인덱스를 구축할 수 있다. 예를 들면 와일드 카드 방법을 적용하여 인덱스를 구축할 수도 있다. 또는 바이-그램 방법을 적용하여 인덱스를 구축할 수도 있다. 도 2의 순서도는 K-그램 외에 다른 방법의 적용을 배제하는 것은 아니다.In the example of FIG. 2, the index is constructed by removing the vowel and applying K-grams to the keyword consisting only of consonants. In addition to K-grams, the index can be constructed by applying any other method. For example, an index can be built by applying the wildcard method. Alternatively, the index may be constructed by applying the bi-gram method. The flow chart of Fig. 2 does not exclude the application of other methods other than K-grams.

도 2에서 설명한 본 발명에 제안하는 NOVEL 방법의 특징을 정리해보면 다음과 같다. 우선 키워드의 길이를 줄임으로써, 인덱스의 전체 크기를 줄인다. 이를 통해 퍼지 검색에 소모되는 비용과 시간을 줄일 수 있다. 즉 검색의 성능을 높일 수 있다.The features of the NOVEL method proposed in the present invention described in FIG. 2 are summarized as follows. First, by reducing the length of the keyword, the overall size of the index is reduced. This reduces the cost and time required for fuzzy search. That is, the search performance can be improved.

또한 모음을 제거하고 자음으로만 구성된 키워드를 이용함으로써, 키워드의 길이를 효율적을 줄일 수 있다. 이를 통해 키워드의 특징을 인덱스에 더 잘 반영하고 정확도를 높일 수 있다. 다음으로 키워드의 길이가 기 설정된 값보다 작을 때는 보조 인덱스를 더 구축함으로써, 인덱스의 크기가 필요 이상으로 작아지는 것을 방지한다. 이를 통해 재현율을 높일 수 있다. 즉 모음 제거와 보조 인덱스를 통해 검색의 효율을 높일 수 있다.In addition, by removing the vowels and using the keyword consisting only of consonants, the length of the keyword can be reduced efficiently. This allows you to better reflect the characteristics of the keyword in the index and improve its accuracy. Next, when the length of the keyword is smaller than the preset value, an additional sub-index is constructed to prevent the size of the index from becoming unnecessarily small. This can increase the recall rate. That is, retrieval efficiency can be improved through collection elimination and secondary indexes.

도 3는 본 발명의 일 실시예에 따른 모음 제거 방법에 기반한 인덱스 생성 방법을 설명하기 위한 의사코드(pseudocode)이다.FIG. 3 is a pseudocode explaining a method of generating an index based on a vowel removal method according to an embodiment of the present invention.

도 3을 참고하면, 문서 Dk에서 문장 L을 추출하고(line 2), 문장 L에서 키워드 Wi를 추출한다(line 3). 추출된 키워드 Wi에 대해서 모음을 제거하여 새로운 키워드 Wv를 만든다(line 5). 새로운 키워드 Wv의 길이 m에 따라 3보다 큰 경우에는 3-gram을 수행하여 인덱스를 구축하고(line 8), 3과 2인 경우에는 m-gram(line 14)과 (m-1)-gram(line 15)를 수행하여 인덱스를 구축한다. 만약 m이 1이라면 1-gram을 수행하여 인덱스를 구축한다.Referring to FIG. 3, a sentence L is extracted from a document Dk (line 2), and a keyword Wi is extracted from a sentence L (line 3). For the extracted keyword Wi, the vowel is removed to create a new keyword Wv (line 5). If the length of the new keyword Wv is greater than 3, 3-gram is performed to construct an index (line 8). In the case of 3 and 2, m-gram (line 14) and (m- line 15) to construct an index. If m is 1, 1-gram is performed to construct an index.

도 3에 표시된 의사코드는 코드의 형태로만 표시되어 있을 뿐 도 2의 순서도에 설명한 모음 제거 및 보조 인덱스라는 NOVEL 방법만의 특징이 그대로 잘 나타나 있다. 이제는 도 4a 내지 도 10b의 실제 사례를 통해서 NOVEL 방법에 대해서 살펴보도록 하자.The pseudo code shown in FIG. 3 is shown only in the form of a code, but the characteristic of only the NOVEL method called the vowel removal and the secondary index described in the flowchart of FIG. Now let's look at the NOVEL method through the actual case of FIGS. 4A to 10B.

도 4a 내지 도 4c는 편집 거리 방법을 이용한 퍼지 검색을 설명하기 위한 예시도이다.4A to 4C are diagrams for explaining a fuzzy search using an edit distance method.

도 4a의 경우에는 chemistry의 오타로 발음 그대로 입력한 "kehmeesdree"가 예시되어 있고, 도 4b의 경우에는 phenomenon의 오타로 발음 그대로 입력한 "finominan"이 예시되어 있다. 마지막으로 도 4c의 경우에는 come의 과거형인 "came"이 예시되어 있다. 각각의 경우에 대해서 편집 거리 방법을 이용한 퍼지 검색을 수행한다고 가정해보자.In the case of FIG. 4A, "kehmeesdree" is input as the pronunciation of the chemistry, and "finominan" is input as the pronunciation of the phenomenon is typified in the case of FIG. 4B. Finally, in the case of FIG. 4c, "came", which is a past type of come, is illustrated. Suppose that fuzzy search is performed using the edit distance method for each case.

도 4a을 참고하면, 원천 문자열 "kehmeesdree"에서 목적 문자열 chemistry까지 가기 위해서는 1. replace k with c > 2. remove e > 3. add e after h > 4. replace e with i > 5. delete e > 6. replace d with t > 7. replace e with y > 8. delete e의 8 단계의 편집 연산을 거쳐야 하는 것을 볼 수 있다.Referring to FIG. 4A, to go from the source string "kehmeesdree" to the destination string chemistry, 1. replace k with c> 2. remove e> 3. add e after h> 4. replace e with i> 5. delete e> 6 . replace d with t> 7. replace e with y> 8. delete e.

만약 편집 거리를 1을 기준으로 유사 여부를 판단하기로 했다면 "kehmeesdree"와 chemistry는 편집 거리가 8이므로 기준치인 1보다 크게 되어 유사하지 않은 것으로 판단하게 된다. 즉 "kehmeesdree"를 입력하여 검색하더라도 chemistry가 포함된 검색 결과를 볼 수는 없다.If you decide to judge similarity based on the editing distance of 1, "kehmeesdree" and chemistry are determined to be similar because they are larger than the standard value of 1 because the editing distance is 8. In other words, even if you search by typing "kehmeesdree", you can not see the search result that contains chemistry.

마찬가지로 도 4b를 참고하면, 원천 문자열 "finominan"에서 목적 문자열 phenomenon까지 가기 위해서는 1. replace f with p > 2. add h > 3. replace i with e > 4. replace i with e > 5. replace a with o의 5 단계의 편집 연산을 거쳐야 하는 것을 볼 수 있다.Similarly, referring to FIG. 4b, to go from the source string "finominan" to the destination string phenomenon, 1. replace f with p> 2. add h> 3. replace i with e> 4. replace i with e> 5. replace a with It is necessary to go through five editing operations of o.

만약 편집 거리를 1을 기준으로 유사 여부를 판단하기로 했다면 "finominan"와 phenomenon는 편집 거리가 5이므로 기준치인 1보다 크게 되어 유사하지 않은 것으로 판단하게 된다. 즉 "finominan"을 입력하여 검색하더라도 phenomenon가 포함된 검색 결과를 볼 수는 없다.If we decided to judge the similarity based on the editing distance of 1, "finominan" and phenomenon are larger than the reference value of 1 because the editing distance is 5, and it is judged that they are not similar. In other words, even if you search for "finominan", you can not see the search result that contains the phenomenon.

도 4c을 참고하면, 원천 문자열 "came"에서 목적 문자열 come까지 가기 위해서는 1. replace a with o의 1 단계의 편집 연산을 거쳐야 하는 것을 볼 수 있다. 편집 거리 1을 기준으로 유사 여부를 판단하기로 하였으므로, "came"를 입력하면 유사한 come가 포함된 문서를 검색할 수 있다.Referring to FIG. 4C, it can be seen that, in order to go from the source string "came" to the destination string come, it is necessary to perform the editing operation of the first step of 1. replace a with o. Since we decided to judge similarity based on edit distance 1, if you enter "came", you can search for documents containing similar come.

도 4a 내지 도 4c에서 살펴본 것처럼 편집 거리 방법을 이용하여 인덱스를 구축하고 문서를 검색하게 되면 검색의 성능과 효율이 떨어지는 것을 볼 수 있다. 즉 인덱스의 크기가 커져서 검색의 성능이 저하되고, 필요한 문서를 제대로 검색하지 못하는 경우가 발생할 수 있어 검색의 효율이 저하된다.As shown in FIGS. 4A to 4C, when the index is constructed and the document is searched using the edit distance method, the search performance and efficiency are inferior. That is, the size of the index is increased, the performance of the search is deteriorated, and the necessary documents may not be properly retrieved.

도 5a 내지 도 5c는 와일드 카드 방법을 이용한 퍼지 검색을 설명하기 위한 예시도이다.5A to 5C are diagrams for explaining a fuzzy search using a wildcard method.

도 5a를 참고하면, 편집 거리 방법에 비해 인덱스의 크기가 줄기는 하였으나, 여전히 "kehmeesdree"와 chemistry를 매칭하지 못한 것을 볼 수 있다. 즉, "kehmeesdree"를 입력하여도 chemistry가 키워드로 포함된 문서를 검색할 수 없다.Referring to FIG. 5A, although the size of the index is reduced compared with the edit distance method, it is still not possible to match chemistry with "kehmeesdree". That is, even if you type "kehmeesdree", you can not search documents containing chemistry keywords.

마찬가지로 도 5b를 참고하면, "finominan"와 phenomenon가 매칭되지 않아, "finominan"를 입력하여도 phenomenon가 키워드로 포함된 문서를 검색할 수 없는 것을 볼 수 있다.Similarly, referring to FIG. 5B, since "finominan" and the phenomenon do not match, it can be seen that even if "finominan" is input, the document containing the phenomenon can not be retrieved.

마지막 도 5c를 참고하면 "came"와 come는 인덱스 중에서 "c*me"가 동일하게 있어 매칭이 되는 것을 볼 수 있다. 즉 와일드 카드 방법에 의하면 "came"를 입력하면 come가 포함된 문서를 검색할 수 있다.Finally, referring to FIG. 5C, it can be seen that "came" and "come" match in the index with "c * me" being the same. That is, according to the wildcard method, "came" can be used to search for documents containing come.

거리 편집 방법과 와일드 카드 방법을 비교해보면 인덱스의 크기는 대략 52L에서 2L로 상당 부분 줄일 수 있다. 인덱스의 크기가 감소하므로 검색에 소모되는 시간과 비용을 절감할 수 있어 검색의 성능을 높일 수 있다. 그러나 발음이 나는 대로 입력한 "kehmeesdree"이나 "finominan"의 예처럼 검색의 정확도는 떨어지는 것을 볼 수 있다.Comparing the distance editing method and the wildcard method, the size of the index can be greatly reduced from 52L to 2L. As the size of the index is reduced, search time and cost can be saved, which improves search performance. However, you can see that the accuracy of the search is lowered, as in the case of "kehmeesdree" or "finominan" entered as pronounced.

도 6a 내지 도 6c는 K=3을 기준으로 K-그램 방법을 이용한 퍼지 검색을 설명하기 위한 예시도이다.6A to 6C are diagrams for explaining a fuzzy search using the K-gram method based on K = 3.

도 6a를 참고하면, 와일드 카드 방법에 비해 인덱스의 크기가 더 줄기는 하였으나, 여전히 "kehmeesdree"와 chemistry를 매칭하지 못한 것을 볼 수 있다. 즉, "kehmeesdree"를 입력하여도 chemistry가 키워드로 포함된 문서를 검색할 수 없다.Referring to FIG. 6A, although the size of the index is smaller than that of the wildcard method, it is still not possible to match chemistry with "kehmeesdree". That is, even if you type "kehmeesdree", you can not search documents containing chemistry keywords.

마찬가지로 도 6b를 참고하면, "finominan"와 phenomenon가 매칭되지 않아, "finominan"를 입력하여도 phenomenon가 키워드로 포함된 문서를 검색할 수 없는 것을 볼 수 있다.Similarly, referring to FIG. 6B, it can be seen that "finominan" and the phenomenon do not match, so that even if "finominan" is input, the document containing the phenomenon can not be retrieved.

마지막 도 6c를 참고하면 "came"와 come는 인덱스 중에서 "me#"가 동일하게 있어 매칭이 되는 것을 볼 수 있다. 즉 와일드 카드 방법에 의하면 "came"를 입력하면 come가 포함된 문서를 검색할 수 있다.Finally, referring to FIG. 6C, "came" and "come" can be seen as matching "me #" in the index. That is, according to the wildcard method, "came" can be used to search for documents containing come.

와일드 카드 방법과 K-그램 방법을 비교해보면 인덱스의 크기는 대략 2L에서 L로 절반 정도 줄일 수 있다. 인덱스의 크기가 감소하므로 검색에 소모되는 시간과 비용을 절감할 수 있어 검색의 성능을 높일 수 있다. 그러나 발음이 나는 대로 입력한 "kehmeesdree"이나 "finominan"의 예처럼 검색의 정확도는 떨어지는 것을 볼 수 있다.Compared to the wildcard method and the K-gram method, the size of the index can be reduced by half from about 2L to L. As the size of the index is reduced, search time and cost can be saved, which improves search performance. However, you can see that the accuracy of the search is lowered, as in the case of "kehmeesdree" or "finominan" entered as pronounced.

도 7a 내지 도 7c는 바이-그램 방법을 이용한 퍼지 검색을 설명하기 위한 예시도이다.7A to 7C are diagrams for explaining a fuzzy search using a bi-gram method.

도 7a를 참고하면, 와일드 카드 방법에 비해 인덱스의 크기가 더 줄기는 하였으나, "kehmeesdree"와 chemistry를 매칭하지 못한 것을 볼 수 있다. 즉, "kehmeesdree"를 입력하여도 chemistry가 키워드로 포함된 문서를 검색할 수 없다.Referring to FIG. 7A, although the size of the index is smaller than that of the wildcard method, it can be seen that "kehmeesdree" does not match chemistry. That is, even if you type "kehmeesdree", you can not search documents containing chemistry keywords.

다음으로 도 7b를 참고하면, "finominan"와 phenomenon가 인덱스 중에서 "no"와 "om"가 동일하게 있어 매칭이 되는 것을 볼 수 있다. 즉 바이-그램 방법에 의하면 "finominan"를 입력하면 phenomenon가 포함된 문서를 검색할 수 있다.Next, referring to FIG. 7B, it can be seen that "finominan" and phenomenon are matched because "no" and "om" are the same in the index. That is, according to the bi-gram method, "finominan" can be used to search for documents containing a phenomenon.

마지막 도 6c를 참고하면 "came"와 come는 인덱스 중에서 "me"가 동일하게 있어 매칭이 되는 것을 볼 수 있다. 즉 와일드 카드 방법에 의하면 "came"를 입력하면 come가 포함된 문서를 검색할 수 있다.Finally, referring to FIG. 6C, it can be seen that "came" and "come" are matched because "me" is the same in the index. That is, according to the wildcard method, "came" can be used to search for documents containing come.

K-그램 방법과 바이-그램 방법을 비교해보면 인덱스의 크기는 대략 L로 비슷하다. 다만, 바이-그램에서 사용되는 인덱스에 포함된 단어의 길이가 K-그램에서 사용되는 인덱스에 포함된 단어의 길이보다 더 짧기 때문에 재현율은 높아지나 정확도는 떨어지게 된다.When comparing the K-gram method and the bi-gram method, the size of the index is approximately equal to L. However, since the length of the word included in the index used in the bi-gram is shorter than the length of the word included in the index used in the K-gram, the recall rate increases but the accuracy decreases.

도 8a 내지 도 8c는 본 발명의 일 실시예에 따른 NOVEL 방법을 이용한 퍼지 검색을 설명하기 위한 예시도이다.8A to 8C are diagrams for explaining a fuzzy search using a NOVEL method according to an embodiment of the present invention.

도 8a을 참고하면 "kehmeesdree"와 chemistry가 각각 모음을 제거한 새로운 키워드인 "khmsdr"와 "chmstry"를 기준으로 K-그램을 생성한 것을 볼 수 있다. 키워드의 길이가 모음 제거 전에는 각각 11음절과 9음절이였는데, 모음 제거 후에는 6음절과 7음절로 줄어들 것을 볼 수 있다.Referring to FIG. 8A, it can be seen that the "kehmeesdree" and the chemistry respectively generate K-grams based on the new keywords "khmsdr" and "chmstry" that have been removed from the vowels. The length of the keyword was 11 syllables and 9 syllables respectively before elimination, and after elimination of the vowel, it was reduced to 6 syllables and 7 syllables.

자음만 추출하여 만든 키워드에 대해 3-gram을 적용하여 인덱스를 구축해보면 "hms"가 공통되어 "kehmeesdree"를 검색어로 입력하면 chemistry가 키워드로 포함된 문서를 검색할 수 있다.If you construct a 3-gram index for a keyword created by extracting only consonants, "hms" is common, and you can enter "kehmeesdree" as a keyword to search for documents containing keywords.

다음으로 도 8b을 참고하면 "finominan"와 phenomenon가 각각 모음을 제거한 새로운 키워드인 "fnmnn"와 "phnmnn"를 기준으로 K-그램을 생성한 것을 볼 수 있다. 키워드의 길이가 모음 제거 전에는 각각 9음절과 10음절이었는데, 모음 제거 후에는 5음절과 6음절로 줄어들 것을 볼 수 있다.Next, referring to FIG. 8B, it can be seen that the "finominan" and the phenomenon respectively generate K-grams based on the new keywords "fnmnn" and "phnmnn" The length of the keywords was 9 syllables and 10 syllables before the vowel removal, respectively. However, after elimination of the vowels, the syllables decreased to 5 syllables and 6 syllables.

자음만 추출하여 만든 키워드에 대해 3-gram을 적용하여 인덱스를 구축해보면 "nmn"과 "mnn"가 공통되어 "finominan"를 검색어로 입력하면 phenomenon가 키워드로 포함된 문서를 검색할 수 있다.If you build an index by applying 3-grams to keywords created by extracting only consonants, "nmn" and "mnn" are common, and if you enter "finominan" as a search term, you can search for documents containing a phenomenon.

마지막으로 도 8c를 참고하면 "came"와 come가 각각 모음을 제거한 동일한 키워드인 "cm"을 기준으로 2-gram을 수행하여"cm"의 인덱스와 1-gram을 수행하여"c" 및 "m"의 보조 인덱스를 생성한 것을 볼 수 있다. 모음이 제거된 키워드가 동일하므로 인덱스가 모두 일치하게 되어, "came"를 검색어로 입력하면 come가 키워드로 포함된 문서를 검색할 수 있다.Finally, referring to FIG. 8C, a 2-gram is performed on the basis of the same keyword "came" and "vowel", in which "v" and " &Quot;, < / RTI > Because the keywords are the same as the removed vowels, all of the indexes are matched, and if you enter "came" as the search term, you can search for documents that contain the keyword "come".

K-그램 방법 및 바이-그램 방법과 본 발명의 일 실시예에 따른 NOVEL 방법을 비교해보면 다음과 같다.The K-gram method and the bi-gram method are compared with the NOVEL method according to an embodiment of the present invention as follows.

우선 인덱스의 크기는 K-그램 방법이나 바이-그램 방법은 대략 키워드의 길이인 L의 크기를 가진 인덱스를 생성한다. 이에 비해 NOVEL은 통계적으로 키워드에서 모음을 제거하고 자음으로만 구성된 새로운 키워드를 만들면 50% 정도의 음절이 제거가 되어서, 0.5L 크기의 인덱스를 생성한다. 인덱스의 크기가 반으로 줄게 되므로 문서에서 추출한 키워드로 구축한 인덱스와 사용자가 입력한 키워드로 구축한 인덱스를 비교하고 문서를 검색하는 과정에서 소모되는 비용과 시간을 절반정도 줄일 수 있다. 즉 검색의 성능을 높일 수 있다.First, the size of the index is K-gram or the bi-gram method generates an index having a size of L, which is approximately the length of the keyword. On the other hand, NOVEL statistically removes vowels from a keyword and creates a new keyword consisting only of consonants, which removes about 50% of the syllables and generates a 0.5L-size index. Since the size of the index is reduced by half, it is possible to compare the index constructed with the keyword extracted from the document and the index constructed by the keyword inputted by the user, and reduce the cost and time consumed in searching the document by half. That is, the search performance can be improved.

다음으로 "kehmeesdree"와 "finominan"의 예에서 볼 수 있듯이 모음을 제거하게 되면, 키워드의 특징을 더 잘 반영할 수 있게 된다. 즉 인덱스의 크기를 줄였음에도 검색의 재현율을 높일 수 있다. 여기서 재현율 외에 NOVEL 방법의 장점을 정확도 측면에서 살펴보면 도 9a 내지 도 9c와 같다.Next, as you can see from the examples of "kehmeesdree" and "finominan", removing a vowel can better reflect the characteristics of the keyword. That is, although the size of the index is reduced, the retrieval rate can be increased. The advantages of the NOVEL method in addition to the recall rate are shown in FIGS. 9A to 9C in terms of accuracy.

도 9a 내지 도 9c는 복수의 키워드를 포함하는 제1 문서를 검색하는 경우, 각 방법에 따른 정확도를 설명하기 위한 예시도이다.9A to 9C are diagrams for explaining accuracy according to each method when searching a first document including a plurality of keywords.

도 9a를 참고하면 제1 문서는 키워드로 {house, mark, worry, motor, melon}의 5개의 키워드를 가지고 있는 것을 볼 수 있다. 이때 사용자가 검색어로 "homework"을 입력하여 검색한다고 가정해보자.Referring to FIG. 9A, it can be seen that the first document has five keywords {house, mark, worry, motor, melon} as keywords. Assume that the user enters "homework" as the search term and searches.

{house, mark, worry, motor, melon}를 키워드로 갖는 제1 문서를 K=3을 기준으로 인덱스를 구축하면 도 9a의 아래에서 보는 바와 같다. 이 때 사용자가 "homework"를 검색어로 입력하면 "homework"의 인덱스가 {#ho, hom, ome, mew, ewo, wor, ork, rk#}가 되어 제1 문서의 인덱스와 "#ho", "rk#", "wor"이 공통된 것으로 나온다.If a first document having {house, mark, worry, motor, melon} as a keyword is constructed with an index based on K = 3 as shown in FIG. When the user enters "homework" as the search term, the index of the "homework" becomes {#ho, hom, ome, mew, ewo, wor, ork, rk # "rk #" and "wor" are common.

즉 제1 문서는 키워드로 "homework"를 가지고 있지 않음에도 사용자가 "homework"를 입력해서 검색하게 되면 제1 문서가 검색되어서 나올 수 있다. 즉 검색의 정확도가 떨어질 수 있다. 이는 K-그램 뿐만 아니라 바이-그램의 경우에도 마찬가지이다.That is, even though the first document does not have "homework" as a keyword, if the user inputs "homework", the first document can be retrieved. That is, the accuracy of the search may be lowered. The same is true for K-grams as well as bi-grams.

도 9b를 참고하면 제1 문서를 바이-그램을 이용하여 인덱스를 구축하고, 사용자가 입력한 키워드 "homework"와 비교하는 것을 볼 수 있다. 이때에도 마찬가지로 문서의 색인과 사용자가 입력한 검색의 색인 중에서 "ho", "rk", "wo", "me"가 공통되어 제1 문서는 키워드로 "homework"를 가지고 있지 않음에도 사용자가 "homework"를 입력해서 검색하게 되면 제1 문서가 검색되어서 나올 수 있다.Referring to FIG. 9B, an index is constructed using a bi-gram of the first document and compared with the keyword "homework " inputted by the user. Similarly, "ho", "rk", "wo", and "me" are common among the index of the document and the index of the search input by the user. Therefore, even if the first document does not have "homework" homework ", the first document can be searched for.

이에 비해 본 발명에서 제안하는 NOVEL 방법을 이용한 검색을 살펴보자. NOVEL 방법의 경우 house는 모음을 제거한 "hs", mark는 모음을 제거한 "mrk", worry는 모음을 제거한 "wrry", motor는 모음을 제거한 "mtr", melon은 모음을 제거한 "mln"은 기준으로 색인을 구축하게 된다.In contrast to this, a search using the NOVEL method proposed by the present invention will be described. In the case of the NOVEL method, "hs" is the house where the vowel is removed, "mrk" is the mark removing the vowel, "wrry" is the vowel removed vowel, "mtr" To build an index.

이 때 사용자가 "homework"를 검색어로 입력하게 되면 검색어도 모음을 제거한 새로운 검색어 "hmwrk"로 인덱스를 생성하고 문서의 인덱스와 비교하게 된다. 이 때 두 인덱스 사이에 공통된 인덱스가 없으므로 사용자가 "homework"을 검색어로 입력하더라도 제1 문서는 검색 결과에 나오지 않게 된다. 즉 검색의 정확도를 높일 수 있다.When the user enters "homework" as a search term, the search term also creates an index with a new search term "hmwrk" that eliminates the vowel, and compares it with the index of the document. In this case, since there is no common index between the two indexes, even if the user inputs "homework" as a search term, the first document is not displayed in the search result. That is, the accuracy of the search can be increased.

본 발명에서 제한하는 NOVEL 방법을 이용하면 검색의 정확도와 재현율을 모두 확보할 수 있다. 즉 검색의 효율을 높일 수 있다. 또한 키워드의 길이를 줄여 인덱스의 크기를 줄임으로써 검색의 성능도 높일 수 있다.By using the NOVEL method, which is limited in the present invention, both the accuracy of search and the recall rate can be secured. That is, the efficiency of search can be increased. In addition, by reducing the size of the index by reducing the length of the keyword, search performance can be increased.

도 10a 내지 도 10b는 복수의 키워드를 포함하는 제1 데이터 셋을 대상으로 각 방법의 정확도를 설명하기 위한 예시도이다.10A and 10B are diagrams for explaining the accuracy of each method with respect to a first data set including a plurality of keywords.

도 10a를 참고하면, 사용자가 "come"나 "because"를 검색어로 입력하는 것을 볼 수 있다. 이 때 K=3을 기준으로 검색어에 대한 인덱스를 생성하면 그 아래 표시된 바와 같다.Referring to FIG. 10A, it can be seen that the user inputs "come" or "because" as a search word. In this case, if an index for a query is generated based on K = 3, the index is as shown below.

여기서 "come"에 대한 첫번째 인덱스인 "#co"의 경우 키워드인 "come"를 포함하지 않더라도 communist부터 conditions 등을 포함한 문서들이 검색될 수 있음을 보여준다. 마찬가지로 "because"에 대한 첫번째 인덱스인 "#be"의 경우 키워드인 "come"를 포함하지 않더라도 being부터 besides 등을 포함한 문서들이 검색될 수 있음을 보여준다.Here, "#co", the first index for "come", shows that documents including conditions from the communist can be retrieved even if the keyword "come" is not included. Similarly, "#be", the first index for "because" shows that documents including being from besides can be retrieved even if the keyword "come" is not included.

제1 데이터 셋은 수 만개의 단어들로 구성된 키워드의 집합인데, 도 10a에서 볼 수 있듯이, K-gram을 이용하면, 검색어로 입력한 단어를 포함하지 않더라도 다른 단어가 매칭될 수 있음을 볼 수 있다. 즉 검색의 정확도가 상당히 떨어질 수 있다.The first data set is a set of keywords composed of tens of thousands of words. As shown in FIG. 10A, it can be seen that, by using a K-gram, other words can be matched have. In other words, the accuracy of the search can be significantly reduced.

이에 비해 도 10b를 참고하면, 동일한 제1 데이터 셋에 대해서 본 발명에서 제안하는 NOVEL 방법에 따라 단어들의 색인을 비교한 것을 볼 수 있다. 첫번째 검색어 "come"의 경우 모음을 제거한 "cm"을 기준으로 인덱스를 생성하며, 두번째 검색어 "because"의 경우 모음을 제거한 "bcs"를 기준으로 인덱스를 생성한다.Referring to FIG. 10B, it can be seen that the indexes of the words are compared according to the NOVEL method proposed in the present invention for the same first data set. In the case of the first search term "come", an index is created based on the "cm" from which the vowel is removed. In the case of the second search term "because", an index is created based on the "bcs" from which the vowel is removed.

이 때 각각의 인덱스는 {cm, c, m}과 {bcs, bc, cs}로 이를 제1 데이터 셋에 포함된 다른 수많은 단어들과 인덱스를 비교해보면, "come"의 첫번째 인덱스인 "cm"과 매칭되는 단어는 제1 데이터 셋에서 become, camera, come, outcome로 4개뿐이다. 도 10a의 K-gram 방법에 비해서 상당수 줄어들 것을 볼 수 있다. 마찬가지로 "because"의 첫번째 인덱스인 "bcs"의 경우 매칭되는 단어가 제1 데이터 셋에서 검색어인 because 뿐이다.In this case, when each index is compared with {cm, c, m} and {bcs, bc, cs} and many other words included in the first data set, the index "cm" , Only four words are matched in the first data set: become, camera, come, and outcome. Can be seen to be significantly reduced compared to the K-gram method of FIG. 10A. Similarly, in the case of "bcs", which is the first index of "because", only the matching word is the search term in the first data set.

이처럼 본 발명에서 제안하는 NOVEL 방법을 이용하는 경우 키워드의 길이를 줄이면서도 키워드의 특징을 더 잘 반영할 수 있어, 검색의 정확도를 높일 수 있다.As described above, when the NOVEL method proposed in the present invention is used, it is possible to more accurately reflect the characteristics of the keyword while reducing the length of the keyword, thereby improving the accuracy of the search.

정리하면 본 발명에서 제안하는 NOVEL 방법은 검색의 정확도와 재현율을 확보하여 검색의 효율을 높이고, 다른 한편으로 인덱스의 크기를 줄여 검색의 성능도 높이는 퍼지 검색 방법이다.In summary, the NOVEL method proposed by the present invention is a fuzzy search method that increases search efficiency by ensuring accuracy and recall of search, and increases search performance by reducing the size of an index.

도 11 내지 도 12는 복수의 키워드를 포함하는 제1 데이터 셋과 제2 데이터 셋에 대한 테스트 결과를 그래프와 표로 나타낸 것이다.11 to 12 are graphs and tables showing test results for the first data set and the second data set including a plurality of keywords.

도 11를 참고하면 두 개의 데이터 셋에 대해서 각 방법에 따라 인덱스를 생성하는 경우의 인덱스의 크기를 그래프로 나타낸 것을 볼 수 있다. 여기서 사용한 제1 데이터 셋과 제2 데이터 셋은 수만 개의 키워드의 집합으로 구성된 테스트 데이터이다.Referring to FIG. 11, it can be seen that the size of an index in the case of generating an index according to each method for two data sets is represented by a graph. The first data set and the second data set used here are test data composed of a set of tens of thousands of keywords.

앞서 수식으로 설명한 것처럼 편집 거리 방법(edit distance)의 경우 길이가 L인 키워드에 대해 52L + 27 크기의 인덱스를 생성한다. 수만개의 키워드가 포함된 제1 데이터 셋과 제2 데이터 셋에 대해서 편집 거리 방법으로 각 키워드의 인덱스를 생성하고, 생성된 인덱스의 합집합을 구하면 도 11에 표시된 것과 같다. 즉 중복된 인덱스를 제거하면, 그 결과로 제1 데이터 셋에 대해서는 104만 크기의 인덱스가, 제2 데이터 셋에 대해서는 161만 크기의 인덱스가 생성된 것을 볼 수 있다. 인덱스의 크기가 매우 크기 때문에 검색의 성능이 상당히 떨어지게 된다.As described in the previous formula, for the edit distance method, a 52L + 27 size index is generated for a keyword having a length of L. [ The index of each keyword is generated by the edit distance method for the first data set and the second data set including tens of thousands of keywords, and the union of the generated indexes is obtained as shown in FIG. That is, when the duplicated index is removed, it can be seen that an index of a size of 1,040,000 for the first data set and an index of 161,000 for the second data set are generated. The size of the index is so large that the performance of the search is significantly degraded.

와일드 카드 방법의 경우 길이가 L인 키워드에 대해 2L + 2 크기의 인덱스를 생성한다. 그러므로 와일드 카드 방법을 이용하는 경우 편집 거리 방법에 비해 인덱스의 크기를 상당수 줄일 수 있을 것이다. 실제로도 제1 데이터 셋에 대해서는 약 4.2만건, 제2 데이터 셋에 대해서는 약 6.6만건의 인덱스를 생성하였다. 편집 거리 방법에 비해서는 인덱스의 크기가 대폭 줄었지만, 아직도 인덱스의 크기가 커서 검색의 성능이 떨어지게 된다.For the wildcard method, create a 2L + 2 index for a keyword of length L. Therefore, when using the wildcard method, the size of the index can be reduced considerably compared with the edit distance method. Indeed, we have created an index of about 42,000 for the first data set and about 6600 for the second data set. Compared to the edit distance method, the size of the index is greatly reduced, but the index is still large and the search performance is degraded.

다음으로 K-그램, 바이-그램의 경우 길이가 L인 키워드에 대해 대략 L 크기의 인덱스를 생성한다. 그러므로 와일드 카드 방법에 비해 대략 반정도로 줄 것으로 예상할 수 있다. 실제로도 K-그램의 경우 제1 데이터 셋에 대해 2.4만건, 제2 데이터 셋에 대해 3.7만건의 인덱스를 생성하였다. 바이-그램의 경우 제1 데이터 셋에 대해 1.5만건, 제2 데이터 셋에 대해서 2.4만건의 인덱스를 생성하였다. 와일드 카드 방법에 비해서는 인덱스의 크기가 대폭 줄었지만, 아직도 인덱스의 크기가 크다.Next, an index of approximately L size is generated for a keyword having a length of L for K-gram and bi-gram. Therefore, it can be expected to be about half that of the wildcard method. Indeed, in the case of K-gram, we created an index of 24,000 for the first data set and about 370,000 for the second data set. In the case of bi-grams, we created an index of 15,000 for the first data set and for 24,000 for the second data set. Compared to the wildcard method, the size of the index is greatly reduced, but the size of the index is still large.

이에 비해 본 발명에서 제안하는 NOVEL 방법의 경우 통계적으로 길이가 L인 키워드에 대해 0.5L 크기의 인덱스를 생성한다. 실제로도 제1 데이터 셋에 대해서 0.8만건, 제2 데이터 셋에 대해서 1.3만건의 인덱스를 생성한 것을 볼 수 있다. 대략 K-그램 방법, 바이-그램 방법에 비해서 인덱스의 크기를 절반 정도로 줄인 것을 볼 수 있다.On the other hand, in the case of the NOVEL method proposed in the present invention, a 0.5-L index is generated for a keyword having a statistically L length. Indeed, it can be seen that an index of 0.8 thousand for the first data set and about 130 thousand for the second data set is generated. It can be seen that the size of the index is reduced to about half that of the K-gram method and the bi-gram method.

도 11에서 살펴본 것처럼 본 발명에서 제안하는 NOVEL 방법이 수만 건의 키워드를 포함하는 제1 데이터 셋과 제2 데이터 셋에 대해서 가장 작은 크기의 인덱스를 생성한다. 인덱스의 크기가 작을수록 보다 더 빠르게 검색이 가능하므로 본 발명에서 제안하는 NOVEL 방법이 검색의 성능이 가장 좋은 것을 알 수 있다.As shown in FIG. 11, the NOVEL method proposed by the present invention generates an index of the smallest size for the first data set and the second data set including tens of thousands of keywords. The smaller the size of the index, the faster the search can be performed. Therefore, the NOVEL method proposed by the present invention shows the best search performance.

도 12는 제1 데이터 셋과 제2 데이터 셋에 대해서 K-그램 방법과 NOVEL 방법을 테스트한 결과를 표로 정리한 것이다.FIG. 12 is a table showing the results of testing the K-gram method and the NOVEL method for the first data set and the second data set.

복수의 키워드에 대해서 각 방법에 의해 인덱스를 생성할 때 생성된 총 인덱스의 크기는 도 11에서 살펴본 것과 같이, NOVEL 방법은 제1 데이터 셋에 대해서는 8161개, 제2 데이터 셋에 대해서는 12926개의 인덱스를 생성하였다. 이에 비해 K=3을 기준으로 한 K-그램 방법은 제1 데이터 셋에 대해서는 24410개, 제2 데이터 셋에 대해서는 37424개의 인덱스를 생성하였다. NOVEL 방법의 인덱스가 더 작기 때문에 검색의 성능도 더 우수하다.11, the NOVEL method calculates 8161 indexes for the first data set and 12926 indexes for the second data set, as shown in FIG. 11, Respectively. In contrast, the K-gram method based on K = 3 generated 24410 indexes for the first data set and 37424 indexes for the second data set. The search performance is also better because the index of the NOVEL method is smaller.

도 12의 표에서 두 번째 행 Single Subindex with Multiple Keywords는 여러 개의 키워드가 동일한 인덱스를 가지고 있는 경우 해당 인덱스의 수를 카운트한 결과이다. 즉 NOVEL 방법의 경우 제1 데이터 셋에 대해 생성된 8616개의 인덱스 중에서 1105개의 인덱스가 여러 개의 키워드가 중복으로 생성한 인덱스이며, 제2 데이터 셋에 대해 생성된 12926개의 인덱스 중에서 1194개의 인덱스가 여러 개의 키워드가 중복으로 생성한 인덱스이다.In the table of FIG. 12, the second row, Single Subindex with Multiple Keywords, is a result of counting the number of corresponding indexes when multiple keywords have the same index. That is, in the case of the NOVEL method, 1105 indexes among the 8616 indexes generated for the first data set are indexes generated by multiple keywords, and 1194 indexes among 12926 indexes generated for the second data set It is an index generated by duplication of keywords.

이에 비해 K-그램의 경우 제1 데이터 셋에 대해 생성된 24410개의 인덱스 중에서 1442개의 인덱스가 여러 개의 키워드가 중복으로 생성한 인덱스이며, 제2 데이터 셋에 대해 생성된 37424개의 인덱스 중에서 2330개의 인덱스가 여러 개의 키워드가 중복으로 생성한 인덱스이다.In contrast, in the case of the K-gram, 1442 indexes among 24410 indexes generated for the first data set are duplicates generated by a plurality of keywords, and 2330 indexes out of 37424 indexes generated for the second data set It is an index generated by duplication of several keywords.

도 10b에서 살펴본 "come"와 "camera"처럼 일부 동일한 인덱스를 생성하는 키워드들은 어느 하나를 검색어로 입력하면 나머지 다른 키워드를 포함한 문서가 검색될 수 있어 검색의 정확도를 떨어뜨리게 된다.If keywords such as "come" and "camera" shown in FIG. 10B that generate some identical indexes are input as search terms, documents containing other keywords can be searched, which reduces the accuracy of the search.

즉 도 12의 표에서 2행의 값이 클수록 검색의 정확도가 떨어질 수 있는데 전반적으로 NOVEL 방법이 K-그램 방법에 비해서 수치가 낮은 걸 볼 수 있다. 다시 말해 NOVEL 방법이 검색의 정확도가 더 우수한 것을 알 수 있다.That is, in the table of FIG. 12, the larger the value of the second row, the lower the accuracy of the search. In general, the NOVEL method is lower than the K-gram method. In other words, the NOVEL method shows that the accuracy of the search is better.

도 12의 표에서 세 번째 행 Average Keywords under Single Subindex는 두 번째의 행의 각 인덱스당 가지고 있는 키워드의 평균 수를 나타낸 것이다. 즉 NOVEL 방법의 경우 제1 데이터 셋에 대해 1105개의 인덱스가 키워드를 공유하며, 1105개의 인덱스에 대해 평균적으로 하나의 인덱스에 5개의 키워드가 연결되어 있는 것을 알 수 있다.In the table of FIG. 12, the third row, Average Keywords under Single Subindex, represents the average number of keywords having each index of the second row. That is, in the case of the NOVEL method, 1105 indexes share a keyword for the first data set, and five keywords are linked to one index on average for 1105 indexes.

즉, "come"를 검색어로 입력하는 경우 "camera"를 포함하여 "come"와 공통된 인덱스를 5개의 키워드가 검색될 수 있다. 다시 말해 세 번째 행의 값이 클수록 검색의 정확도가 떨어지게 된다. 여기서도 마찬가지로 NOVEL 방법이 K-그램 방법에 비해 더 수치가 작게 실험 결과가 나왔으나, NOVEL 방법의 검색의 정확도가 더 우수한 것을 볼 수 있다.That is, when "come" is input as a search term, five keywords having an index common to "come" including "camera" can be searched. In other words, the larger the value of the third row, the less accurate the search. Here again, the NOVEL method has a smaller value than that of the K-gram method, but the NOVEL method has a better search accuracy.

도 12의 표에서 네 번째 행 Maximum Keywords under Single Subindex는 하나의 인덱스에 연결된 키워드의 수가 가장 많은 경우를 나타낸 것이다. 이 경우에도 마찬가지로 3행의 값이 클수록 검색의 정확도가 떨어질 수 있는데 전반적으로 NOVEL 방법이 K-그램 방법에 비해서 수치가 낮은 걸 볼 수 있다. 다시 말해 NOVEL 방법이 검색의 정확도가 더 우수한 것을 알 수 있다.In the table of FIG. 12, the fourth row Maximum Keywords under Single Subindex shows a case where the number of keywords connected to one index is the largest. In this case as well, the larger the value of the third row, the lower the accuracy of the search. Overall, the NOVEL method is lower than the K-gram method. In other words, the NOVEL method shows that the accuracy of the search is better.

도 12의 표에서 마지막 행 Unique Subindex는 각 키워드별로 고유한 인덱스의 수를 나타낸 것이다. 유니크 인덱스의 수가 많을수록 검색 결과의 정확도가 높아지게 된다. 다만, 여기서는 NOVEL 방법과 K-그램 방법의 인덱스의 크기가 차이가 있으므로 절대적인 값을 비교할 것이 아니라, 각 방법에 의한 전체 인덱스에서 유니크 인덱스가 차지하는 비율을 중점으로 보아야 한다.In the table of FIG. 12, the last row Unique Subindex represents the number of indices unique to each keyword. The greater the number of unique indexes, the higher the accuracy of the search results. However, here, since the indexes of the NOVEL method and the K-gram method are different from each other, it is necessary to focus on the ratio of the unique index to the total index by each method.

제1 데이터 셋을 기준으로 살펴보면 NOVEL 방법의 경우 8616개의 인덱스 중에서 1864개의 인덱스가 유니크 인덱스로 21.6%에 달하나, K-그램 방법의 경우 24410개의 인덱스 중에서 유니크 인덱스의 수가 2160개로 8.8%에 그친다. 전반적으로 NOVEL 방법의 비율이 더 높으므로, NOVEL 방법의 정확도가 높은 것을 알 수 있다.According to the first data set, the NOVEL method has 1864 indexes out of 8616 indexes as a unique index, which is 21.6%. In the K-gram method, among the 24410 indexes, the number of unique indexes is 2160, which is 8.8% . Since the ratio of the NOVEL method is higher than that of the NOVEL method, the accuracy of the NOVEL method is high.

지금까지 살펴본 것처럼 키워드의 인덱스를 생성할 때, 모음을 제거하고 보조 인덱스를 추가로 더 생성하는 NOVEL 방법을 이용하면 검색의 정확도를 높이면서도 검색의 재현율을 높일 수 있어, 검색의 효율을 확보할 수 있고, 인덱스의 크기를 줄여 검색의 성능도 확보할 수 있다.As we have seen so far, the NOVEL method, which removes vowels and generates additional secondary indexes when generating indexes of keywords, improves the retrieval accuracy while increasing the retrieval efficiency. , And the search performance can be secured by reducing the size of the index.

도 13은 본 발명의 일 실시예에 따른 모음 제거 방법에 기반한 인덱스 생성 장치의 하드웨어 구성의 일 예를 나타내는 도면이다.13 is a diagram illustrating an example of a hardware configuration of an index generation apparatus based on a vowel removal method according to an embodiment of the present invention.

도 13을 참고하면 모음 제거 방법에 기반한 인덱스 생성 장치(10)는 하나 이상의 프로세서(510), 메모리(520), 스토리지(560) 및 인터페이스(570)을 포함할 수 있다. 프로세서(510), 메모리(520), 스토리지(560) 및 인터페이스(570)는 시스템 버스(550)를 통하여 데이터를 송수신한다.13, the index generation device 10 based on the vowel removal method may include one or more processors 510, memory 520, storage 560, and interface 570. The processor 510, the memory 520, the storage 560, and the interface 570 transmit and receive data via the system bus 550.

프로세서(510)는 메모리(520)에 로드 된 컴퓨터 프로그램을 실행하고, 메모리(520)는 상기 컴퓨터 프로그램을 스토리지(560)에서 로드(load) 한다. 상기 컴퓨터 프로그램은, 키워드 추출 오퍼레이션(521), 모음 제거 오퍼레이션(523), 인덱스 생성 오퍼레이션(535)을 포함할 수 있다.The processor 510 executes a computer program loaded into the memory 520 and the memory 520 loads the computer program from the storage 560. [ The computer program may include a keyword extraction operation 521, a vowel collection operation 523, and an index generation operation 535. [

키워드 추출 오퍼레이션(521)은 인터페이스(570)을 통하여 문서를 수신하여 스토리지(560)의 문서(561)에 저장할 수 있다. 그리고 저장된 문서에 TF-IDF 등의 방법을 적용하여 키워드를 추출하고 이를 시스템 버스(550)을 통해 스토리지(560)의 키워드(563)에 저장할 수 있다.The keyword extraction operation 521 may receive the document via the interface 570 and store it in the document 561 of the storage 560. The keyword may be extracted by applying a method such as TF-IDF to the stored document and stored in the keyword 563 of the storage 560 through the system bus 550.

모음 제거 오퍼레이션(523)은 스토리지(560)에 저장된 키워드(563)을 시스템 버스(550)을 통하여 메모리(520)로 로드(load)한 후, 모음을 제거하여 새로운 키워드를 생성할 수 있다. 이 과정에서 모음 제거 외에도 중복된 문자를 제거하는 중복 제거도 사용할 수 있다.The collection removal operation 523 may load the keyword 563 stored in the storage 560 into the memory 520 via the system bus 550 and then remove the vowel to generate a new keyword. In addition to eliminating vowels, deduplication can be used to remove duplicate characters.

인덱스 생성 오퍼레이션(525)은 모음이 제거된 새로운 키워드에 대해서 K-그램 등의 방법을 적용하여 인덱스를 생성하고 시스템 버스(550)을 통하여 스토리지(560)의 인덱스(569)로 저장할 수 있다. 이 때, 모음이 제거된 키워드의 길이에 따라 선택적으로 보조 인덱스를 추가로 더 생성하여 스토리지(560)의 인덱스(569)에 저장할 수 있다.The index creation operation 525 may generate an index by applying a K-gram or the like to a new keyword from which the vowel is removed, and store the index in the index 569 of the storage 560 through the system bus 550. At this time, an additional sub-index may be additionally generated according to the length of the keyword from which the vowel is removed, and may be stored in the index 569 of the storage 560.

이렇게 각 문서(561)에 대해서 구축된 인덱스(569)는 추후 특정 키워드를 검색어로 입력하는 경우, 입력된 검색어를 포함하는 문서를 검색하여 제공하는 과정에서 활용될 수 있다.The index 569 constructed for each document 561 can be utilized in a process of searching for and providing a document including an input search term when a specific keyword is input as a search term.

도 13의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.13 may be software or hardware such as an FPGA (Field Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit). However, the components are not limited to software or hardware, and may be configured to be addressable storage media, and configured to execute one or more processors. The functions provided in the components may be implemented by a more detailed component, or may be implemented by a single component that performs a specific function by combining a plurality of components.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, You will understand. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.

Claims (15)

인덱스 생성 장치가, 문서의 키워드에서 모음을 제거하여, 자음으로 구성된 키워드로 변환하는 단계; 및
상기 인덱스 생성 장치가, 상기 변환된 키워드를 이용하여, 상기 문서에 대한 인덱스를 생성하는 단계를 포함하되,
상기 문서에 대한 인덱스를 생성하는 단계는,
상기 변환된 키워드의 길이가 기 설정된 값보다 작은 경우에는, 상기 인덱스보다 크기가 큰 보조 인덱스를 더 생성하는 단계를 포함하는,
모음 제거 기반 인덱스 생성 방법.
Removing the vowel from the keyword of the document and converting it into a keyword composed of consonants; And
Wherein the index generating device generates an index for the document using the converted keyword,
Wherein the step of generating an index for the document comprises:
And if the length of the converted keyword is smaller than a predetermined value, generating an auxiliary index larger than the index.
How to create a collection removal based index.
제1항에 있어서,
상기 자음으로만 구성된 키워드로 변환하는 단계는,
상기 키워드에서 연속해서 중복으로 나타나는 자음은 그 중에서 하나를 제거하는 단계를 포함하는,
모음 제거 기반 인덱스 생성 방법.
The method according to claim 1,
The method of claim 1,
Wherein consonants consecutively appearing as duplicates in the keyword include removing one of them.
How to create a collection removal based index.
삭제delete 제1항에 있어서,
상기 기 설정된 값은 3인,
모음 제거 기반 인덱스 생성 방법.
The method according to claim 1,
The preset value is 3,
How to create a collection removal based index.
제1항에 있어서,
상기 문서에 대한 인덱스를 생성하는 단계는,
상기 변환된 키워드를 대상으로 K-그램(K-gram)을 수행하여 상기 인덱스를 생성하는 단계를 포함하는,
모음 제거 기반 인덱스 생성 방법.
The method according to claim 1,
Wherein the step of generating an index for the document comprises:
And generating the index by performing a K-gram on the converted keyword.
How to create a collection removal based index.
제5항에 있어서,
상기 K-그램(K-gram)을 수행하여 상기 인덱스를 생성하는 단계는,
상기 변환된 키워드의 길이 L이 기 설정된 값 m보다 큰 지 비교하는 단계; 및
상기 L이 상기 m보다 큰 경우에, 상기 변환된 키워드에 K=m으로 하는 K-gram을 수행하는 단계를 포함하는,
모음 제거 기반 인덱스 생성 방법.
6. The method of claim 5,
The step of performing the K-gram to generate the index comprises:
Comparing whether the length L of the converted keyword is greater than a predetermined value m; And
And performing a K-gram with K = m for the transformed keyword if L is greater than m,
How to create a collection removal based index.
제5항에 있어서,
상기 K-그램(K-gram)을 수행하여 상기 인덱스를 생성하는 단계는,
상기 변환된 키워드의 길이 L이 기 설정된 값 m보다 큰 지 비교하는 단계; 및
상기 L이 상기 m보다 작거나 같은 경우에, 상기 변환된 키워드에 K=L로 하는 K-gram을 수행하는 단계를 포함하는,
모음 제거 기반 인덱스 생성 방법.
6. The method of claim 5,
The step of performing the K-gram to generate the index comprises:
Comparing whether the length L of the converted keyword is greater than a predetermined value m; And
Performing a K-gram to set K = L to the converted keyword if L is less than or equal to m,
How to create a collection removal based index.
제7항에 있어서,
상기 변환된 키워드에 K=L로 하는 K-gram을 수행하는 단계는,
상기 L이 1보다 큰 경우에, 상기 변환된 키워드에 K=L-1로 하는 K-gram을 더 수행하는 단계를 포함하는,
모음 제거 기반 인덱스 생성 방법.
8. The method of claim 7,
The step of performing a K-gram with K = L for the converted keyword,
Further comprising performing a K-gram with K = L-1 for the converted keyword if L is greater than 1,
How to create a collection removal based index.
하나 이상의 프로세서;
상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리; 및
문서와 상기 문서에 대한 인덱스를 저장하는 스토리지를 포함하되,
상기 컴퓨터 프로그램은,
상기 문서의 키워드에서 모음을 제거하여, 자음으로 구성된 키워드로 변환하는 오퍼레이션; 및
상기 변환된 키워드를 이용하여, 상기 문서에 대한 인덱스를 생성하는 오퍼레이션을 포함하되,
상기 문서에 대한 인덱스를 생성하는 오퍼레이션은,
상기 변환된 키워드의 길이가 기 설정된 값보다 작은 경우에는, 상기 인덱스보다 크기가 큰 보조 인덱스를 더 생성하는 오퍼레이션을 포함하는,
모음 제거 기반 인덱스 생성 장치.
One or more processors;
A memory for loading a computer program executed by the processor; And
A storage for storing a document and an index for the document,
The computer program comprising:
An operation of removing a vowel from the keyword of the document and converting it into a keyword composed of consonants; And
And generating an index for the document using the converted keyword,
An operation for generating an index for the document includes:
And generating an auxiliary index larger than the index if the length of the converted keyword is smaller than a preset value.
A device for generating an index based on collection removal.
제9항에 있어서,
상기 문서에 대한 인덱스를 생성하는 오퍼레이션은,
상기 변환된 키워드를 대상으로 바이-그램(Bi-gram)을 수행하여 상기 인덱스를 생성하는 오퍼레이션을 포함하는,
모음 제거 기반 인덱스 생성 장치.
10. The method of claim 9,
An operation for generating an index for the document includes:
And generating an index by performing a bi-gram on the converted keyword.
A device for generating an index based on collection removal.
제9항에 있어서,
상기 기 설정된 값은 3인,
모음 제거 기반 인덱스 생성 장치.
10. The method of claim 9,
The preset value is 3,
A device for generating an index based on collection removal.
제9항에 있어서,
상기 문서에 대한 인덱스를 생성하는 오퍼레이션은,
상기 변환된 키워드를 대상으로 K-그램(K-gram)을 수행하여 상기 인덱스를 생성하는 오퍼레이션을 포함하는,
모음 제거 기반 인덱스 생성 장치.
10. The method of claim 9,
An operation for generating an index for the document includes:
And generating an index by performing a K-gram on the converted keyword.
A device for generating an index based on collection removal.
제12항에 있어서,
상기 K-그램(K-gram)을 수행하여 상기 인덱스를 생성하는 오퍼레이션은,
상기 변환된 키워드의 길이 L이 기 설정된 값 m보다 큰 지 비교하는 오퍼레이션; 및
상기 L이 상기 m보다 큰 경우에, 상기 변환된 키워드에 K=m으로 하는 K-gram을 수행하는 오퍼레이션을 포함하는,
모음 제거 기반 인덱스 생성 장치.
13. The method of claim 12,
The operation of performing the K-gram (K-gram)
Comparing whether the length L of the converted keyword is larger than a predetermined value m; And
And performing a K-gram of K = m for the converted keyword if L is greater than m,
A device for generating an index based on collection removal.
제12항에 있어서,
상기 K-그램(K-gram)을 수행하여 상기 인덱스를 생성하는 오퍼레이션은,
상기 변환된 키워드의 길이 L이 기 설정된 값 m보다 큰 지 비교하는 오퍼레이션; 및
상기 L이 상기 m보다 작거나 같은 경우에, 상기 변환된 키워드에 K=L로 하는 K-gram을 수행하는 오퍼레이션을 포함하는,
모음 제거 기반 인덱스 생성 장치.
13. The method of claim 12,
The operation of performing the K-gram (K-gram)
Comparing whether the length L of the converted keyword is larger than a predetermined value m; And
And performing a K-gram to set K = L to the converted keyword if L is less than or equal to m,
A device for generating an index based on collection removal.
컴퓨터를 이용하여 제1항 또는 제2항 또는 제4항 내지 제8항 중 어느 한 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.A computer program stored on a medium for carrying out the method of any one of claims 1, 2 or 4 to 8 using a computer.
KR1020160118281A 2016-09-13 2016-09-13 Method and apparatus for indexing based on removing vowel KR101694179B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160118281A KR101694179B1 (en) 2016-09-13 2016-09-13 Method and apparatus for indexing based on removing vowel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160118281A KR101694179B1 (en) 2016-09-13 2016-09-13 Method and apparatus for indexing based on removing vowel

Publications (1)

Publication Number Publication Date
KR101694179B1 true KR101694179B1 (en) 2017-01-23

Family

ID=57989905

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160118281A KR101694179B1 (en) 2016-09-13 2016-09-13 Method and apparatus for indexing based on removing vowel

Country Status (1)

Country Link
KR (1) KR101694179B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180042710A (en) * 2016-10-18 2018-04-26 삼성에스디에스 주식회사 Method and apparatus for managing a synonymous item based on analysis of similarity
KR20200005910A (en) * 2018-07-09 2020-01-17 한양대학교 산학협력단 Method for determining malicious domain, computing device and program using the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010025857A (en) * 1999-09-01 2001-04-06 윤덕용 The similarity comparitive method of foreign language a tunning fork transcription
JP2011509444A (en) * 2007-11-30 2011-03-24 ヤフー! インコーポレイテッド Enabling search for abbreviated search terms via messaging
KR20130019441A (en) * 2013-01-04 2013-02-26 강현구 Method and system on search supporting only using initial consonants and final consonants

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010025857A (en) * 1999-09-01 2001-04-06 윤덕용 The similarity comparitive method of foreign language a tunning fork transcription
JP2011509444A (en) * 2007-11-30 2011-03-24 ヤフー! インコーポレイテッド Enabling search for abbreviated search terms via messaging
KR20130019441A (en) * 2013-01-04 2013-02-26 강현구 Method and system on search supporting only using initial consonants and final consonants

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
정보처리학회논문지.제18-B권 제2호 통권 제137호 (2011년 4월)PP.87-92 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180042710A (en) * 2016-10-18 2018-04-26 삼성에스디에스 주식회사 Method and apparatus for managing a synonymous item based on analysis of similarity
KR102476812B1 (en) 2016-10-18 2022-12-09 삼성에스디에스 주식회사 Method and apparatus for managing a synonymous item based on analysis of similarity
KR20200005910A (en) * 2018-07-09 2020-01-17 한양대학교 산학협력단 Method for determining malicious domain, computing device and program using the same
KR102100393B1 (en) 2018-07-09 2020-04-13 한양대학교 산학협력단 Method for determining malicious domain, computing device and program using the same

Similar Documents

Publication Publication Date Title
Bennani-Smires et al. Simple unsupervised keyphrase extraction using sentence embeddings
US4833610A (en) Morphological/phonetic method for ranking word similarities
US5794177A (en) Method and apparatus for morphological analysis and generation of natural language text
US9223779B2 (en) Text segmentation with multiple granularity levels
JP4559371B2 (en) System and method for portable document indexing using N-gram word decomposition
KR100318762B1 (en) Phonetic distance method for similarity comparison of foreign words
EP0813156A2 (en) Method and apparatus for language translation
US20080059146A1 (en) Translation apparatus, translation method and translation program
KR101544690B1 (en) Word division device, word division method, and word division program
KR101509727B1 (en) Apparatus for creating alignment corpus based on unsupervised alignment and method thereof, and apparatus for performing morphological analysis of non-canonical text using the alignment corpus and method thereof
CN109885641B (en) Method and system for searching Chinese full text in database
Jain et al. Context sensitive text summarization using k means clustering algorithm
Prabhakar et al. Machine transliteration and transliterated text retrieval: a survey
KR20150083961A (en) The method for searching integrated multilingual consonant pattern, for generating a character input unit to input consonants and apparatus thereof
US11151317B1 (en) Contextual spelling correction system
KR101694179B1 (en) Method and apparatus for indexing based on removing vowel
CN114297143A (en) File searching method, file displaying device and mobile terminal
US20060248037A1 (en) Annotation of inverted list text indexes using search queries
EP0271664B1 (en) A morphological/phonetic method for ranking word similarities
JP2007025939A (en) Multilingual document retrieval device, multilingual document retrieval method and program for retrieving multilingual document
KR101663038B1 (en) Entity boundary detection apparatus in text by usage-learning on the entity's surface string candidates and mtehod thereof
Hawker et al. Practical queries of a massive n-gram database
CN113330430B (en) Sentence structure vectorization device, sentence structure vectorization method, and recording medium containing sentence structure vectorization program
US20170116180A1 (en) Document analysis system
JP5380566B2 (en) Language processing apparatus, program, and method

Legal Events

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

Payment date: 20200102

Year of fee payment: 4