KR102473155B1 - Method for providing interactive information service and apparatus therefor - Google Patents
Method for providing interactive information service and apparatus therefor Download PDFInfo
- Publication number
- KR102473155B1 KR102473155B1 KR1020160006090A KR20160006090A KR102473155B1 KR 102473155 B1 KR102473155 B1 KR 102473155B1 KR 1020160006090 A KR1020160006090 A KR 1020160006090A KR 20160006090 A KR20160006090 A KR 20160006090A KR 102473155 B1 KR102473155 B1 KR 102473155B1
- Authority
- KR
- South Korea
- Prior art keywords
- question
- cluster
- clusters
- information
- sub
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3338—Query expansion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/30—Transportation; Communications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Physiology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
Abstract
본 발명은 대화형 질문에 대한 사용자의 선택 응답 정보를 기초로 사용자에게 검색된 정보를 제공하는 대화형 정보 제공 서비스 방법 및 이를 위한 장치에 관한 것이다. 본 발명에 따른 정보 제공 장치는, 질문별로 정의된 속성정보를 기초로, 질문 트리를 생성하는 트리 생성부; 사용자 단말로부터 대화형 정보 제공 서비스를 요청받으면, 상기 질문 트리에 형성된 계층적인 질문을 상기 사용자 단말로 순차적으로 제공하되, 질문에 대한 응답 정보에 근거하여 다음 레벨의 하위 질문을 선택하여 상기 사용자 단말로 전송하는 질문 제공부; 및 최종 질문에 대한 응답 정보가 상기 사용자 단말로부터 수신되면, 상기 최종 질문의 응답 정보와 대응되는 정보를 추출하여 상기 사용자 단말로 제공하는 정보 제공부를 포함한다.The present invention relates to an interactive information providing service method and apparatus for providing searched information to a user based on user selection response information for an interactive question. An information providing apparatus according to the present invention includes a tree generator for generating a question tree based on attribute information defined for each question; When an interactive information providing service is requested from a user terminal, hierarchical questions formed in the question tree are sequentially provided to the user terminal, but a sub-question of the next level is selected based on response information to the question and sent to the user terminal. a question providing unit to transmit; and an information providing unit extracting information corresponding to the response information of the final question and providing the extracted information to the user terminal when response information to the final question is received from the user terminal.
Description
본 발명은 정보 제공 서비스 방법에 관한 것으로서, 더욱 상세하게는 대화형 질문에 대한 사용자의 선택 응답 정보를 기초로 사용자에게 검색된 정보를 제공하는 대화형 정보 제공 서비스 방법 및 이를 위한 장치에 관한 것이다. The present invention relates to an information providing service method, and more particularly, to an interactive information providing service method and apparatus for providing searched information to a user based on user selection response information for an interactive question.
오늘날 통신기기와 이동통신망의 발전으로 인하여, 방대한 데이터가 인터넷 상에 존재하고 있으며, 사용자들은 검색 기능을 통해서 원하는 정보를 취득하기도 한다. Today, due to the development of communication devices and mobile communication networks, a vast amount of data exists on the Internet, and users sometimes acquire desired information through a search function.
하지만 이러한 수동적은 검색 방법은 각 사용자들에 검색 능력에 의해 편차가 발생하는 것으로서, 검색 능력이 좋은 사용자는 원하는 정보를 바로 획득하기도 하며 검색 능력이 떨어지는 사용자는 장시간에 거쳐 원하는 정보를 획득하기도 한다.However, in this passive search method, deviations occur depending on the search ability of each user. Users with good search ability may obtain desired information immediately, and users with poor search ability may obtain desired information over a long period of time.
한편, 특정 카테고리 내에서 정보를 검색하여 사용자에게 제공하는 기술이 대두되었다. 아래의 특허문헌은 카테고리 식별자를 이용한 검색 방법 및 시스템에 대해서 개시한다.Meanwhile, a technology for searching for information within a specific category and providing it to a user has emerged. The following patent documents disclose a search method and system using a category identifier.
그러나 이러한 카테고리 기반의 정보 검색 방법도, 사용자가 적절한 키워드를 입력하여 검색하여만 정확한 정보가 사용자에게 제공되며, 키워드가 부적절한 경우에 부정확한 정보가 제공되는 문제점이 있다. 또한, 종래의 카테고리 기반의 정보 검색 방법은, 부정확한 정보가 검색된 경우 계속적으로 키워드를 바꿔가며 검색해야 되는 불편함이 수반되는 문제점도 있다.However, this category-based information search method also has a problem in that accurate information is provided to the user only when the user inputs an appropriate keyword and inaccurate information is provided when the keyword is inappropriate. In addition, the conventional category-based information search method has a problem accompanied by the inconvenience of continuously changing keywords when inaccurate information is searched for.
본 발명은 이러한 종래의 문제점을 해결하기 위하여 제안된 것으로, 사용하기 편리하고 정확한 검색 정보를 사용자에게 제공할 수 있는 대화형 정보 제공 서비스 방법 및 이를 위한 장치를 제공하는데 그 목적이 있다.The present invention has been proposed to solve these conventional problems, and an object of the present invention is to provide an interactive information providing service method and apparatus capable of providing user with convenient and accurate search information.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the examples of the present invention. It will also be readily apparent that the objects and advantages of the present invention may be realized by means of the instrumentalities and combinations indicated in the claims.
상기 목적을 달성하기 위한 본 발명의 제 1 측면에 따른 정보 제공 장치는, 질문별로 정의된 속성정보를 기초로, 질문 트리를 생성하는 트리 생성부; 사용자 단말로부터 대화형 정보 제공 서비스를 요청받으면, 상기 질문 트리에 형성된 계층적인 질문을 상기 사용자 단말로 순차적으로 제공하되, 질문에 대한 응답 정보에 근거하여 다음 레벨의 하위 질문을 선택하여 상기 사용자 단말로 전송하는 질문 제공부; 및 최종 질문에 대한 응답 정보가 상기 사용자 단말로부터 수신되면, 상기 최종 질문의 응답 정보와 대응되는 정보를 추출하여 상기 사용자 단말로 제공하는 정보 제공부를 포함하는 것을 특징으로 한다.An information providing apparatus according to a first aspect of the present invention for achieving the above object includes a tree generator for generating a question tree based on attribute information defined for each question; When an interactive information providing service is requested from a user terminal, hierarchical questions formed in the question tree are sequentially provided to the user terminal, but a sub-question of the next level is selected based on response information to the question and sent to the user terminal. a question providing unit to transmit; and an information providing unit extracting information corresponding to the response information of the final question and providing the extracted information to the user terminal when response information to the final question is received from the user terminal.
상기 목적을 달성하기 위한 본 발명의 제 2 측면에 따른 정보 제공 장치에서 대화형 정보 제공 서비스를 수행하는 방법은, 질문별로 정의된 속성정보를 기초로, 질문 트리를 생성하는 단계; 사용자 단말로부터 대화형 정보 제공 서비스를 요청받는 단계; 상기 질문 트리에 형성된 계층적인 질문을 상기 사용자 단말로 순차적으로 제공하되, 질문에 대한 응답 정보에 근거하여 다음 레벨의 하위 질문을 선택하여 상기 사용자 단말로 전송하는 단계; 및 최종 질문에 대한 응답 정보가 상기 사용자 단말로부터 수신되면, 상기 최종 질문의 응답 정보와 대응되는 정보를 추출하여 상기 사용자 단말로 제공하는 단계를 포함하는 것을 특징으로 한다.To achieve the above object, a method for performing an interactive information providing service in an information providing apparatus according to a second aspect of the present invention includes generating a question tree based on attribute information defined for each question; Receiving a request for an interactive information providing service from a user terminal; sequentially providing hierarchical questions formed in the question tree to the user terminal, selecting a sub-question of a next level based on response information to the question, and transmitting the selected sub-question to the user terminal; and when response information to the final question is received from the user terminal, extracting information corresponding to the response information to the final question and providing the extracted information to the user terminal.
본 발명은 복수의 선택형 질문에 대한 사용자의 응답 정보를 기초로, 데이터를 추출하여 사용자에게 제공함으로써, 정보 검색시에 편의성을 향상시키는 장점이 있다.The present invention has an advantage of improving convenience when searching for information by extracting data based on user response information to a plurality of multiple-choice questions and providing the extracted data to the user.
또한, 본 발명은 질문의 속성정보를 토대로 질문 트리를 생생하고, 이 질문 트리에 기초하여 연관관계가 높은 질문을 순차적으로 사용자에게 제공하고, 질문에 대한 사용자의 선택 응답을 기초로 정보를 사용자에게 제공하기 때문에, 사용자가 요구하는 정보를 정확하게 검색할 수 있는 효과가 있다.In addition, the present invention creates a question tree based on the attribute information of the question, sequentially provides questions with a high correlation to the user based on the question tree, and provides information to the user based on the user's selection response to the question. Since it is provided, there is an effect that the user can accurately search for the requested information.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른, 통신 시스템을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른, 정보 제공 장치의 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른, 속성정보를 포함하는 질문을 예시하는 도면이다.
도 4는 본 발명의 일 실시예에 따른, 정보 제공 장치에서 질문 트리를 생성하는 방법을 설명하는 흐름도이다.
도 5는 질문이 이분 군집되는 과정을 예시적으로 나타내는 도면이다.
도 6은 질문 트리가 생성되는 과정을 예시적으로 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른, 질문 트리를 토대로 대화형 정보 제공 서비스를 사용자에게 제공하는 방법을 설명하는 흐름도이다.The following drawings attached to this specification illustrate preferred embodiments of the present invention, and serve to further understand the technical idea of the present invention together with specific details for carrying out the invention, so the present invention is described in such drawings should not be construed as limited to
1 is a diagram illustrating a communication system according to an embodiment of the present invention.
2 is a diagram showing the configuration of an information providing device according to an embodiment of the present invention.
3 is a diagram illustrating a question including attribute information according to an embodiment of the present invention.
4 is a flowchart illustrating a method of generating a question tree in an information providing apparatus according to an embodiment of the present invention.
5 is a diagram illustratively illustrating a process of bipartite clustering of questions.
6 is a diagram illustrating a process of generating a question tree by way of example.
7 is a flowchart illustrating a method of providing an interactive information providing service to a user based on a question tree according to an embodiment of the present invention.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.The above-described objects, features and advantages will become more apparent through the following detailed description in conjunction with the accompanying drawings, and accordingly, those skilled in the art to which the present invention belongs can easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, if it is determined that a detailed description of a known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른, 통신 시스템을 나타내는 도면이다.1 is a diagram illustrating a communication system according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 통신 시스템은 사용자 단말(100) 및 정보 제공 장치(200)를 포함하여, 상기 사용자 단말(100)과 정보 제공 장치(200)는 네트워크(300)를 통해서 서로 통신한다. 상기 네트워크(300)는 이동통신망과 유선 인터넷망을 포함하는 것으로서, 본 발명의 주지의 관용 기술에 해당하므로 자세한 설명은 생략한다.As shown in FIG. 1, the communication system according to an embodiment of the present invention includes a
사용자 단말(100)은 사용자가 소지한 통신 장치로서, 정보 제공 장치(200)와 접속하여 대화형 정보 서비스를 제공받는다. 특히, 사용자 단말(100)은 정보 제공 장치(200)로 접속하여, 선택형 질문을 순차적으로 수신하고, 각각의 선택형 질문에 응답하여, 해당 응답에 부합되는 데이터 그룹을 정보 제공 장치(200)로부터 수신한다. 상기 선택형 질문은 복수의 선택 정보가 포함된 다지선다형, 네(yes)와 아니오(no) 중에서 어느 하나를 선택할 수 있는 양자택지형 등의 객관식 유형의 질문이다. 또한, 데이터 그룹은 하나의 이상의 데이터가 집합된 정보로서, 예컨대, 용도에 따라 API(application programming interface)가 집합된 API 데이터 그룹, 부서별로 구분된 부서 데이터 그룹, 여행지에 따라 구분된 여행지 데이터 그룹 등이다. 상기 사용자 단말(100)은 스마트폰 등과 같은 이동통신단말, 데스크톱 컴퓨터 등과 같은 개인용 컴퓨터 등이 채택될 수 있다. The
정보 제공 장치(200)는 속성정보가 정의되며 인코딩 정보가 할당된 질문 및 이 질문과 대응되는 데이터 그룹을 데이터 유형별로 구분하여 저장한다. 또한, 정보 제공 장치(200)는 유전자 알고리즘을 이용하여 각 질문을 최적 군집으로 분리하고, 상기 분리된 군집을 토대로 데이터 유형별 질문 트리를 생성한다. The
상기 유전자 알고리즘은, 자연의 진화 과정을 토대로 개발된 계산 모델로서, 최적의 해를 도출하기 위하여 사용되는 기법 중의 하나이다. 상기 유전자 알고리즘은 선택 연산, 교배 연산 및 돌연변이 연산을 거쳐서, 특정 문제에 대한 최적의 해를 도출한다. 본 발명의 실시예서는, 정보 제공 장치(200)가 각 질문을 노드로서 설정하고, 각 질문에 할당된 인코딩 정보를 이용하여 질문을 선택 연산, 교배 연산, 돌연변이 연산 및 적합도 평가를 반복적으로 수행하면서, 각 질문을 일정 개수의 최적 군집으로 분리한다. 여기서, 인코딩 정보는, 각 질문에 할당한 일정 자릿수의 식별정보를 나타내는 것으로서, 유전자 알고리즘에서의 유전자 정보(예컨대, 염색체 정보)와 대응되며, 사전에 생성되어 각 질문에 할당된다. 상기 인코딩 정보에는 10진수에 해당하는 일정 자릿수의 숫자가 기록된다. 선택적으로, 상기 인코딩 정보에는 2진수, 8진수, 16진수 등과 같은 다양한 형식의 데이터가 기록될 수도 있다.The genetic algorithm is a calculation model developed based on the natural evolutionary process and is one of the techniques used to derive an optimal solution. The genetic algorithm derives an optimal solution for a specific problem through selection operation, crossover operation, and mutation operation. In an embodiment of the present invention, while the
상기 정보 제공 장치(200)는 사용자 단말(100)로 질문을 제공하고, 사용자 단말(100)에서 선택한 응답 정보에 근거하여, 연관되는 또 다른 질문을 계속적으로 제공한 후, 최종적인 질문의 응답 정보와 대응되는 정보를 추출하여 사용자 단말(100)로 제공한다. 정보 제공 장치(200)는 API 데이터 그룹, 부서별로 구분된 부서 데이터 그룹, 여행지에 따라 구분된 여행지 데이터 그룹 등 중에서 어느 하나를 정보로서 사용자 단말(100)로 제공할 수 있다.The
도 2는 본 발명의 일 실시예에 따른, 정보 제공 장치의 구성을 나타내는 도면이다.2 is a diagram showing the configuration of an information providing device according to an embodiment of the present invention.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 정보 제공 장치(200)는 질문 제공부(210), 저장부(220), 트리 생성부(230) 및 정보 제공부(240)를 포함하며, 이러한 구성요소들은 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어와 소프트웨어의 결합을 통해서 구현될 수 있다.As shown in FIG. 2 , the
질문 제공부(210)는 트리 생성부(230)에 형성한 질문 트리를 토대로, 다수의 선택지와 질문 사항이 포함된 질문을 사용자 단말(100)로 제공하는 기능을 수행한다. 상기 질문 제공부(210)는 최초 질문으로서 루트 로드에 해당하는 질문을 사용자 단말(100)로 제공한다. 또한, 질문 제공부(210)는 사용자 단말(100)의 선택 응답 정보에 근거하여, 현재 질문 노드의 자식 노드 중에서 상기 선택 응답 정보에 대응되는 자식 노드의 질문을 추출하여 사용자 단말(100)로 제공한다.The
저장부(220)는 메모리, 디스크 장치 등과 같은 저장 매체로서 각 데이터 유형에 대한 복수의 선택형 질문을 저장하고, 또한 질문과 대응되는 정보(즉, 데이터 그룹)를 저장한다. 또한, 저장부(220)는 데이터 유형별 질문 트리를 저장한다. 상기 질문에는 속성정보가 정의되고 있고 인코딩 정보가 할당되어 있으며, 복수의 선택지 정보가 질문에 포함된다. 또한, 상기 속성정보에는 데이터 그룹별 연관성 여부에 대한 정보가 기록된다. 상기 속성정보는 군집 분리의 적합도를 산출하는데 이용된다.The
도 3은 본 발명의 일 실시예에 따른, 속성정보를 포함하는 질문을 예시하는 도면이다. 3 is a diagram illustrating a question including attribute information according to an embodiment of the present invention.
도 3을 참조하여 예를 들어 설명하면, 질문에는 다차원 좌표 형태의 속성정보가 포함된다. 예컨대, "육상 교통과 관련 있습니까?"의 질문에는 (1,1,1,1,1,1,1,1,1,0,0,0,0)의 속성정보가 포함되며, "해상 교통과 관련 있습니까?'의 질문에는 (0,0,0,0,0,0,0,0,0,1,0,0,0)의 속성정보가 포함된다. 각각의 속성정보는 다차원 좌표값으로 표현되며, 세부 값으로서 '0' 또는 '1'이 기록된다. 여기서, '1'은 해당 데이터 그룹과 관련성이 있음을 나타내는 플래그 정보이고, '0'은 해당 데이터 그룹과 관련성이 없음을 나타내는 플래그 정보이다. 도 3의 "해상 교통과 관련 있습니까?'의 질문에 포함된 속성정보에 따르면, 상기 질문은 "선박운항" 데이터 그룹과 관련성이 있으며, 이 외의 데이터 그룹과는 관련성이 없다.Referring to FIG. 3 as an example, the question includes attribute information in the form of multi-dimensional coordinates. For example, the question “Is it related to land transportation?” includes attribute information of (1,1,1,1,1,1,1,1,1,0,0,0,0), and “Is it related to sea transportation?” Do you have it?' includes attribute information of (0,0,0,0,0,0,0,0,0,1,0,0,0) Each attribute information is expressed as a multidimensional coordinate value '0' or '1' is recorded as a detailed value, where '1' is flag information indicating that it is related to the corresponding data group, and '0' is flag information indicating that it is not related to the corresponding data group. According to the attribute information included in the question "Is it related to maritime traffic?" in Fig. 3, the question is related to the "ship operation" data group and has no relation to other data groups.
트리 생성부(230)는 유전자 알고리즘을 이용하여 각 질문을 일정 개수의 최적 군집으로 분리하고, 이 분리된 군집을 토대로 데이터 유형별 질문 트리를 생성하여 저장부(220)에 저장하는 기능을 수행한다. 즉, 트리 생성부(230)는 유전자 알고리즘을 이용하여, 질문의 연관성에 따라 계층적인 구조 가지는 질문 트리를 생성하여 저장부(220)에 저장한다.The
구체적으로, 트리 생성부(230)는 질문의 속성정보, 질문의 인코딩 정보 등의 인자를 토대로, 복수의 질문을 일정 개수의 최적 군집으로 초기 분리한다. 이때, 트리 생성부(230)는 질문들을 일정 개수의 임의의 군집으로 분리하고, 후술하는 수학식 1과 2를 이용하여 군집에 대한 내부 유사성과 외부 유사성을 산출하고, 상기 내부 유사성과 내부 유사성이 곱해진 최종 유사성이 산출하고 나서, 최종 유사성이 수렴될 때까지 선택 연산, 교배 연산, 돌연변이 연산 및 적합도 평가(즉, 최종 유사성 수렴 평가)를 반복하여, 질문들을 최적의 군집으로 초기 분리한다. Specifically, the
상기 선택 연산은 질문 중에서 교배(crossover) 대상이 되는 질문을 선택하는 것으서, 균등 비례 룰렛 휠 선택 기법, 토너먼트 선택 기법, 순위 기반 선택 기법 등이 이용될 수 있다. 상기 교배(crossover) 연산은 선택된 질문들을 교배하여 새로운 객체(즉, 인코딩 정보)를 생성하는 과정으로서, 교배되어 생성된 새로운 객체에는 부모의 유전자(즉, 인코딩 정보의 일부)가 상속된다. 상기 교배 연산에서는, 싸이클 교차 연산, 순서 교차 연산, 산술적 교차 연산, 휴리스틱 교차 연산 등이 이용될 수 있다. 상기 돌연변이 연산은, 새롭게 생성된 객체의 인코딩 정보의 일부 데이터를, 부모(즉, 선택 연산에서 선택되어진 질문)로부터 상속되지 않은 데이터(즉, 숫자)로 변경함으로써, 돌연변이 객체를 도출하는 과정을 나타낸다. 상기 변경하고자 하는 데이터를 난수 생성기를 통해서 생성될 수 있다.The selection operation selects a crossover target question among questions, and an equal proportional roulette wheel selection method, a tournament selection method, a rank-based selection method, and the like may be used. The crossover operation is a process of generating a new object (ie, encoding information) by crossing selected questions, and the gene (ie, part of the encoding information) of a parent is inherited by the new object created through crossing over. In the crossing operation, a cycle crossing operation, an order crossing operation, an arithmetic intersection operation, a heuristic intersection operation, and the like may be used. The mutation operation represents a process of deriving a mutant object by changing some data of the encoding information of a newly created object to data (ie, a number) not inherited from a parent (ie, a question selected in the selection operation). . The data to be changed may be generated through a random number generator.
이렇게 돌연변이 연산이 완료된 객체(즉, 인코딩 정보)는 특정 질문지의 인코딩 정보로 변경된다. 이때, 트리 생성부(230)는 돌연변이 연산이 완료된 객체와 가장 유사한 인코딩 정보를 가지는 질문을 확인하고, 이 질문의 인코딩 정보를 상기 돌연변이 완료된 인코딩 정보로 변경할 수 있다.The object for which the mutation operation has been completed (ie, encoding information) is changed to the encoding information of a specific questionnaire. At this time, the
상기 선택 연산, 교배 연산, 돌연변이 연산에 따른 1 사이클이 완료되면, 특정 질문의 인코딩 정보가 갱신된다. 그러면, 트리 생성부(230)는 현재 분리된 군집에 속하는 질문의 속성정보를 수학식 1, 수학식 2에 대입하여, 현재 분리된 군집의 최종 유사성을 산출하고, 이 유사성이 수렴되고 있는지 여부를 판별하여, 수렴되고 있으면 현재 분리된 군집을 최적의 군집인 것으로 판별하고 군집 분리를 중단한다.When one cycle according to the selection operation, crossover operation, and mutation operation is completed, encoding information of a specific question is updated. Then, the
트리 생성부(230)는 최적의 군집이 초기에 분리되면, 제1군집의 중심값과 가까운 거리에 해당하는 속성정보를 가지는 질문을 루트 로드로 생성한다. 또한, 트리 생성부(230)는 초기에 분리된 제2군집에서 포함된 특정 질문을 상기 루트 로드의 제2자식 노드로 생성한다. 이때, 트리 생성부(230)는 제2군집의 중심값과 가장 가까운 거리에 해당하는 속성정보를 가지는 질문을 상기 루트 로드의 제2자식 노드로 생성할 수 있다.When the optimal cluster is initially separated, the
또한, 트리 생성부(230)는 유전자 알고리즘의 선택 연산, 교배 연산 및 돌연변이 연산을 통해서, 분리된 제1군집과 제2군집 각각을 일정 개수의 서브 군집을 분리한다. 마찬가지로, 트리 생성부(230)는 최적으로 분리된 군집들을 임의의 서브 군집으로 분리하되, 상기 수학식 1과 2를 이용하여 서브 군집의 내부 유사성과 외부 유사성을 산출한 후, 내부 유사성과 외부 유사성이 곱해진 최종 유사성을 산출하고, 최종 유사성이 수렴될 때까지 유전자 알고리즘을 통한 군집 분리를 반복함으로써, 분리된 군집을 다시 최적의 서브 군집으로 각각 분리한다.In addition, the
트리 생성부(230)는 제1군집의 서브 군집 중에서 연관성 플래그(즉, '1')의 빈도가 가장 높은 서브 군집의 대표 질문(즉, 서브 군집의 중심값과 가장 가까운 거리에 해당하는 속성정보를 가지는 질문)을 루트 노드의 제1자식 노드(예컨대, 오른쪽 자식 노드)로 생성한다. 또한, 트리 생성부(230)는 제1군집의 서브 군집 중에서 연관성 플래그(즉, '0')의 빈도가 가장 낮은 서브 군집의 대표 질문(즉, 서브 군집의 중심값과 가장 가까운 거리에 해당하는 속성정보를 가지는 질문)을 상기 제1자식 노드의 자식 노드로 생성한다. 게다가, 트리 생성부(230)는 제2군집의 서브 군집 중에서 연관성 플래그(즉, '1')의 빈도가 가장 높은 서브 군집의 대표 질문을 제2자식 노드(예컨대, 오른쪽 자식 노드)의 자식 노드로 생성하고, 제1군집의 서브 군집 중에서 연관성 플래그(즉, '0')의 빈도가 낮은 서브 군집중의 대표 질문을 상기 제2자식 노드의 또 다른 자식 노드로 생성한다. The
이렇게 각각의 질문이 질문 트리에서 노드로 생성되기까지 서브 군집으로 분리하는 과정을 반복하면서, 상기 트리 생성부(230)는 부모 노드에 대한 자식 노드를 생성하는 과정을 계속적으로 진행한다.While repeating the process of dividing each question into sub-clusters until each question is generated as a node in the question tree, the
한편, 자식 노드의 개수의 질문의 선택 정보 개수와 대응되어 생성된다. 즉, '예'와 '아니오'와 같은 양자택일형 선택 정보를 가지는 질문인 경우에 자식 노드는 최대 두 개가 생성될 수 있으며, 선택 정보 개수를 3개인 질문인 경우에 자식 노드는 최대 세 개가 생성될 수 있다.Meanwhile, the number of child nodes is generated corresponding to the number of selection information of the question. That is, in the case of a question with either-or-type selection information such as 'yes' and 'no', a maximum of two child nodes can be generated, and in the case of a question with three selection information, a maximum of three child nodes can be generated. It can be.
정보 제공부(240)는 마지막 질문에 대한 응답 정보가 사용자 단말(100)로부터 수신되면, 상기 마지막 질문 및 응답 정보와 대응되는 정보(즉, 데이터 그룹)를 저장부(220)에 추출하여, 상기 정보를 사용자 단말(100)로 제공한다.When response information for the last question is received from the
도 4는 본 발명의 일 실시예에 따른, 정보 제공 장치에서 질문 트리를 생성하는 방법을 설명하는 흐름도이다.4 is a flowchart illustrating a method of generating a question tree in an information providing apparatus according to an embodiment of the present invention.
도 5는 질문이 이분 군집되는 과정을 예시적으로 나타내는 도면이다.5 is a diagram illustratively illustrating a process of bipartite clustering of questions.
도 6은 질문 트리가 생성되는 과정을 예시적으로 나타내는 도면이다.6 is a diagram illustrating a process of generating a question tree by way of example.
이하, 도 4와 도 6을 참조한 설명에서는, 질문이 양자택일형 질문이고 이에 따라 2진 트리가 형성되는 것으로 가정한다. 더불어, 부모 노드와 관련성이 높은 질문이 왼쪽 자식 노드(즉, 긍정 응답에 해당하는 자식 노드)에 생성되고, 관련성이 낮은 질문이 오른쪽 자식 노드(즉, 부정 응답에 해당하는 자식 노드)에 생성되는 것으로 가정한다.In the following description with reference to FIGS. 4 and 6 , it is assumed that the questions are either-or-type questions and thus a binary tree is formed. In addition, questions with high relevance to the parent node are created in the left child node (ie, child nodes corresponding to positive responses), and questions with low relevance are created in the right child node (ie, child nodes corresponding to negative responses). assume that
도 4 내지 도 6을 참조하면, 트리 생성부(230)는 유전자 알고리즘의 선택 연산, 교배 연산, 돌연변이 연산 및 적합도 평가를 통하여, 복수의 질문을 두 개의 최적 군집으로 초기 분리한다(S401). 상기 트리 생성부(230)는 각 질문에 할당된 인코딩 정보를 이용하여, 각 질문의 교배 연산과 돌연변이 연산을 수행한다. 또한, 트리 생성부(230)는 유전자 알고리즘을 이용하여 질문들을 임의의 두 개의 군집으로 분리하되, 아래의 수학식 1과 2를 이용하여 임의로 분리된 군집의 내부 유사성과 외부 유사성을 산출한 후, 상기 내부 유사성과 외부 유사성이 곱해진 최종 유사성이 수렴될 때까지 군집 분리를 반복 수행하여, 질문들을 최적의 이분 군집으로 초기 분리한다. 부연하면, 트리 생성부(230)는 각 질문에 할당된 인코딩 정보를 유전자 정보로서 이용하여 선택 연산, 교배 연산 및 돌연변이 연산을 수행하여 군집을 분리하고, 적합도 평가 지표로서 최종 유사성을 이용한다. Referring to FIGS. 4 to 6 , the
여기서, Fitintra는 내부 유사성을 의미하고, k는 군집 개수, Ck는 k번째의 군집의 중심값, Xi는 같은 군집에 속해 있는 i번째 질문의 속성정보(즉, 다차원 좌표값)을 나타낸다.Here, Fit intra means internal similarity, k is the number of clusters, C k is the center value of the k-th cluster, and X i represents the attribute information (ie, multi-dimensional coordinate values) of the i-th question belonging to the same cluster. .
여기서, Fitinter는 외부 유사성을 의미하고, k는 군집 개수, Ck는 k번째의 군집의 중심값, Xi는 타 군집 각각에 속해 있는 i번째 질문의 속성정보(즉, 다차원 좌표값), d는 최대 k값을 의미한다.Here, Fit inter means external similarity, k is the number of clusters, C k is the center value of the k-th cluster, X i is the attribute information of the i-th question belonging to each other cluster (i.e., multi-dimensional coordinate values), d means the maximum k value.
다음으로, 트리 생성부(230)는 복수의 질문들이 최적의 이분 군집으로 초기에 분리되면, 초기에 분리된 A 군집과 B 군집 중에서 어느 하나를 루트대상 군집으로 선정한다. 이때, 트리 생성부(230)는 속성정보에서 연관 플래그 정보 '1'의 빈도(즉, 1의 총 개수)가 많은 군집을 루트대상 군집으로 선정할 수도 있으며, 반대로 연관 플래그 정보 '0'의 빈도가 적은 군집을 루트대상 군집으로 선정할 수 있다. 도 4 내지 도 6을 참조한 설명에서는 A 군집이 루트대상 군집으로 선정된 것으로 설명된다.Next, when a plurality of questions are initially divided into optimal bipartite clusters, the
도 5는 다차원 질문들을 2차원으로 단순화시킨 도면으로서, X좌표 축을 기준으로 왼쪽으로 가까울수록 연관 플래그 정보 '1'의 빈도가 많아짐을 의미한다. 도 5를 참조하여 예를 들어 설명하면, 트리 생성부(230)는 총 7개의 질문에 대해서, 1번부터 4번까지의 질문을 A 군집으로 형성하고 있으며, 5번부터 7번까지의 질문을 B 군집으로 형성하여, 질문들을 2개의 군집으로 분리하며, 이 중에서 A 군집을 루트대상 군집으로 선정할 수 있다.5 is a diagram in which multi-dimensional questions are simplified into two dimensions, and it means that the frequency of the related flag information '1' increases as it is closer to the left with respect to the X coordinate axis. Referring to FIG. 5 as an example, the
이어서, 트리 생성부(230)는 선정된 루트대상 군집(즉, A 군집)의 중심값을 확인하고, 이 중심값과 가장 가까운 거리에 해당하는 속성정보(즉, 다차원 좌표정보)를 가지는 질문을 루트 로드로 생성한다(S403). 도 5의 (a)와 도 6의 (b)를 참조하면, 루트대상 군집인 A 군집의 중심값과 가장 가까운 3번 질문이 루트 로드로 생성된다.Subsequently, the
다음으로, 트리 생성부(230)는 루트대상 군집으로 선정되지 않은 B 군집의 중심값을 확인하고, 이 군집의 중심값과 가장 가까운 속성정보를 가지는 질문을 루트 노드의 제1오른쪽 자식 노드로 생성한다(S405). 여기서, 오른쪽 자식 노드는 부모 노드와 연관성이 낮은 노드로서, 부정 응답에 해당되는 질문 노드이다. 도 5의 (a)와 도 6의 (a)를 참조하면, 루트대상 군집으로 선정되지 않은 B 군집의 중심값과 가장 가까운 거리에 있는 7번 질문이 루트 로드의 오른쪽 자식 노드로 생성된다.Next, the
다음으로, 트리 생성부(230)는 유전자 알고리즘(즉, 선택 연산, 교배 연산, 돌연변이 연산)을 이용하여 초기 분리된 각 군집을 다시 두 개의 최적의 서브 군집을 각각 분리한다(S407). 이때, 트리 생성부(230)는 초기 분리된 군집을 두 개의 서브 군집으로 분리하되, 상기 수학식 1과 2를 이용하여 서브 군집의 내부 유사성과 외부 유사성을 산출하다. 그리고 트리 생성부(230)는 상기 내부 유사성과 외부 유사성이 곱해진 최종 유사성을 산출하여, 최종 유사성이 수렴될 때까지 유전자 알고리즘을 통한 군집 분리를 다시 실행하는 과정을 반복함으로써, 분리된 군집을 최적의 서브 군집으로 각각 분리한다.Next, the
이어서 트리 생성부(230)는 분리된 서브 군집에 포함된 질문들을 자식 노드로서 생성하는 프로세스를 진행한다(S409). 즉, 트리 생성부(230)는 루트 대상 군집에 포함되는 서브 군집(즉, A-1 군집과 A-2 군집) 중에서 연관성 플래그(즉, '1')의 빈도가 가장 높은 서브 군집을 확인하고, 이 서브 군집의 대표 질문(즉, 서브 군집의 중심값과 가장 가까운 거리에 해당하는 속성정보를 가지는 질문)을 루트 노드의 제1왼쪽 자식 노드로 생성한다. 또한, 루트 대상 군집에 포함되는 서브 군집 중에서 연관성 플래그(즉, '0')의 빈도가 낮은 서브 군집의 대표 질문(즉, 서브 군집의 중심값과 가장 가까운 거리에 해당하는 속성정보를 가지는 질문)을 상기 제1왼쪽 자식 노드의 오른쪽 자식 노드로 생성한다. 이때, 트리 생성부(230)는 노드로서 선정되지 않은 질문 중에서 자식 노드를 선정하여 생성한다.Subsequently, the
다음으로, 트리 생성부(230)는 B 군집의 서브 군집(즉, B-1 군집과 B-2 군집) 중에서 연관성 플래그(즉, '1')의 빈도가 가장 높은 서브 군집의 대표 질문을 제1오른쪽 자식 노드(즉, 루트 노드 오른쪽 자식 노드)의 왼쪽 자식 노드로 생성하고, B 군집의 서브 군집 중에서 연관성 플래그(즉, '0')의 빈도가 낮은 서브 군집의 대표 질문을 상기 제1오른쪽 자식 노드의 오른쪽 자식 노드로 생성한다.Next, the
도 5의 (b)와 도 6의 (b)를 참조하면, A 군집은 A-1 군집과 A-2 군집으로 분리되고, B 군집은 B-1 군집과 B-2 군집으로 분리된다. 그리고 A-1 군집과 A-2 군집 중에서, 연관성 플래그 빈도가 가장 높은 서브 군집인 A-1 군집의 중심값과 가장 가까운 노드인 2번 질문이 루트 노드(즉, 3번째 질문)의 왼쪽 자식 노드로 생성된다. 또한, 연관성 플래그 빈도가 가장 낮은 서브 군집인 A-2 군집의 중심값과 가까운 노드인 4번 질문이 2번 질문의 오른쪽 자식 노드로 생성된다. 또한, B-1 군집과 B-2 군집 중에서, 연관성 플래그 빈도가 가장 높은 서브 군집인 B-1 군집의 중심값과 가장 가까운 노드인 5번 질문이 루트 노드의 오른쪽 자식 노드(즉, 7번 질문)의 왼쪽 자식 노드로 생성된다. 또한, 연관성 플래그 빈도가 가장 낮은 서브 군집인 B-2 군집의 중심값과 가까운 노드인 6번 질문이 루트 노드의 오른쪽 자식 노드(즉, 7번 질문)의 오른쪽 자식 노드로 생성된다. Referring to (b) of FIG. 5 and (b) of FIG. 6 , cluster A is divided into clusters A-1 and A-2, and cluster B is divided into clusters B-1 and B-2. Among clusters A-1 and A-2,
다음으로, 트리 생성부(230)는 종료 조건, 모든 질문 개수와 대응하여 노드가 트리에 형성되었는지 여부를 판별하여(S411), 종료 조건에 부합되지 않으면, S407 단계를 재진행하여 또 다른 자식 노드를 생성한다. 도 5의 (c)와 도 6의 (c)을 참조하면, 트리 생성부(230)는 S407 단계부터 재진행하여 A-1 군집을 두 개의 서브 군집(즉, A-1-1, A-1-2)으로 분리하고, A-1-1 군집과 A-1-2 군집 중에서 연관 플래그 빈도가 많은 A-1-1의 중심값과 가까운 질문을 2번 질문의 오른쪽 자식 노드로 형성한다.Next, the
이러한 반복적인 과정을 통해서, 질문 트리가 형성된다. 상기 트리 생성부(230)는 관리자로부터 데이터 유형(예컨대, API 프로그래밍, 회사 등)을 입력받고, 입력된 데이터 유형과 상기 형성한 질문 트리를 함께 저장부(220)에 저장하고, 이에 따라 저장부(220)에는 데이터 유형별 질문 트리가 저장된다. Through this iterative process, a question tree is formed. The
한편, 상술한 실시예에서, 질문 트리가 2진 트리인 것으로 설명하였지만, 3개 이상의 자식 노드를 가지는 질문 트리가 형성될 수 있다. 예컨대, 트리 생성부(230)는 3가지 선택 정보를 가지는 복수의 질문에 대해서, 최대 3가지 자식 노드를 생성할 수 있다. 이 경우, 트리 생성부(230)는 부모 노드와 연관성이 가장 높은 질문을 맨 왼쪽(또는 맨 오른쪽)의 자식 노드, 부모 노드와 연관성이 두 번째로 높은 질문을 가운데 자식 노드, 부모 노드와 연관성이 가장 낮은 질문을 맨 오른쪽(또는 맨 왼쪽)의 자식 노드로 각각 생성할 수 있다.Meanwhile, in the above embodiment, the question tree has been described as being a binary tree, but a question tree having three or more child nodes may be formed. For example, the
도 7은 본 발명의 일 실시예에 따른, 질문 트리를 토대로 대화형 정보 제공 서비스를 사용자에게 제공하는 방법을 설명하는 흐름도이다.7 is a flowchart illustrating a method of providing an interactive information providing service to a user based on a question tree according to an embodiment of the present invention.
도 7을 참조하면, 질문 제공부(210)는 사용자 단말(100)로부터 대화형 서비스를 요청받는다. 그러면, 질문 제공부(210)는 데이터 유형 리스트를 사용자 단말(100)로 제공하고, 사용자가 선택한 특정 데이터 유형을 사용자 단말(100)로부터 수신한다(S701).Referring to FIG. 7 , the
이어서, 질문 제공부(210)는 상기 특정 데이터 유형과 대응하는 질문 트리를 저장부(220)에서 확인하고(S703), 이 질문 트리에서 최상위에 레벨(즉, 루트)에 해당하는 질문을 사용자 단말(100)로 전송한다(S705). 상기 질문에는 선택지 정보가 포함된다.Subsequently, the
이어서, 질문 제공부(210)는 상기 질문에 대한 선택 응답 정보를 사용자 단말(100)로부터 수신하고(S707), 상기 선택 응답 정보와 대응되는 다음 레벨(즉, 2레벨)의 자식 노드를 확인하고, 이 자식 노드에 해당하는 질문을 사용자 단말(100)로 제공한다(S709). 질문 제공부(210)는 질문지가 양자택일형 질문이고 선택 응답 정보가 긍정 응답인 경우에, 루트 로드의 왼쪽(또는 오른쪽) 자식 노드에 해당하는 질문을 사용자 단말(100)로 제공할 수 있다. 다른 예로서, 질문 제공부(210)는 질문지가 양자택일형 질문이고 선택 응답 정보가 부정 응답인 경우에, 루트 로드의 오른쪽(또는 왼쪽) 자식 노드에 해당하는 질문을 사용자 단말(100)로 제공할 수 있다. 또 다른 예로서, 질문 제공부(210)는 질문지가 다지선다형 질문이고 선택 응답 정보가 1번 응답인 경우에, 맨 왼쪽에 위치한 자식 노드에 해당하는 질문을 사용자 단말(100)로 제공할 수 있으며, 선택 응답 정보가 2번 응답인 경우 왼쪽에서 두번째에 위치한 자식 노드를 사용자 단말(100)로 제공할 수 있다.Subsequently, the
다음으로, 질문 제공부(210)는 자식 노드에 해당하는 질문에 대한 선택 응답 정보를 사용자 단말(100)로부터 수신한다(S711). 그러면, 질문 제공부(210)는 질문이 종료되었는지 여부를 판별하고(S713), 종료된 경우에 정보 제공부(240)로 데이터 제공을 지시한다.Next, the
그러면, 정보 제공부(240)는 마지막 질문과 상기 선택 응답 정보에 대응되는 정보(즉, 데이터 그룹)를 저장부(220)에 추출하여, 이 정보(즉, 데이터 그룹)를 사용자 단말(100)로 제공한다(S715).Then, the
반면에, 질문 제공부(210)는 S713 단계에서 질문이 종료되지 않은 것으로 판별되면, 상기 선택 응답 정보와 대응되는 다음 레벨의 자식 노드를 확인하고, 이 자식 노드에 해당하는 질문을 사용자 단말(100)로 제공하는 S709 단계를 재진행한다.On the other hand, if it is determined that the question is not ended in step S713, the
상술한 바와 같이, 본 발명은, 복수의 선택형 질문에 대한 사용자의 응답 정보를 기초로, 정보를 추출하여 사용자에게 제공함으로써, 정보 검색시에 편의성을 향상시킨다. 또한, 본 발명은 질문의 속성정보를 토대로 질문 트리를 생생하고, 이 질문 트리에 기초하여 관련성이 있는 질문을 순차적으로 사용자에게 제공하고, 질문에 대한 사용자의 선택 응답을 기초로 정보를 사용자에게 제공하기 때문에, 사용자가 요구하는 정보를 정확하게 검색할 수 있다.As described above, the present invention improves convenience when searching for information by extracting and providing information to the user based on the user's response information to the plurality of multiple-choice questions. In addition, the present invention creates a question tree based on the attribute information of the question, sequentially provides related questions to the user based on the question tree, and provides information to the user based on the user's selection response to the question Because of this, it is possible to accurately search for the information requested by the user.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.While this specification contains many features, such features should not be construed as limiting the scope of the invention or the claims. Also, features described in separate embodiments in this specification may be implemented in combination in a single embodiment. Conversely, various features that are described in this specification in a single embodiment may be implemented in various embodiments individually or in combination as appropriate.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.Although actions are described in a particular order in the drawings, it should not be understood that such actions are performed in the specific order as shown, or that the actions are performed in a series of sequential order, or that all described actions are performed to achieve a desired result. . Multitasking and parallel processing can be advantageous in certain circumstances. In addition, it should be understood that the division of various system components in the above-described embodiments does not require such division in all embodiments. The program components and systems described above may generally be implemented as a package in a single software product or multiple software products.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.The method of the present invention as described above may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. Since this process can be easily performed by a person skilled in the art to which the present invention belongs, it will not be described in detail.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention to those skilled in the art to which the present invention belongs, and thus the above-described embodiments and It is not limited by drawings.
100 : 사용자 단말 200 : 정보 제공 장치
210 : 질문 제공부 220 : 저장부
230 : 트리 생성부 240 : 정보 제공부
300 : 네트워크100: user terminal 200: information providing device
210: question providing unit 220: storage unit
230: tree generation unit 240: information provision unit
300: network
Claims (14)
사용자 단말로부터 대화형 정보 제공 서비스를 요청받으면, 상기 질문 트리에 형성된 계층적인 질문을 상기 사용자 단말로 순차적으로 제공하되, 질문에 대한 응답 정보에 근거하여 다음 레벨의 하위 질문을 선택하여 상기 사용자 단말로 전송하는 질문 제공부; 및
최종 질문에 대한 응답 정보가 상기 사용자 단말로부터 수신되면, 상기 최종 질문의 응답 정보와 대응되는 정보를 추출하여 상기 사용자 단말로 제공하는 정보 제공부;를 포함하고,
상기 트리 생성부는,
복수의 질문을 복수의 군집으로 분리하고, 상기 복수의 군집 중 제1 군집에 포함되는 제1 질문을 노드로 생성하고, 상기 복수의 군집 중 제2 군집에 포함되는 제2 질문을 상기 노드의 제1 자식 노드로 생성하는, 정보 제공 장치.a tree generator for generating a question tree based on attribute information defined for each question;
When an interactive information providing service is requested from a user terminal, hierarchical questions formed in the question tree are sequentially provided to the user terminal, but a sub-question of the next level is selected based on response information to the question and sent to the user terminal. a question providing unit to transmit; and
When response information to the final question is received from the user terminal, an information providing unit extracting information corresponding to the response information of the final question and providing the extracted information to the user terminal;
The tree generator,
A plurality of questions are divided into a plurality of clusters, a first question included in a first cluster among the plurality of clusters is generated as a node, and a second question included in a second cluster among the plurality of clusters is generated as a node of the node. 1 An information providing device created as a child node.
상기 트리 생성부는,
질문들을 일정 개수의 군집으로 초기 분리하여, 이 분리된 군집 중에서 루트 대상 군집을 선정하고, 이 선정한 루트 대상 군집에 포함된 대표 질문을 루트 노드로 생성하고, 루트 대상 군집으로 미선정된 군집의 대표 질문을 상기 루트 노드의 하위 노드로 생성하며, 분리된 각 군집을 일정 개수의 서브 군집으로 각각 재분리하는 과정을 반복하되, 분리된 서브 군집의 대표 질문을 하위 노드로 생성하는 것을 특징으로 하는 정보 제공 장치.According to claim 1,
The tree generator,
Questions are initially separated into a certain number of clusters, a root target cluster is selected from among the separated clusters, representative questions included in the selected root target cluster are created as root nodes, and representative questions of non-selected root target clusters are generated. is created as a sub-node of the root node, and the process of re-separating each separated cluster into a certain number of sub-clusters is repeated, but the representative questions of the separated sub-clusters are created as sub-nodes. Device.
상기 트리 생성부는,
상기 복수의 군집 중 제1 군집에 포함되는 제3 질문을 상기 노드의 제2 자식 노드로써 생성하는 정보 제공 장치.According to claim 1,
The tree generator,
An information providing device generating a third question included in a first cluster among the plurality of clusters as a second child node of the node.
상기 트리 생성부는,
상기 제1 군집을 복수의 서브 군집으로 분리하고, 상기 복수의 서브 군집 중 연관성 플래그의 빈도가 가장 높은 제1 서브 군집을 확인하고, 상기 제1 서브 군집에 포함되는 상기 제3 질문을 상기 제2 자식 노드로써 생성하는 정보 제공 장치.According to claim 3,
The tree generator,
The first sub-cluster is divided into a plurality of sub-clusters, a first sub-cluster having the highest frequency of association flags is identified among the plurality of sub-clusters, and the third question included in the first sub-cluster is assigned to the second sub-cluster. An information providing device created as a child node.
상기 트리 생성부는,
상기 복수의 서브 군집 중 연관성 플래그의 빈도가 가장 낮은 제2 서브 군집을 확인하고, 상기 제2 서브 군집에 포함되는 제4 질문을 상기 제2 자식 노드의 자식 노드로써 생성하는 정보 제공 장치.According to claim 4,
The tree generator,
Identifying a second sub-cluster having the lowest frequency of association flags among the plurality of sub-clusters, and generating a fourth question included in the second sub-cluster as a child node of the second child node.
상기 트리 생성부는,
아래의 수학식을 이용하여, 분리된 군집에 대한 내부 유사성과 외부 유사성이 곱해진 최종 유사성을 산출하고, 최종 유사성이 수렴될 때까지 군집 분리를 반복적으로 수행하는 것을 특징으로 하는 정보 제공 장치.
(수학식)
여기서, Fitintra는 내부 유사성을 의미하고, k는 군집 개수, Ck는 k번째의 군집의 중심값, Xi는 같은 군집에 속해 있는 i번째 질문의 속성정보임.
여기서, Fitinter는 외부 유사성을 의미하고, k는 군집 개수, Ck는 k번째의 군집의 중심값, Xi는 같은 타 군집 각각에 속해 있는 i번째 질문의 속성정보, d는 최대 k값임.According to claim 1,
The tree generator,
An information providing device characterized by calculating a final similarity multiplied by an internal similarity and an external similarity for the separated clusters using the following equation, and repeatedly performing cluster separation until the final similarity converges.
(mathematical expression)
Here, Fit intra means internal similarity, k is the number of clusters, C k is the center value of the k-th cluster, and X i is the attribute information of the i-th question belonging to the same cluster.
Here, Fit inter means external similarity, k is the number of clusters, C k is the center value of the k-th cluster, X i is the attribute information of the ith question belonging to each other cluster, and d is the maximum value of k.
상기 대표 질문은, 상기 대표 질문이 포함된 군집의 중심값에서 가장 가까운 거리에 해당하는 속성정보를 가지는 질문인 것을 특징으로 하는 정보 제공 장치.According to claim 2,
The representative question is a question having attribution information corresponding to a closest distance from a central value of a cluster including the representative question.
상기 질문 제공부는,
상기 응답 정보에 대응하는 위치에 형성된 자식 노드를 확인하고, 이 자식 노드에 해당하는 질문을 상기 사용자 단말로 전송하는 것을 특징으로 하는 정보 제공 장치.According to claim 3,
The question provider,
The information providing device characterized in that for checking a child node formed at a position corresponding to the response information, and transmitting a question corresponding to the child node to the user terminal.
상기 트리 생성부는,
질문의 선택 정보 개수에 비례하여 군집을 분리하는 것을 특징으로 하는 정보 제공 장치.According to claim 3,
The tree generator,
An information providing device characterized in that the cluster is separated in proportion to the number of selection information of the question.
상기 복수의 군집은,
초기에 분리한 군집들, 또는 상기 초기에 분리된 군집들 중 하나를 분리한 서브 군집들인 정보 제공 장치.According to claim 1,
The plurality of clusters,
An information providing device that is initially separated clusters or sub-clusters obtained by separating one of the initially separated clusters.
질문별로 정의된 속성정보를 기초로, 질문 트리를 생성하는 단계;
사용자 단말로부터 대화형 정보 제공 서비스를 요청받는 단계;
상기 질문 트리에 형성된 계층적인 질문을 상기 사용자 단말로 순차적으로 제공하되, 질문에 대한 응답 정보에 근거하여 다음 레벨의 하위 질문을 선택하여 상기 사용자 단말로 전송하는 단계; 및
최종 질문에 대한 응답 정보가 상기 사용자 단말로부터 수신되면, 상기 최종 질문의 응답 정보와 대응되는 정보를 추출하여 상기 사용자 단말로 제공하는 단계;를 포함하고,
상기 질문 트리를 생성하는 단계는,
복수의 질문을 복수의 군집으로 분리하고, 상기 복수의 군집 중 제1 군집에 포함되는 제1 질문을 노드로 생성하고, 상기 복수의 군집 중 제2 군집에 포함되는 제2 질문을 상기 노드의 제1 자식 노드로 생성하는 대화형 정보 제공 서비스 방법.A method for performing an interactive information providing service in an information providing device,
generating a question tree based on attribute information defined for each question;
Receiving a request for an interactive information providing service from a user terminal;
sequentially providing hierarchical questions formed in the question tree to the user terminal, selecting a sub-question of a next level based on response information to the question, and transmitting the selected sub-question to the user terminal; and
When response information to the final question is received from the user terminal, extracting information corresponding to the response information of the final question and providing the extracted information to the user terminal;
The step of generating the question tree is,
A plurality of questions are divided into a plurality of clusters, a first question included in a first cluster among the plurality of clusters is generated as a node, and a second question included in a second cluster among the plurality of clusters is generated as a node of the node. 1 Interactive information provision service method created as a child node.
상기 질문 트리를 생성하는 단계는,
질문들을 일정 개수의 군집으로 초기 분리하여, 이 분리된 군집 중에서 루트 대상 군집을 선정하는 단계;
상기 선정한 루트 대상 군집에 포함된 대표 질문을 루트 노드로 생성하고, 루트 대상 군집으로 미선정된 군집의 대표 질문을 상기 루트 노드의 하위 노드로 생성하는 단계; 및
상기 분리된 각 군집을 상기 일정 개수의 서브 군집으로 각각 재분리하는 과정을 반복하되, 상기 분리된 서브 군집의 대표 질문을 하위 노드로 생성하는 단계;를 포함하는 대화형 정보 제공 서비스 방법.According to claim 11,
The step of generating the question tree is,
initially dividing questions into a certain number of clusters, and selecting a root target cluster from among the divided clusters;
generating a representative question included in the selected root target cluster as a root node, and generating a representative question of a non-selected root target cluster as a lower node of the root node; and
and repeating the process of re-separating each of the separated sub-clusters into the predetermined number of sub-clusters, and generating representative questions of the separated sub-clusters as lower nodes.
아래의 수학식을 이용하여, 분리된 군집에 대한 내부 유사성과 외부 유사성이 곱해진 최종 유사성을 산출하고, 최종 유사성이 수렴될 때까지 군집 분리를 반복적으로 수행하는 단계;를 포함하는 것을 특징으로 하는 대화형 정보 제공 서비스 방법.
(수학식)
여기서, Fitintra는 내부 유사성을 의미하고, k는 군집 개수, Ck는 k번째의 군집의 중심값, Xi는 같은 군집에 속해 있는 i번째 질문의 속성정보임.
여기서, Fitinter는 외부 유사성을 의미하고, k는 군집 개수, Ck는 k번째의 군집의 중심값, Xi는 같은 군집 및 다른 군집 각각에 속해 있는 i번째 질문의 속성정보, d는 최대 k값을 나타냄.According to claim 11,
Calculating the final similarity obtained by multiplying the internal similarity and the external similarity for the separated cluster using the equation below, and repeatedly performing cluster separation until the final similarity converges; Interactive informational service method.
(mathematical expression)
Here, Fit intra means internal similarity, k is the number of clusters, C k is the center value of the k-th cluster, and X i is the attribute information of the i-th question belonging to the same cluster.
Here, Fit inter means external similarity, k is the number of clusters, C k is the center value of the k-th cluster, X i is the attribute information of the i-th question belonging to the same and different clusters, and d is the maximum k represents a value.
상기 사용자 단말로 전송하는 단계는,
상기 응답 정보에 대응하는 위치에 형성된 자식 노드를 확인하고, 이 자식 노드에 해당하는 질문을 상기 사용자 단말로 전송하는 것을 특징으로 하는 대화형 정보 제공 서비스 방법.According to claim 11,
The step of transmitting to the user terminal,
and identifying a child node formed at a location corresponding to the response information, and transmitting a question corresponding to the child node to the user terminal.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160006090A KR102473155B1 (en) | 2016-01-18 | 2016-01-18 | Method for providing interactive information service and apparatus therefor |
KR1020220161633A KR102654884B1 (en) | 2016-01-18 | 2022-11-28 | Method for providing interactive information service and apparatus therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160006090A KR102473155B1 (en) | 2016-01-18 | 2016-01-18 | Method for providing interactive information service and apparatus therefor |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220161633A Division KR102654884B1 (en) | 2016-01-18 | 2022-11-28 | Method for providing interactive information service and apparatus therefor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170086353A KR20170086353A (en) | 2017-07-26 |
KR102473155B1 true KR102473155B1 (en) | 2022-11-30 |
Family
ID=59427068
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160006090A KR102473155B1 (en) | 2016-01-18 | 2016-01-18 | Method for providing interactive information service and apparatus therefor |
KR1020220161633A KR102654884B1 (en) | 2016-01-18 | 2022-11-28 | Method for providing interactive information service and apparatus therefor |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220161633A KR102654884B1 (en) | 2016-01-18 | 2022-11-28 | Method for providing interactive information service and apparatus therefor |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR102473155B1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102113773B1 (en) * | 2018-07-24 | 2020-05-21 | 주식회사 자이냅스 | Method and apparatus for generating rules for conversation recognition and reasoning based on the rules |
CN110931137B (en) * | 2018-09-19 | 2023-07-07 | 京东方科技集团股份有限公司 | Machine-assisted dialog systems, methods, and apparatus |
KR102132696B1 (en) | 2018-12-26 | 2020-07-13 | 지의소프트 주식회사 | Interactive information providing system and method |
KR102106250B1 (en) * | 2020-02-25 | 2020-05-06 | 주식회사 자이냅스 | An apparatus for rule-based user inference reasoning for conversation awareness |
KR102379161B1 (en) * | 2020-03-24 | 2022-03-28 | 주식회사 유로보 | Query and answer system |
KR20220106406A (en) * | 2021-01-22 | 2022-07-29 | 삼성전자주식회사 | Electronic device and controlling method of electronic device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015230514A (en) * | 2014-06-03 | 2015-12-21 | Kddi株式会社 | Interactive retrieval program, device, and method for retrieving information elements having attribute value assigned thereto by narrowing the information elements down |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2788850B2 (en) * | 1993-02-18 | 1998-08-20 | 日本電気株式会社 | Optimal menu inquiry method and editing method of structural data by hierarchical menu inquiry |
KR100882437B1 (en) | 2006-12-19 | 2009-02-06 | 엔에이치엔(주) | Searching method and system using category identifier |
KR101052592B1 (en) * | 2008-11-19 | 2011-07-29 | 한국과학기술정보연구원 | Optimal Cluster Partitioning Method and System in Hierarchical Clustering |
KR101271277B1 (en) * | 2011-11-16 | 2013-06-07 | 포항공과대학교 산학협력단 | Methods for indexing for top-k queries |
KR101354721B1 (en) * | 2012-05-21 | 2014-01-29 | 주식회사 다음커뮤니케이션 | Search system and method of search service |
-
2016
- 2016-01-18 KR KR1020160006090A patent/KR102473155B1/en active IP Right Grant
-
2022
- 2022-11-28 KR KR1020220161633A patent/KR102654884B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015230514A (en) * | 2014-06-03 | 2015-12-21 | Kddi株式会社 | Interactive retrieval program, device, and method for retrieving information elements having attribute value assigned thereto by narrowing the information elements down |
Also Published As
Publication number | Publication date |
---|---|
KR20220162681A (en) | 2022-12-08 |
KR20170086353A (en) | 2017-07-26 |
KR102654884B1 (en) | 2024-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102473155B1 (en) | Method for providing interactive information service and apparatus therefor | |
CN106484875B (en) | MOLAP-based data processing method and device | |
Sun et al. | The cost-efficient deployment of replica servers in virtual content distribution networks for data fusion | |
CN111460311A (en) | Search processing method, device and equipment based on dictionary tree and storage medium | |
US20080270374A1 (en) | Method and system for combining ranking and clustering in a database management system | |
CN108021658B (en) | Intelligent big data searching method and system based on whale optimization algorithm | |
CN108932347B (en) | Spatial keyword query method based on social perception in distributed environment | |
US9535954B2 (en) | Join processing device, data management device, and string similarity join system | |
CN110909182A (en) | Multimedia resource searching method and device, computer equipment and storage medium | |
CN109686402B (en) | Method for identifying key proteins in interaction network based on dynamic weighting | |
Sun et al. | Interactive spatial keyword querying with semantics | |
CN110580252B (en) | Space object indexing and query method under multi-objective optimization | |
CN108829846B (en) | Service recommendation platform data clustering optimization system and method based on user characteristics | |
CN114254615A (en) | Volume assembling method and device, electronic equipment and storage medium | |
Li et al. | GAP: Genetic algorithm based large-scale graph partition in heterogeneous cluster | |
CN116957128A (en) | Service index prediction method, device, equipment and storage medium | |
JP6960361B2 (en) | Information processing equipment, information processing methods, and information processing programs | |
Xie | Research on Weibo user behavior system for subjective perception and big data mining technology | |
CN111291182A (en) | Hotspot event discovery method, device, equipment and storage medium | |
JP2019159965A (en) | Information processor, information processing method and program | |
CN106933855B (en) | Object sorting method, device and system | |
US11741058B2 (en) | Systems and methods for architecture embeddings for efficient dynamic synthetic data generation | |
CN117271577B (en) | Keyword retrieval method based on intelligent analysis | |
CN114780875B (en) | Dynamic group travel planning query method | |
CN114461661B (en) | Data query method and system based on big data |
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 | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |