KR100953043B1 - Method and System for Providing Search Service Using Synonym - Google Patents

Method and System for Providing Search Service Using Synonym Download PDF

Info

Publication number
KR100953043B1
KR100953043B1 KR1020080066521A KR20080066521A KR100953043B1 KR 100953043 B1 KR100953043 B1 KR 100953043B1 KR 1020080066521 A KR1020080066521 A KR 1020080066521A KR 20080066521 A KR20080066521 A KR 20080066521A KR 100953043 B1 KR100953043 B1 KR 100953043B1
Authority
KR
South Korea
Prior art keywords
query
synonym
syllable
words
search
Prior art date
Application number
KR1020080066521A
Other languages
Korean (ko)
Other versions
KR20100006326A (en
Inventor
이승준
이지혜
고건영
정연아
Original Assignee
엔에이치엔(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔(주) filed Critical 엔에이치엔(주)
Priority to KR1020080066521A priority Critical patent/KR100953043B1/en
Publication of KR20100006326A publication Critical patent/KR20100006326A/en
Application granted granted Critical
Publication of KR100953043B1 publication Critical patent/KR100953043B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 측면에 따른 동의어를 이용한 검색 서비스 제공 방법은 제1질의어 및 제2질의어가 음절 단위의 도치 관계인지를 판단하는 단계; 상기 제1 및 제2 질의어가 음절 단위의 도치 관계인 경우, 상기 제1 및 제2 질의어가 형태소 단위의 도치 관계인지를 판단하는 단계; 및 상기 제1 및 제2 질의어가 형태소 단위의 도치 관계인 경우, 상기 제1 및 제2 질의어를 동의어로 결정하는 단계를 포함한다.According to an aspect of the present invention, a method of providing a search service using a synonym may include: determining whether a first query and a second query are inverted in syllable units; If the first and second query terms are inverted relations in syllable units, determining whether the first and second query terms are inverted relations in morpheme units; And determining the first and second query terms as synonyms when the first and second query terms are inverted relations of morpheme units.

검색, 동의어, 도치, 편집 거리 Search, synonyms, inverts, edit distance

Description

동의어를 이용한 검색 서비스 제공 방법 및 시스템{Method and System for Providing Search Service Using Synonym}Method and System for Providing Search Service Using Synonym}

본 발명은 인터넷 검색에 관한 것으로서 보다 상세하게는 동의어를 이용하여 검색 서비스를 제공하는 방법에 관한 것이다.The present invention relates to Internet search, and more particularly, to a method of providing a search service using synonyms.

인터넷의 발달 및 보급의 증가로 인해 인터넷을 이용한 다양한 서비스가 제공되고 있는데, 그 중 대표적인 예가 검색 서비스라 할 수 있다. 이러한 검색 서비스는 사용자가 검색하고자 하는 단어 또는 단어의 조합을 질의어로 입력하면, 검색 엔진이 입력된 질의어에 상응하는 검색결과 문서(예컨대, 사용자로부터 입력된 검색 질의어를 포함하는 웹 사이트, 기사, 또는 해당 검색 질의어를 포함하는 파일명을 갖는 이미지 등)를 사용자에게 제공하는 서비스를 의미한다.Due to the development and spread of the Internet, various services using the Internet are provided, and a representative example thereof is a search service. When the search service inputs a word or a combination of words to be searched by a user as a query, the search engine corresponds to a search result document corresponding to the input query (eg, a web site, an article, or a search query including a search query input from the user). An image having a file name including the corresponding search query).

이러한, 검색 서비스를 이용함에 있어서, 자신이 원하는 검색 결과에 상응하는 적절한 질의어를 선택하는 것이 쉽지 않기 때문에, 사용자들은 자신이 획득하고자 했던 검색 결과에 상응하는 질의어가 아닌 자른 질의어를 입력하는 경우가 종종 발생한다. 이러한 경우, 검색 시스템은 실제로 입력된 질의어만을 기반으로 검색을 수행하기 때문에, 사용자들은 자신이 원했던 검색 결과를 얻지 못하게 된다는 문제 점이 있다.In using such a search service, since it is not easy to select an appropriate query word corresponding to a desired search result, users often input a query word which is not a query word corresponding to the search result that they want to obtain. Occurs. In this case, since the search system performs a search based only on the actually entered query, users have a problem in that they do not obtain the desired search result.

예를 들어, 사용자가 강남에 있는 CGV극장에 대한 검색 결과를 얻기 위해서는 "강남CGV"라는 질의어를 입력하여야 하는데 "CGV강남"과 같이 원래 의도했던 질의어와 도치 관계에 있는 질의어를 입력하게 되는 경우 검색 시스템은 실제로 입력된 "CGV강남"이라는 질의어를 기반으로 검색을 수행하고, 그 결과를 사용자에게 제공하기 때문에, 사용자는 자신이 원했던 검색 결과를 획득하지 못하게 되는 것이다.  For example, in order to obtain a search result for CGV theater in Gangnam, the user must enter the query "Gangnam CGV", but enter a query that is inverted from the original query, such as "CGV Gangnam". Since the system performs a search based on the query word "CGV Gangnam" actually input and provides the result to the user, the user cannot obtain the search result that he / she wanted.

따라서, 이러한 경우 사용자는 원하는 검색 결과를 얻기 위해서 검색 질의어를 다시 입력할 수밖에 없어 검색 서비스를 이용하는 사용자의 불편을 초래하게 되고, 이는 결국 검색 서비스의 만족도 및 신뢰도의 저하로 이어질 수 있다는 문제점이 있다.Therefore, in this case, the user has to re-enter the search query in order to obtain a desired search result, resulting in inconvenience of the user using the search service, which may lead to a decrease in satisfaction and reliability of the search service.

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 도치 관계에 있는 질의어들을 동의어로 결정할 수 있는 동의어를 이용한 검색 서비스 제공 방법 및 시스템을 제공하는 것을 기술적 과제로 한다.SUMMARY OF THE INVENTION The present invention has been made in view of the above-described problems, and it is an object of the present invention to provide a method and system for providing a search service using synonyms that can determine query terms in synonyms as synonyms.

또한, 본 발명은 사용자에 의해 입력된 검색 질의어가 도치 관계에 있는 동의어인지 여부를 반영하여 검색 서비스를 제공할 수 있는 동의어를 이용한 검색 서비스 제공 방법 및 시스템을 제공하는 것을 다른 기술적 과제로 한다.Another object of the present invention is to provide a method and system for providing a search service using a synonym capable of providing a search service by reflecting whether a search query input by a user is a synonym in an inverted relationship.

상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 동의어를 이용한 검색 서비스 제공 방법은 제1질의어 및 제2질의어가 음절 단위의 도치 관계인지를 판단하는 단계; 상기 제1 및 제2 질의어가 음절 단위의 도치 관계인 경우, 상기 제1 및 제2 질의어가 형태소 단위의 도치 관계인지를 판단하는 단계; 및 상기 제1 및 제2 질의어가 형태소 단위의 도치 관계인 경우, 상기 제1 및 제2 질의어를 동의어로 결정하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method of providing a search service using synonyms, including: determining whether a first query and a second query are inverted in syllable units; If the first and second query terms are inverted relations in syllable units, determining whether the first and second query terms are inverted relations in morpheme units; And determining the first and second query terms as synonyms when the first and second query terms are inverted relations of morpheme units.

일 실시예에 있어서, 상기 제1 및 제2 질의어는 연속하여 입력된 질의어인 것을 특징으로 한다.In an embodiment, the first and second query terms are consecutively input query terms.

다른 실시예에 있어서, 상기 제1 및 제2 질의어는 발음 코드별 개수가 동일한 질의어들의 그룹 중 각각 어느 하나의 질의어인 것을 특징으로 하고, 이때, 상기 제1질의어는 상기 발음 코드별 개수가 동일한 질의어들의 그룹 중에서 질의어 입력 횟수(Query Count)가 가장 높은 질의어인 것을 특징으로 한다.The first and second query words may be any one of a group of query words having the same number of pronunciation codes, and the first query may have the same number of pronunciation codes. The query count is the highest query among the group of the group.

또 다른 실시예에 있어서, 상기 제1 및 제2 질의어는 자소 단위별 개수가 동일한 질의어들의 그룹 중 각각 어느 하나의 질의어인 것을 특징으로 한다.In another exemplary embodiment, the first and second query terms may be any one query group among groups of query words having the same number of phoneme units.

