KR20120009817A - System and method for providing search service - Google Patents

System and method for providing search service Download PDF

Info

Publication number
KR20120009817A
KR20120009817A KR1020100070566A KR20100070566A KR20120009817A KR 20120009817 A KR20120009817 A KR 20120009817A KR 1020100070566 A KR1020100070566 A KR 1020100070566A KR 20100070566 A KR20100070566 A KR 20100070566A KR 20120009817 A KR20120009817 A KR 20120009817A
Authority
KR
South Korea
Prior art keywords
search
morpheme
morphemes
token
combination
Prior art date
Application number
KR1020100070566A
Other languages
Korean (ko)
Other versions
KR101195950B1 (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 KR20100070566A priority Critical patent/KR101195950B1/en
Publication of KR20120009817A publication Critical patent/KR20120009817A/en
Application granted granted Critical
Publication of KR101195950B1 publication Critical patent/KR101195950B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3325Reformulation based on results of preceding query
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis

Abstract

PURPOSE: A search service system and a method thereof are provided to separate a search word of multiwords into morphemes and apply a token score to the morphemes, thereby offering a best matching search result. CONSTITUTION: A search word processing unit(120) separates a search word of a user terminal into morphemes to match a token score to the morphemes. The search word processing unit selects a morpheme combination consisting of the morphemes based on the token score. A database(150) stores the token scores by a morpheme. A search unit(110) searches based on the morpheme combination. A search result unit(140) provides a webpage including a search result to the user terminal. The search word processing unit selects one with the highest token score among the morpheme combinations.

Description

검색 서비스 제공 시스템 및 방법{SYSTEM AND METHOD FOR PROVIDING SEARCH SERVICE}Search service provision system and method {SYSTEM AND METHOD FOR PROVIDING SEARCH SERVICE}

본 발명은 검색 서비스 제공 시스템 및 방법에 관한 것이다.The present invention relates to a search service providing system and method.

최근 검색으로 원하는 정보를 찾을 때, 복수의 용어로 이루어지는 다중 용어를 검색어로 입력하는 경향이 증가하고 있다. 이와 같이 다중 용어가 입력되는 경우에, 검색 엔진은 다중 용어 중에서 어느 용어를 가장 중요한 검색어로 고려해야 하는지, 다중 용어를 단일 용어로 고려해야 하는지 알 수 없어서 정확한 검색 결과를 제공하지 못한다는 문제점이 있다.Recently, when searching for information desired by a search, there is an increasing tendency to input multiple terms consisting of a plurality of terms as search terms. As such, when multiple terms are input, the search engine does not know which of the multiple terms should be considered as the most important search term or whether multiple terms should be considered as a single term, thereby failing to provide accurate search results.

이런 문제점을 해결하기 위한 종래 기술로 대한민국공개특허 제2007-0090014호에 기재된 기술이 있다. 이 종래 기술은 특정 용어를 포함하는 다중 용어 검색을 한 후에 다음 검색에서 다중 용어 중 어느 하나를 삭제하는 검색을 일정 기간 동안 추적하고, 해당 기간 동안 특정 용어를 포함하는 전체 다중 용어 검색의 횟수와 다음 검색에서 특정 단어를 삭제한 횟수의 비율로 해당 단어의 삭제 확률을 계산한다. 그리고 종래 기술은 다중 용어가 입력되는 경우에 특정 두 용어의 삭제 확률의 차이가 임계치보다 크면 삭제 확률이 높은 용어는 버리고 삭제 확률이 낮은 용어를 기초로 검색을 수행한다. 즉, 종래 기술은 연속되는 검색어 중 뒤의 검색에서 삭제되는 용어를 기초로 계산한 삭제 확률을 이용하여 용어를 선택한다.There is a technique described in the Republic of Korea Patent Publication No. 2007-0090014 as a prior art for solving this problem. This prior art tracks a search for a period of time after a multi-term search that includes a specific term and then deletes any one of the multiple terms in the next search, and the number of times a full multi-term search that includes the specific term and The probability of deleting a word is calculated as the ratio of the number of times a word is deleted from the search. In the prior art, when multiple terms are input, if the difference between the deletion probabilities of two specific terms is greater than a threshold value, the term having a high deletion probability is discarded and the search is performed based on a term having a low deletion probability. That is, the prior art selects a term using a deletion probability calculated based on a term deleted from a subsequent search among successive search terms.

그런데 실제 검색 환경에서는 사용자가 원하는 검색 결과를 찾기 위해서 특정 용어를 삭제하는 형태로만 검색하는 것이 아니라 어떤 용어로 검색한 후에 다음 검색에서 새로운 용어를 추가하여 검색하는 경우가 존재한다. 또한 다중 용어 검색 후에 다음 검색에서 용어가 삭제되는 것이 아니라 여러 번의 검색 이후에 특정 용어가 삭제되는 경우도 존재한다. 종래 기술은 이러한 경우에 사용자의 의도를 정확하게 반영하지 못한다는 문제점이 있다.However, in a real search environment, in order to find a desired search result, a user may not search only by deleting a specific term but search by a certain term and then add a new term in the next search. In addition, there is a case where a specific term is deleted after several searches instead of deleting the term after the multiple search. The prior art has a problem that it does not accurately reflect the intention of the user in this case.

본 발명이 해결하려는 과제는 다중 용어 검색 질의에 대한 정확한 검색 결과를 제공할 수 있는 검색 서비스 제공 시스템 및 방법을 제공하는 것이다.An object of the present invention is to provide a search service providing system and method that can provide accurate search results for a multi-term search query.

본 발명의 한 특징에 따르면, 검색 서비스 제공 시스템의 검색 서비스 제공 방법이 제공된다. 상기 검색 서비스 제공 방법에 따르면, 상기 검색 서비스 제공 시스템은 사용자 단말로부터 검색어를 수신하고, 상기 검색어를 복수의 형태소로 분리하며, 각 형태소에 해당 형태소의 토큰 점수를 매칭시킨다. 그리고 상기 검색 서비스 제공 시스템은 상기 토큰 점수에 기초하여 상기 복수의 형태소 중 적어도 하나의 형태소로 이루어지는 형태소 조합을 선택하고, 상기 형태소 조합으로 검색을 수행한 후에, 상기 형태소 조합으로 수행한 검색 결과를 포함하는 웹 페이지를 상기 사용자 단말로 제공한다.According to one aspect of the present invention, a search service providing method of a search service providing system is provided. According to the search service providing method, the search service providing system receives a search word from a user terminal, divides the search word into a plurality of morphemes, and matches token scores of the corresponding morphemes to each morpheme. And the search service providing system selects a morpheme combination consisting of at least one morpheme among the plurality of morphemes based on the token score, performs a search with the morpheme combination, and includes a search result performed by the morpheme combination. A web page is provided to the user terminal.

상기 복수의 형태소로부터 복수의 제1 형태소 조합을 생성하고, 각 제1 형태소 조합에 포함되어 있는 형태소의 토큰 점수의 조합을 해당 제1 형태소 조합의 토큰 점수로 설정한 후에, 상기 복수의 제1 형태소 조합 중 토큰 점수가 가장 큰 제1 형태소 조합을 상기 형태소 조합으로 선택할 수 있다.After generating a plurality of first morpheme combinations from the plurality of morphemes, and setting a combination of token scores of the morphemes included in each first morpheme combination to the token scores of the first morpheme combinations, the plurality of first morphemes The first morpheme combination having the largest token score among the combinations may be selected as the morpheme combination.

각 형태소 조합에 포함된 형태소의 개수는 상기 복수의 형태소의 개수보다 1개 적을 수 있다.The number of morphemes included in each morpheme combination may be one less than the number of the morphemes.

상기 검색 서비스 제공 시스템은, 상기 형태소 조합으로 수행한 검색 결과로부터 추가 검색 여부를 판단하고, 상기 추가 검색이 필요한 경우 상기 복수의 형태소로부터 복수의 제2 형태소 조합을 생성하고, 각 제2 형태소 조합에 포함되어 있는 형태소의 토큰 점수의 조합을 해당 제2 형태소 조합의 토큰 점수로 설정하고, 상기 복수의 제2 형태소 조합 중 토큰 점수가 가장 큰 제2 형태소 조합을 선택하여서 검색을 수행할 수 있다.The search service providing system determines whether to perform further search from the search results performed by the morpheme combinations, and when the further search is necessary, generates a plurality of second morpheme combinations from the morphemes, and assigns to each second morpheme combination. The combination of the token scores of the included morphemes may be set as the token scores of the corresponding second morpheme combinations, and a search may be performed by selecting a second morpheme combination having the largest token score among the plurality of second morpheme combinations.

상기 제2 형태소 조합에 포함된 형태소의 개수가 상기 제1 형태소 조합에 포함된 형태소의 개수보다 적을 수 있다.The number of morphemes included in the second morpheme combination may be smaller than the number of morphemes included in the first morpheme combination.

상기 검색 서비스 제공 시스템은, 상기 검색어로 검색을 수행한 후에 상기 검색어로 수행한 검색 결과로부터 추가 검색 여부를 판단하고, 상기 추가 검색이 필요한 경우에 상기 검색어를 복수의 형태소로 분리할 수 있다.The search service providing system may determine whether an additional search is performed from a search result performed by the search word after performing the search with the search word, and may divide the search term into a plurality of morphemes when the search further requires.

각 형태소의 토큰 점수는 해당 형태소가 일정 기간 동안의 검색에서 유지된 정도를 나타내는 값일 수 있다.The token score of each morpheme may be a value indicating the degree to which the morpheme was maintained in a search for a certain period of time.

상기 검색 서비스 제공 시스템은, 복수의 세션으로부터 각각 검색어를 입력받고, 각 세션이 종료되면 해당 세션의 검색어로부터 서로 부분 집합 관계에 있는 두 검색어로 이루어지는 검색어 쌍을 생성하고, 각 세션의 검색어 쌍에서 소정의 형태소를 포함하는 제1 검색어 쌍을 추출한 후, 상기 복수의 세션의 상기 제1 검색어 쌍으로부터 상기 소정의 형태소의 상기 토큰 점수를 계산할 수 있다.The search service providing system receives a search term from a plurality of sessions, and when each session ends, generates a search term pair consisting of two search terms that are in a subset relationship from the search term of the session, and selects a search term pair in each session term. After extracting a first search term pair including a morpheme of, the token score of the predetermined morpheme may be calculated from the first search term pair of the plurality of sessions.

이때, 상기 복수의 세션의 상기 제1 검색어 쌍에서 상기 소정의 형태소를 각각 포함하는 두 검색어로 이루어진 제1 검색어 쌍을 제2 검색어 쌍으로 선택하고, 상기 제1 검색어 쌍의 개수와 상기 제2 검색어 쌍의 개수에 기초하여 상기 토큰 점수를 계산할 수 있다.In this case, a first search word pair consisting of two search terms each including the predetermined morphemes in the first search word pair of the plurality of sessions is selected as a second search word pair, and the number of the first search word pairs and the second search word are selected. The token score may be calculated based on the number of pairs.

본 발명의 다른 특징에 따르면, 검색어 처리부, 데이터베이스, 검색부 및 검색 결과 제공부를 포함하는 검색 서비스 제공 시스템이 제공된다. 상기 검색어 처리부는 사용자 단말로부터의 검색어를 복수의 형태소로 분리하고, 각 형태소에 해당 형태소의 토큰 점수를 매칭시키며, 상기 토큰 점수에 기초하여 상기 복수의 형태소 중 적어도 하나의 형태소로 이루어지는 형태소 조합을 선택한다. 상기 데이터베이스는 형태소별로 상기 토큰 점수를 저장하고 있다. 상기 검색부는 상기 형태소 조합으로 검색을 수행하고, 상기 검색 결과 제공부는 상기 검색부의 검색 결과를 포함하는 웹 페이지를 상기 사용자 단말로 제공한다.According to another aspect of the present invention, a search service providing system including a search word processor, a database, a search unit, and a search result provider is provided. The search word processor divides the search word from the user terminal into a plurality of morphemes, matches token scores of the corresponding morphemes with each morpheme, and selects a morpheme combination consisting of at least one morpheme among the plurality of morphemes based on the token scores. do. The database stores the token scores by morpheme. The search unit performs a search by the morpheme combination, and the search result providing unit provides a web page including a search result of the search unit to the user terminal.

본 발명의 또 다른 특징에 따른 검색 서비스 제공 방법에 따르면, 검색 서비스 제공 시스템은, 복수의 세션으로부터 각각 검색어를 입력받고, 각 세션이 종료되면 해당 세션의 검색어로부터 서로 부분 집합 관계에 있는 두 검색어로 이루어지는 검색어 쌍을 생성하고, 상기 복수의 세션의 검색어 쌍에서 소정의 형태소를 포함하는 제1 검색어 쌍을 선택한 후, 상기 복수의 세션의 상기 제1 검색어 쌍에 기초하여 상기 소정의 형태소의 상기 토큰 점수를 계산한다. 그리고 상기 검색 서비스 제공 시스템은, 사용자 단말로부터 수신한 검색어를 복수의 형태소로 분리하고, 상기 복수의 형태소에 각각 상기 토큰 점수를 매칭시킨 후, 상기 토큰 점수에 기초하여 상기 복수의 형태소 중 적어도 하나의 형태소로 이루어지는 형태소 조합을 선택하고, 상기 형태소 조합으로 검색을 수행하여서 검색 결과를 포함하는 웹 페이지를 상기 사용자 단말로 제공한다.According to a method of providing a search service according to another aspect of the present invention, the search service providing system receives a search word from a plurality of sessions, and when each session ends, the search service providing system receives two search terms having a subset relationship from the search word of the corresponding session. Generate a search term pair, select a first search term pair including a predetermined morpheme from the search term pairs of the plurality of sessions, and then score the token of the predetermined morpheme based on the first search term pair of the plurality of sessions Calculate The search service providing system divides a search word received from a user terminal into a plurality of morphemes, matches the token scores with the plurality of morphemes, respectively, and then stores at least one of the plurality of morphemes based on the token scores. A morpheme combination consisting of morphemes is selected, and a search is performed on the morpheme combinations to provide a web page including a search result to the user terminal.

본 발명의 한 실시예에 따르면, 다중 용어 검색어를 형태소로 분리한 후에 형태소별 토큰 점수를 적용함으로써 사용자가 입력한 다중 용어 검색어의 의도에 가장 부합하는 검색 결과를 제공할 수 있다.According to an embodiment of the present invention, the multi-term search term may be divided into morphemes, and then the morpheme token score may be applied to provide search results that most closely match the intention of the multi-term search term input by the user.

본 발명의 다른 실시예에 따르면, 다중 용어 검색어에 해당하는 검색 결과가 충분한 경우에 검색어를 형태소로 분리하여 검색어를 다시 설정하는 과정을 수행하지 않을 수 있으므로, 시스템의 부하를 줄일 수 있다.According to another embodiment of the present invention, when a search result corresponding to a multi-term search word is sufficient, a process of resetting the search word by separating the search word into morphemes may not be performed, thereby reducing the load on the system.

본 발명의 또 다른 실시예에 따르면, 다중 용어 검색어를 단계적으로 분리함으로써, 첫 번째 분리에서도 사용자의 검색 의도에 부합하는 검색 결과를 찾지 못한 경우에 이어지는 분리 과정을 통해 검색 의도에 가장 부합하는 검색 결과를 제공할 수 있다.According to another embodiment of the present invention, by separating the multi-term search terms in stages, the search results that best match the search intention through the separation process that follows when the first search does not find a search result that matches the user's search intention Can be provided.

도 1은 본 발명의 한 실시예에 따른 검색 서비스 제공 시스템 및 그 주변 환경의 개략적인 블록도이다.
도 2는 본 발명의 한 실시예에 따른 토큰 점수 산정 방법의 개략적인 흐름도이다.
도 3 및 도 4는 각각 세션에서의 검색어 쌍의 예를 나타내는 도면이다.
도 5 내지 도 7은 각각 본 발명의 한 실시예에 따른 검색 서비스 제공 방법의 개략적인 흐름도이다.
도 8은 본 발명의 다른 실시예에 따른 검색 서비스 제공 시스템의 개략적인 도면이다.
1 is a schematic block diagram of a search service providing system and its surroundings according to an embodiment of the present invention.
2 is a schematic flowchart of a token scoring method according to an embodiment of the present invention.
3 and 4 are diagrams showing examples of search word pairs in sessions, respectively.
5 to 7 are schematic flowcharts of a search service providing method according to an exemplary embodiment of the present invention, respectively.
8 is a schematic diagram of a search service providing system according to another embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise.

도 1은 본 발명의 한 실시예에 따른 검색 서비스 제공 시스템 및 그 주변 환경의 개략적인 블록도이다.1 is a schematic block diagram of a search service providing system and its surroundings according to an embodiment of the present invention.

도 1을 참고하면, 검색 서비스 제공 시스템(100)은 네트워크(200)를 통해 사용자 단말(300)과 연결되어 있으며, 검색부(110), 검색어 처리부(120), 점수 산정부(130), 검색 결과 제공부(140) 및 데이터베이스(150)를 포함한다.Referring to FIG. 1, the search service providing system 100 is connected to the user terminal 300 through the network 200, and the search unit 110, the search term processing unit 120, the score calculation unit 130, and the search are performed. The result providing unit 140 and the database 150 is included.

사용자가 사용자 단말(300)을 통해 검색 서비스 제공 시스템(100)에서 제공하는 웹 페이지에 접속하여서 검색어를 입력하면, 검색부(110)는 검색어에 대한 검색을 수행한다. 이때 검색부(110)는 내부의 검색 엔진 또는 외부의 검색 엔진을 사용하여 검색을 수행할 수 있다. 검색부(110)에서 검색한 결과 검색어와 일치하는 검색 결과가 없거나 부족한 경우, 검색어 처리부(120)는 검색어의 형태소 분석을 통해서 검색어를 복수의 형태소로 분리한다. 여기서, 형태소 분석은 검색어를 의미를 가진 가장 작은 단위로 나누는 것을 의미한다.When the user accesses a web page provided by the search service providing system 100 through the user terminal 300 and inputs a search word, the search unit 110 searches for the search word. In this case, the search unit 110 may search by using an internal search engine or an external search engine. If the search result 110 does not have or lacks a search result that matches the search word, the search word processor 120 separates the search word into a plurality of morphemes through morphological analysis of the search word. Here, morphological analysis means dividing a search word into the smallest units having meanings.

검색어 처리부(120)는 데이터베이스(150)에 저장되어 있는 형태소별 토큰 점수를 이용하여 각 형태소에 토큰 점수를 매칭하고, 토큰 점수가 높은 적어도 하나의 형태소 조합을 새로운 검색어로 다시 설정한다. 그리고 검색부(110)는 검색어 처리부(120)에서 재설정한 검색어에 대해서 검색을 수행한다. 검색 결과 제공부(140)는 최초 검색어와 재설정 검색어에 대해서 수행한 검색 결과가 정렬되어 있는 웹 페이지를 사용자 단말(300)로 제공한다.The search term processor 120 matches the token score to each morpheme by using the morpheme token score stored in the database 150, and sets at least one morpheme combination having a high token score as a new search word. In addition, the search unit 110 searches for the search word reset by the search word processing unit 120. The search result providing unit 140 provides the user terminal 300 with a web page in which the search results performed on the initial search word and the reset search word are arranged.

점수 산정부(130)는 일정 기간 동안 여러 세션에서의 사용자의 검색어 입력을 분석하여서 형태소별로 토큰 점수를 산정하고 이를 데이터베이스(150)에 저장한다. 여기서 세션은 사용자 단말의 사용자가 검색어를 바꾸어가면서 입력하면서 검색 의도를 유지하는 기간을 의미한다. 점수 산정부(130)는 각 형태소가 각 세션의 여러 회에 걸친 검색에서 삭제되지 않고 유지된 정도를 여러 세션에 대해서 계산한 값으로 토큰 점수를 산정할 수 있다. 즉, 점수 산정부는 여러 세션의 검색에서 각 형태소가 유지된 정도를 해당 형태소의 토큰 점수로 산정할 수 있다. 이를 위해 점수 산정부(130)는 각 세션이 종료되면 해당 세션 동안 입력된 복수의 검색어로부터 서로 부분 집합 관계에 있는 두 검색어로 이루어지는 검색어 쌍을 생성하고, 여러 세션의 검색어 쌍에서 소정의 형태소를 포함하는 검색어 쌍의 개수와 두 검색어 모두 소정의 형태소를 포함하는 검색어 쌍의 개수의 비율로 해당 형태소의 토큰 점수를 계산할 수 있다.The score calculation unit 130 analyzes a user's search word input in a plurality of sessions for a certain period, calculates a token score for each morpheme, and stores the token score in the database 150. Here, the session refers to a period in which a user of the user terminal maintains a search intention while inputting a search word. The score estimator 130 may calculate the token score as a value calculated for the various sessions to the extent that each morpheme was not deleted from the multiple searches of each session. That is, the score calculation unit may calculate the degree to which each morpheme is maintained as a token score of the corresponding morpheme in the search of several sessions. To this end, the score calculation unit 130 generates a search term pair consisting of two search terms that are in a subset relationship from a plurality of search terms inputted during the session when each session ends, and includes a predetermined morpheme in the search term pairs of several sessions. Token scores of the corresponding morphemes may be calculated as a ratio of the number of search term pairs and the number of search term pairs in which both search terms include a predetermined morpheme.

이와 같이 검색 서비스 제공 시스템(100)은 여러 세션에서 삭제되지 않고 유지된 정도를 나타내는 토큰 점수에 기초하여 사용자의 검색 의도에 부합하는 검색어를 새로 설정할 수 있으므로, 사용자에게 정확한 검색 결과를 제공할 수 있다.As such, the search service providing system 100 may newly set a search word corresponding to a user's search intention based on a token score indicating a degree of being maintained without being deleted in various sessions, thereby providing an accurate search result to the user. .

그러면 검색 서비스 제공 시스템에서의 검색 서비스 제공 방법에 대하여 도 2 내지 도 7을 참고로 하여 상세하게 설명한다.Next, a search service providing method in the search service providing system will be described in detail with reference to FIGS. 2 to 7.

먼저 도 2 내지 도 4를 참조하여 본 발명의 한 실시예에 따른 토큰 점수 산정 방법에 대해서 상세하게 설명한다.First, a token score calculation method according to an embodiment of the present invention will be described in detail with reference to FIGS. 2 to 4.

도 2는 본 발명의 한 실시예에 따른 토큰 점수 산정 방법의 개략적인 흐름도이며, 도 3 및 도 4는 각각 세션에서의 검색어 쌍의 예를 나타내는 도면이다.FIG. 2 is a schematic flowchart of a token scoring method according to an embodiment of the present invention, and FIGS. 3 and 4 are diagrams showing examples of search word pairs in sessions, respectively.

도 2를 참고하면, 점수 산정부(도 1의 130)는 복수의 사용자 단말로부터 각각 검색어를 입력받으며(S210), 각 사용자 단말로부터 검색어가 일정 시간 동안 입력되지 않으면 해당 사용자 단말의 세션이 종료한 것으로 판단한다(S220). 세션이 종료되지 않았으면 검수 산정부(130)는 계속 사용자 단말로부터 검색어를 입력받는다.Referring to FIG. 2, the score calculation unit 130 of FIG. 1 receives a search word from a plurality of user terminals (S210), and if a search word is not input from each user terminal for a predetermined time, the session of the corresponding user terminal ends. It is determined that (S220). If the session is not terminated, the check calculation unit 130 continues to receive a search word from the user terminal.

세션이 종료된 것으로 판단하면, 점수 산정부(130)는 해당 세션 동안 입력된 검색어로부터 검색어 쌍(pair)을 생성하고(S230), 생성한 검색어 쌍 중에서 하나의 검색어가 다른 검색어의 부분 집합에 해당하는 검색어 쌍을 선택한다(S240). 예를 들면, 임의의 사용자에 의한 세션(앞으로 "세션 1"이라 함) 동안 "강화도", "강화도 펜션", "강화도 맛집", "강화도 여행", "강화도 가족 펜션"이 검색어로 입력되었다면, 도 3에 도시한 것처럼 부분 집합 관계에 있는 검색어 쌍은 "강화도-강화도 펜션", "강화도-강화도 맛집", "강화도-강화도 여행", "강화도-강화도 가족 펜션", "강화도 펜션-강화도 가족 펜션"이 존재한다. 그리고 임의의 사용자에 의한 다른 세션(앞으로 "세션 2"라 함) 동안 "강화도 펜션", "강화도 가족 펜션", "가족 펜션", 실내 예쁜 펜션"이 검색어로 입력되었다면, 도 4에 도시한 것처럼 부분 집합 관계에 있는 검색어 쌍은 "강화도 펜션-강화도 가족 펜션", "가족 펜션-강화도 가족 펜션"이 존재한다.If it is determined that the session is terminated, the score calculation unit 130 generates a search term pair from the search terms input during the session (S230), and one search term among the generated search term pairs corresponds to a subset of other search terms. A search word pair is selected (S240). For example, if "Ganghwado", "Ganghwado pension", "Ganghwado gourmet", "Ganghwado travel", and "Ganghwado family pension" were entered as search terms during a session by a user (hereinafter referred to as "session 1"), As shown in FIG. 3, a pair of search terms in a subset relationship is "Ganghwado-Ganghwado Pension", "Ganghwado-Ganghwado Restaurant", "Ganghwado-Ganghwado Travel", "Ganghwado-Ganghwado Family Pension", "Ganghwado Pension-Ganghwado Family Pension" "This exists. In addition, if "Reinforcement Pension", "Reinforcement Family Pension", "Family Pension", Indoor Pension "is entered as a search term during another session (hereinafter referred to as" Session 2 "), as shown in FIG. The search term pairs in the subset relationship include "reinforcement pension-reinforcement family pension" and "family pension-reinforcement family pension".

그리고 점수 산정부(130)는 일정 기간 동안 수집된 여러 세션의 검색어 쌍에 기초하여 형태소별로 토큰 점수를 계산하고, 계산한 토큰 점수를 데이터베이스(도 1의 150)에 저장한다(S250). 예를 들면 표 1과 같이 점수 산정부(130)는 형태소별로 해당 형태소가 포함된 전체 검색어 쌍의 개수에 대한 해당 형태소가 남은 검색어 쌍의 개수의 비로 토큰 점수를 계산할 수 있다.The score calculation unit 130 calculates the token score for each morpheme based on the search term pairs of the various sessions collected for a certain period of time, and stores the calculated token score in the database (150 of FIG. 1) (S250). For example, as shown in Table 1, the score calculation unit 130 may calculate the token score by the ratio of the number of search word pairs remaining in the corresponding morpheme to the total number of search word pairs in which the corresponding morphemes are included for each morpheme.

설명의 편의상 일정 기간 동안 수집된 세션을 도 3 및 도 4에 각각 도시한 세션 1 및 2로 가정한다. 그러면 "강화도"라는 형태소가 포함된 검색어 쌍은 "강화도-강화도 펜션", "강화도-강화도 맛집", "강화도-강화도 여행", "강화도-강화도 가족 펜션", "강화도 펜션-강화도 가족 펜션", "강화도 펜션-강화도 가족 펜션", "가족 펜션-강화도 가족 펜션"와 같이 총 7개가 존재하며, 이들 검색어 쌍의 두 검색어에 "강화도"가 모두 남은 검색어 쌍은 "강화도-강화도 펜션", "강화도-강화도 맛집", "강화도-강화도 여행", "강화도-강화도 가족 펜션", "강화도 펜션-강화도 가족 펜션", "강화도 펜션-강화도 가족 펜션"와 같이 6개가 존재한다. 이 경우 점수 산정부(130)는 "강화도"의 토큰 점수를 6/7, 즉 0.857로 계산할 수 있다. 마찬가지로 세션 1 및 2에서 "펜션"이라는 형태소가 포함된 검색어 쌍은 5개, 두 검색어에 모두 "펜션"이 남은 검색어 쌍은 3개이므로, 점수 산정부(130)는 "펜션"의 토큰 점수를 3/5, 즉 0.6으로 계산한다. 그리고 세션 1 및 2에서 "가족"이라는 형태소가 포함된 검색어 쌍은 4개, 두 검색어에 모두 "가족"이 남은 검색어 쌍은 1개이므로, 점수 산정부(130)는 "가족"의 토큰 점수를 1/4, 즉 0.25로 계산한다. 또한 세션 1 및 2에서 "여행"이라는 형태소가 포함된 검색어 쌍은 1개, 두 검색어에 모두 "여행"이 남은 검색어 쌍은 0개이므로, 점수 산정부(130)는 "여행"의 토큰 점수를 0으로 계산한다.For convenience of explanation, it is assumed that sessions collected for a period of time are sessions 1 and 2 shown in FIGS. 3 and 4, respectively. Then, the search term pairs containing the morpheme "Ganghwado" are "Ganghwado-Ganghwado Pension", "Ganghwado-Ganghwado Restaurant", "Ganghwado-Ganghwado Travel", "Ganghwado-Ganghwado Family Pension", "Ganghwado Pension-Ganghwado Family Pension", There are a total of seven, such as "Reinforcement Pension-Reinforced Family Pension" and "Family Pension-Reinforced Family Pension". The two pairs of these search term pairs have "Reinforcement Strength" and "Reinforcement Pension" -Ganghwado restaurant, "Ganghwado-Ganghwado travel", "Ganghwado-Ganghwado family pension", "Ganghwado pension-Ganghwado family pension", "Ganghwado pension-Ganghwado family pension" exist. In this case, the score calculator 130 may calculate a token score of "strength" as 6/7, that is, 0.857. Similarly, in Sessions 1 and 2, there are five search term pairs that contain the stem "Pensions" and three search term pairs that have "Pensions" left in both terms, so the score calculation 130 calculates the token score of "Pensions". 3/5, or 0.6. In the sessions 1 and 2, since there are four search term pairs containing the stem family "family" and one search term pair with "family" left in both terms, the score calculation unit 130 calculates the token score of "family". Calculate as 1/4, 0.25. Also, in sessions 1 and 2, there is one search term pair that includes the phrase "travel", and there are 0 search term pairs that have "travel" left in both terms, so the score calculation 130 calculates the token score of "travel". Calculate 0.

형태소morpheme 검색어 쌍의 개수Number of query pairs 남은 검색어 쌍의 개수Number of query pairs remaining 토큰 점수Token score 강화도Ganghwado 77 66 0.8570.857 펜션pension 55 33 0.60.6 가족family 44 1One 0.250.25 여행Travel 1One 00 00

이와 같이, 점수 산정부(130)는 일정 기간 동안 수집된 다양한 세션에서 각 세션의 검색어 쌍을 생성하고, 다양한 세션의 검색어 쌍을 기초로 검색어의 형태소별로 토큰 점수를 산정한다. 이러한 토큰 점수는 사용자가 검색 의도를 가지고 검색어를 입력하는 세션을 기초로 생성되었으므로, 세션에서의 사용자의 검색 의도 전체가 반영될 수 있다. 즉, 세션 동안 검색어에서 특정 용어를 삭제하든지 검색어에 특정 용어를 부가하든지에 관계 없이 또한 특정 용어의 삭제 또는 부가가 다음 검색에서 발생하든지 몇 번의 검색 후에 발생하든지에 관계 없이, 세션 동안의 사용자의 검색 의도가 토큰 점수에 반영될 수 있다.As such, the score calculator 130 generates search term pairs for each session in various sessions collected for a certain period of time, and calculates a token score for each stem of the search term based on the search term pairs of the various sessions. Since the token score is generated based on a session in which the user inputs a search word with a search intention, the entire search intention of the user in the session may be reflected. That is, whether a user deletes a specific term from a search term or adds a term to a search term during a session, and whether the deletion or addition of a specific term occurs in the next search or after a few searches, the user's search during the session. Intent can be reflected in the token score.

그러면 이와 같이 생성된 토큰 점수를 이용하여 검색 서비스를 제공하는 방법에 대해서 도 5 내지 도 7을 참고로 하여 상세하게 설명한다.Next, a method of providing a search service using the token score generated as described above will be described in detail with reference to FIGS. 5 to 7.

도 5 내지 도 7은 각각 본 발명의 한 실시예에 따른 검색 서비스 제공 방법의 개략적인 흐름도이다.5 to 7 are schematic flowcharts of a search service providing method according to an exemplary embodiment of the present invention, respectively.

도 5를 참고하면, 사용자는 사용자 단말(도 1의 300)을 통해서 검색 서비스 제공 시스템(도 1의 100)에서 제공하는 웹 페이지에 접속하여서 검색어를 입력한다(S510). 검색 서비스 제공 시스템(100)의 검색어 처리부(도 1의 120)는 사용자 단말(300)로부터 수신한 검색어의 형태소 분석을 통해서 검색어를 복수의 형태소로 분리한 후(S520), 각 형태소에 대응하는 토큰 점수를 데이터베이스(도 1의 150)에서 찾아서 해당 형태소에 매칭한다(S530). 검색어 처리부(120)는 복수의 형태소로부터 적어도 하나의 형태소로 이루어지는 형태소 조합을 생성하고(S540), 형태소 조합끼리 토큰 점수를 비교하여서 토큰 점수가 가장 높은 형태소 조합을 새로운 검색어로 선택한다(S550). 이때, 형태소 조합은 복수의 형태소 중에서 인접한 형태소 사이의 조합이 될 수 있다. 예를 들면, 검색어가 N개의 형태소 분리된 경우에, N개의 형태소로부터 인접한 (N-1)개의 형태소로 이루어지는 2개의 형태소 조합이 생성될 수 있다. 형태소 조합의 토큰 점수는 형태소 조합에 포함된 형태소의 토큰 점수의 조합, 예를 들면 토큰 점수의 총합이 될 수 있다.Referring to FIG. 5, a user accesses a web page provided by a search service providing system (100 of FIG. 1) through a user terminal (300 of FIG. 1) and inputs a search word (S510). After the search term processing unit 120 of FIG. 1 of the search service providing system 100 divides the search term into a plurality of morphemes through morpheme analysis of the search term received from the user terminal 300 (S520), tokens corresponding to each morpheme are provided. The score is found in the database (150 in FIG. 1) and matched to the corresponding morpheme (S530). The query processing unit 120 generates a morpheme combination consisting of at least one morpheme from the plurality of morphemes (S540), and compares the token scores of the morpheme combinations and selects the morpheme combination having the highest token score as the new search word (S550). In this case, the morpheme combination may be a combination between adjacent morphemes among a plurality of morphemes. For example, when a search term is separated from N morphemes, two morpheme combinations consisting of adjacent (N-1) morphemes may be generated from the N morphemes. The token score of the morpheme combination may be a combination of token scores of the morphemes included in the morpheme combination, for example, the sum of the token scores.

예를 들어, 사용자가 사용자 단말(300)을 통해 "강화도 펜션 여행"이라는 검색어를 입력한 경우에, 검색어 처리부(120)는 "강화도 펜션 여행"으로부터 "강화도 펜션"과 "펜션 여행"의 형태소 조합을 생성할 수 있다. 이때 표 1의 예를 참고하면, "강화도 펜션"의 토큰 점수는 "0.857+0.6", 즉 1.457이고, "펜션 여행"의 토큰 점수는 "0.6+0", 즉 0.6이므로, 검색어 처리부(120)는 "강화도 펜션"을 새로운 검색어로 선택한다.For example, when a user inputs a search term "Ganghwado Pension Trip" through the user terminal 300, the query processing unit 120 is a morpheme combination of "Ganghwado Pension" and "Pension Trip" from "Ganghwado Pension Trip". Can be generated. In this case, referring to the example of Table 1, the token score of the "reinforcement pension" is "0.857 + 0.6", that is, 1.457, and the token score of "pension trip" is "0.6 + 0", that is, 0.6, the query processing unit 120 Selects "reinforcement pension" as a new search term.

검색부(110)는 검색 엔진을 이용하여서 검색어 처리부(120)에서 설정한 새로운 검색어에 대해서 검색을 수행하고(S560), 검색 결과 제공부(도 1의 140)는 검색부(110)의 검색 결과가 정렬되어 있는 웹 페이지를 사용자 단말(300)로 제공한다(S570).The search unit 110 performs a search on the new search term set by the search term processing unit 120 using a search engine (S560), and the search result providing unit (140 of FIG. 1) searches the search result of the search unit 110. Providing the arranged web page to the user terminal 300 (S570).

이와 같이 함으로써, 검색 서비스 제공 시스템(100)은 사용자가 입력한 다중 용어 검색어의 의도에 가장 부합하는 검색 결과를 제공할 수 있다.In this way, the search service providing system 100 may provide a search result that best matches the intention of the multi-term search word input by the user.

다음 도 6을 참고하면, 도 5를 참고하여 설명한 실시예와 달리 검색부(110)가 먼저 검색 엔진을 이용하여 사용자 단말(300)에서 입력된 검색어에 대해서 검색을 수행한 후(S512), 검색어가 소정 조건을 만족하는지 판단할 수 있다(S514). 소정 조건은 검색어와 관련된 검색 결과가 충분한지를 나타내는 조건으로, 예를 들면 검색어와의 관련도가 임계치 이상인 검색 결과가 소정 개수 이상인 조건일 수 있다. Next, referring to FIG. 6, unlike the embodiment described with reference to FIG. 5, the search unit 110 first searches for a search word input from the user terminal 300 using a search engine (S512). It may be determined whether S satisfies a predetermined condition (S514). The predetermined condition is a condition indicating whether a search result related to the search word is sufficient. For example, the predetermined condition may be a condition in which a search result whose relevance to the search word is equal to or greater than a threshold is a predetermined number or more.

검색부(110)의 검색 결과가 소정 조건을 만족하지 못하는 경우, 검색 서비스 제공 시스템(100)은 도 5의 단계 S520 내지 S570을 참조하여서 설명한 과정을 수행한다. 이 경우 검색 결과 제공부(140)는 검색부(110)에서 최초 검색어로 수행한 검색 결과와 검색어 처리부(120)에서 재설정한 검색어로 수행한 검색 결과를 웹 페이지에 정렬하고, 해당 웹 페이지를 사용자 단말(300)로 제공할 수 있다(S571).If the search result of the search unit 110 does not satisfy a predetermined condition, the search service providing system 100 performs the process described with reference to steps S520 to S570 of FIG. 5. In this case, the search result providing unit 140 sorts the search result performed by the search unit 110 as the initial search term and the search result performed by the search term reset by the search term processing unit 120 on a web page, and sorts the corresponding web page. It may be provided to the terminal 300 (S571).

한편, 검색부(110)의 검색 결과가 소정 조건을 만족하는 경우, 검색 결과 제공부(140)는 검색부(110)에서 최초 검색어로 수행한 검색 결과를 웹 페이지에 정렬하고, 해당 웹 페이지를 사용자 단말(300)로 제공할 수 있다(S580). 이 경우, 검색어 처리부(120)는 단계 S520 내지 S571 과정을 수행하지 않을 수 있다.Meanwhile, when the search result of the search unit 110 satisfies a predetermined condition, the search result providing unit 140 sorts the search result performed by the search unit 110 as the first search term on the web page and displays the web page. It may be provided to the user terminal 300 (S580). In this case, the search word processor 120 may not perform the steps S520 to S571.

이와 같이 함으로써, 검색 서비스 제공 시스템(100)은 다중 용어 검색어에 해당하는 검색 결과가 충분한 경우에, 검색어를 형태소로 분리하여 검색어를 다시 설정하는 과정을 수행하지 않을 수 있으므로, 시스템의 부하를 줄일 수 있다.By doing so, the search service providing system 100 may not perform a process of resetting the search terms by separating the search terms into morphemes when the search results corresponding to the multi-term search terms are sufficient, thereby reducing the load on the system. have.

다음 도 7을 참고하면, 도 5 및 도 6를 참고하여 설명한 실시예와 달리, 웹 페이지를 사용자 단말(300)로 제공하기 전에(S571, S570), 검색부(110)는 총 검색 결과, 즉 최초 검색어로 수행한 검색 결과와 검색어 처리부(120)에서 재설정한 검색어로 수행한 검색 결과가 소정 조건을 만족하는지를 판단할 수 있다(S562).Next, referring to FIG. 7, unlike the embodiment described with reference to FIGS. 5 and 6, before providing a web page to the user terminal 300 (S571 and S570), the search unit 110 may generate a total search result. In operation S562, it may be determined whether the search result performed by the initial search word and the search result performed by the search word reset by the search word processor 120 satisfy a predetermined condition (S562).

총 검색 결과가 소정 조건을 만족하지 못하는 경우, 검색어 처리부(120)는 형태소 조합을 이루는 형태소의 개수를 1개 줄여서 형태소 조합을 다시 생성한다(S564, S541). 이후 검색 서비스 제공 시스템(100)은 새로 생성한 형태소 조합에 기초하여 검색을 수행하여서 총 검색 결과가 소정 조건을 만족하는지를 판단하는 과정을 수행한다(S550, S560, S562). 그리고 검색 서비스 제공 시스템(100)은 충분한 검색 결과가 나올 때까지 단계 S541, S550, S560, S562 및 S564의 과정을 반복할 수 있다.If the total search result does not satisfy the predetermined condition, the search word processor 120 generates the morpheme combination again by reducing the number of morphemes forming the morpheme combination (S564, S541). Thereafter, the search service providing system 100 performs a search based on the newly generated morpheme combination to determine whether the total search result satisfies a predetermined condition (S550, S560, and S562). The search service providing system 100 may repeat the processes of steps S541, S550, S560, S562, and S564 until a sufficient search result is obtained.

예를 들면, 검색어가 N개의 형태소로 분리된 경우, 검색어 처리부(120)는 N개의 형태소로부터 (N-1)개의 형태소로 이루어지는 형태소 조합을 선택하여서 검색을 수행한 후, 총 검색 결과가 소정 조건을 만족하지 못하는 경우에 N개의 형태소로부터 (N-2)개의 형태소로 이루어지는 형태소 조합을 선택하여서 검색을 수행할 수 있다. 이와 같이 검색한 후의 총 검색 결과도 소정의 조건을 만족하지 않는 경우, 검색어 처리부(120)는 (N-3)개의 형태소로 이루어지는 형태소 조합을 선택하여서 검색을 수행하는 형태로, 형태소 조합을 이루는 형태소의 개수를 1개씩 줄이면서 계속 검색을 수행할 수 있다.For example, when the search word is divided into N morphemes, the search term processing unit 120 performs a search by selecting a morpheme combination consisting of (N-1) morphemes from the N morphemes, and then the total search result is a predetermined condition. If it is not satisfied, the search can be performed by selecting a morpheme combination consisting of (N-2) morphemes from N morphemes. If the total search result after the search also does not satisfy a predetermined condition, the search term processing unit 120 selects a morpheme combination consisting of (N-3) morphemes and performs a search. You can continue searching while reducing the number of.

한편, 단계 S541, S550, S560, S562 및 S564의 과정을 반복하는 동안, 총 검색 결과가 소정 조건을 만족하는 경우, 검색 결과 제공부(140)는 총 검색 결과가 정렬된 웹 페이지를 사용자 단말(300)로 제공한다(S571). 이와는 달리, 총 검색 결과가 소정 조건을 만족하지 못하더라도 형태소 분리를 통한 검색을 소정 횟수만큼 수행한 경우에, 검색 서비스 제공 시스템(100)은 추가 검색을 중단하고 최종 검색 결과가 정렬된 웹 페이지를 사용자 단말(300)로 제공할 수도 있다.On the other hand, while repeating the processes of steps S541, S550, S560, S562, and S564, if the total search result satisfies a predetermined condition, the search result providing unit 140 displays a web page in which the total search results are sorted. 300) (S571). On the contrary, even if the total search result does not satisfy the predetermined condition, when the search through the morphological separation is performed a predetermined number of times, the search service providing system 100 stops the additional search and displays the web page where the final search result is sorted. It may be provided to the user terminal 300.

이와 같이 검색 서비스 제공 시스템(100)은 다중 용어 검색어를 단계적으로 분리함으로써, 첫 번째 분리에서도 사용자의 검색 의도에 부합하는 검색 결과를 찾지 못한 경우에 이어지는 분리 과정을 통해 검색 의도에 가장 부합하는 검색 결과를 제공할 수 있다.As such, the search service providing system 100 divides the multi-term search terms step by step, so that even if the first search does not find a search result that matches the user's search intention, the search service that best matches the search intention is performed. Can be provided.

이상에서 설명한 본 발명의 실시예에 따른 검색 서비스 제공 시스템 및 방법 중 적어도 일부 기능은 하드웨어로 구현되거나 하드웨어에 결합된 소프트웨어로 구현될 수 있다. 아래에서는 검색 서비스 제공 시스템 및 방법이 컴퓨터 시스템에 결합된 실시예에 대해서 도 8을 참고로 하여 상세하게 설명한다.At least some functions of the search service providing system and method according to the embodiment of the present invention described above may be implemented in hardware or software coupled to the hardware. Hereinafter, an embodiment in which a search service providing system and method are coupled to a computer system will be described in detail with reference to FIG. 8.

도 8은 본 발명의 다른 실시예에 따른 검색 서비스 제공 시스템(800)의 개략적인 도면으로, 도 1 내지 도 5를 참고하여 설명한 검색부(110), 검색어 처리부(120), 점수 산정부(130), 검색 결과 제공부(140) 및 데이터베이스(150)의 기능 중 적어도 일부를 수행하는 데 사용할 수 있는 시스템을 나타낸다.8 is a schematic diagram of a search service providing system 800 according to another exemplary embodiment of the present invention. The search unit 110, the search term processing unit 120, and the score calculation unit 130 described with reference to FIGS. 1 to 5 are described. , A system that can be used to perform at least some of the functions of the search result providing unit 140 and the database 150.

