KR101369931B1 - System and method for hybrid semantic searching service - Google Patents
System and method for hybrid semantic searching service Download PDFInfo
- Publication number
- KR101369931B1 KR101369931B1 KR1020100114427A KR20100114427A KR101369931B1 KR 101369931 B1 KR101369931 B1 KR 101369931B1 KR 1020100114427 A KR1020100114427 A KR 1020100114427A KR 20100114427 A KR20100114427 A KR 20100114427A KR 101369931 B1 KR101369931 B1 KR 101369931B1
- Authority
- KR
- South Korea
- Prior art keywords
- query
- search
- semantic
- autocomplete
- sentence
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012545 processing Methods 0.000 claims description 65
- 230000004044 response Effects 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims 1
- 238000004891 communication Methods 0.000 description 4
- 150000001875 compounds Chemical class 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 하이브리드 시맨틱 검색을 제공하는 시스템 및 방법에 관한 것으로서, 보다 상세하게는, 사용자의 질의어에 대하여 미리 저장된 정보를 이용한 검색 및 질의어 해석에 의한 검색을 혼합하여 수행하는 시맨틱 검색을 제공하는 시스템 및 방법에 관한 것이다.
하이브리드 시맨틱 검색 시스템이 시맨틱 검색을 제공하는 방법은 (a) 사용자 단말로부터 수신한 질의어의 유형을 판단하는 단계, (b) 상기 질의어가 사용자에 의해 입력된 자유 질의어인 경우, 상기 질의어에 대하여 키워드 검색을 수행하는 단계, (c) 상기 질의어에 대한 키워드 검색 결과에 기초하여 상기 질의어에 대한 의미 기반 검색 여부를 판단하고, 상기 판단에 기초하여 상기 질의어에 대하여 온톨로지(ontology)를 이용한 의미 기반 검색을 수행하는 단계 및 (d) 상기 (c) 단계에서 수행한 의미 기반 검색 결과를 상기 사용자 단말에 제공하는 단계를 포함할 수 있다.The present invention relates to a system and method for providing a hybrid semantic search, and more particularly, to a system for providing a semantic search for performing a search by using a pre-stored information for a user's query and a search by query interpretation. It is about a method.
The method of providing a semantic search by the hybrid semantic search system includes (a) determining a type of query received from a user terminal, and (b) searching the keyword for the query if the query is a free query input by a user. (C) determining whether or not a semantic based search is performed for the query based on a keyword search result of the query and performing a semantic based search using ontology on the query based on the determination. And (d) providing the semantic based search results performed in step (c) to the user terminal.
Description
본 발명은 하이브리드 시맨틱 검색을 제공하는 시스템 및 방법에 관한 것으로서, 보다 상세하게는, 사용자의 질의어에 대하여 미리 저장된 정보를 이용한 검색 및 질의어 해석에 의한 검색을 혼합하여 수행하는 시맨틱 검색을 제공하는 시스템 및 방법에 관한 것이다.
The present invention relates to a system and method for providing a hybrid semantic search, and more particularly, to a system for providing a semantic search for performing a search by using a pre-stored information for a user's query and a search by query interpretation. It is about a method.
유무선 통신 기술의 발달 및 인터넷의 보급으로 인하여 인터넷을 이용한 서비스는 IPTV, 인터넷 전화 등 다양한 분야로 확대되고 있다. 이와 함께, 인터넷을 통한 사용자의 질의에 대해 검색 결과를 제공하는 서비스도 다양해지고 있으며, 사용자의 질의에 대해 보다 정확하고 신속한 결과를 제공하기 위해 다양한 방법이 적용되고 있다.Due to the development of wired / wireless communication technology and the spread of the Internet, services using the Internet are expanding to various fields such as IPTV and Internet telephony. In addition, a variety of services for providing a search result for a user's query through the Internet have been diversified, and various methods have been applied to provide more accurate and rapid results for a user's query.
종래에 제공되는 검색 방식 중에서, 가장 일반적으로 사용되는 키워드 검색 방식은 단순한 스트링 및 키워드를 비교하여 수행되며, 이러한 키워드 검색 방식은 파일 형태의 키워드 인덱싱을 활용하여 비교적 신속하게 결과를 찾아낼 수 있으나 정확히 일치하는 단어나 구가 포함되지 않았을 경우 검색이 불가능하다는 문제점이 있었다.Among the conventionally provided search methods, the most commonly used keyword search method is performed by comparing simple strings and keywords, and this keyword search method can find a result relatively quickly by using keyword indexing in file form, There was a problem that the search was not possible if the matched words or phrases were not included.
이러한 단순한 키워드 인덱싱 방식의 단점을 극복하고자 사용되는 시맨틱 검색이 점차 제공되고 있다.Semantic search, which is used to overcome the shortcomings of such a simple keyword indexing scheme, is gradually provided.
시맨틱 검색은 사용자의 질의어를 분석하고 의도를 파악하여 의미적 추론을 통해 사용자가 찾고자 하는 대상을 의미적으로 찾아주는 검색 방식이며, 온톨로지라는 시맨틱 데이터베이스로 구축된 의미 관계망을 탐색하여 표면적인 문구 기반의 검색이 아닌 실제 내용을 기반으로 하여 검색을 수행한다.Semantic search is a search method that analyzes the user's query words, grasps the intentions, and semantically finds the user's target through semantic reasoning, and searches the semantic network constructed by the semantic database called ontology. Search based on actual content, not search.
이 경우, 시맨틱 검색에서, 검색 도메인에 따라 구성 요소로서 검색 대상을 구성하는 객체, 검색 조건을 구성하는 객체들은 매우 다양한 특성과 형태를 가지며, 사용자의 질의는 대상을 직접적으로 지칭하는 단순한 키워드 형태가 될 수도 있고, 대상의 특성을 서술하는 자연어 문장 형태가 될 수도 있다.In this case, in semantic search, the objects constituting the search object as components according to the search domain, the objects constituting the search condition have various characteristics and forms, and the user's query has a simple keyword form directly referring to the object. It may be in the form of a natural language sentence describing the characteristics of the object.
따라서, 종래의 시맨틱 검색은 대부분 모든 질의 요청에 대해 먼저 그 의도를 파악하기 위해 질의 해석을 수행하고, 질의 해석 결과에 기초하여 온톨로지 데이터베이스에서 직접 검색을 수행하여 결과를 제공한다.Therefore, in the conventional semantic search, most of all query requests first perform a query analysis to determine the intention, and then perform a direct search in the ontology database based on the query analysis result to provide a result.
이 경우 종래의 시맨틱 검색에 따르면, 통계적 방식을 활용해서 훈련시킨 시스템 라이브러리를 활용하여 확률적인 복잡한 분석 과정을 거쳐야 하므로, 자연어 해석에 상당한 리소스와 시간이 소요되며, 온톨로지의 구조가 복잡하고 규모가 방대하거나 복잡한 추론의 과정을 거쳐야 하는 경우 장시간의 검색 시간을 소요될 수 있다.In this case, according to the conventional semantic search, since the stochastic complex analysis process must be performed using a system library trained using a statistical method, natural language interpretation requires considerable resources and time, and the structure of the ontology is complicated and large. If you have to go through a complicated reasoning process, it may take a long search time.
그러나 실제 상용 검색 서비스는 대규모의 고객군이 동시에 접속하여 요구하는 검색 요청에 대해 일정 시간 내에 빠르게 응대해야만 하며, 의미 기반의 지능적인 검색과 응답 시간 성능을 동시에 만족시켜야 하므로 장시간의 검색 시간이 소요될 경우 범용 시맨틱 검색 서비스를 이용한 응용 서비스를 원활하게 제공할 수 없다는 문제점이 있었다.
However, the actual commercial search service must respond quickly and quickly to a search request required by a large group of customers at the same time, and satisfy the semantic-based intelligent search and response time performance simultaneously. There is a problem in that an application service using a semantic search service cannot be provided smoothly.
본 발명의 일 실시예는 단순한 키워드 매칭 방식 혹은 일괄적인 시맨틱 검색 방식을 이용하는 것이 아니라, 사용자의 질의에 따라 키워드 인덱싱 검색, 미리 저장된 질의문에 기초한 검색 및 질의 해석에 따른 검색을 선택적으로 이용하여, 최적화된 검색 결과를 효율적으로 제공할 수 있는 시스템 및 방법을 제공하고자 한다.
An embodiment of the present invention does not use a simple keyword matching method or a batch semantic search method, but selectively uses a keyword indexing search, a search based on a pre-stored query, and a search based on a query interpretation according to a user's query. An object of the present invention is to provide a system and method for efficiently providing optimized search results.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은 (a) 사용자 단말로부터 수신한 질의어의 유형을 판단하는 단계, (b) 상기 질의어가 사용자에 의해 입력된 자유 질의어인 경우, 상기 질의어에 대하여 키워드 검색을 수행하는 단계, (c) 상기 질의어에 대한 키워드 검색 결과에 기초하여 상기 질의어에 대한 의미 기반 검색 여부를 판단하고, 상기 판단에 기초하여 상기 질의어에 대하여 온톨로지(ontology)를 이용한 의미 기반 검색을 수행하는 단계 및 (d) 상기 (c) 단계에서 수행한 의미 기반 검색 결과를 상기 사용자 단말에 제공하는 단계를 포함하는 하이브리드 시맨틱 검색 시스템이 시맨틱 검색을 제공하는 방법을 제공할 수 있다.As a technical means for achieving the above-described technical problem, the first aspect of the present invention is (a) determining the type of query received from the user terminal, (b) when the query is a free query input by the user Performing a keyword search for the query, (c) determining whether to search for the semantic based on the query based on the keyword search result of the query, and ontology on the query based on the determination. A method of providing a semantic search by a hybrid semantic search system comprising: performing a semantic based search using the method and (d) providing the user terminal with the semantic based search result performed in the step (c). Can be.
본 발명의 제 1 측면에서, 상기 (c) 단계에서, 상기 질의어에 대한 키워드 검색 결과가 미리 설정된 기준에 해당하지 않는 경우, 상기 질의어에 대하여 온톨로지(ontology)를 이용한 의미 기반 검색을 수행할 수 있다.In a first aspect of the present invention, in the step (c), when the keyword search result for the query word does not correspond to a preset criterion, a semantic based search using ontology may be performed on the query word. .
본 발명의 제 1 측면에서, 상기 (c) 단계에서, 상기 질의어에 대한 키워드 검색 결과의 개수가 미리 설정된 기준 값 미만인 경우, 상기 키워드 검색 결과가 미리 설정된 기준에 해당하지 않는 것으로 판단될 수 있다.In the first aspect of the present invention, in the step (c), if the number of keyword search results for the query is less than a predetermined reference value, it may be determined that the keyword search results do not correspond to the preset criteria.
본 발명의 제 1 측면에서, 상기 (c) 단계는 (c1) 상기 질의어에 매칭되는 미리 저장된 시맨틱 질의어가 자동 완성 문장 데이터베이스에 존재하는 경우, 상기 시맨틱 질의어에 매칭되도록 미리 설정된 의미 기반 검색용 질의문에 기초하여 상기 질의어에 대한 온톨로지를 이용한 의미 기반 검색을 수행하는 단계를 포함할 수 있다.In the first aspect of the present invention, the step (c) may include (c1) a semantic based search query that is preset to match the semantic query when a pre-stored semantic query that matches the query exists in an autocomplete sentence database. The method may include performing a semantic based search using an ontology for the query based on the term.
또한, 본 발명의 제 1 측면에서, 상기 (c) 단계는 (c2) 상기 키워드 검색 및 상기 미리 설정된 의미 기반 검색용 질의문에 기초한 의미 기반 검색의 결과가 미리 설정된 기준에 해당하지 않는 경우, 상기 질의어를 해석하여 상기 질의어로부터 개체명(named entity, NE)을 추출하는 단계, (c3) 상기 추출한 개체명(NE)에 기초하여 의미 기반 검색용 질의문을 생성하는 단계 및 (c4) 상기 생성한 의미 기반 검색용 질의문에 기초하여 상기 질의어에 대한 온톨로지를 이용한 의미 기반 검색을 수행하는 단계를 포함할 수 있다.Also, in the first aspect of the present invention, the step (c) may include (c2) if the result of the keyword search and the semantic based search based on the preset semantic based search query does not correspond to a preset criterion, Parsing a query to extract a named entity (NE) from the query, (c3) generating a query for meaning-based search based on the extracted entity name (NE), and (c4) The method may include performing a semantic based search using an ontology for the query based on a semantic based search query.
또한, 본 발명의 제 1 측면에서, 상기 (c) 단계는 (c5) 상기 질의어에 매칭되는 미리 저장된 시맨틱 질의어가 자동 완성 문장 데이터베이스에 존재하지 않는 경우, 상기 질의어를 해석하여 상기 질의어로부터 개체명(named entity, NE)을 추출하는 단계, (c6) 상기 추출한 개체명(NE)에 기초하여 의미 기반 검색용 질의문을 생성하는 단계 및 (c7) 상기 생성한 의미 기반 검색용 질의문에 기초하여 상기 질의어에 대한 온톨로지를 이용한 의미 기반 검색을 수행하는 단계를 포함할 수 있다.Also, in the first aspect of the present invention, the step (c) may include (c5) if the pre-stored semantic query word matching the query word does not exist in the autocomplete sentence database, interpreting the query word to determine the entity name from the query word. extracting a named entity (NE), (c6) generating a semantic based search query based on the extracted entity name (NE), and (c7) based on the generated semantic based search query It may include performing a semantic based search using an ontology for the query.
본 발명의 제 2 측면은 사용자 단말로부터 질의어를 수신하는 질의어 입력 수신부, 상기 사용자 단말로부터 수신하는 질의어에 매칭되는 자동 완성 문장의 목록을 자동 완성 문장 데이터베이스부터 검색하여 상기 사용자 단말에 제공하는 자동 완성 문장 제공부, 상기 사용자로부터 수신한 질의어가 상기 자동 완성 문장 제공부에 의해 제공된 자동 완성 문장의 목록으로부터 선택된 것인 경우, 상기 자동 완성 문장의 속성에 기초하여 상기 자동 완성 문장에 대하여 키워드 검색 또는 의미 기반 검색을 선택적으로 수행하는 자동 완성 문장 처리부, 상기 사용자 단말로부터 수신한 질의어가 상기 자동 완성 문장 제공부에 의해 제공된 자동 완성 문장의 목록으로부터 선택된 것이 아닌 경우, 상기 질의어에 대한 검색 결과에 기초하여 키워드 검색 및 온톨로지(ontology)를 이용한 의미 기반 검색을 순차적으로 수행하는 자유 질의어 처리부 및 상기 자동 완성 문장 처리부 또는 상기 자유 질의어 처리부에 의해 상기 질의어에 대해 수행된 검색 결과를 상기 사용자 단말에 제공하는 응답 제공부를 포함하는 하이브리드 시맨틱 검색 시스템을 제공할 수 있다.A second aspect of the present invention is a query input receiving unit for receiving a query from a user terminal, an automatic completion sentence for searching for a list of autocomplete sentences matching the query received from the user terminal from an autocomplete sentence database and providing the query to the user terminal. If the query unit received from the user is selected from a list of the autocomplete sentences provided by the autocomplete sentence providing unit, based on the attributes of the autocomplete sentences, keyword search or semantic based on the autocomplete sentences An automatic completion sentence processing unit for selectively performing a search, and if a query received from the user terminal is not selected from a list of the automatic completion sentences provided by the automatic completion sentence providing unit, search for a keyword based on a search result for the query; And ont A free query processing unit that sequentially performs a semantic based search using an ontology, and a response providing unit providing the user terminal with a search result performed on the query by the autocomplete sentence processing unit or the free query processing unit; A hybrid semantic search system can be provided.
본 발명의 제 2 측면에서, 상기 자동 완성 문장 처리부는 특정 명칭을 나타내는 자동 완성 문장에 대하여 키워드 검색을 수행할 수 있다.In the second aspect of the present invention, the autocomplete sentence processing unit may perform keyword search on the autocomplete sentence indicating a specific name.
또한, 본 발명의 제 2 측면에서, 상기 자동 완성 문장 처리부는 의미 해석이 요구되는 자동 완성 문장에 대하여 상기 자동 완성 문장에 매칭되어 저장된 의미 기반 검색용 질의문에 기초하여 상기 자동 완성 문장에 대한 온톨로지를 이용한 의미 기반 검색을 수행할 수 있다.
In addition, in the second aspect of the present invention, the autocomplete sentence processing unit ontology for the autocomplete sentence based on the semantic based search query that is stored matched with the autocomplete sentence for the autocomplete sentence that requires a meaning interpretation A semantic based search can be performed using.
전술한 본 발명의 과제 해결 수단에 의하면, 본 발명은 많은 리소스와 장시간이 소요되는 해석과 추론 과정을 모든 질의어에 대하여 수행하지 않고, 입력된 질의문의 특성에 따라 지능적으로 검색 방식을 선택하여 키워드 인덱싱 검색, 미리 저장된 스파큐엘(SparQL) 질의문에 기초한 시맨틱 검색 및 질의어 해석에 의한 시맨틱 검색을 선택적으로 제공하므로, 모든 형태의 사용자 질의에 대하여 검색 응답 속도 및 품질을 향상시킬 수 있다.
According to the above-described problem solving means of the present invention, the present invention does not perform a lot of resources and a long time interpretation and inference process for all query words, intelligently select a search method according to the characteristics of the input query keyword indexing By providing search, semantic search based on pre-stored SparQL query and semantic search by query interpretation, search response speed and quality can be improved for all types of user queries.
도 1은 본 발명의 실시예에 따른 하이브리드 시맨틱 검색 시스템의 구성을 도시한 도면,
도 2는 본 발명의 일 실시예에 따른 자유 질의어 처리부의 구성을 도시한 도면,
도 3은 본 발명의 일 실시예에 따른 자동 완성 문장 처리부가 사용자에 의해 입력된 자동 완성 문장에 대하여 검색을 수행하는 방법의 흐름을 도시한 도면,
도 4는 본 발명의 일 실시예에 따른 자유 질의어 처리부가 사용자에 의해 입력된 자동 완성 문장에 대하여 검색을 수행하는 방법의 흐름을 도시한 도면.1 is a diagram illustrating a configuration of a hybrid semantic search system according to an embodiment of the present invention;
2 is a diagram showing the configuration of a free query processing unit according to an embodiment of the present invention;
3 is a flowchart illustrating a method of performing a search on an autocomplete sentence input by a user in an autocomplete sentence processing unit according to an embodiment of the present invention;
4 is a flowchart illustrating a method of performing a search for an autocomplete sentence input by a user by a free query processing unit according to an exemplary embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. 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 order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.
도 1은 본 발명의 실시예에 따른 하이브리드 시맨틱 검색 시스템의 구성을 도시한 도면이다.1 is a diagram illustrating a configuration of a hybrid semantic search system according to an embodiment of the present invention.
본 발명의 실시예에 따른 하이브리드 시맨틱 검색 시스템(100)은 질의어 입력 수신부(110), 자동 완성 문장 제공부(120), 질의어 유형 분석부(130), 자동 완성 문장 처리부(140), 자유 질의어 처리부(150) 및 응답 생성부(160)를 포함한다.The hybrid
질의어 입력 수신부(110)는 사용자에 의해 입력된 질의어를 사용자 단말로부터 수신한다. 사용자 단말은 데스크탑, 노트북, 스마트폰, PDA(personal digital assistant) 등 유무선 통신이 가능한 단말을 포함한다.The query
사용자는 질의어 입력 수단을 통해 검색하고자 하는 콘텐츠의 제목 등의 단어 또는 문장 형태의 질의어, 예를 들어 '굿모닝 프레지던트', '신데렐라언니', '강우석 감독 영화', '무한도전 김연아', '이상은이 나왔던 놀러와' 등의 질의어를 입력할 수 있다.The user can search for a word or sentence in the form of a word or sentence, such as the title of the content to be searched through a query input means, for example, 'Good Morning President', 'Cinderella', 'Kang Woo-seok', 'Infinity Challenge Kim Yu-na' You can enter the query, such as "Let's play."
또한, 질의어 입력 수신부(110)는 사용자에 의해 입력이 완료된 질의어뿐만 아니라 입력 중인 질의어도 또한 수신한다. 예를 들어, 사용자가 '굿모닝 프레지던트'를 입력하는 경우, 질의어 입력 수신부(110)는 '굿모닝 프레지던트' 중에서 사용자가 입력 중인 질의어인 'ㄱ', 'ㄱㅜ', '굿', .... , '모', '닝', '프', '레', '지', '던', '트'를 순차적으로 수신할 수 있고, 'ㄱㅁㄴㅍㄹㅈㄷㅌ' 와 같이 사용자가 질의하고자 하는 검색어의 초성만으로 구성된 입력어를 또한 수신할 수도 있다.In addition, the query
자동 완성 문장 제공부(120)는 질의어 입력 수신부(110)가 수신한 질의어를 분석하고, 분석 결과를 기초로 자동 완성 문장 데이터베이스(170)에 저장된 자동 완성 문장을 검색하여 이를 사용자에게 제공한다.The autocomplete
즉, 자동 완성 문장 제공부(120)는 사용자가 현재까지 입력한 질의어의 단어 또는 자소를 기준으로 이를 포함하는 자동 완성 문장, 즉 자주 이용되는 질의어로 자동 완성 문장 데이터베이스(170)에 사전에 저장된 문장을 사용자에게 제공한다.That is, the autocomplete
자동 완성 문장 제공부(120)는 연속된 초성 입력 형태를 포함한 자소 단위의 조합 또는 음절 단위의 조합에 기초하여 미리 구축한 인덱싱 정보로부터 자동 완성 문장을 검색할 수 있으며, 이러한 인덱싱 정보는 자동 완성 문장 및 자동 완성 문장에 매칭되는 개체명(Named Entity, NE) 기반 실제 스파큐엘(SparQL) 질의문이 포함될 수 있다.The autocomplete
사용자는 자동 완성 문장 제공부(120)에 의해 제공된 자동 완성 문장을 선택하여 검색을 요청하거나, 또는 자동 완성 문장을 선택하지 않고 직접 자유롭게 질의문을 입력하여 검색을 요청할 수 있다.A user may request a search by selecting an autocomplete sentence provided by the autocomplete
질의어 유형 분석부(130)는 사용자에 의해 입력된 질의어의 유형을 분석하여 해당 질의어를 자동 완성 문장 처리부(140)에서 처리할 것인지 또는 자유 질의어 처리부(150)에서 처리할 것인지 여부를 판단한다.The query
사용자에 의해 입력된 질의어는 자동 완성 문장 제공부(120)에 의해 제공되는 자동 완성 문장과 사용자가 자유롭게 입력한 자유 질의어를 포함하며, 자동 완성 문장은 단순 명칭 기반 질의 및 복합 시맨틱 질의를 포함할 수 있다.The query input by the user may include an autocomplete sentence provided by the autocomplete
질의어 유형 분석부(130)는 입력된 질의어가 자동 완성 문장인 경우 자동 완성 문장 데이터베이스(170)로부터 자동 완성 문장에 매칭되는 개체명(NE) 기반 스파큐엘(SparQL) 질의문을 획득하여 자동 완성 문장과 함께 획득한 개체명(NE) 기반 스파큐엘(SparQL) 질의문을 자동 완성 문장 처리부(140)로 전송한다.The query
또한, 질의어 유형 분석부(130)는 입력된 질의어가 자유 질의어인 경우 해당 자유 질의어를 자유 질의어 처리부(150)로 전송한다.In addition, when the input query is a free query, the query
자동 완성 문장 처리부(140)는 질의어 유형 분석부(130)로부터 수신한 자동 완성 문장 및 개체명(NE) 기반 스파큐엘(SparQL) 질의문에 기초하여 키워드 검색 또는 개체명(NE) 기반 스파큐엘(SparQL) 질의문 검색을 수행하고, 검색 결과를 응답 생성부(160)에 제공한다.The autocomplete
즉, 자동 완성 문장 처리부(140)는, 질의어 유형 분석부(130)로부터 수신한 자동 완성 문장의 속성이 특정한 대상을 나타내는 단순 명칭에 해당하는 경우, 수신한 자동 완성 문장에 포함된 단어에 대하여 키워드 검색을 수행한다.That is, when the attribute of the autocomplete sentence received from the query
또한, 질의어 유형 분석부(130)로부터 수신한 자동 완성 문장의 속성이 의미 해석이 요구되는 복합 시맨틱 질의어에 해당하는 경우, 자동 완성 문장 처리부(140)는 수신한 자동 완성 문장에 대해 미리 저장된 개체명(NE) 기반 스파큐엘(SparQL) 질의문을 획득하고, 획득한 스파큐엘(SparQL) 질의문을 이용하여 의미 기반 검색을 수행한다.In addition, when the attribute of the autocomplete sentence received from the query
자유 질의어 처리부(150)는 질의어 유형 분석부(130)로부터 수신한 자유 질의어에 대하여 키워드 검색, 자동 완성 문장에 기초한 의미 기반 검색 및 질의어 해석에 기초한 의미 기반 검색을 수행하고, 검색 결과를 응답 생성부(160)에 제공한다.The free
응답 생성부(160)는 자동 완성 문장 처리부(140) 또는 자유 질의어 처리부(150)로부터 수신한 검색 결과를 이용하여 사용자에 의해 입력된 질의어에 대한 응답을 생성하고, 생성한 응답을 사용자에게 제공한다.The
도 2는 본 발명의 일 실시예에 따른 자유 질의어 처리부의 구성을 도시한 도면이다.2 is a diagram illustrating a configuration of a free query processing unit according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 자유 질의어 처리부(150)는 키워드 인덱싱 검색부(152), 자동 완성 문장 비교 처리부(154), 질의어 해석 처리부(156), 시맨틱 온톨로지 데이터베이스(157) 및 스파큐엘(SparQL) 질의문 데이터베이스(158)를 포함한다.The free
키워드 인덱싱 검색부(152)는 사용자에 의해 입력된 자유 질의어에 대하여 미리 저장된 색인 파일을 이용하여 자유 질의어에 포함된 키워드에 대하여 키워드 인덱싱 검색을 수행한다.The
키워드 인덱싱 검색부(152)는 키워드 인덱싱 검색 결과와 미리 설정된 기준 값을 비교하여 키워드 인덱싱 검색 결과만을 사용자에게 제공할 것인지 또는 추가적인 검색을 수행할 것인지 여부를 판단한다.The keyword
자동 완성 문장 비교 처리부(154)는 키워드 인덱싱 검색 결과가 미리 설정된 기준을 만족시키지 못하는 자유 질의어에 대해 제공될 수 있는 자동 완성 문장을 자동 완성 문장 데이터베이스(도시 생략)로부터 획득한다.The autocompletion sentence
자동 완성 문장 비교 처리부(154)는 획득한 자동 완성 문장으로부터 복합적 의미 기반의 시맨틱 질의어를 획득하고, 스파큐엘(SparQL) 질의문 데이터베이스(158)로부터 획득한 시맨틱 질의어에 매칭되는 스파큐엘(SparQL) 질의문을 획득한다.The autocompletion sentence
자동 완성 문장 비교 처리부(154)는 획득한 스파큐엘(SparQL) 질의문을 기초로 시맨틱 온톨로지 데이터베이스(157)를 이용하여 의미 기반 검색을 수행한다.The automatic completion sentence
자동 완성 문장 비교 처리부(154)는 키워드 인덱싱 검색부(152)에 의한 키워드 인덱싱 검색 결과 및 자동 완성 문장 비교 처리부(154)에 의한 미리 저장된 스파큐엘(SparQL) 질의문을 이용한 검색 결과와 미리 설정된 기준 값을 비교하여 추가 검색 여부를 판단한다.The autocompletion sentence
질의어 해석 처리부(156)는 키워드 인덱싱 검색부(152)에 의한 키워드 인덱싱 검색 및 자동 완성 문장 비교 처리부(154)에 의한 미리 저장된 스파큐엘(SparQL) 질의문을 이용한 검색 이외의 추가 검색이 요구되는 경우, 사용자에 의해 입력된 질의어를 분석하여 개체명(named entity, NE)를 획득하고, 획득한 개체명(NE)을 이용하여 스파큐엘(SparQL) 질의문을 생성한다.When the query analyzing
질의어 해석 처리부(156)는 생성한 스파큐엘(SparQL) 질의문에 기초하여 시맨틱 온톨로지 데이터베이스(157)를 이용하여 의미 기반 검색을 수행하고, 검색된 결과를 사용자에게 제공한다.The query
도 3은 본 발명의 일 실시예에 따른 자동 완성 문장 처리부가 사용자에 의해 입력된 자동 완성 문장에 대하여 검색을 수행하는 방법의 흐름을 도시한 도면이다.3 is a flowchart illustrating a method of performing a search on an autocomplete sentence input by a user according to an embodiment of the present invention.
단계(S110)에서, 질의어 유형 분석부(도시 생략)에 의해 사용자가 입력한 질의어, 즉 사용자 단말로부터 수신한 질의어가 자동 완성 문장인 것으로 판단되고, 단계(S120)에서, 자동 완성 문장 처리부는 질의어 유형 분석부로부터 사용자에 의해 입력된 질의어, 즉 사용자가 입력 중인 질의어에 대해 제공된 자동 완성 문장 목록에서 사용자가 선택한 자동 완성 문장을 수신한다.In step S110, it is determined that the query input by the user by the query type analysis unit (not shown), that is, the query received from the user terminal is an autocomplete sentence, and in step S120, the autocomplete sentence processing unit is a query. Receives an autocomplete sentence selected by the user from a list of autocompletion sentences provided by the user, that is, a query input by the user from the type analyzer.
자동 완성 문장 처리부는 자동 완성 문장과 함께 자동 완성 문장에 매칭되는 스파큐엘(SparQL) 질의문을 수신할 수 있다.The autocomplete sentence processing unit may receive a SpaQL query matching the autocomplete sentence together with the autocomplete sentence.
단계(S130)에서, 자동 완성 문장 처리부는 자동 완성문의 유형, 즉 속성을 분석하여 단계(S120)에서 수신한 자동 완성 문장이 단순 질의어, 예를 들어 단순 명칭에 해당하는지 또는 의미적으로 검색하고자 하는 복합 시맨틱 질의어에 해당하는지 여부를 판단한다.In step S130, the autocompletion sentence processing unit analyzes the type of the autocompletion statement, that is, attributes, to search whether the autocompletion sentence received in step S120 corresponds to a simple query, for example, a simple name or semantically. Determines whether it corresponds to a compound semantic query.
단계(S140)에서는, 단계(S130)에서 자동 완성 문장의 속성이 단순 질의어에 해당하는 것으로 판단된 경우, 자동 완성 문장은 검색 대상의 명칭을 직접적으로 지칭하므로, 이러한 명칭을 신속하게 검색하도록 미리 저장된 색인 파일을 검색하는 키워드 인덱싱 검색을 수행한다.In step S140, when it is determined in step S130 that the attribute of the autocomplete sentence corresponds to a simple query, the autocomplete sentence directly refers to the name of the search target, and thus is stored in advance to retrieve such a name quickly. Perform a keyword indexing search to search the index file.
예를 들어, 자동 완성 문장이 '굿모닝 프레지던트', '신데렐라 언니' 등 타겟팅하는 서비스 도메인의 단순 명칭, 예를 들어 검색 대상인 VOD(video on demand) 콘텐츠의 제목에 해당하는 경우, 자동 완성 문장 처리부는 '굿모닝 프레지던트', '신데렐라 언니' 등에 대하여 미리 저장된 색인 파일을 이용하여 검색을 수행할 수 있다.For example, if the autocompletion sentence corresponds to a simple name of a service domain that is targeted such as 'good morning president' or 'Cinderella', for example, the title of the video on demand (VOD) content to be searched, the autocompletion sentence processing unit A search may be performed using a pre-stored index file for 'Good Morning President' or 'Cinderella'.
단계(S150)에서, 단계(S130)에서 자동 완성 문장의 속성이 단순 질의어가 아닌 복합 시맨틱 질의어에 해당하는 것으로 판단된 경우, 예를 들어 자동 완성 문장이 "장동건이 나온 한밤의 TV 연예"와 같이 단순 명칭과 이의 의미 기반 조건을 함께 포함하는 것으로 판단되는 경우 또는 자동 완성 문장이 "강우석이 감독한 액션 영화"와 같이 찾고자 하는 대상의 의미만을 복합적으로 기술하는 것으로 판단되는 경우, 자동 완성 문장 처리부는 단계(S120)에서 자동 완성 문장에 매칭되는 스파큐엘(SparQL) 질의문을 자동 완성 문장 데이터베이스(도시 생략)에서 검색하여 획득한다.In step S150, when it is determined in step S130 that the attribute of the autocomplete sentence corresponds to a complex semantic query term instead of a simple query term, the autocomplete sentence is, for example, "TV entertainment of Jang Dong Gun". If it is judged to include both the simple name and its meaning-based condition, or if the autocomplete sentence is judged to describe only the meaning of the object to be searched for, such as "Action Movie directed by Kang Woo-seok," the autocomplete sentence processing unit In operation S120, a SPARQL query that matches an autocomplete sentence is searched for and obtained from an autocomplete sentence database (not shown).
자동 완성 문장 처리부가 단계(S120)에서 자동 완성 문장과 함께 수신한 자동 완성 문장에 매칭되는 스파큐엘(SparQL) 질의문을 수신한 경우, 스파큐엘(SparQL) 질의문의 검색을 생략할 수 있다.When the autocomplete sentence processing unit receives a SpaQL query matching the autocomplete sentence received together with the autocomplete sentence in step S120, the search for the SpaQL query may be omitted.
단계(S160)에서, 자동 완성 문장 처리부는 단계(S150)에서 획득한 스파큐엘(SparQL) 질의어 또는 단계(S120)에서 자동 완성 문장과 함께 수신한 스파큐엘(SparQL) 질의문을 이용하여 온톨로지로부터 의미 기반 검색을 수행하여 사용자가 입력한 자동 완성 문장에 대한 검색을 수행한다.In step S160, the autocompletion sentence processing unit uses the SpaQL query obtained in step S150 or the SpaQL query received with the autocompletion sentence in step S120 to mean from the ontology. Performs a base search to search for autocomplete sentences entered by the user.
이처럼 본 발명의 일 실시예에서, 하이브리드 시맨틱 검색 시스템이 제공하는 하나 이상의 자동 완성 문장 중에서 사용자가 하나의 자동 완성 문장을 선택하는 경우, 본 발명의 일 실시예에 따른 하이브리드 시맨틱 검색 시스템은 자동 완성 문장의 유형에 따른 검색을 실시하여 보다 효율적으로 사용자에게 검색 결과를 제공할 수 있다.As such, in one embodiment of the present invention, when the user selects one autocomplete sentence from one or more autocomplete sentences provided by the hybrid semantic search system, the hybrid semantic search system according to an embodiment of the present invention is an autocomplete sentence. The search result can be provided to the user more efficiently by performing a search according to the type of.
도 4는 본 발명의 일 실시예에 따른 자유 질의어 처리부가 사용자에 의해 입력된 자동 완성 문장에 대하여 검색을 수행하는 방법의 흐름을 도시한 도면이다.FIG. 4 is a flowchart illustrating a method of performing a search for an autocomplete sentence input by a user by a free query processing unit according to an exemplary embodiment of the present invention.
단계(S205)에서, 질의어 유형 분석부(도시 생략)에 의해 사용자가 입력한 질의어, 즉 사용자 단말로부터 수신한 질의어가 자유 질의어인 것으로 판단되고, 단계(S210)에서, 자유 질의어 처리부는 질의어 유형 분석부로부터 사용자에 의해 입력된 질의어, 즉 사용자가 제공된 자동 완성 문장을 선택하지 않고 직접 입력한 질의어를 수신한다.In step S205, it is determined that the query input by the user by the query type analysis unit (not shown), that is, the query received from the user terminal is a free query, and in step S210, the free query processing unit analyzes the query type. The query receives the query input by the user, that is, the query directly input by the user without selecting the provided autocomplete sentence.
단계(S215)에서, 자유 질의어 처리부는 미리 저장된 색인 파일을 이용하여 단계(S210)에서 수신한 질의어에 대하여 키워드 인덱싱 검색을 수행한다. 즉, 자유 질의어 처리부는 질의어에 대하여 질의 해석을 수행하기 이전에, 사용자에 의해 입력된 질의어가 일반적인 명칭에 기초하여 입력된 질의어일 것으로 가정하고, 해당 질의어에 대하여 키워드 인덱싱 검색을 수행한다.In step S215, the free query processing unit performs a keyword indexing search on the query received in step S210 by using a pre-stored index file. That is, the free query processing unit assumes that the query input by the user is a query based on a general name before performing a query analysis on the query, and performs a keyword indexing search on the query.
단계(S220)에서, 자유 질의어 처리부는 단계(S215)에서 수행된 키워드 인덱싱 검색에 의해 검색된 결과의 개수가 미리 설정된 기준값 이상인지, 즉 키워드 인덱싱 검색만으로도 충분한 검색 결과를 획득할 수 있는지 여부를 판단한다.In step S220, the free query processing unit determines whether the number of results searched by the keyword indexing search performed in step S215 is greater than or equal to a predetermined reference value, that is, whether the keyword indexing search alone can obtain sufficient search results. .
질의어와 일반적인 명칭의 일치 여부를 기준으로 수행되는 검색의 결과는 검색 순위 중에서 상위의 우선 순위에 해당하므로, 키워드 검색 결과의 개수가 미리 설정된 기준 값 이상인 경우, 우선 순위가 높은 검색 결과만으로도 충분한 결과를 제공할 수 있다. 따라서, 키워드 인덱싱 검색 결과의 개수와 미리 설정된 기준 값을 비교한다.The results of the search performed based on the match of the query and the general name correspond to the higher priority among the search rankings. Therefore, if the number of keyword search results is higher than or equal to the preset reference value, the higher priority search results are sufficient. Can provide. Therefore, the number of keyword indexing search results is compared with a preset reference value.
단계(S225)에서는, 단계(S220)에서 키워드 인덱싱 검색 결과의 개수가 미리 설정된 기준값 미만인 것으로 판단되는 경우, 자유 질의어 검색부는 단계(S210)에서 수신한 질의어에 기반한 자동 완성 문장을 자동 완성 문장 데이터베이스로부터 검색한다.In step S225, when it is determined in step S220 that the number of keyword indexing search results is less than a predetermined reference value, the free query search unit may determine an autocomplete sentence based on the query received in step S210 from the autocomplete sentence database. Search.
즉, 자유 질의어 검색부는 단계(S210)에서 수신한 질의어를 사용자 입력할 때 자동 완성 문장 제공부(도시 생략)에 의해 제공될 자동 완성 문장을 자동 완성 문장 데이터베이스로부터 검색한다.That is, the free query search unit searches for an autocomplete sentence to be provided by an autocomplete sentence providing unit (not shown) when the user inputs the query received in operation S210 from the autocomplete sentence database.
단계(S230)에서, 자유 질의어 처리부는 단계(S225)에서 검색된 하나 이상의 자동 완성 문장에 복합적인 의미 기반의 시맨틱 질의어가 포함되었는지 여부를 판단한다. 즉, 자유 질의어 처리부는 단계(S225)에서 검색된 하나 이상의 자동 완성 문장 중에서 복합적인 의미 기반의 시맨틱 질의어를 검색한다.In step S230, the free query processing unit determines whether a complex semantic based semantic query is included in the one or more autocomplete sentences retrieved in step S225. In other words, the free query processing unit searches for a complex semantic based semantic query among the one or more autocomplete sentences found in step S225.
단계(S235)에서는, 단계(S230)에서 질의어 기반으로 검색된 하나 이상의 자동 완성 문장에 복합적인 의미 기반의 시맨틱 질의어가 포함된 것으로 판단된 경우, 자유 질의어 처리부는 질의어 기반으로 검색된 하나 이상의 자동 완성 문장에 포함된 시맨틱 질의어에 매칭되는 미리 저장된 스파큐엘(SparQL) 질의문을 자동 완성 문장 데이터베이스로부터 검색하여 획득한다.In step S235, when it is determined in step S230 that the one or more autocomplete sentences searched on the basis of the query includes a complex semantic based semantic query, the free query processing unit is included in the one or more autocomplete sentences searched on the basis of the query. A prestored SparQL query that matches the semantic query included is retrieved from an autocomplete sentence database.
단계(S240)에서, 자유 질의어 처리부는 단계(S235)에서 획득한 스파큐엘(SparQL) 질의문을 이용하여 온톨로지로부터 의미 기반 검색을 수행한다. 이 경우, 자유 질의어 처리부는 미리 저장된 스파큐엘(SparQL) 질의문을 이용하여 미리 정의된 시맨틱 질의 검색을 수행하므로, 보다 효율적이고 빠르게 검색을 수행할 수 있다.In step S240, the free query processing unit performs a semantic based search from the ontology using the SparQL query obtained in step S235. In this case, since the free query processing unit performs a predefined semantic query search using a pre-stored SparQL query, it is possible to perform the search more efficiently and quickly.
단계(S245)에서, 자유 질의어 처리부는 단계(S215)에서 수행한 키워드 인덱싱 검색 결과 개수와 단계(S240)에서 수행한 미리 저장된 스파큐엘(SparQL) 질의문을 이용한 의미 기반 검색 결과의 개수의 합이 미리 설정된 기준 값 이상인지 여부를 판단한다.In step S245, the free query processing unit adds the sum of the number of keyword indexing search results performed in step S215 and the number of semantic based search results using a pre-stored SparQ query performed in step S240. It is determined whether the reference value is greater than or equal to a preset reference value.
단계(S250)에서는, 단계(S245)에서 키워드 인덱싱 검색 결과 개수와 미리 저장된 스파큐엘(SparQL) 질의문을 이용한 의미 기반 검색 결과의 개수의 합이 미리 설정된 기준 값 미만인 것으로 판단되는 경우, 자유 질의어 처리부는 검색 결과가 사용자에게 제공될 수준에 해당되지 않는 것으로 판단하고, 단계(S205)에서 수신한 사용자에 의해 입력된 자유 질의어의 의미를 파악하기 위하여 자유 질의어를 해석한다.In step S250, when it is determined in step S245 that the sum of the number of keyword indexing search results and the number of semantic based search results using a pre-stored SparQL query is less than a predetermined reference value, the free query processing unit Determines that the search result does not correspond to the level to be provided to the user, and interprets the free query to determine the meaning of the free query input by the user received in step S205.
즉, 자유 질의어 처리부는 사용자의 자유 질의어에 대하여 온톨로지를 이용한 시맨틱 검색을 수행하기 위하여 자유 질의어를 해석하여 자유 질의어에 포함된 개체명(Named Entity, NE)을 추출한다.That is, the free query processing unit analyzes the free query to extract semantic entities (Named Entity, NE) included in the free query in order to perform semantic search using the ontology for the user's free query.
단계(S255)에서 자유 질의어 처리부는 단계(S250)에서 추출한 개체명(NE)을 이용하여 스파큐엘(SparQL) 질의문을 생성한다.In step S255, the free query processing unit generates a SpaQL query using the entity name NE extracted in step S250.
예를 들어, 사용자에 의해 입력된 자유 질의어가 '장동건과 고소영이 출연한 영화'인 경우, 자유 질의어 처리부는 단계(S250)에서 '장동건', '고소영'을 '배우'에 해당하는 개체명(NE)로 추출할 수 있으며, '출연'을 '행동'에 해당하는 개체명(NE)로 추출할 수 있으며, '영화'를 '대상'에 해당하는 개체명(NE)으로 추출할 수 있다.For example, when the free query input by the user is a movie starring Jang Dong-gun and Ko So-young, the free query processing unit may refer to the name of the object corresponding to 'actor' (Jang Dong-gun) and 'Go So-young' in step S250 ( NE), 'appearance' can be extracted as an entity name (NE) corresponding to 'action', and 'movie' can be extracted as an entity name (NE) corresponding to 'target'.
따라서, 자유 질의어 처리부는 자유 질의어 '장동건과 고소영이 출연한 영화'로부터 추출한 '장동건', '고소영', '출연', '영화'에 해당하는 개체명(NE)을 이용하여 이에 매칭되는 스파큐엘(SparQL) 질의문을 생성할 수 있다.Therefore, the free query processing unit uses the individual names (NE) corresponding to 'Jang Dong Gun', 'Go So Young', 'Appearance', and 'Movie' extracted from the free query 'Jang Dong Gun and So So Young's movie'. (SparQL) You can create a query.
단계(S260)에서, 자유 질의어 처리부는 단계(S255)에서 생성한 스파큐엘 (SparQL) 질의문을 이용하여 온톨로지를 이용한 의미 기반 검색을 수행한다.In step S260, the free query processing unit performs a semantic based search using an ontology using the SparQL query generated in step S255.
단계(S265)에서, 자유 질의어 처리부는 단계(S215), 단계(S230) 및 단계(S245)에서의 판단에 따라 사용자에게, 단계(S200)에서 수행된 키워드 인덱싱 검색 결과를 제공하거나, 단계(S200)에서 수행된 키워드 인덱싱 검색 결과 및 단계(S240)에서 수행된 미리 저장된 스파큐엘(SparQL) 질의문에 기초한 의미 기반 검색 결과를 포함하는 검색 결과를 제공하거나, 또는 사용자의 질의어를 해석하여 생성된 스파큐엘(SparQL) 질의문에 기초한 의미 기반 검색 결과를 제공할 수 있다.In step S265, the free query processing unit provides a keyword indexing search result performed in step S200 to the user according to the determination in step S215, step S230, and step S245, or step S200. Spam generated by analyzing a user's query or providing a search result including a keyword indexing search result performed in the) and a semantic based search result based on a pre-stored SparQL query executed in step S240. A semantic based search result based on a SparQL query can be provided.
이처럼 상술한 본 발명의 일 실시예에 따르면, 사용자에 의해 입력된 질의어에 대하여 검색의 용이하고 검색 속도가 빠른 검색 방법을 우선적으로 적용하여 검색을 수행하고, 검색 결과에 따라가 미리 설정된 기준을 만족시키지 못하는 경우, 미리 저장된 스파큐엘(SparQL) 질의문에 의한 의미 기반 검색 및 질의어 해석에 의해 생성된 스파큐엘(SparQL) 질의문에 의한 의미 기반 검색을 순차적으로 적용하여 사용자에게 신속하고 일정 수준의 품질을 만족시키는 검색 응답 결과를 제공할 수 있다.As described above, according to an exemplary embodiment of the present invention, a search method is performed by applying a search method that is easy to search and has a fast search speed to a query input by a user, and performs a search according to a search result. If not, the user can apply the semantic based search by the pre-stored SparQL query and the semantic based search by the SparQL query generated by the query interpretation. It can provide a search response result that satisfies.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다.One embodiment of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media.
또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.While the methods and systems of the present invention have been described in connection with specific embodiments, some or all of those elements or operations may be implemented using a computer system having a general purpose hardware architecture.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.
100 : 하이브리드 시맨틱 검색 시스템
110 : 질의어 입력 수신부 120 : 자동 완성 문장 제공부
130 : 질의어 유형 분석부 140 : 자동 완성 문장 처리부
150 : 자유 질의어 처리부 160 : 응답 생성부100: Hybrid Semantic Search System
110: query input unit 120: automatic completion sentence providing unit
130: query type analysis unit 140: automatic completion sentence processing unit
150: free query processing unit 160: response generation unit
Claims (16)
(a) 사용자 단말로부터 수신한 질의어의 유형을 판단하는 단계,
(b1) 상기 질의어가 자동 완성 문장인 경우, 상기 질의어에 대하여 키워드 검색 또는 의미 기반 검색을 선택적으로 수행하는 단계,
(b2) 상기 질의어가 사용자에 의해 입력된 자유 질의어인 경우, 상기 질의어에 대하여 키워드 검색을 수행하는 단계,
(c) 상기 (b2) 단계에서 수행한 상기 질의어에 대한 키워드 검색 결과에 기초하여 상기 질의어에 대하여 온톨로지(ontology)를 이용한 의미 기반 검색을 수행하는 단계 및
(d) 상기 (b1) 단계 또는 상기 (c) 단계에서 상기 질의어에 대해 수행한 검색 결과를 상기 사용자 단말에 제공하는 단계
를 포함하는 시맨틱 검색 제공 방법.
In the method by which the hybrid semantic search system provides semantic search,
(a) determining the type of query word received from the user terminal;
(b1) selectively performing a keyword search or a semantic based search on the query word when the query word is an autocomplete sentence,
(b2) if the query is a free query input by a user, performing a keyword search on the query,
(c) performing a semantic based search using ontology on the query based on the keyword search result for the query performed in step (b2); and
(d) providing the user terminal with a search result performed on the query in step (b1) or step (c)
Semantic search providing method comprising a.
상기 (c) 단계에서, 상기 질의어에 대한 키워드 검색 결과가 미리 설정된 기준에 해당하지 않는 경우, 상기 질의어에 대하여 온톨로지(ontology)를 이용한 의미 기반 검색을 수행하는 것인 시맨틱 검색 제공 방법.
The method of claim 1,
In step (c), if the keyword search result for the query does not correspond to a preset criterion, the semantic search providing method of performing a semantic based search using an ontology on the query.
상기 (c) 단계에서, 상기 질의어에 대한 키워드 검색 결과의 개수가 미리 설정된 기준 값 미만인 경우, 상기 키워드 검색 결과가 미리 설정된 기준에 해당하지 않는 것으로 판단되는 것인 시맨틱 검색 제공 방법.
3. The method of claim 2,
In the step (c), if the number of keyword search results for the query is less than a predetermined reference value, it is determined that the keyword search results do not correspond to a predetermined criterion.
상기 (c) 단계는,
(c1) 상기 질의어에 매칭되는 미리 저장된 시맨틱 질의어가 자동 완성 문장 데이터베이스에 존재하는 경우, 상기 시맨틱 질의어에 매칭되도록 미리 설정된 의미 기반 검색용 질의문에 기초하여 상기 질의어에 대한 온톨로지를 이용한 의미 기반 검색을 수행하는 단계
를 포함하는 것인 시맨틱 검색 제공 방법.
3. The method of claim 2,
The step (c)
(c1) when a pre-stored semantic query word matching the query word exists in an autocomplete sentence database, a semantic based search using an ontology of the query word is performed based on a semantic search word set in advance to match the semantic query word. Steps to perform
How to provide a semantic search.
상기 (c) 단계는,
(c2) 상기 키워드 검색 및 상기 미리 설정된 의미 기반 검색용 질의문에 기초한 의미 기반 검색의 결과가 미리 설정된 기준에 해당하지 않는 경우, 상기 질의어를 해석하여 상기 질의어로부터 개체명(named entity, NE)을 추출하는 단계,
(c3) 상기 추출한 개체명(NE)에 기초하여 의미 기반 검색용 질의문을 생성하는 단계 및
(c4) 상기 생성한 의미 기반 검색용 질의문에 기초하여 상기 질의어에 대한 온톨로지를 이용한 의미 기반 검색을 수행하는 단계
를 더 포함하는 것인 시맨틱 검색 제공 방법.
5. The method of claim 4,
The step (c)
(c2) when the result of the keyword search and the semantic-based search based on the preset semantic-based search query does not correspond to a preset criterion, the query is interpreted to obtain a named entity (NE) from the query. Extracting step,
(c3) generating a query for meaning-based search based on the extracted entity name (NE); and
(c4) performing a semantic based search using an ontology for the query based on the generated semantic based search query
The semantic search providing method further comprising.
상기 (c) 단계는,
(c5) 상기 질의어에 매칭되는 미리 저장된 시맨틱 질의어가 자동 완성 문장 데이터베이스에 존재하지 않는 경우, 상기 질의어를 해석하여 상기 질의어로부터 개체명(named entity, NE)을 추출하는 단계,
(c6) 상기 추출한 개체명(NE)에 기초하여 의미 기반 검색용 질의문을 생성하는 단계 및
(c7) 상기 생성한 의미 기반 검색용 질의문에 기초하여 상기 질의어에 대한 온톨로지를 이용한 의미 기반 검색을 수행하는 단계
를 포함하는 것인 시맨틱 검색 제공 방법.
3. The method of claim 2,
The step (c)
(c5) if no pre-stored semantic query word matching the query word exists in the autocomplete sentence database, extracting a named entity (NE) from the query word by analyzing the query word;
(c6) generating a query for meaning-based search based on the extracted entity name (NE); and
(c7) performing a semantic based search using an ontology for the query based on the generated semantic based search query
How to provide a semantic search.
상기 (b1) 단계는,
상기 자동 완성 문장이 상기 자동 완성 문장에 포함된 단어에 의해 지시되는 대상의 명칭을 나타내는 경우, 상기 명칭에 기초하여 키워드 검색을 수행하는 것인 시맨틱 검색 제공 방법.
The method of claim 1,
Step (b1),
And if the autocomplete sentence indicates a name of an object indicated by a word included in the autocomplete sentence, performing a keyword search based on the name.
상기 (b1) 단계는,
상기 자동 완성 문장이 시맨틱 질의어에 해당하는 경우, 상기 자동 완성 문장에 매칭되어 미리 설정된 의미 기반 검색용 질의문에 기초하여 상기 자동 완성 문장에 대한 온톨로지(ontology)를 이용한 의미 기반 검색을 수행하는 것인 시맨틱 검색 제공 방법.
The method of claim 1,
Step (b1),
When the autocomplete sentence corresponds to a semantic query, a semantic based search using ontology on the autocomplete sentence is performed based on a preset semantic based search query matched with the autocomplete sentence. How to provide semantic search.
사용자 단말로부터 질의어를 수신하는 질의어 입력 수신부,
상기 사용자 단말로부터 수신하는 질의어에 매칭되는 자동 완성 문장의 목록을 자동 완성 문장 데이터베이스부터 검색하여 상기 사용자 단말에 제공하는 자동 완성 문장 제공부,
상기 사용자로부터 수신한 질의어가 상기 자동 완성 문장 제공부에 의해 제공된 자동 완성 문장의 목록으로부터 선택된 것인 경우, 상기 자동 완성 문장의 속성에 기초하여 상기 자동 완성 문장에 대하여 키워드 검색 또는 의미 기반 검색을 선택적으로 수행하는 자동 완성 문장 처리부,
상기 사용자 단말로부터 수신한 질의어가 상기 자동 완성 문장 제공부에 의해 제공된 자동 완성 문장의 목록으로부터 선택된 것이 아닌 경우, 상기 질의어에 대한 검색 결과에 기초하여 키워드 검색 및 온톨로지(ontology)를 이용한 의미 기반 검색을 순차적으로 수행하는 자유 질의어 처리부 및
상기 자동 완성 문장 처리부 또는 상기 자유 질의어 처리부에 의해 상기 질의어에 대해 수행된 검색 결과를 상기 사용자 단말에 제공하는 응답 제공부
를 포함하는 시맨틱 검색 시스템.
In the hybrid semantic search system,
Query input receiver for receiving a query from the user terminal,
An autocomplete sentence providing unit for searching for a list of autocomplete sentences matching the query received from the user terminal from an autocomplete sentence database and providing the list to the user terminal;
If the query received from the user is selected from a list of autocomplete sentences provided by the autocomplete sentence providing unit, select a keyword search or a semantic based search for the autocomplete sentences based on the attributes of the autocomplete sentences. Autocomplete sentence processing unit to perform,
If the query received from the user terminal is not selected from the list of the autocomplete sentences provided by the autocomplete sentence providing unit, the keyword search and the semantic based search using ontology are performed based on the search result for the query. Free query processing unit to perform sequentially and
A response providing unit providing the user terminal with a search result performed on the query by the automatic completion sentence processing unit or the free query processing unit;
Semantic search system comprising a.
상기 자유 질의어 처리부는
상기 질의어에 포함된 단어에 기초하여 키워드 검색을 수행하는 키워드 인덱싱 검색부,
상기 키워드 인덱싱 검색부에 의한 키워드 검색 결과의 개수가 미리 설정된 기준 값 미만인 경우, 상기 질의어에 매칭되어 저장된 의미 기반 검색용 질의문에 기초하여 상기 질의어에 대한 온톨로지를 이용한 의미 기반 검색을 수행하는 제 1 의미 기반 검색부 및
상기 질의어에 매칭되어 저장된 의미 기반 검색용 질의문이 존재하지 않는 경우, 상기 질의어를 분석하여 의미 기반 검색용 질의문을 생성하고, 상기 생성한 의미 기반 검색용 질의문에 기초하여 상기 질의어에 대한 온톨로지를 이용한 의미 기반 검색을 수행하는 제 2 의미 기반 검색부
를 포함하는 것인 시맨틱 검색 시스템.
The method of claim 11,
The free query processing unit
A keyword indexing search unit that performs a keyword search based on the words included in the query word,
When the number of keyword search results by the keyword indexing search unit is less than a preset reference value, performing a semantic based search using an ontology of the query based on the semantic based search query matched with the query and stored; A semantic search
When there is no semantic-based search query stored in accordance with the query, the semantic-based search query is generated by analyzing the query, and an ontology for the query is based on the generated semantic-based search query. Semantic based retrieval unit performing semantic based retrieval using
The semantic search system that includes.
상기 제 1 의미 기반 검색부는 상기 질의어에 매칭되는 자동 완성 문장을 상기 자동 완성 문장 데이터베이스로부터 획득하고, 상기 획득된 자동 완성 문장에 매칭되는 의미 기반 검색용 질의문을 획득하여 상기 질의어에 대한 의미 기반 검색을 수행하는 것인 시맨틱 검색 시스템.
13. The method of claim 12,
The first semantic based searcher obtains an autocomplete sentence matching the query from the autocomplete sentence database, and obtains a semantic based search query matching the obtained autocomplete sentence, thereby searching for the semantic based on the query. To perform the semantic search system.
상기 제 2 의미 기반 검색부는 상기 질의어로부터 개체명(named entity, NE)을 추출하고, 상기 추출한 개체명(NE)에 기초하여 상기 의미 검색용 질의문을 생성하는 것인 시맨틱 검색 시스템.
13. The method of claim 12,
And the second semantic based searcher extracts a named entity (NE) from the query and generates the semantic search query based on the extracted entity name (NE).
상기 자동 완성 문장 처리부는 특정 명칭을 나타내는 자동 완성 문장에 대하여 키워드 검색을 수행하는 것인 시맨틱 검색 시스템.
The method of claim 11,
And the automatic completion sentence processing unit performs a keyword search on the automatic completion sentence indicating a specific name.
상기 자동 완성 문장 처리부는 의미 해석이 요구되는 자동 완성 문장에 대하여 상기 자동 완성 문장에 매칭되어 저장된 의미 기반 검색용 질의문에 기초하여 상기 자동 완성 문장에 대한 온톨로지를 이용한 의미 기반 검색을 수행하는 것인 검색 시스템.The method of claim 11,
The autocomplete sentence processing unit performs a semantic based search using an ontology for the autocomplete sentence based on a semantic based search query sentence matched with the autocomplete sentence and stored for the autocomplete sentence requiring semantic interpretation. Search system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100114427A KR101369931B1 (en) | 2010-11-17 | 2010-11-17 | System and method for hybrid semantic searching service |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100114427A KR101369931B1 (en) | 2010-11-17 | 2010-11-17 | System and method for hybrid semantic searching service |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120053253A KR20120053253A (en) | 2012-05-25 |
KR101369931B1 true KR101369931B1 (en) | 2014-03-04 |
Family
ID=46269510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100114427A KR101369931B1 (en) | 2010-11-17 | 2010-11-17 | System and method for hybrid semantic searching service |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101369931B1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014039106A1 (en) * | 2012-09-10 | 2014-03-13 | Google Inc. | Answering questions using environmental context |
KR20140109729A (en) | 2013-03-06 | 2014-09-16 | 한국전자통신연구원 | System for searching semantic and searching method thereof |
KR101662450B1 (en) * | 2015-05-29 | 2016-10-05 | 포항공과대학교 산학협력단 | Multi-source hybrid question answering method and system thereof |
CN110516226A (en) * | 2018-05-22 | 2019-11-29 | 广东神马搜索科技有限公司 | Search statement processing method, device and server |
CN112800314B (en) * | 2021-01-26 | 2023-06-02 | 浙江香侬慧语科技有限责任公司 | Method, system, storage medium and equipment for search engine query automatic completion |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10162008A (en) * | 1996-11-28 | 1998-06-19 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for information retrieval |
US20100070517A1 (en) | 2008-09-17 | 2010-03-18 | Oracle International Corporation | System and Method for Semantic Search in an Enterprise Application |
KR20110127862A (en) * | 2010-05-20 | 2011-11-28 | 주식회사 케이티 | Method and system of providing automatically completed query for contents search |
-
2010
- 2010-11-17 KR KR1020100114427A patent/KR101369931B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10162008A (en) * | 1996-11-28 | 1998-06-19 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for information retrieval |
US20100070517A1 (en) | 2008-09-17 | 2010-03-18 | Oracle International Corporation | System and Method for Semantic Search in an Enterprise Application |
KR20110127862A (en) * | 2010-05-20 | 2011-11-28 | 주식회사 케이티 | Method and system of providing automatically completed query for contents search |
Also Published As
Publication number | Publication date |
---|---|
KR20120053253A (en) | 2012-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7371155B2 (en) | Disambiguating user intent in conversational interactions | |
US10949453B2 (en) | Method for adaptive conversation state management with filtering operators applied dynamically as part of a conversational interface | |
JP5909271B2 (en) | Associating alternative queries before search query completion | |
JP6838098B2 (en) | Knowledge panel contextualizing | |
US7890516B2 (en) | Recommending queries when searching against keywords | |
US9892208B2 (en) | Entity and attribute resolution in conversational applications | |
US7672932B2 (en) | Speculative search result based on a not-yet-submitted search query | |
US10289717B2 (en) | Semantic search apparatus and method using mobile terminal | |
JP6014725B2 (en) | Retrieval and information providing method and system for single / multi-sentence natural language queries | |
JP4953468B2 (en) | Method and apparatus for ontology data import / export | |
US20100191758A1 (en) | System and method for improved search relevance using proximity boosting | |
US20110202526A1 (en) | Semantic search system using semantic ranking scheme | |
US10445367B2 (en) | Search engine for textual content and non-textual content | |
JP2010170529A (en) | Method and system for object classification | |
JP2015511746A5 (en) | ||
KR101369931B1 (en) | System and method for hybrid semantic searching service | |
US9424353B2 (en) | Related entities | |
WO2017161749A1 (en) | Method and device for information matching | |
US8019772B2 (en) | Computer method and apparatus for tag pre-search in social software | |
KR101654151B1 (en) | Method and system of providing automatically completed query for contents search | |
JP2018504686A (en) | Method and apparatus for processing search data | |
US9547701B2 (en) | Method of discovering and exploring feature knowledge | |
Ramachandran et al. | Belief tracking with stacked relational trees | |
KR20140094994A (en) | A method and system and computer device for providing non-ephemeral search | |
Tekli et al. | Upgraded semindex prototype supporting intelligent database keyword queries through disambiguation, query as you type, and parallel search algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170203 Year of fee payment: 4 |