일 실시예에 있어서, 상기 형태소 단위 도치 관계 판단 단계는 상기 제1 및 제2 질의어로부터 색인어를 추출하는 단계; 및 상기 추출된 색인어를 기준으로 형태소 단위의 도치 관계인지를 판단하는 단계를 포함하는 것을 특징으로 한다.In an embodiment, the determining the stemming unit inversion relationship may include extracting an index word from the first and second query words; And determining whether the morpheme unit is inverted based on the extracted index word.

이때, 상기 형태소 단위 도치 관계 판단 단계에서, 상기 제1 및 제2 질의어가 형태소 단위 도치 관계가 아닌 경우, 상기 제1 및 제2 질의어의 음절 편집 거리를 산출하는 단계; 및 상기 산출된 음절 편집 거리가 기준치 이상인지를 판단하는 단계를 더 포함하는 것을 특징으로 한다.In the determining of the morpheme unit inversion relationship, when the first and second query words are not a morpheme unit inversion relationship, calculating a syllable editing distance of the first and second query words; And determining whether the calculated syllable editing distance is greater than or equal to a reference value.

또한, 상기 산출된 음절 편집 거리가 기준치 이상인 경우, 상기 제1 및 제2 질의어를 동의어로 결정하는 것을 특징으로 한다.In addition, when the calculated syllable editing distance is equal to or greater than a reference value, the first and second query terms may be determined as synonyms.

여기서, 상기 음절 편집 거리를 산출하는 단계는 상기 제1 및 제2 질의어를 음절 단위로 구분하고, 상기 제1 및 제2 질의어를 음절별로 비교하여 그 차이를 분석하는 단계; 및 상기 분석 결과에 따라 차이가 나는 음절에 대한 음점별 점수를 부여하는 단계를 포함하는 것을 특징으로 한다.The calculating of the syllable editing distance may include: dividing the first and second query words into syllable units, comparing the first and second query words by syllables, and analyzing the differences; And assigning a score for each point of the syllable that is different according to the analysis result.

이때, 상기 동의어 결정 단계 이후에, 상기 제1 및 제2 질의어를 동의어로 매칭하여 동의어 데이터베이스에 저장하는 단계를 더 포함하는 것을 특징으로 한다.In this case, after the synonym determination step, the method further includes matching the first and second query words with synonyms and storing the synonyms in a synonym database.

여기서, 상기 동의어를 이용한 검색 서비스 제공 방법은 사용자로부터 질의 어가 수신되는 단계; 상기 수신된 질의어의 동의어가 존재하는지를 판단하는 단계; 및 상기 수신된 질의어의 동의어가 존재하는 경우, 상기 수신된 질의어에 대한 검색 결과에 상기 동의어에 대한 검색 결과를 포함시켜 제공하는 단계를 더 포함하는 것을 특징으로 한다.The search service providing method using the synonym may include receiving a query word from a user; Determining whether a synonym of the received query exists; And providing a search result for the synonym in the search result for the received query if the synonym of the received query is present.

상술한 목적을 달성하기 위한 본 발명의 다른 측면에 따른 동의어를 이용한 검색 서비스 제공 시스템은 제1질의어 및 제2질의어가 음절 단위의 도치 관계인지를 판단하는 음절 도치 판단부; 및 상기 제1 및 제2 질의어가 음절 단위의 도치 관계인 경우, 상기 제1 및 제2 질의어가 형태소 단위의 도치 관계인지를 판단하여, 상기 제1 및 제2 질의어가 형태소 단위의 도치 관계인 경우 상기 제1 및 제2 질의어를 동의어로 결정하는 형태소 도치 판단부를 포함한다.System for providing a search service using synonyms according to another aspect of the present invention for achieving the above object is a syllable inversion determination unit for determining whether the first query and the second query is a syllable unit inversion relationship; And when the first and second query terms are inverted relations in syllable units, determining whether the first and second query terms are inverted relations in morpheme units, and when the first and second query terms are inverted relations in morpheme units, A morpheme inversion determination unit for determining the first and second query terms as synonyms.

상술한 바와 같이 본 발명에 따르면, 사용자들에 의해 입력되는 질의어들 중에 도치 관계에 있는 질의어들을 동의어로 보다 정확하고 용이하게 결정할 수 있다는 효과가 있다.As described above, according to the present invention, it is possible to more accurately and easily determine a synonym as a synonym among query terms input by users.

또한, 본 발명에 따르면, 사용자로부터 검색 질의어가 입력되는 경우 입력된 검색 질의어에 대한 검색 결과에 입력된 검색 질의어와 도치 관계에 있는 동의어에 대한 검색 결과를 포함시켜 제공함으로써 사용자의 편의성을 증대시킴은 물론, 이로 인해 검색 서비스의 만족도 및 신뢰도를 향상시킬 수 있다는 효과가 있다.In addition, according to the present invention, when a search query is input from a user, the user's convenience is increased by including a search result for a synonym having an inverted relationship with the input search query in the search result for the input search query. Of course, this has the effect of improving the satisfaction and reliability of the search service.

이하 첨부된 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 동의어 결정부의 구성을 보여주는 블럭도이다. 도 1에 도시된 동의어 결정부는 각 질의어들을 대상으로 각 질의어들의 동의어를 결정하여 동의어 데이터베이스를 구축하는 것으로서, 동의어 결정부는 후술할 동의어를 이용한 검색 서비스 제공 시스템에 직접 포함되거나, 동의어를 이용한 검색 서비스 제공 시스템과는 독립적으로 구성될 수 있다.1 is a block diagram illustrating a synonym determination unit according to an embodiment of the present invention. The synonym determination unit illustrated in FIG. 1 determines a synonym of each query language for each query and constructs a synonym database. The synonym determination unit is directly included in a search service providing system using a synonym to be described later, or a search service using a synonym. It can be configured independent of the system.

도 1에 도시된 바와 같이, 이러한 동의어 결정부(100)는 음절 도치 판단부(120), 형태소 도치 판단부(140) 및 편집 거리 판단부(160)를 포함한다. As shown in FIG. 1, the synonym determination unit 100 includes a syllable inversion determination unit 120, a morpheme inversion determination unit 140, and an editing distance determination unit 160.

음절 도치 판단부(120)는 제1질의어 및 제2질의어가 음절 단위의 도치 관계에 있는지 여부를 판단한다. 음절 단위의 도치 관계란 사용자로부터 입력된 제1 및 제2 질의어 각각의 음절 중 위치가 바뀐 음절이 있는 경우를 의미한다. 예를 들어, 제1질의어가 "색즉시공"이고 제2질의어가 "공즉시색"인 경우에는 제1질의어와 제2질의어가 첫 번째, 네 번째 음절의 위치가 바뀌었으며, 제1질의어가 "교보강남"이고 제2질의어가 "강남교보"인 경우에는 각각의 네 음절 모두 위치가 바뀌었으며, 제1질의어가 "강남CGV"이고 제2질의어가 "CGV강남"인 경우에는 각각의 다섯 음절 모두 위치가 바뀐 것과 같은 경우를 음절 단위의 도치 관계라고 말할 수 있다.The syllable inversion determining unit 120 determines whether the first query and the second query have a syllable unit inversion relationship. The inverted relationship in syllable units refers to a case where a syllable is changed in position among syllables of each of the first and second query words input from a user. For example, if the first query is "color immediate" and the second query is "cold immediately", the first and second syllables are replaced with the first and fourth syllables, and the first query is "Kyobogangnam". If the second question is "Gangnam Kyobo", the positions of all four syllables are changed. If the first question is "Gangnam CGV" and the second question is "CGV Gangnam", the positions of all five syllables are changed. In this case, the syllable unit may be referred to as an inverted relationship.

일 실시예에 있어서, 제1질의어 및 제2질의어는 연속으로 입력된 질의어일 수 있다. 다시 말해, 사용자가 검색창에 질의어를 입력한 후 연이어 다시 입력한 질의어를 의미한다.In one embodiment, the first query and the second query may be query words that are continuously input. In other words, the user inputs a query in the search box and subsequently inputs the query again.