도 8을 참고하면, 검색 서비스 제공 시스템(800)은 프로세서(810), 메모리(820), 적어도 저장 장치(830), 입출력(input/output, I/O) 인터페이스(840) 및 네트워크 인터페이스(850)를 포함한다.Referring to FIG. 8, the search service providing system 800 may include a processor 810, a memory 820, at least a storage device 830, an input / output (I / O) interface 840, and a network interface 850. ).

프로세서(810)는 중앙 처리 유닛(central processing unit, CPU)이나 기타 칩셋, 마이크로프로세서 등으로 구현될 수 있으며, 메모리(820)는 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM), 램버스 DRAM(rambus DRAM, RDRAM), 동기식 DRAM(synchronous DRAM, SDRAM), 정적 RAM(static RAM, SRAM) 등의 RAM과 같은 매체로 구현될 수 있다. 저장 장치(830)는 하드 디스크 (hard disk), CD-ROM(compact disk read only memory), CD-RW(CD rewritable), DVD-ROM(digital video disk ROM), DVD-RAM, DVD-RW 디스크, 블루레이(blu-ray) 디스크 등의 광학 디스크, 플래시 메모리, 다양한 형태의 RAM과 같은 영구 또는 휘발성 저장 장치로 구현될 수 있다. 또한 I/O 인터페이스(840)는 프로세서(810) 및/또는 메모리(820)가 저장 장치(830)에 접근할 수 있도록 하며, 네트워크 인터페이스(850)는 프로세서(810) 및/또는 메모리(820)가 네트워크(200)에 접근할 수 있도록 한다.The processor 810 may be implemented as a central processing unit (CPU), other chipsets, microprocessors, or the like, and the memory 820 may include dynamic random access memory (DRAM) and rambus DRAM (rambus DRAM). DRAM, RDRAM), synchronous DRAM (synchronous DRAM, SDRAM), static RAM (RAM, etc.) may be implemented as a medium such as RAM. The storage device 830 may include a hard disk, a compact disk read only memory (CD-ROM), a CD rewritable (CD-RW), a digital video disk ROM (DVD-ROM), a DVD-RAM, and a DVD-RW disk. The optical disk may be implemented as a permanent or volatile storage device such as an optical disk such as a blu-ray disk, a flash memory, or various types of RAM. The I / O interface 840 also allows the processor 810 and / or memory 820 to access the storage device 830, and the network interface 850 may be the processor 810 and / or memory 820. Allows access to the network 200.