다른 실시예에 있어서, 제1질의어 및 제2질의어는 발음 코드별 개수가 동일 한 질의어들의 그룹 중 각각 어느 하나의 질의어일 수 있다. 여기서, 발음 코드별 개수가 동일한 질의어들의 그룹이란 한글 자소 집합에 코드값을 갖도록 구성된 코드 테이블을 이용하여 질의어 간에 코드값을 추출하고, 추출된 코드값을 코드값 별로 정렬하여 코드값별 개수가 동일한 질의어들의 그룹을 의미한다. 다시 말해, 본 실시예 있어서 제1 및 제2 질의어는 연속으로 입력된 질의어가 아니라 사용자가 입력한 질의어들 중에서 발음 코드별 개수가 동일한 질의어들을 그룹핑한 질의어 중 각각 어느 하나인 것이다. In another embodiment, the first query and the second query may be any one of a group of query words having the same number of pronunciation codes. Here, a group of query words having the same number of pronunciation codes is a query word having the same number of code values by extracting code values between query words using a code table configured to have a code value in a set of Korean phonemes and sorting the extracted code values by code values. Group of people. In other words, in the present exemplary embodiment, the first and second query words are not query words continuously input, but any one of the query words grouped by the user with the same number of pronunciation codes among the query words input by the user.

한편, 발음 코드는 영어와 영어에 대한 음차 표기인 한글 외래어 간에 동일한 코드값을 갖도록 구성된 코드 테이블을 이용하여 두 문자간에 코드값을 추출하고, 추출된 코드값을 비교함으로써 영어와 한글 외래어간의 매핑 여부를 확인하는데 이용될 수 있다. 예를 들어, 발음 코드 테이블은 표 1과 같이 나타낼 수 있다. On the other hand, the pronunciation code extracts a code value between two characters using a code table configured to have the same code value between English and Korean foreign words, which are phonetic notations for English and English, and compares the extracted code values to determine whether the English and Korean foreign words are mapped. It can be used to verify. For example, the pronunciation code table may be represented as shown in Table 1.

코드값Code value 한글Hangul 영어English 1One ㄱ, ㄱ*, ㄲ, ㅋA, a *, ㄲ, ㅋ Q, (C), (G), (K), (X)Q, (C), (G), (K), (X) 22 ㄴ, ㄴ*, ㅁ, ㅁ*, ㅇ*B, b *, ㅁ, ㅁ *, ㅇ * M, NM, N 33 ㄷ, ㄸ, ㅌ, ㅅ, ㅅ*, ㅊ, ㅆ, ㅈ, ㅉC, k, k, k, k, k, k, k, k D, J, S, T, Z, (C), (G)D, J, S, T, Z, (C), (G) 44 ㄹ, ㄹ* + ㄹ, ㄹ*ㄹ, ㄹ * + ㄹ, ㄹ * (R), L + L, L(R), L + L, L 55 ㅂ, ㅂ*, ㅃ, ㅍ, ㅎㅂ, ㅂ *, ㅃ, ㅍ, ㅎ B, F, P, V, *H, F + FB, F, P, V, * H, F + F 66 ㄱ* + ㅅA * + ㅅ (G), (K), (X)(G), (K), (X) 77 *ㅇ* *O, *A, *E* O, * A, * E 무시Ignore 초성 ㅇConsonant A, E, I, O, U, W, Y, (C), (G), (R), (X)A, E, I, O, U, W, Y, (C), (G), (R), (X)

표 1에 표시된 바와 같이, 한글 자소 집합에 각각의 코드값이 부여되어 있으며, 영어의 각 알파벳 집합에도 각각 동일한 코드값이 부여된 것을 알 수 있다. 여기서, 자소 앞의 "*"는 자소가 어절에서 첫 번째 자소 또는 첫글자에 포함된 자소를 의미할 수 있으며, 자소 뒤의 "*"는 자소가 종성임을 의미할 수 있다. 또한, 코드 테이블에 존재하지 않는 자소는 무시될 수 있으며, 한글 모음은 모두 무시되고, 코드 테이블에 존재하지 않는 몇몇 한글 자음의 종성도 무시될 수 있다. 그리고, 자소 사이의 덧셈 기호(+)는 덧셈기호의 앞뒤의 자소가 연속적으로 존재함을 의미할 수 있다. 예를 들어, 질의어가"텔레비전"인 경우, "텔레비전"의 자소"ㅌ, ㅔ, ㄹ, ㄹ, ㅔ, ㅂ, ㅣ, ㅈ, ㅓ, ㄴ"에서 모든 모음은 무시되기 때문에 모음을 제외한 자소 "ㅌ, ㄹ, ㄹ, ㅂ, ㅈ, ㄴ"을 코드 테이블을 이용해 치환하면""34532"와 같은 코드값으로 부호화할 수 있다.As shown in Table 1, it is understood that each code value is assigned to the Korean phoneme set, and the same code value is also assigned to each alphabet set of English. Here, "*" in front of the phoneme may mean a phoneme that is included in the first phoneme or the first letter of the phoneme, and "*" after the phoneme may mean that the phoneme is final. In addition, phonemes that do not exist in the code table may be ignored, all Korean vowels may be ignored, and some Hangul consonants that do not exist in the code table may be ignored. In addition, the plus sign (+) between the phonemes may mean that the phonemes before and after the plus sign continuously exist. For example, if the query is "television", the phoneme "except vowels" is ignored because all vowels in "telephone" ㅌ, ㅔ, ㄹ, ㄹ, ㅔ, ㅂ, ㅣ, ㅈ, ㅓ, ㄴ "are ignored. Substituting ㅌ, ㄹ, ㄹ, ㅂ, ㅈ, "using a code table can be encoded with a code value such as" 34532 ".

따라서, 질의어 "강남교보"의 발음 코드는 "12215"가, 질의어 "교보강남"의 발음코드는 "15122"가 될 수 있다. 이 때, 두 질의어는 발음 코드 상으로는 일치하지 않는 것처럼 보이나, 발음 코드별로 정렬하면 두 질의어 모두 "11225"로 발음 코드별 개수가 동일하기 때문에, 질의어 "강남교보"와 질의어 "교보강남"은 발음 코드별 개수가 동일한 질의어 그룹에 속할 수 있다.Therefore, the pronunciation code of the query "Gangnam Kyobo" may be "12215" and the pronunciation code of the query "Kyobo Gangnam" may be "15122". In this case, the two query words do not seem to match on the pronunciation code, but if they are sorted by the pronunciation code, the number of the pronunciation code is the same for each query code as "11225", so the query "Gangnam Kyobo" and the query "Kyobo Gangnam" are pronunciation codes. The number of stars may belong to the same query group.

일 실시예에 있어서, 발음 코드별 개수가 동일한 질의어들 그룹 내에서 질의어 입력 횟수(Query Count)가 가장 높고 오탈자가 포함되어 있지 않은 질의어인 대표 질의어를 제1질의어로 선정하고, 제1질의어를 제외한 다른 질의어들 중 어느 하나를 제2질의어로 선정할 수 있다. 예를 들어, 질의어 "강남교보" 및 "교보강남"이 발음 코드별 개수가 동일한 질의어 그룹에 속해 있는 경우, 질의어 "강남교보"가 발음 코드별 개수가 동일한 질의어 그룹 중에서 질의어 입력 횟수(Query Count)가 가장 높다면, 질의어 "강남교보"가 제1질의어로 선정될 수 있다.In an exemplary embodiment, a representative query, which is a query that has the highest query count and no typos, is selected as a first query within a group of queries having the same number of pronunciation codes, and excludes the first query. One of the other queries may be selected as the second query. For example, when the query words "Gangnam Gyobo" and "Kyobo Gangnam" belong to the same group of query words, the number of query words "Gangnam Gyobo" has the same number of pronunciation codes. Is the highest, the query "Gangnam Kyobo" may be selected as the first query.

또 다른 실시예에 있어서, 제1 및 제2 질의어는 자소 단위별 개수가 동일한 질의어들의 그룹 중 각각 어느 하나의 질의어일 수 있다. 여기서, 자소 단위별 개수가 동일한 질의어들의 그룹이란 질의어들을 자소 단위별로 정렬하여 각 자소별로 자소의 개수가 동일한 질의어들의 그룹을 의미한다. 다시 말해, 본 실시예에 있어서 제1 및 제2 질의어는 연속으로 입력된 질의어가 아니라 사용자가 입력한 질의어들 중에서 자소 단위별 개수가 동일한 질의어들을 그룹핑한 질의어 중 각각 어느 하나인 것이다.In another embodiment, the first and second query words may be any one query group among groups of query words having the same number for each phoneme unit. Here, a group of query words having the same number per phoneme unit refers to a group of query words having the same number of phonemes for each phoneme by sorting query words by phoneme unit. In other words, in the present exemplary embodiment, the first and second query words are not query words continuously input, but any one of query words grouped by the same number of phoneme units among query words input by the user.

예를 들어, 질의어 "연금보험" 및 "보험연금"을 자소 단위별로 정렬하면 "ㄱㄴㅁㅁㅂㅇㅎㅓㅕㅗㅡ"가 된다. 따라서, 질의어 "연금보험" 및 "보험연금"은 자소 단위별 개수가 동일한 그룹에 속할 수 있다.For example, if the query terms "pension insurance" and "insurance pension" are sorted by phoneme unit, it becomes "ㄱ ㄴㅁㅁ ㅂㅇ ㅎㅓ ㅕㅗ ㅡ". Thus, the query terms "pension insurance" and "insurance pension" may belong to the same group for each number of units.

일 실시예에 있어서, 자소 단위별 개수가 동일한 질의어들 그룹 내에서 질의어 입력 횟수(Query Count)가 가장 높고 오탈자가 포함되어 있지 않은 질의어인 대표 질의어를 제1질의어로 선정하고, 제1질의어를 제외한 다른 질의어들 중 어느 하나를 제2질의어로 선정할 수 있다.In one embodiment, a representative query that has the highest query count and no typos in the group of query words having the same number of phoneme units is selected as the first query and excludes the first query. One of the other queries may be selected as the second query.

형태소 도치 판단부(140)는 음절 도치 판단부(120)에 의해 제1 및 제2 질의어가 음절 단위 도치 관계에 있는 것으로 판단된 경우, 제1 및 제2 질의어가 형태소 단위의 도치 관계인지를 추가로 판단하여, 제1 및 제2 질의어가 동의어인지 여부를 결정하는 것으로서, 색인어 추출부(142) 및 제1동의어 결정부(144)를 포함한다.The morpheme inversion determining unit 140 determines whether the first and second query terms are inverted relations of the morpheme units when the syllable inversion determining unit 120 determines that the first and second query terms are in the syllable unit inversion relationship. In order to determine whether the first and second query words are synonyms, the index word extracting unit 142 and the first synonym determining unit 144 may be included.

색인어 추출부(142)는 제1 및 제2 질의어로부터 색인어를 추출하는 것으로서, 색인어 추출부(142)가 색인어를 추출하는 방법을 도 2를 참조하여 보다 구체적으로 설명하면, "강동역에서 강남교보문고 가는길좀알려주세요."라는 질의어로부터 색인어 추출부(142)는 "강동역", "강남", "교보", "문고", "가는", "길좀" "알려주세요"와 같은 색인어를 추출할 수 있다. 이때, 색인어 추출부는 명사, 동사와 같은 형태소를 색인어로 추출함을 알 수 있다.The index word extractor 142 extracts an index word from the first and second query words. The index word extractor 142 extracts the index word in more detail with reference to FIG. 2. The index word extractor 142 may extract index words such as "Gangdong station", "Gangnam", "Kyobo", "Bunko", "Go", "Gill" and "Please tell me" from the query. have. In this case, it can be seen that the index word extracting unit extracts morphemes such as nouns and verbs.

다시 도 1을 참조하면, 제1동의어 결정부(144)는 추출된 색인어를 기준으로 제1 및 제2 질의어가 형태소 단위의 도치 관계에 있는지 여부를 판단하여 제1 및 제2 질의어가 형태소 단위의 도치 관계에 있는 것으로 판단된 경우, 제1 및 제2 질의어를 동의어로 결정한다.Referring back to FIG. 1, the first synonym determination unit 144 determines whether the first and second query terms are in the inverted relationship of the morpheme units based on the extracted index words, and thus the first and second query terms are determined in the morpheme units. If determined to be in the inverted relationship, the first and second query terms are determined as synonyms.

여기서, 형태소 단위의 도치 관계란 예를 들어, 제1질의어가 "강남CGV", 제2질의어가 "CGV강남"이라고 한다면, 제1질의어의 색인어는 "강남"과 "CGV"가 되며, 제2질의어의 색인어는 "CGV"와 "강남"이 되어, "강남"과 "CGV"와 같이 각 질의어를 구성하는 형태소의 위치가 서로 바뀐 경우를 의미한다. 따라서, "강남CGV" 와 "CGV강남"은 음절 단위의 도치 관계이면서, 동시에 형태소 단위의 도치 관계에 해당하는바, 제1동의어 결정부는 "강남CGV"와 "CGV강남"을 동의어로 결정을 할 수 있다.Here, the inverted relation of the morpheme unit is, for example, if the first query is "Gangnam CGV" and the second query is "CGV Gangnam", the index words of the first query are "Gangnam" and "CGV", and the second The index words of the query words are "CGV" and "Gangnam", and this means that the positions of the morphemes constituting each query word, such as "Gangnam" and "CGV", are interchanged. Therefore, "Gangnam CGV" and "CGV Gangnam" correspond to the syllable unit inverted relationship and at the same time to the morpheme unit inverted relationship. The first synonym decision unit may decide "Gangnam CGV" and "CGV Gangnam" as synonyms. Can be.

편집 거리 판단부(160)는 상술한 형태소 도치 판단부(140)에 의해 제1 및 제2 질의어가 형태소 단위의 도치 관계에 있지 않은 것으로 판단된 경우, 제1 및 제2 질의어의 음절 편집 거리를 이용하여 제1 및 제2 질의어가 동의어인지 여부를 결정하는 것으로서, 편집 거리 산출부(162) 및 제2동의어 결정부(164)를 포함한다.The edit distance determination unit 160 determines the syllable editing distance of the first and second query terms when the first and second query terms are not determined to be in the inverted relationship of the morpheme units by the morpheme inversion determination unit 140 described above. It is used to determine whether the first and second query words are synonyms, and include an edit distance calculator 162 and a second synonym determiner 164.

편집 거리 산출부(162)는 제1 및 제2 질의어가 형태소 단위의 도치 관계가 아닌 경우 제1 및 제2 질의어의 음절 편집 거리(Edit distance)를 산출하는 것으로서, 도 3에 도시된 바와 같이 음절 분석부(1620) 및 음절별 점수 부여부(1622)를 포함한다.The edit distance calculator 162 calculates a syllable edit distance of the first and second query words when the first and second query words are not inverted relations of the morpheme units, as shown in FIG. 3. An analysis unit 1620 and a syllable point providing unit 1622 are included.

음절 분석부(1620)는 제1 및 제2 질의어를 음절 단위로 구분하고, 제1 및 제2 질의어를 음절별로 비교하여 그 차이를 분석한다. 예를 들어, 제1질의어가 "강남교보"이고, 제2질의어가 "교보강남"인 경우 질의어들을 음절 단위로 구분하면 제1질의어는 "강", "남", "교", "보"로, 제2질의어는 "교", "보", "강", "남"으로 구분되므로, 제1 및 제2 질의어를 각 음절 별로 비교하면 각각의 음절마다 차이가 있는 것을 알 수 있다.The syllable analyzer 1620 classifies the first and second query words into syllable units, compares the first and second query words by syllables, and analyzes the differences. For example, if the first query is "Gangnam Kyobo" and the second query is "Kyobo Gangnam", the query terms are divided into syllable units. The first query is "Kang", "South", "Gyo", "Bo". As the second query is divided into "gyo", "bo", "gang", and "male", it can be seen that there is a difference for each syllable when comparing the first and second query words for each syllable.

음절별 점수 부여부(1622)는 분석 결과에 따라 차이가 나는 음절에 대한 음절별 점수를 부여한다. 예를 들어, 상기에서 살펴본 바와 같이 제1질의어가 "강남교보"이고, 제2질의어가 "교보강남"인 경우 각 음절마다 차이가 있으므로, 이에 대해 차이 나는 각 음절 별로 1점을 부여하면 "4"라는 점수가 부여될 수 있다.The syllable score providing unit 1622 grants syllable scores for syllables that differ according to an analysis result. For example, as described above, when the first query is "Gangnam Kyobo" and the second query is "Kyobo Gangnam," each syllable is different. Therefore, if one point is given for each syllable, "4" May be given.