이 경우, 프로세서(810)는 검색부(110), 검색어 처리부(120), 점수 산정부(130) 및 검색 결과 제공부(140)의 기능의 적어도 일부 기능을 구현하기 위한 프로그램 명령을 메모리(820)에 로드하고 데이터베이스(150)의 기능을 저장 장치(830)에 위치시켜, 도 1 내지 도 7을 참고로 하여 설명한 동작이 수행되도록 제어할 수 있다. 그리고 프로그램 명령은 저장 장치(830)에 저장되어 있을 수 있으며, 또는 네트워크로 연결되어 있는 다른 시스템에 저장되어 있을 수 있다.In this case, the processor 810 may store program instructions for implementing at least some functions of the functions of the searcher 110, the search term processor 120, the score calculator 130, and the search result provider 140. ) And the functions of the database 150 may be located in the storage device 830 to control the operations described with reference to FIGS. 1 to 7. The program command may be stored in the storage device 830 or may be stored in another system connected to a network.

도 8에 도시한 프로세서(810), 메모리(820), 저장 장치(830), I/O 인터페이스(840) 및 네트워크 인터페이스(850)는 하나의 컴퓨터에 구현될 수도 있으며 또는 복수의 컴퓨터에 분산되어 구현될 수도 있다.The processor 810, the memory 820, the storage device 830, the I / O interface 840, and the network interface 850 shown in FIG. 8 may be implemented in one computer or distributed in a plurality of computers. It may be implemented.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