편집 거리 산출부(162)가 각 질의어들의 음절 편집 거리를 산출하는 예를 도 4를 참조하여 설명하면, 도 4의 (a)에 도시된 "모짜르트"와 "모차르트"의 경우 "짜"와 "차"와 같이 한 음절 만 차이가 있고, 도 4의 (b)에 도시된 "칵테일"과 "칵테일바"와 같이 "바"에 해당하는 한 음절만 차이가 있으므로, 편집 거리(Edit distance)로 "1"이 산출되는 것을 알 수 있다. 또한, 도 4의 (c)에 도시된 "색즉시공"과 "공즉시색"의 경우 "색"과 "공"에 해당하는 두 음절이 차이가 있으므로, 편집 거리가 "2"가 산출되는 것을 알 수 있다. 한편, 도 4의 (d)에 도시된 "교보강남"과 "강남교보"의 경우 네 음절 모두 차이가 있으므로, 편집 거리가 "4"가 산출되는 것을 알 수 있다.An example in which the edit distance calculator 162 calculates the syllable edit distance of each query word will be described with reference to FIG. 4. In the case of "Mozart" and "Mozart" shown in FIG. Only one syllable, such as "car", and only one syllable corresponding to "bar", such as "cocktail" and "cocktail bar" shown in (b) of FIG. 4, the edit distance (Edit distance) It can be seen that "1" is calculated. In addition, in the case of "color instantaneous construction" and "constant color immediately" shown in FIG. . On the other hand, in the case of "Kyobo Gangnam" and "Gangnam Kyobo" shown in FIG. 4 (d), since all four syllables are different, it can be seen that the editing distance "4" is calculated.

다시 도 1을 참조하면, 제2동의어 결정부(164)는 편집 거리 산출부(162)에 의해 산출된 음절 편집 거리가 기준치 이상인지 여부를 판단하여 기준치 이상인 경우 제1 및 제2 질의어를 동의어로 결정한다. Referring back to FIG. 1, the second synonym determination unit 164 determines whether the syllable editing distance calculated by the edit distance calculation unit 162 is greater than or equal to the reference value, and when the first synonym is greater than or equal to the reference value, synonyms the first and second query terms as synonyms. Decide

예를 들어, 제1질의어가 "강남교보", 제2질의어가 "교보강남"인 경우 제1 및 제2 질의어는 음절 단위 도치 관계에 있는 동시에 형태소 단위 도치 관계에 있으므로, 제1동의어 결정부는 "강남교보"와 "교보강남"을 도치 관계에 있는 동의어로 결정할 수 있다. For example, when the first query is "Gangnam Kyobo" and the second query is "Kyobo Gangnam", the first and second query words have a syllable unit inversion relationship and a morpheme unit inversion relationship. "Kangnam Kyobo" and "Kyobo Gangnam" can be determined as synonyms in the inverted relationship.

그러나, 만약, 제1질의어인 "강남교보"로부터 "강남교"와 "보"가 추출된다고 가정하는 경우, 제2질의어인 "교보강남"으로부터 "교보"와 "강남"이 추출될 수 있으므로, 제1질의어와 제2질의어는 형태소 단위의 도치 관계에 있지 않는 경우에 해당한다. 따라서, 제1질의어와 제2질의어의 음절 편집 거리를 산출하여, 산출된 음절 편집 거리가 기준치 이상인 경우 제1 및 제2 질의어를 동의어로 결정할 수 있는바, 기준치를 "3"이라고 한다면 "강남교보"와 "교보강남"은 편집 거리가 "4"이므로 제2동의어 결정부에 의해 동의어로 결정될 수 있다.However, if it is assumed that "Gangnam Bridge" and "Bo" are extracted from the first query "Gangnam Kyobo", "Kyobo" and "Gangnam" may be extracted from the second query "Kyobo Gangnam". The first query and the second query do not correspond to the inverted relationship between morpheme units. Therefore, the syllable editing distance between the first query and the second query is calculated, and when the calculated syllable editing distance is greater than or equal to the reference value, the first and second query words may be determined as synonyms. "And" Kyobo Gangnam "can be determined synonymously by the second synonym determination unit since the editing distance is" 4 ".

상술한 바와 같이, 본 발명의 일 실시예에 따른 동의어 결정부는 질의어들의 분석을 통하여 각 질의어들의 동의어를 결정하고, 동의어로 결정된 각 질의어를 동의어로 매칭시켜 저장함으로써 동의어 데이터베이스를 구축한다.As described above, the synonym determination unit according to an embodiment of the present invention determines a synonym of each query word through analysis of query words, and constructs a synonym database by matching and storing each query word determined as a synonym.

이하에서는, 상술한 동의어 결정부에 의해 결정된 동의어를 이용하여 검색 서비스를 제공하는 본 발명의 일 실시예에 따른 동의어를 이용한 검색 서비스 제공 시스템을 도 5를 참조하여 설명하기로 한다.Hereinafter, a search service providing system using a synonym according to an exemplary embodiment of the present invention for providing a search service using the synonyms determined by the synonym determination unit described above will be described with reference to FIG. 5.

도시된 바와 같이, 동의어를 이용한 검색 서비스 제공 시스템(600)은 동의어 결정부(100), 동의어 데이터베이스(200), 질의어 수신부(300), 동의어 판단부(400) 및 검색 결과 제공부(500)를 포함한다.As illustrated, the search service providing system 600 using the synonym may include a synonym determination unit 100, a synonym database 200, a query receiving unit 300, a synonym determination unit 400, and a search result providing unit 500. Include.

동의어 결정부(100)는 상술한 바와 같이 질의어들을 분석하여 도치 관계에 있는 질의어들을 동의어로 결정하며, 동의어 데이터베이스(200)는 동의어 결정부(100)에 의해 도치 관계에 있는 것으로 판단된 제1 및 제2 질의어가 동의어로 매칭되어 저장된다.The synonym determination unit 100 analyzes the query terms as described above and determines the query terms in the inverted relationship as synonyms, and the synonym database 200 is determined by the synonym determination unit 100 to be in the first and second relations. The second query is matched with a synonym and stored.

검색 질의어 수신부(300)는 사용자로부터 검색 질의어를 수신하고, 동의어 판단부(400)는 검색 질의어 수신부(300)를 통해 수신된 검색 질의어의 동의어가 동의어 데이터베이스(200)에 존재하는지를 판단한다. 다시 말해, 사용자가 입력한 검색 질의어와 도치 관계에 있는 질의어가 동의어로서 동의어 데이터베이스(200)에 저장되어 있는지를 판단하는 것이다.The search query receiver 300 receives a search query from a user, and the synonym determination unit 400 determines whether a synonym of the search query received through the search query receiver 300 exists in the synonym database 200. In other words, it is determined whether the query word inverted with the search query input by the user is stored in the synonym database 200 as a synonym.

검색 결과 제공부(500)는 수신된 검색 질의어의 동의어가 존재하는 경우, 수신된 검색 질의어에 대한 검색 결과에 수신된 검색 질의어의 동의어에 대한 검색 결과를 함께 포함시켜 제공한다. 따라서, 검색 결과 제공부(5000)는 사용자가 입력한 검색 질의어에 대한 검색 결과뿐만 아니라 입력한 검색 질의어와 동의어 관계에 있는 검색 결과도 함께 제공할 수 있어 보다 정확한 검색 결과를 제공할 수 있다.If there is a synonym of the received search query, the search result providing unit 500 includes a search result for the synonym of the received search query in the search result for the received search query. Accordingly, the search result providing unit 5000 may provide not only search results for the search query input by the user, but also search results having a synonym relationship with the input search query, thereby providing more accurate search results.

본 실시예에 있어서는 동의어 결정부(100)가 검색 시스템(600)에 포함되는 것으로 기재하였지만, 위에서 언급한 바와 같이, 동의어 결정부(100)는 검색 시스템(600)에 포함되지 않을 수도 있을 것이다. 이러한 경우, 검색 시스템(600)은 동의어 결정부(100)에 의해 구축된 동의어 데이터베이스(200)를 이용하여 검색 서비스를 제공하게 된다.Although the synonym determiner 100 is described as being included in the search system 600 in the present embodiment, as mentioned above, the synonym determiner 100 may not be included in the search system 600. In this case, the search system 600 provides a search service using the synonym database 200 built by the synonym determiner 100.

이하에서는 도 6을 참조하여 본 발명의 일 실시예에 따른 동의어 결정 방법을 설명하기로 한다.Hereinafter, a method of determining synonyms according to an embodiment of the present invention will be described with reference to FIG. 6.

먼저, 제1질의어 및 제2질의어를 결정한다(S700). 여기서, 제1질의어 및 제2질의어는 연속으로 입력된 질의어일 수 있다. 다시 말해, 사용자가 검색창에 질의어를 입력한 후 연이어 다시 입력한 질의어를 의미한다.First, the first question and the second question are determined (S700). Here, the first query and the second query may be query words that are continuously input. In other words, the user inputs a query in the search box and subsequently inputs the query again.

다른 실시예에 있어서, 제1질의어 및 제2질의어는 발음 코드가 일치하는 질의어들의 그룹에서 선별된 질의어들일 수 있다. 여기서, 발음 코드별 개수가 동일한 질의어들 그룹 내에서 질의어 입력 횟수(Query Count)가 가장 높고 오탈자가 포함되어 있지 않은 질의어인 대표 질의어를 제1질의어로 선정하고, 제1질의어를 제외한 다른 질의어들 중 어느 하나를 제2질의어로 선정할 수 있다.In another embodiment, the first query and the second query may be query words selected from a group of query words with matching pronunciation codes. Here, the representative query, which is the query with the highest query count and no typos in the group of query words with the same number of pronunciation codes, is selected as the first query, and among other queries except the first query. Either one can be chosen as the second query.

또 다른 실시예에 있어서, 제1 및 제2 질의어는 자소 단위별 개수가 동일한 질의어들의 그룹에서 선별된 질의어들일 수 있다. 여기서, 자소 단위별 개수가 동일한 질의어들 그룹 내에서 질의어 입력 횟수(Query Count)가 가장 높고 오탈자가 포함되어 있지 않은 질의어인 대표 질의어를 제1질의어로 선정하고, 제1질의어를 제외한 다른 질의어들 중 어느 하나를 제2질의어로 선정할 수 있다.In another embodiment, the first and second query words may be query words selected from a group of query words having the same number for each phoneme unit. Here, the representative query, which is the query with the highest query count and no typos, is selected as the first query within a group of query words having the same number of units per phoneme, and among other queries except the first query. Either one can be chosen as the second query.

다음으로, 입력된 제1질의어 및 제2질의어가 음절 단위의 도치 관계에 있는지 여부를 판단한다(S710). 음절 단위의 도치 관계란 사용자로부터 입력된 제1 및 제2 질의어 각각의 음절 중 위치가 바뀐 음절이 있는 경우를 의미한다.Next, it is determined whether the input first query and the second query are in the inverted relationship of syllable units (S710). The inverted relationship in syllable units refers to a case where a syllable is changed in position among syllables of each of the first and second query words input from a user.

판단 결과, 제1 질의어 및 제2 질의어가 음절 단위 도치 관계에 있는 것으로 판단된 경우 경우, 제1 및 제2 질의어가 형태소 단위의 도치 관계에 있는지 여부를 추가로 판단한다(S720). 형태소 단위의 도치 관계란, 예를 들어, 제1질의어가 "강남CGV", 제2질의어가 "CGV강남"이라고 한다면, 제1질의어의 형태소는 "강남"과 "CGV"가 되며, 제2질의어의 형태소는 "CGV"와 "강남"이 되어, "강남"과 "CGV"와 같이 형태소 별로 위치가 바뀐 경우를 의미한다.If it is determined that the first query word and the second query word are in syllable unit inversion relationship, it is further determined whether the first and second query words are in the inverted relationship of morpheme units (S720). In the inverted relation of morpheme units, for example, if the first query is "Gangnam CGV" and the second query is "CGV Gangnam", the morphemes of the first query are "Gangnam" and "CGV", and the second query The morphemes of "CGV" and "Gangnam", and "gangnam" and "CGV" means the case where the position is changed by morphemes.

형태소 단위의 도치 관계를 판단하는 방법에 관해 구체적으로 살펴보면, 먼저 제1 및 제2 질의어로부터 색인어를 추출한다. 이후, 추출된 색인어를 기준으로 형태소 단위의 도치 관계인지를 판단한다. 예를 들어, 제1질의어가 "강남CGV", 제2질의어가 "CGV강남"이라고 한다면, 제1질의어의 색인어로 "강남"과 "CGV"가, 제2질의어의 색인어로 "CGV"와 "강남"이 추출되어, "강남"과 "CGV"와 같이 형태소 별로 위치가 바뀌었는지 판단을 하는 것이다.A method of determining the inverted relationship of the morpheme units will be described in detail. First, an index word is extracted from the first and second query words. Then, it is determined whether the inverted relation of the morpheme unit is based on the extracted index word. For example, if the first query is "Gangnam CGV" and the second query is "CGV Gangnam", the index terms "Gangnam" and "CGV" are the index terms of the second query "CGV" and " "Gangnam" is extracted, such as "Gangnam" and "CGV" to determine whether the location has changed by morpheme.

판단 결과, 제1 및 제2 질의어가 형태소 단위 도치 관계에 있는 것으로 판단된 경우, 제1 및 제2 질의어를 동의어로 결정한다(S730). 예를 들어, 상기에서 살펴본 바와 같이 "강남CGV" 와 "CGV강남"은 음절 단위의 도치 관계이면서, 형태소 단위의 도치 관계에 해당하므로 "강남CGV"와 "CGV강남"을 동의어로 결정할 수 있다.As a result of the determination, when it is determined that the first and second query words have a morpheme unit inversion relationship, the first and second query words are determined as synonyms (S730). For example, as described above, since "Gangnam CGV" and "CGV Gangnam" are inverted relations in syllable units, and correspond to inverted relations in morpheme units, "Gangnam CGV" and "CGV Gangnam" may be determined as synonyms.

한편, S720에서 제1 및 제2 질의어가 형태소 단위의 도치 관계에 있지 않은 것으로 판단된 경우, 제1 및 제2 질의어의 음절 편집 거리를 산출한다(S740). Meanwhile, when it is determined in S720 that the first and second query words are not in the inverted relationship of morpheme units, the syllable editing distance of the first and second query words is calculated (S740).

음절 편집 거리를 산출하는 방법에 것에 관해 구체적으로 살펴보면, 먼저, 제1 및 제2 질의어를 음절 단위로 구분하고, 제1 및 제2 질의어를 음절별로 비교하여 그 차이를 분석한다. 이후, 분석 결과에 따라 차이가 나는 음절에 대한 음절별 점수를 부여한다. The method for calculating the syllable editing distance will be described in detail. First, the first and second query words are divided into syllable units, and the first and second query words are compared for each syllable and the difference is analyzed. Then, the syllable scores for the syllables that differ according to the analysis result are given.

다음으로, 산출된 음절 편집 거리가 기준치 이상인지를 판단하여(S750), 산출된 음절 편집 거리가 기준치 이상인 경우, 제1 및 제2 질의어를 동의어로 결정한다(S730). 따라서, 기준치를 "3"이라고 한다면 상기에서 살펴본 바와 같이 "강남교보"와 "교보강남"은 편집 거리가 "4"이므로 동의어로 결정될 수 있는 것이다.Next, it is determined whether the calculated syllable editing distance is greater than or equal to the reference value (S750), and when the calculated syllable editing distance is greater than or equal to the reference value, the first and second query words are determined as synonyms (S730). Therefore, if the reference value is "3", as described above, "Gangnam Kyobo" and "Kyobo Gangnam" can be determined synonymously because the editing distance is "4".

마지막으로, 제1 및 제2 질의어를 동의어로 매칭하여 동의어 데이터베이스에 저장함으로써 동의어 데이터베이스를 구축한다(S760). 즉, 사용자가 입력한 질의어와 도치 관계에 있는 질의어가 동의어로 결정되어 데이터베이스에 저장되는 것이다.Finally, the synonym database is constructed by matching the first and second query terms with synonyms and storing the synonyms in the synonym database (S760). That is, a query that is inverted with a query input by a user is determined as a synonym and stored in a database.

이하에서는 상술한 동의어 결정 방법을 이용하여 결정된 동의어를 이용하여 검색 서비스를 제공하는 방법을 도 7을 참조하여 설명한다.Hereinafter, a method of providing a search service using a synonym determined by using the synonym determination method described above will be described with reference to FIG. 7.

먼저, 사용자로부터 검색 질의어를 수신하고(S770), 수신된 검색 질의어의 동의어가 동의어 데이터베이스에 존재하는지를 판단한다(S780). 다시 말해, 사용자가 입력한 질의어와 도치 관계에 있는 질의어가 동의어로서 동의어 데이터베이스에 저장되어 있는지를 판단하는 것이다.First, a search query is received from a user (S770), and it is determined whether a synonym of the received search query exists in the synonym database (S780). In other words, it is determined whether a query that is inverted with the query input by the user is stored in the synonym database as a synonym.