Claims (21)

검색 서비스 제공 시스템의 검색 서비스 제공 방법으로서,
사용자 단말로부터 검색어를 수신하는 단계,
상기 검색어를 복수의 형태소로 분리하는 단계,
각 형태소에 해당 형태소의 토큰 점수를 매칭시키는 단계,
상기 토큰 점수에 기초하여 상기 복수의 형태소 중 적어도 하나의 형태소로 이루어지는 형태소 조합을 선택하는 단계,
상기 형태소 조합으로 검색을 수행하는 단계, 그리고
상기 형태소 조합으로 수행한 검색 결과를 포함하는 웹 페이지를 상기 사용자 단말로 제공하는 단계
를 포함하는 검색 서비스 제공 방법.
A search service providing method of a search service providing system,
Receiving a search word from a user terminal,
Separating the search term into a plurality of morphemes,
Matching each morpheme's token score with that morpheme,
Selecting a morpheme combination consisting of at least one morpheme among the plurality of morphemes based on the token score,
Performing a search with the morpheme combinations, and
Providing a web page including a search result performed by the morpheme combination to the user terminal.
Search service providing method comprising a.
제1항에서,
상기 선택하는 단계는,
상기 복수의 형태소로부터 복수의 제1 형태소 조합을 생성하는 단계,
각 제1 형태소 조합에 포함되어 있는 형태소의 토큰 점수의 조합을 해당 제1 형태소 조합의 토큰 점수로 설정하는 단계,
상기 복수의 제1 형태소 조합 중 토큰 점수가 가장 큰 제1 형태소 조합을 상기 형태소 조합으로 선택하는 단계
를 포함하는 검색 서비스 제공 방법.
In claim 1,
The selecting step,
Generating a plurality of first morpheme combinations from the plurality of morphemes,
Setting a combination of token scores of the morphemes included in each first morpheme combination to the token scores of the first morpheme combinations,
Selecting a first morpheme combination having the largest token score among the plurality of first morpheme combinations as the morpheme combination
Search service providing method comprising a.
제2항에서,
상기 토큰 점수의 조합은 토큰 점수의 총합인 검색 서비스 제공 방법.
In claim 2,
The combination of token scores is a sum of token scores.
제2항에서,
각 형태소 조합에 포함된 형태소의 개수는 상기 복수의 형태소의 개수보다 1개 적은 검색 서비스 제공 방법.
In claim 2,
And the number of morphemes included in each morpheme combination is one less than the number of the morphemes.
제2항에서,
상기 형태소 조합으로 수행한 검색 결과로부터 추가 검색 여부를 판단하는 단계,
상기 추가 검색이 필요한 경우, 상기 복수의 형태소로부터 복수의 제2 형태소 조합을 생성하는 단계,
각 제2 형태소 조합에 포함되어 있는 형태소의 토큰 점수의 조합을 해당 제2 형태소 조합의 토큰 점수로 설정하는 단계,
상기 복수의 제2 형태소 조합 중 토큰 점수가 가장 큰 제2 형태소 조합을 선택하는 단계, 그리고
선택한 상기 제2 형태소 조합으로 검색을 수행하는 단계
를 더 포함하는 검색 서비스 제공 방법.
In claim 2,
Determining whether to perform further search from the search result performed by the morpheme combination;
Generating a plurality of second morpheme combinations from the plurality of morphemes when the further search is necessary,
Setting the combination of the token scores of the morphemes included in each second morpheme combination as the token scores of the corresponding second morpheme combinations,
Selecting a second morpheme combination having the largest token score among the plurality of second morpheme combinations, and
Performing a search with the selected second morpheme combination
Search service providing method further comprising.
제5항에서,
상기 제2 형태소 조합에 포함된 형태소의 개수가 상기 제1 형태소 조합에 포함된 형태소의 개수보다 적은 검색 서비스 제공 방법.
In claim 5,
And a number of morphemes included in the second morpheme combination is less than a number of morphemes included in the first morpheme combination.
제6항에서,
상기 제2 형태소 조합에 포함된 형태소의 개수와 상기 제1 형태소 조합에 포함된 형태소의 개수의 차이는 1인 검색 서비스 제공 방법.
In claim 6,
And a difference between the number of morphemes included in the second morpheme combination and the number of morphemes included in the first morpheme combination is one.
제5항에서,
상기 웹 페이지는 상기 선택한 제2 형태소 조합으로 수행한 검색 결과를 더 포함하는 검색 서비스 제공 방법.
In claim 5,
And the web page further comprises a search result performed by the selected second morpheme combination.
제1항에서,
상기 검색어로 검색을 수행하는 단계, 그리고
상기 검색어로 수행한 검색 결과로부터 추가 검색 여부를 판단하는 단계
를 더 포함하며,
상기 분리하는 단계는, 상기 추가 검색이 필요한 경우에 상기 검색어를 복수의 형태소로 분리하는
검색 서비스 제공 방법.
In claim 1,
Performing a search with the search term, and
Determining whether an additional search is performed from the search results performed by the search term;
More,
The separating may include separating the search term into a plurality of morphemes when the additional search is required.
How to Provide Search Services.
제1항 내지 제9항 중 어느 한 항에서,
각 형태소의 토큰 점수는 해당 형태소가 일정 기간 동안의 검색에서 유지된 정도를 나타내는 값인 검색 서비스 제공 방법.
The method according to any one of claims 1 to 9,
The token score of each morpheme is a value indicating the degree to which the morpheme has been maintained in a search for a period of time.
제1항 내지 제9항 중 어느 한 항에서,
복수의 세션으로부터 각각 검색어를 입력받는 단계,
각 세션이 종료되면 해당 세션의 검색어로부터 서로 부분 집합 관계에 있는 두 검색어로 이루어지는 검색어 쌍을 생성하는 단계,
각 세션의 검색어 쌍에서 소정의 형태소를 포함하는 제1 검색어 쌍을 추출하는 단계, 그리고
상기 복수의 세션의 상기 제1 검색어 쌍으로부터 상기 소정의 형태소의 상기 토큰 점수를 계산하는 단계
를 더 포함하는 검색 서비스 제공 방법.
The method according to any one of claims 1 to 9,
Receiving a search word from each of the plurality of sessions,
Generating a search term pair consisting of two search terms that are in a subset relationship from each other at the end of each session,
Extracting a first search term pair including a predetermined morpheme from the search term pair of each session, and
Calculating the token score of the predetermined morpheme from the first search term pair of the plurality of sessions
Search service providing method further comprising.
제11항에서,
상기 계산하는 단계는,
상기 복수의 세션의 상기 제1 검색어 쌍에서 상기 소정의 형태소를 각각 포함하는 두 검색어로 이루어진 제1 검색어 쌍을 제2 검색어 쌍으로 선택하는 단계, 그리고
상기 제1 검색어 쌍의 개수와 상기 제2 검색어 쌍의 개수에 기초하여 상기 토큰 점수를 계산하는 단계
를 포함하는 검색 서비스 제공 방법.
In claim 11,
The calculating step,
Selecting a first search term pair consisting of two search terms each including the predetermined morpheme in the first search term pair of the plurality of sessions as a second search term pair, and
Calculating the token score based on the number of the first search word pairs and the number of the second search word pairs;
Search service providing method comprising a.
제12항에서,
상기 토큰 점수는 상기 제1 검색어 쌍의 개수에 대한 상기 제2 검색어 쌍의 개수의 비에 해당하는 검색 서비스 제공 방법.
In claim 12,
And the token score corresponds to a ratio of the number of the second search word pairs to the number of the first search word pairs.
사용자 단말로부터의 검색어를 복수의 형태소로 분리하고, 각 형태소에 해당 형태소의 토큰 점수를 매칭시키며, 상기 토큰 점수에 기초하여 상기 복수의 형태소 중 적어도 하나의 형태소로 이루어지는 형태소 조합을 선택하는 검색어 처리부,
형태소별로 상기 토큰 점수를 저장하고 있는 데이터베이스,
상기 형태소 조합으로 검색을 수행하는 검색부, 그리고
상기 검색부의 검색 결과를 포함하는 웹 페이지를 상기 사용자 단말로 제공하는 검색 결과 제공부
를 포함하는 검색 서비스 제공 시스템.
A search word processor that separates the search word from the user terminal into a plurality of morphemes, matches token scores of the corresponding morphemes with each morpheme, and selects a morpheme combination consisting of at least one morpheme among the plurality of morphemes based on the token scores;
A database storing the token scores according to the morphemes;
A search unit which performs a search using the morpheme combinations, and
Search result providing unit for providing a web page including the search results of the search unit to the user terminal
Search service providing system comprising a.
제14항에서,
상기 검색어 처리부는 상기 복수의 형태소로부터 생성된 복수의 형태소 조합 중 상기 토큰 점수가 가장 큰 형태소 조합을 선택하는 검색 서비스 제공 시스템.
The method of claim 14,
And the search word processing unit selects a morpheme combination having the largest token score among a plurality of morpheme combinations generated from the morphemes.
제14항 또는 제15항에서,
각 형태소의 토큰 점수는 해당 형태소가 일정 기간 동안의 검색에서 유지된 정도를 나타내는 값인 검색 서비스 제공 시스템.
The method of claim 14 or 15,
The token score of each morpheme is a value indicating the degree to which the morpheme was maintained in the search for a period of time.
제14항 또는 제15항에서,
복수의 세션으로부터 각각 검색어를 입력받으며, 각 세션이 종료되면 해당 세션의 검색어로부터 서로 부분 집합 관계에 있는 두 검색어로 이루어지는 검색어 쌍을 생성하고, 각 세션의 검색어 쌍에서 소정의 형태소를 포함하는 제1 검색어 쌍에 기초하여 상기 소정의 형태소의 상기 토큰 점수를 계산하고, 상기 토큰 점수를 상기 데이터베이스에 저장하는 점수 산정부를 더 포함하는 검색 서비스 제공 시스템.
The method of claim 14 or 15,
Receiving a search term from a plurality of sessions, and when each session ends, generates a search term pair consisting of two search terms that are in a subset relationship from the search term of the corresponding session, and includes a first morpheme in the search term pair of each session. And a score calculation unit for calculating the token score of the predetermined morpheme based on the search term pairs, and storing the token score in the database.
제17항에서,
상기 점수 산정부는, 상기 복수의 세션의 상기 제1 검색어 쌍의 개수와 상기 제1 검색어 쌍 중에서 두 검색어가 각각 상기 소정의 형태소를 포함하는 제2 검색어 쌍의 개수에 기초하여 상기 토큰 점수를 계산하는 검색 서비스 제공 시스템.
The method of claim 17,
The score calculation unit calculates the token score based on the number of the first search term pairs of the plurality of sessions and the number of second search term pairs in which two search terms each of the first search term pairs includes the predetermined morpheme. Search service provision system.
검색 서비스 제공 시스템의 검색 서비스 제공 방법으로서,
복수의 세션으로부터 각각 검색어를 입력받는 단계,
각 세션이 종료되면 해당 세션의 검색어로부터 서로 부분 집합 관계에 있는 두 검색어로 이루어지는 검색어 쌍을 생성하는 단계,
상기 복수의 세션의 검색어 쌍에서 소정의 형태소를 포함하는 제1 검색어 쌍을 선택하는 단계,
상기 복수의 세션의 상기 제1 검색어 쌍에 기초하여 상기 소정의 형태소의 상기 토큰 점수를 계산하는 단계,
사용자 단말로부터 검색어를 수신하는 단계,
상기 사용자 단말로부터의 검색어를 복수의 형태소로 분리하는 단계,
상기 복수의 형태소에 각각 상기 토큰 점수를 매칭시키는 단계,
상기 토큰 점수에 기초하여 상기 복수의 형태소 중 적어도 하나의 형태소로 이루어지는 형태소 조합을 선택하는 단계,
상기 형태소 조합으로 검색을 수행하는 단계, 그리고
상기 형태소 조합으로 수행한 검색 결과를 포함하는 웹 페이지를 상기 사용자 단말로 제공하는 단계
를 포함하는 검색 서비스 제공 방법.
A search service providing method of a search service providing system,
Receiving a search word from each of the plurality of sessions,
Generating a search term pair consisting of two search terms that are in a subset relationship from each other at the end of each session,
Selecting a first search term pair including a morpheme from the search term pairs of the plurality of sessions,
Calculating the token score of the predetermined morpheme based on the first search term pair of the plurality of sessions,
Receiving a search word from a user terminal,
Dividing the search word from the user terminal into a plurality of morphemes;
Matching the token scores to the plurality of morphemes, respectively;
Selecting a morpheme combination consisting of at least one morpheme among the plurality of morphemes based on the token score,
Performing a search with the morpheme combinations, and
Providing a web page including a search result performed by the morpheme combination to the user terminal.
Search service providing method comprising a.
제19항에서,
상기 계산하는 단계는,
상기 복수의 세션의 상기 제1 검색어 쌍에서 두 검색어가 상기 소정의 형태소를 각각 포함하는 두 검색어로 이루어진 제1 검색어 쌍을 제2 검색어 쌍으로 선택하는 단계, 그리고
상기 제1 검색어 쌍의 개수와 상기 제2 검색어 쌍의 개수에 기초하여 상기 토큰 점수를 계산하는 단계
를 포함하는 검색 서비스 제공 방법.
The method of claim 19,
The calculating step,
Selecting a first search term pair consisting of two search terms each of which includes two search terms in the first search term pair of the plurality of sessions as a second search term pair, and
Calculating the token score based on the number of the first search word pairs and the number of the second search word pairs;
Search service providing method comprising a.
제19항에서,
상기 선택하는 단계는,
상기 복수의 형태소로부터 복수의 형태소 조합을 생성하는 단계, 그리고
상기 복수의 형태소 조합 중 토큰 점수가 가장 큰 형태소 조합을 선택하는 단계
를 포함하는 검색 서비스 제공 방법.
The method of claim 19,
The selecting step,
Generating a plurality of morpheme combinations from the plurality of morphemes, and
Selecting a morpheme combination having the largest token score among the plurality of morpheme combinations
Search service providing method comprising a.
KR20100070566A 2010-07-21 2010-07-21 System and method for providing search service KR101195950B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20100070566A KR101195950B1 (en) 2010-07-21 2010-07-21 System and method for providing search service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20100070566A KR101195950B1 (en) 2010-07-21 2010-07-21 System and method for providing search service