다음으로, 수신된 검색 질의어의 동의어가 존재하는 경우, 수신된 검색 질의어에 대한 검색 결과를 제공함에 있어서, 수신된 검색 질의어에 대한 검색 결과에 수신된 검색 질의어의 동의어에 대한 검색 결과를 포함시켜 제공한다(S790). 따라서, 사용자가 입력한 검색 질의어에 대한 검색 결과뿐만 아니라 입력한 검색 질의어와 도치 관계에 있는 동의어에 대한 검색 결과도 함께 제공할 수 있어 보다 정확한 검색 결과를 제공할 수 있다.Next, when there is a synonym of the received search query, in providing a search result for the received search query, the search result for the received search query is included in the search result for the received search query. (S790) Therefore, not only the search result for the search query input by the user but also the search result for the synonym having an inverted relationship with the input search query can be provided together, thereby providing a more accurate search result.

상술한 동의어를 이용한 검색 서비스 제공 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 이때, 컴퓨터로 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 한편, 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The search service providing method using the synonyms described above may be implemented in the form of program instructions that can be executed by various computer means, and recorded in a computer-readable recording medium. In this case, the computer-readable recording medium may include program instructions, data files, data structures, and the like, alone or in combination. On the other hand, the program instructions recorded on the recording medium may be those specially designed and configured for the present invention or may be available to those skilled in the art of computer software.

컴퓨터로 판독 가능한 기록매체에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 한편, 이러한 기록매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다.The computer-readable recording medium includes a magnetic recording medium such as a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical medium such as a CD-ROM and a DVD, a magnetic disk such as a floppy disk, A magneto-optical media, and a hardware device specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. The recording medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, or the like.

또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

한편, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.On the other hand, those skilled in the art will appreciate that the present invention can be implemented in other specific forms without changing the technical spirit or essential features.

그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, it is to be understood that the embodiments described above are exemplary in all respects and not restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.

도 1은 본 발명의 일 실시예에 따른 동의어 결정부의 구성을 보여주는 블럭도이다.1 is a block diagram illustrating a synonym determination unit according to an embodiment of the present invention.

도 2는 색인어 추출의 예를 보여주는 도면이다.2 is a diagram illustrating an example of index word extraction.

도 3은 도 1에 도시된 편집 거리 판단부의 세부 구성을 보여주는 블록도이다.3 is a block diagram illustrating a detailed configuration of the editing distance determiner illustrated in FIG. 1.

도 4는 음절 편집 거리 산출의 예를 보여주는 도면이다.4 is a diagram illustrating an example of calculating a syllable editing distance.

도 5는 도 1에 도시된 동의어 결정 부를 포함하는 본 발명의 일 실시예에 따른 동의어를 이용한 검색 서비스 제공 시스템의 개략적인 블록도이다.FIG. 5 is a schematic block diagram of a search service providing system using a synonym according to an exemplary embodiment of the present invention including the synonym determination unit illustrated in FIG. 1.

도 6은 본 발명의 일 실시예에 따른 동의어 결정 방법을 보여주는 플로우차트이다.6 is a flowchart illustrating a synonym determination method according to an embodiment of the present invention.

도 7은 본 발명에 의한 일 실시예에 따른 동의어를 이용한 검색 서비스 제공 방법을 보여주는 플로우차트이다.7 is a flowchart illustrating a search service providing method using synonyms according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100 : 동의어 결정부 120 : 음절 도치 판단부100: synonym determination unit 120: syllable inversion determination unit

140 : 형태소 도치 판단부 142 : 색인어 추출부140: stem stem incidence determination unit 142: index word extraction unit

144 : 제1동의어 결정부 160 : 편집 거리 판단부144: First synonym determination unit 160: Editing distance determination unit

162 : 편집 거리 산출부 164 : 제2동의어 결정부162: editing distance calculation unit 164: second synonym determination unit

Claims (21)

제1질의어 및 제2질의어가 음절 단위의 도치 관계인지를 판단하는 단계;Determining whether the first query and the second query are inverted in syllable units; 상기 제1 및 제2 질의어가 음절 단위의 도치 관계인 경우, 상기 제1 및 제2 질의어가 형태소 단위의 도치 관계인지를 판단하는 단계; 및If the first and second query terms are inverted relations in syllable units, determining whether the first and second query terms are inverted relations in morpheme units; And 상기 제1 및 제2 질의어가 형태소 단위의 도치 관계인 경우, 상기 제1 및 제2 질의어를 동의어로 결정하는 단계를 포함하는 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 방법.And determining the first and second query terms as synonyms when the first and second query terms are inverted relations of morpheme units. 제 1 항에 있어서,The method of claim 1, 상기 제1 및 제2 질의어는 연속하여 입력된 질의어인 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 방법.And the first and second query terms are consecutive input query terms. 제 1 항에 있어서,The method of claim 1, 상기 제1 및 제2 질의어는 발음 코드별 개수가 동일한 질의어들의 그룹 중 각각 어느 하나의 질의어인 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 방법.And the first and second query words are any one query group among a group of query words having the same number of pronunciation codes. 제 3 항에 있어서,The method of claim 3, wherein 상기 제1질의어는 상기 발음 코드별 개수가 동일한 질의어들의 그룹 중에서 질의어 입력 횟수(Query Count)가 가장 높은 질의어인 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 방법.The first query is a method of providing a search service using a synonym, characterized in that the highest query count (Query Count) among the group of query words having the same number of pronunciation codes. 제 1 항에 있어서,The method of claim 1, 상기 제1 및 제2 질의어는 자소 단위별 개수가 동일한 질의어들의 그룹 중 각각 어느 하나의 질의어인 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 방법.And the first and second query words are any one query group among groups of query words having the same number for each phoneme unit. 제 1 항에 있어서, 상기 형태소 단위 도치 관계 판단 단계에서The method of claim 1, wherein 상기 제1 및 제2 질의어로부터 색인어를 추출하여, 상기 추출된 색인어를 기준으로 형태소 단위의 도치 관계인지를 판단하는 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 방법.And extracting an index word from the first and second query words, and determining whether or not it is an inverted relationship of morpheme units based on the extracted index word. 제 1 항에 있어서, 상기 형태소 단위 도치 관계 판단 단계에서,The method of claim 1, wherein 상기 제1 및 제2 질의어가 형태소 단위 도치 관계가 아닌 경우, 상기 제1 및 제2 질의어의 음절 편집 거리를 산출하는 단계; 및Calculating syllable editing distances of the first and second query terms when the first and second query terms are not in a morpheme unit inversion relationship; And 상기 산출된 음절 편집 거리가 기준치 이상인 경우, 상기 제1 및 제2 질의어를 동의어로 결정하는 단계를 더 포함하는 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 방법.And determining the first and second query terms as synonyms when the calculated syllable editing distance is equal to or greater than a reference value. 제 7 항에 있어서, 상기 음절 편집 거리를 산출하는 단계는The method of claim 7, wherein calculating the syllable editing distance 상기 제1 및 제2 질의어를 음절 단위로 구분하고, 상기 제1 및 제2 질의어를 음절별로 비교하여 그 차이를 분석하는 단계; 및Dividing the first and second query words into syllable units, comparing the first and second query words by syllables, and analyzing the differences; And 상기 분석 결과에 따라 차이가 나는 음절에 대한 음점별 점수를 부여하는 단계를 포함하는 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 방법.Method for providing a search service using a synonym, comprising the step of assigning a score for each syllable for the syllable difference according to the analysis result. 제 1 항에 있어서, 상기 동의어 결정 단계 이후에,The method of claim 1, wherein after the synonym determination step, 상기 제1 및 제2 질의어를 동의어로 매칭하여 동의어 데이터베이스에 저장하는 단계를 더 포함하는 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 방법.And matching the first and second query terms with synonyms and storing the synonyms in a synonym database. 제 1 항에 있어서,The method of claim 1, 사용자로부터 검색 질의어를 수신하는 단계;Receiving a search query from a user; 상기 수신된 검색 질의어의 동의어가 존재하는지를 판단하는 단계; 및Determining whether a synonym of the received search query word exists; And 상기 수신된 검색 질의어의 동의어가 존재하는 경우, 상기 수신된 검색 질의어에 대한 검색 결과에 상기 동의어에 대한 검색 결과를 포함시켜 제공하는 단계를 더 포함하는 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 방법.And providing a search result for the synonym in the search result for the received search query word when the synonym of the received search query word exists. 제 1 항 내지 제 10 항 중 어느 하나의 항에 기재된 방법을 수행하기 위한 프로그램이 기록된 기록매체.A recording medium having recorded thereon a program for carrying out the method according to any one of claims 1 to 10. 제1질의어 및 제2질의어가 음절 단위의 도치 관계인지를 판단하는 음절 도치 판단부; 및A syllable inversion determining unit determining whether the first query and the second query are inverted in syllable units; And 상기 제1 및 제2 질의어가 음절 단위의 도치 관계인 경우, 상기 제1 및 제2 질의어가 형태소 단위의 도치 관계인지를 판단하여, 상기 제1 및 제2 질의어가 형태소 단위의 도치 관계인 경우 상기 제1 및 제2 질의어를 동의어로 결정하는 형태소 도치 판단부를 포함하는 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 시스템.When the first and second query terms are inverted relations in syllable units, it is determined whether the first and second query terms are inverted relations in morpheme units, and when the first and second query terms are inverted relations in morpheme units, And a morpheme inversion determining unit configured to determine the second query as a synonym. 제 12 항에 있어서,The method of claim 12, 상기 제1 및 제2 질의어는 연속하여 입력된 질의어인 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 시스템.And the first and second query terms are consecutive input query terms. 제 12 항에 있어서,The method of claim 12, 상기 제1 및 제2 질의어는 발음 코드별 개수가 동일한 질의어들의 그룹 중 각각 어느 하나의 질의어인 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 시스템.And the first and second query words are any one query group among a group of query words having the same number of pronunciation codes. 제 12 항에 있어서,The method of claim 12, 상기 제1 및 제2 질의어는 자소 단위별 개수가 동일한 질의어들의 그룹 중 각각 어느 하나의 질의어인 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 시스템.And the first and second query words are any one query group among groups of query words having the same number for each phoneme unit. 제 15 항에 있어서,The method of claim 15, 상기 제1질의어는 상기 자소 단위별 개수가 동일한 질의어들의 그룹 중에서 질의어 입력 횟수(Query Count)가 가장 높은 질의어인 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 시스템.The first query is a query service providing system using a synonym, characterized in that the highest query count (Query Count) among the group of query words having the same number for each phoneme unit. 제 12 항에 있어서, 상기 형태소 도치 판단부는The method of claim 12, wherein the morpheme inverted determination unit 상기 제1 및 제2 질의어로부터 색인어를 추출하는 색인어 추출부; 및An index word extracting unit extracting an index word from the first and second query words; And 상기 추출된 색인어를 기준으로 형태소 단위의 도치 관계인지를 판단하여 상기 추출된 색인어가 형태소 단위의 도치 관계인 경우 상기 제1 및 제2 질의어를 동의어로 결정하는 제1동의어 결정부를 포함하는 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 시스템.And a first synonym determination unit determining whether the extracted index word is a inverted relationship of the morpheme unit based on the extracted index word and determining the first and second query words as synonyms. Search service providing system using synonyms. 제 12 항에 있어서,The method of claim 12, 상기 제1 및 제2 질의어가 형태소 단위의 도치 관계가 아닌 경우, 상기 제1 및 제2 질의어의 음절 편집 거리를 산출하는 편집 거리 산출부; 및An editing distance calculator configured to calculate a syllable editing distance of the first and second query words when the first and second query words are not inverted relations of morpheme units; And 상기 산출된 음절 편집 거리가 기준치 이상인 경우 상기 제1 및 제2 질의어를 동의어로 결정하는 제2동의어 결정부를 더 포함하는 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 시스템.And a second synonym determination unit for determining the first and second query terms as synonyms when the calculated syllable editing distance is equal to or greater than a reference value. 제 18 항에 있어서, 상기 편집 거리 산출부는19. The apparatus of claim 18, wherein the editing distance calculator 상기 제1 및 제2 질의어를 음절 단위로 구분하고, 상기 제1 및 제2 질의어를 음절별로 비교하여 그 차이를 분석하는 음절 분석부; 및A syllable analyzer for dividing the first and second query words into syllable units, comparing the first and second query words by syllables, and analyzing the difference; And 상기 분석 결과에 따라 차이가 나는 음절에 대한 음점별 점수를 부여하는 음절별 점수 부여부를 포함하는 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 시스템.Search service providing system using a synonym, characterized in that it comprises a score for each syllable that gives a score for each syllable for the syllable difference according to the analysis result. 제 12 항에 있어서,The method of claim 12, 상기 제1 및 제2 질의어가 동의어로 매칭되어 저장되는 동의어 데이터베이스를 더 포함하는 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 시스템.And a synonym database in which the first and second query terms are matched and stored as synonyms. 제 12 항에 있어서,The method of claim 12, 사용자로부터 검색 질의어를 수신하는 질의어 수신부;A query receiving unit which receives a search query from a user; 상기 수신된 검색 질의어의 동의어가 존재하는지를 판단하는 동의어 판단부; 및A synonym determination unit that determines whether a synonym of the received search query word exists; And 상기 수신된 검색 질의어의 동의어가 존재하는 경우, 상기 수신된 검색 질의어에 대한 검색 결과에 상기 동의어에 대한 검색 결과를 포함시켜 제공하는 검색 결과 제공부를 더 포함하는 것을 특징으로 하는 동의어를 이용한 검색 서비스 제공 시스템.If there is a synonym of the received search query, providing a search result using a synonym further comprising a search result providing unit for providing a search result for the synonym in the search results for the received search query system.
KR1020080066521A 2008-07-09 2008-07-09 Method and System for Providing Search Service Using Synonym KR100953043B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080066521A KR100953043B1 (en) 2008-07-09 2008-07-09 Method and System for Providing Search Service Using Synonym

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080066521A KR100953043B1 (en) 2008-07-09 2008-07-09 Method and System for Providing Search Service Using Synonym

Publications (2)

Publication Number Publication Date
KR20100006326A KR20100006326A (en) 2010-01-19
KR100953043B1 true KR100953043B1 (en) 2010-04-14

Family

ID=41815510

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080066521A KR100953043B1 (en) 2008-07-09 2008-07-09 Method and System for Providing Search Service Using Synonym

Country Status (1)

Country Link
KR (1) KR100953043B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086590A1 (en) 1999-11-05 2005-04-21 Microsoft Corporation Language input architecture for converting one text form to another text form with tolerance to spelling, typographical, and conversion errors
KR20070047544A (en) * 2005-11-02 2007-05-07 김정진 Method for searching patent document by applying degree of similarity and system thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086590A1 (en) 1999-11-05 2005-04-21 Microsoft Corporation Language input architecture for converting one text form to another text form with tolerance to spelling, typographical, and conversion errors
KR20070047544A (en) * 2005-11-02 2007-05-07 김정진 Method for searching patent document by applying degree of similarity and system thereof

Also Published As

Publication number Publication date
KR20100006326A (en) 2010-01-19

Similar Documents

Publication Publication Date Title
CN108091328B (en) Speech recognition error correction method and device based on artificial intelligence and readable medium
KR101309042B1 (en) Apparatus for multi domain sound communication and method for multi domain sound communication using the same
US8346537B2 (en) Input apparatus, input method and input program
CN104166462A (en) Input method and system for characters
CN106570180A (en) Artificial intelligence based voice searching method and device
KR102267561B1 (en) Apparatus and method for comprehending speech
JP2011154099A (en) Dictionary for speech recognition utilized in speech recognition device and learning method of language model for speech recognition
CN102970618A (en) Video on demand method based on syllable identification
KR20190059185A (en) Method and system for improving the accuracy of speech recognition technology based on text data analysis for deaf students
JP5097802B2 (en) Japanese automatic recommendation system and method using romaji conversion
JP6541239B2 (en) Match error detection device for subject verb and program for match error detection
KR100542757B1 (en) Automatic expansion Method and Device for Foreign language transliteration
KR20130126570A (en) Apparatus for discriminative training acoustic model considering error of phonemes in keyword and computer recordable medium storing the method thereof
KR100953043B1 (en) Method and System for Providing Search Service Using Synonym
KR100617319B1 (en) Apparatus for selecting target word for noun/verb using verb patterns and sense vectors for English-Korean machine translation and method thereof
Ghoshal et al. Web-derived pronunciations
CN115831117A (en) Entity identification method, entity identification device, computer equipment and storage medium
Liang et al. An efficient error correction interface for speech recognition on mobile touchscreen devices
CN111429886B (en) Voice recognition method and system
Chao et al. Automatic spelling correction for asr corpus in traditional chinese language using seq2seq models
Qafmolla Automatic language identification
JPH11238051A (en) Chinese input conversion processor, chinese input conversion processing method and recording medium stored with chinese input conversion processing program
KR101355284B1 (en) Method for Recommending Words and Completing Sentences in Touch Screen Devices
CN113096667A (en) Wrongly-written character recognition detection method and system
JP3952964B2 (en) Reading information determination method, apparatus and program

Legal Events

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

Payment date: 20130329

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160329

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 10