Publications (2)

Publication Number Publication Date
KR20120009817A true KR20120009817A (en) 2012-02-02
KR101195950B1 KR101195950B1 (en) 2012-10-29

Family

ID=45834548

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20100070566A KR101195950B1 (en) 2010-07-21 2010-07-21 System and method for providing search service

Country Status (1)

Country Link
KR (1) KR101195950B1 (en)

Also Published As

Publication number Publication date
KR101195950B1 (en) 2012-10-29

Similar Documents

Publication Publication Date Title
JP5462361B2 (en) Query parsing for map search
US10657460B2 (en) Systems and methods to facilitate local searches via location disambiguation
JP5746426B2 (en) Discovery of index documents
JP5169816B2 (en) Question answering device, question answering method, and question answering program
CN105512291B (en) Method and system for expanding database search queries
WO2017097061A1 (en) Smart response method and apparatus
US9292550B2 (en) Feature generation and model selection for generalized linear models
US20220083874A1 (en) Method and device for training search model, method for searching for target object, and storage medium
US20150379015A1 (en) Method and system for scoring texts
US10152478B2 (en) Apparatus, system and method for string disambiguation and entity ranking
TW200945079A (en) Search results ranking using editing distance and document information
WO2012095696A2 (en) Text segmentation with multiple granularity levels
CN110569496A (en) Entity linking method, device and storage medium
EP2788896B1 (en) Fuzzy full text search
WO2019233117A1 (en) Routing method, device and equipment for on-line analytical processing engine
CN113449082A (en) New word discovery method, system, electronic device and medium
US20170109402A1 (en) Automated join detection
CN110287284B (en) Semantic matching method, device and equipment
CN102200984A (en) Search method based on compound words and search engine server
KR101195950B1 (en) System and method for providing search service
CN107239517B (en) Multi-condition searching method and device based on Hbase database
KR101402339B1 (en) System and method of managing document
CN111639099A (en) Full-text indexing method and system
KR20200037593A (en) Method for generating chatbot utterance using frequency table
CN116738065B (en) Enterprise searching method, device, equipment and storage medium

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: 20150811

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160908

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190329

Year of fee payment: 9