KR102267068B1 - System and method extracting information from time series database according to natural language queries - Google Patents
System and method extracting information from time series database according to natural language queries Download PDFInfo
- Publication number
- KR102267068B1 KR102267068B1 KR1020200185990A KR20200185990A KR102267068B1 KR 102267068 B1 KR102267068 B1 KR 102267068B1 KR 1020200185990 A KR1020200185990 A KR 1020200185990A KR 20200185990 A KR20200185990 A KR 20200185990A KR 102267068 B1 KR102267068 B1 KR 102267068B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- query
- natural language
- condition
- time series
- 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/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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- 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/2428—Query predicate definition using graphical user interfaces, including menus and forms
-
- 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/248—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Fuzzy Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 자연어 질의에 따라 시계열 데이터베이스로부터 데이터를 추출하는 시스템 및 그 방법에 관한 것이다.The present invention relates to a system and method for extracting data from a time series database according to a natural language query.
데이터베이스(database, DB)는 여러 사람이 공유하여 사용할 목적으로 체계화되어 통합 관리되는 데이터의 집합을 말한다. 데이터베이스에서 각 데이터는 사용자의 목적에 따라서 서로 상이한 구조로 이루어질 수 있으며, 각 데이터 사이에 관계를 형성하여 관리할 수도 있다.A database (DB) refers to a set of data that is systematized and integrated and managed for the purpose of being shared and used by several people. In the database, each data may have a different structure depending on the purpose of the user, and may be managed by forming a relationship between each data.
이러한 데이터베이스는 데이터베이스 작업에 필요한 데이터베이스 언어(database language)의 입력에 따라 작업이 수행될 수 있으며, 데이터베이스 언어는 데이터를 등록, 수정, 삭제 및 검색할 수 있으며, 더 나아가 데이터의 구조를 형성할 수도 있다.In such a database, an operation may be performed according to an input of a database language required for database operation, and the database language may register, modify, delete, and retrieve data, and further may form a data structure. .
한편, 데이터베이스의 한 종류로 시계열 데이터베이스(time series database, TSDB)가 있으며, 시계열 데이터베이스는 쌍으로 이루어진 시간과 데이터값을 시간에 따라 저장하여 시계열과 관련된 서비스를 제공하는데 최적화된 데이터 처리 시스템을 말한다. 시계열 데이터베이스는 시간이라는 값을 이용하므로 실시간으로 수집되는 데이터에 대한 분석에 강점을 가질 수 있으며, 대표적인 예로는 기상 정보 및 주식 정보가 있으며, 최근에는 IoT(사물 인터넷) 분야에서 많이 사용되고 있다.Meanwhile, as a type of database, there is a time series database (TSDB), and the time series database refers to a data processing system optimized to provide time series related services by storing paired times and data values according to time. Since a time series database uses the value of time, it can have strengths in analysis of data collected in real time. Representative examples include weather information and stock information, and recently it is widely used in the Internet of Things (IoT) field.
본 발명은 시계열 데이터베이스로부터 필요한 데이터를 추출하기 위해 사용자로부터 자연어를 입력받아 질의어 생성 및 데이터 추출 과정을 수행하는 자연어 질의에 따라 시계열 데이터베이스로부터 데이터를 추출하는 시스템 및 그 방법을 제공하는 것이다.The present invention provides a system and method for extracting data from a time series database according to a natural language query that receives a natural language input from a user and performs a query word generation and data extraction process in order to extract necessary data from the time series database.
본 발명의 일 측면에 따르면, 사용자로부터 시간 정보가 포함된 데이터로 이루어진 시계열 데이터베이스를 검색하기 위한 자연어 문장을 입력받는 수신부, 자연어 문장에서 시계열 데이터베이스 내 테이블의 칼럼명과 매칭되는 단어를 추출하는 매칭 단어 추출부, 자연어 문장, 매칭 단어 및 시계열 데이터베이스의 테이블 정보를 제공받아 질의어(query language)를 생성하는 질의어 생성부, 질의어 생성부에 의해 생성된 질의어를 이용하여 시계열 데이터베이스로부터 데이터를 추출하는 질의 처리부, 및 질의 처리부에 의해 시계열 데이터베이스로부터 추출된 데이터를 표시하는 데이터 표시부를 포함하는 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템이 제공된다.According to one aspect of the present invention, a receiving unit receiving a natural language sentence for searching a time series database consisting of data including time information from a user, extracting a matching word for extracting a word matching a column name of a table in a time series database from a natural language sentence A query word generating unit that generates a query language by receiving a copy, a natural language sentence, a matching word, and table information of a time series database, a query processing unit that extracts data from the time series database using the query word generated by the query word generation unit, and There is provided a time series database data extraction system through a natural language query including a data display unit for displaying data extracted from the time series database by the query processing unit.
자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템은 자연어 문장으로부터 기간 조건 및 필터링 조건을 추출하는 조건 추출부를 더 포함할 수 있다.The system for extracting time series database data through a natural language query may further include a condition extraction unit for extracting a period condition and a filtering condition from a natural language sentence.
자연어 문장에는 복수의 필터링 조건이 포함될 수 있다.The natural language sentence may include a plurality of filtering conditions.
질의어 생성부는 필터링 조건 중 복수 시점에서 변화되는 데이터에 대한 조건이 있는 경우, 복수 시점에서 데이터 변화를 나타내는 시간이동(time-shift) 필터링 함수를 포함하는 질의어를 생성할 수 있다.When there is a condition for data changed at a plurality of time points among the filtering conditions, the query word generator may generate a query word including a time-shift filtering function indicating data change at a plurality of time points.
질의어 생성부는 필터링 조건 중 시간을 변수로 하는 데이터에 대한 조건이 있는 경우, 시간을 변수로 하는 데이터를 나타내는 일반 필터링 함수를 포함하는 질의어를 생성하고, 필터링 조건 중 사용자가 설정한 기간의 집계 데이터에 대한 조건이 있는 경우, 기간 내 집계 데이터를 나타내는 집계 필터링 함수를 포함하는 질의어를 생성할 수 있다.If there is a condition for data with time as a variable among the filtering conditions, the query word generator generates a query word including a general filtering function representing data with time as a variable, and adds it to the aggregate data for the period set by the user among the filtering conditions. If there is a condition for , you can create a query word including an aggregate filtering function representing aggregated data within a period.
질의어 생성부는 일반 필터링 함수 및 집계 필터링 함수 중 어느 하나만 포함하여 질의어를 생성할 수 있다.The query word generator may generate a query word by including only one of a general filtering function and an aggregate filtering function.
필터링 조건은 데이터의 상한값 및 하한값 중 적어도 어느 하나를 포함할 수 있다.The filtering condition may include at least one of an upper limit value and a lower limit value of the data.
질의어 생성부는 수식 형태, 컴퓨터 언어 형태 및 SQL(structured query language) 형식 중 적어도 어느 하나로 질의어를 생성할 수 있다.The query word generator may generate the query word in at least one of a formula form, a computer language form, and a structured query language (SQL) form.
자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템은 기간 조건 및 필터링 조건과 기간 조건 및 필터링 조건에 부합하는 자연어 문장을 제공받아 분석하여 질의어 생성부를 학습시키는 학습부를 더 포함할 수 있다.The system for extracting time-series database data through a natural language query may further include a learning unit configured to receive and analyze a period condition and a filtering condition and a natural language sentence matching the period condition and the filtering condition to learn the query word generator.
또한, 본 발명의 다른 측면에 따르면, 수신부가 사용자로부터 시간 정보가 포함된 데이터로 이루어진 시계열 데이터베이스를 검색하는 자연어 문장을 입력받는 단계, 매칭 단어 추출부가 자연어 문장에서 시계열 데이터베이스 내 테이블의 칼럼명과 매칭되는 단어를 추출하는 단계, 질의어 생성부가 자연어 문장, 매칭 단어 및 시계열 데이터베이스의 테이블 정보를 제공받아 질의어(query language)를 생성하는 단계, 질의 처리부가 질의어 생성부에 의해 생성된 질의어를 이용하여 시계열 데이터베이스로부터 데이터를 추출하는 단계 및 데이터 표시부가 질의 처리부에 의해 시계열 데이터베이스로부터 추출된 데이터를 표시하는 단계를 포함하는 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 방법이 제공된다.In addition, according to another aspect of the present invention, the receiving unit receives a natural language sentence for searching a time series database consisting of data including time information from a user, and the matching word extractor matches the column name of the table in the time series database in the natural language sentence extracting a word; generating a query language by a query language generator by receiving natural language sentences, matching words, and table information of a time series database; and a query processing unit using the query language generated by the query word generator from the time series database A method for extracting time series database data through a natural language query is provided, comprising the steps of extracting data and displaying data extracted from the time series database by a data display unit by a query processing unit.
본 발명에 따르면 시계열 데이터베이스로부터 필요한 데이터를 추출하기 위해 사용자로부터 자연어를 입력받아 질의어 생성 및 데이터 추출 과정을 수행할 수 있다.According to the present invention, in order to extract necessary data from a time series database, a natural language input may be received from a user, and a query word generation and data extraction process may be performed.
도 1은 본 발명의 일 실시예에 따른 자연어 질의에 따라서 시계열 데이터베이스로부터 정보를 추출하는 시스템을 나타낸 도면.
도 2는 본 발명의 일 실시예에 따른 질의어 생성부를 통한 질의어 생성 과정을 나타낸 도면.
도 3은 본 발명의 일 실시예에 따른 자연어 질의에 따라서 시계열 데이터베이스로부터 정보를 추출하는 방법을 나타낸 순서도.
도 4 및 도 5는 본 발명의 일 실시예에 따른 학습부를 통해 질의어 생성부를 학습시키는 방법을 나타낸 순서도.1 is a diagram illustrating a system for extracting information from a time series database according to a natural language query according to an embodiment of the present invention.
2 is a diagram illustrating a query word generation process through a query word generator according to an embodiment of the present invention.
3 is a flowchart illustrating a method of extracting information from a time series database according to a natural language query according to an embodiment of the present invention.
4 and 5 are flowcharts illustrating a method of learning a query word generator through a learning unit according to an embodiment of the present invention.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Since the present invention can apply various transformations and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.
또한, 결합이라 함은, 각 구성 요소 간의 접촉 관계에 있어, 각 구성 요소 간에 물리적으로 직접 접촉되는 경우만을 뜻하는 것이 아니라, 다른 구성이 각 구성 요소 사이에 개재되어, 그 다른 구성에 구성 요소가 각각 접촉되어 있는 경우까지 포괄하는 개념으로 사용하도록 한다.In addition, in the contact relationship between each component, the term "coupling" does not mean only the case where each component is in direct physical contact with each other, but another component is interposed between each component, so that the component is in the other component. It should be used as a concept that encompasses even the cases in which each is in contact.
이하, 본 발명에 따른 자연어 질의에 따라 시계열 데이터베이스로부터 데이터를 추출하는 시스템 및 그 방법의 실시예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, an embodiment of a system and method for extracting data from a time series database according to a natural language query according to the present invention will be described in detail with reference to the accompanying drawings. In the description with reference to the accompanying drawings, the same or corresponding configuration Elements are given the same reference numerals, and overlapping descriptions thereof will be omitted.
본 발명의 일 실시예에 따르면, 사용자로부터 시간 정보가 포함된 데이터로 이루어진 시계열 데이터베이스(20)를 검색하기 위한 자연어 문장을 입력받는 수신부(110), 자연어 문장에서 시계열 데이터베이스(20) 내 테이블의 칼럼명과 매칭되는 단어를 추출하는 매칭 단어 추출부(120), 자연어 문장, 매칭 단어 및 시계열 데이터베이스(20)의 테이블 정보를 제공받아 질의어(query language)를 생성하는 질의어 생성부(140), 질의어 생성부(140)에 의해 생성된 질의어를 이용하여 시계열 데이터베이스(20)로부터 데이터를 추출하는 질의 처리부(150), 및 질의 처리부(150)에 의해 시계열 데이터베이스(20)로부터 추출된 데이터를 표시하는 데이터 표시부(160)를 포함하는 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템(100)이 제공된다.According to an embodiment of the present invention, the receiving
본 실시예의 데이터 추출 시스템(100)은 사용자로부터 자연어를 입력받아 시계열 데이터베이스(20)의 칼럼명과 매칭되는 단어를 추출하고, 자연어 문장으로부터 기간 조건 및 필터링 조건을 추출하여 질의어를 생성하고, 이러한 질의어를 이용하여 시계열 데이터베이스(20)로부터 데이터를 추출할 수 있다. 따라서 본 실시예는 이러한 과정을 통하여 사용자가 자연어 문장 입력을 통하여 보다 손쉽게 시계열 데이터베이스(20)로부터 데이터를 제공받을 수 있도록 할 수 있다.The
이하 도 1 내지 도 5를 참조하여 본 실시예에 따른 데이터 추출 시스템(100)의 각 구성에 대하여 설명하도록 한다.Hereinafter, each configuration of the
도 1 및 도 3에 도시된 바와 같이, 사용자는 사용자 단말(10)을 이용하여 본 실시예의 데이터 추출 시스템(100)으로부터 데이터를 제공받는 사람을 말하며, 사용자는 사용자 단말(10)을 이용하여 시계열 데이터베이스(20)를 검색하기 위한 자연어 문장을 입력하여 데이터 추출 시스템(100)을 작동시킬 수 있다. 또한, 여기서 사용자 단말(10)은 스마트폰, 태블릿 컴퓨터 등과 같은 핸드헬드(Handheld) 기반의 무선 통신 장치 및 데스크탑 컴퓨터나 노트북 컴퓨터, 인터넷 TV 등을 포함할 수 있다.1 and 3 , a user refers to a person who receives data from the
도 1 및 도 3에 도시된 바와 같이, 수신부(110)는 사용자로부터 시간 정보가 포함된 데이터로 이루어진 시계열 데이터베이스(20)를 검색하기 위한 자연어 문장을 입력받을 수 있다.1 and 3 , the
도 1 및 도 3에 도시된 바와 같이, 매칭 단어 추출부(120)는 사용자로부터 제공받은 자연어 문장에서 시계열 데이터베이스(20) 내 테이블의 칼럼명과 매칭되는 단어를 검색할 수 있다. 여기서 시계열 데이터베이스(20) 내 테이블은 데이터베이스의 기본 단위로 데이터를 저장하는 객체를 말하고, 칼럼은 복수의 데이터값을 포함하는 특정 속성을 말할 수 있다.1 and 3 , the matching
따라서, 매칭 단어 추출부(120)는 자연어 문장에서 칼럼명과 매칭되는 매칭 단어를 조회하여 데이터 추출의 키워드를 찾는 역할을 수행할 수 있다.Accordingly, the matching
도 1 내지 도 3에 도시된 바와 같이, 조건 추출부(130)는 자연어 문장으로부터 기간 조건 및 필터링 조건을 추출할 수 있다. 여기서 기간 조건 및 필터링 조건은 시계열 데이터베이스(20)에서 데이터를 추출하는 질의어의 기초가 될 수 있다.1 to 3 , the
도 1 및 도 3에 도시된 바와 같이, 질의어 생성부(140)는 자연어 문장, 매칭 단어 및 시계열 데이터베이스(20)의 테이블 정보를 제공받아 질의어(query language)를 생성할 수 있으며, 보다 구체적으로, 상술한 매칭 단어 추출부(120) 및 조건 추출부(130)로부터 각각 매칭 단어 및 기간 조건, 필터링 조건을 제공받고, 시계열 데이터베이스(20)로부터 테이블의 각 정보를 제공받아 질의어를 생성할 수 있다.1 and 3 , the
여기서 질의어는 데이터베이스를 사용할 수 있는 기계어를 말하며, 이를 통하여 본 실시예의 시계열 데이터베이스(20)에서 데이터를 추출할 수 있다. 또한, 본 실시예에서 질의어는 수식 형태, 컴퓨터 언어 형태 및 SQL(structured query language) 형식 중 적어도 어느 하나로 이루어질 수 있다.Here, the query word refers to a machine language that can use the database, through which data can be extracted from the
또한, 상술한 자연어 문장에는 기간 조건 및 필터링 조건이 각각 복수로 포함될 수 있다.In addition, the above-described natural language sentences may include a plurality of period conditions and filtering conditions, respectively.
한편, 기간 조건은 자연어 문장 중에서 데이터의 기간 범위 조건을 포함하는 부분을 말하는 것으로, 예를 들어 '10년동안 PER 랭킹이 상위 10%인 종목'이라는 자연어 문장에서 '10년동안'이, '지난 3년간 총매출이 10억원 이상인 기업'이라는 자연어 문장에서 '지난 3년간'이 기간 조건으로 구분될 수 있다.On the other hand, the period condition refers to the part of the natural language sentence that includes the period range condition of the data. For example, in the natural language sentence 'the item with the top 10% PER ranking for 10 years', 'for 10 years' and 'last In the natural language sentence of 'a company with total sales of 1 billion won or more over three years', 'the past three years' can be classified as a period condition.
또한 필터링 조건은 자연어 문장 중에서 데이터를 필터링할 수 있는 조건을 포함하는 부분을 말하는 것으로, 예를 들어 10년동안 PER 랭킹이 상위 10%인 종목'이라는 자연어 문장에서 'PER 랭킹이 상위 10%이다'가, '지난 3년간 총매출이 10억원 이상인 기업'이라는 자연어 문장에서 '총매출이 10억원 이상이다'가 필터링 조건으로 구분될 수 있다.In addition, the filtering condition refers to the part of the natural language sentence that includes the data filtering condition. For example, in the natural language sentence 'The item with the PER ranking in the top 10% for 10 years', 'PER ranking is in the top 10%' A, in the natural language sentence 'a company with total sales of 1 billion won or more over the past 3 years', 'total sales of 1 billion won or more' can be classified as a filtering condition.
도 2에 도시된 바와 같이, 질의어 생성부(140)는 필터링 조건 중 복수 시점에서 변화되는 데이터에 대한 조건이 있는 경우, 복수 시점에서 데이터 변화를 나타내는 시간이동(time-shift) 필터링 함수를 포함하는 질의어를 생성할 수 있다.As shown in FIG. 2 , the
여기서 시간이동 필터링 함수는 어느 하나의 시점으로부터 과거로 시간 이동한 데이터값을 산출하거나, 어느 하나의 시점에서의 데이터값과 다른 하나의 시점에서의 데이터값의 차이 또는 증감률 등을 산출하는 함수를 말하는 것으로, 예를 들어 '3일전 강수량'이라는 자연어 문장에서 '3일전'은 과거로 시간 이동한 데이터값을 나타내는 함수로 볼 수 있으며, '3일전 대비 강수량의 증감률'이라는 자연어 문장에서 '3일전 대비 ?? 증감률'은 어느 하나의 시점과 그로부터 3일전의 데이터값의 변화를 산출하기 위한 함수로 볼 수 있다.Here, the time shift filtering function calculates a data value shifted in time from one time point to the past, or a function that calculates a difference or increase/decrease rate between a data value at one time point and a data value at another time point. For example, in the natural language sentence of 'precipitation 3 days ago', '3 days ago' can be viewed as a function representing the data value shifted in time to the past, and in the natural language sentence '3 compared to the previous ?? The 'increase/decrease rate' can be viewed as a function for calculating the change in data values at any one point in time and three days before it.
또한, 도 2에 도시된 바와 같이, 질의어 생성부(140)는 필터링 조건 중 시간을 변수로 하는 데이터에 대한 조건이 있는 경우, 시간을 변수로 하는 데이터를 나타내는 일반 필터링 함수를 포함하는 질의어를 생성할 수 있으며, 필터링 조건 중 사용자가 설정한 기간의 집계 데이터에 대한 조건이 있는 경우, 기간 내 집계 데이터를 나타내는 집계 필터링 함수를 포함하는 질의어를 생성할 수 있다.Also, as shown in FIG. 2 , when there is a condition for data using time as a variable among the filtering conditions, the
여기서 일반 필터링 함수는 모든 시간대에 동시 적용되며 시간을 변수로 하는 일반적인 함수를 말하며, '강수량', '손익'과 같이 시간에 따라서 그 데이터값이 변화하는 함수를 말할 수 있다. 그리고 집계 필터링 함수는 사용자가 설정한 기간 동안의 합계, 평균, 최대값, 최소값 등 통계치를 나타내는 집계 함수를 말하며, 예를 들어, '매출액의 3년 평균', '3일전 대비 미세먼지 수치 변화값의 5일 평균'과 같이 기간을 포함하는 함수를 말할 수 있다.Here, the general filtering function refers to a general function that is simultaneously applied to all time zones and uses time as a variable, and can refer to a function whose data value changes according to time, such as 'precipitation' and 'profit'. And the aggregate filtering function refers to an aggregate function that represents statistics such as the sum, average, maximum, and minimum values for the period set by the user. For example, 'three-year average of sales', 'change value of fine dust values compared to three days ago' You can say a function that includes a period, such as 'average of 5 days of '.
한편, 질의어 생성부(140)는 상술한 일반 필터링 함수 및 집계 필터링 함수 중 어느 하나만 포함하여 질의어를 생성할 수 있으며, 일반 필터링 함수 및 통 계 필터링 함수 각각은 시간이동 필터링 함수와 함께 질의어로 생성될 수도 있다.Meanwhile, the
또한, 상술한 필터링 조건은 데이터의 상한값 및 하한값 중 적어도 어느 하나를 포함할 수 있으며, 예를 들어, '1년간 부채비율 증가율이 10%를 넘지 않는 경우'라는 자연어 문장에서 '10%'가 상한으로 적용될 수 있으며, '10년동안 월 평균 강수량이 100mm 이상인 경우'라는 자연어 문장에서 '100mm'가 하한으로 적용될 수 있다.In addition, the above-described filtering condition may include at least one of an upper limit value and a lower limit value of the data, for example, '10%' is the upper limit in the natural language sentence 'when the debt ratio increase rate for one year does not exceed 10%' '100mm' may be applied as the lower limit in the natural language sentence 'When the average monthly precipitation for 10 years is 100mm or more'.
도 1 및 도 3에 도시된 바와 같이, 형식 제안부(170)는 사용자에게 기간 조건 및 필터링 조건을 포함하도록 자연어 문장의 형식을 제안할 수 있으며, 보다 구체적으로, 형식 제안부(170)는 사용자가 자연어 문장을 입력하기 전에 사용자에게 조건 추출부(130) 및 질의어 생성부(140)가 각각 조건을 추출하고 질의어를 생성하기에 용이하도록 정해진 형식에 따라 자연어 문장을 입력하도록 제안할 수 있다.1 and 3 , the
예를 들어, 형식 제안부(170)는 입력 형식을 '기간 조건+필터링 조건'으로 제한하여 이에 따라 자연어 문장을 입력하도록 제안할 수 있다.For example, the
도 1 및 도 3에 도시된 바와 같이, 질의 처리부(150)는 질의어 생성부(140)에 의해 생성된 질의어를 이용하여 시계열 데이터베이스(20)로부터 데이터를 추출할 수 있다.1 and 3 , the
도 1 및 도 3에 도시된 바와 같이, 데이터 표시부(160)는 질의 처리부(150)에 의해 시계열 데이터베이스(20)로부터 추출된 데이터를 표시할 수 있으며, 일례로 데이터 표시부(160)는 시각적으로 정보를 출력할 수 있는 디스플레이로 이루어져 사용자에게 시계열 데이터베이스(20)로부터 추출된 데이터를 시각적으로 표시할 수도 있다.1 and 3 , the
도 1, 도 4 및 도 5에 도시된 바와 같이, 학습부(180)는 기간 조건 및 필터링 조건과 기간 조건 및 필터링 조건에 부합하는 자연어 문장을 제공받아 분석하여 질의어 생성부(140)를 학습시킬 수 있다. 학습부(180)는 사용자로부터 자연어 문장을 수신하기 전에 질의어 생성부(140)를 학습시켜 데이터 추출의 정확도를 향상시킬 수도 있다.1, 4 and 5, the
다시 말하면, 학습부(180)는 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 한 쌍으로 제공받아 이를 분석하여 질의어 생성부(140)를 학습시킬 수 있다.In other words, the
학습부(180)는 도 4에 도시된 바와 같이 사용자로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받아 질의어 생성부(140)를 학습시킬 수 있으며, 도 5에 도시된 바와 같이 샘플 문장 생성부(190)로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받아 질의어 생성부(140)를 학습시킬 수도 있다.As shown in FIG. 4 , the
또한, 학습부(180)는 도 4에 도시된 사용자로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받아 질의어 생성부(140)를 학습시키는 단계와 도 5에 도시된 샘플 문장 생성부(190)로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받아 질의어 생성부(140)를 학습시키는 단계를 모두 수행할 수도 있다. 이를 통해 추출되는 데이터의 정확도가 향상될 수 있다.In addition, the
보다 구체적으로 도 4에 도시된 바와 같이, 학습부(180)는 사용자로부터 기간 조건 및 필터링 조건과 기간 조건 및 필터링 조건에 부합하는 자연어 문장을 제공받을 수 있으며, 이를 분석하여 질의어 생성부(140)를 학습시킬 수 있다. 이 과정을 수행하기 위해서는 사용자가 직접 데이터를 입력하는 과정이 필요하다.More specifically, as shown in FIG. 4 , the
또한, 도 5에 도시된 바와 같이, 샘플 문장 생성부(190)가 기간 조건 및 필터링 조건을 랜덤하게 생성하고, 기간 조건 및 필터링 조건에 부합하는 자연어 문장을 생성하고, 학습부(180)는 샘플 문장 생성부(190)로부터 샘플 문장 생성부(190)에 의해 생성된 기간 조건, 필터링 조건 및 자연어 문장을 제공받아 분석하여 질의어 생성부(140)를 학습시킬 수 있다.In addition, as shown in FIG. 5 , the sample
이어서, 도 1 내지 도 5를 참조하여 본 실시예에 따른 데이터 추출 방법의 각 단계에 대하여 설명하도록 한다.Next, each step of the data extraction method according to the present embodiment will be described with reference to FIGS. 1 to 5 .
본 실시예에 따르면, 수신부(110)가 사용자로부터 시간 정보가 포함된 데이터로 이루어진 시계열 데이터베이스(20)를 검색하는 자연어 문장을 입력받는 단계(S110), 매칭 단어 추출부(120)가 자연어 문장에서 시계열 데이터베이스(20) 내 테이블의 칼럼명과 매칭되는 단어를 추출하는 단계(S120), 질의어 생성부(140)가 자연어 문장, 매칭 단어 및 시계열 데이터베이스(20)의 테이블 정보를 제공받아 질의어(query language)를 생성하는 단계(S140), 질의 처리부(150)가 질의어 생성부(140)에 의해 생성된 질의어를 이용하여 시계열 데이터베이스(20)로부터 데이터를 추출하는 단계(S150), 및 데이터 표시부(160)가 질의 처리부(150)에 의해 시계열 데이터베이스(20)로부터 추출된 데이터를 표시하는 단계(S160)를 포함하는 자연어 질의를 통한 시계열 데이터베이스(20) 데이터 추출 방법이 제공될 수 있다.According to the present embodiment, the receiving
이러한 데이터 추출 방법은 상술한 데이터 추출 시스템(100)에 의해 수행될 수 있다.This data extraction method may be performed by the
먼저 도 3에 도시된 바와 같이, 형식 제안부(170)가 사용자에게 기간 조건 및 필터링 조건을 포함하는 자연어 문장의 형식을 제안할 수 있다(S100). 이 단계는 설정에 따라서 선택적으로 수행될 수 있다.First, as shown in FIG. 3 , the
이어서, 도 3에 도시된 바와 같이, 수신부(110)가 사용자로부터 자연어를 시간 정보가 포함된 데이터로 이루어진 시계열 데이터베이스(20)를 검색하는 자연어 문장을 입력받을 수 있다(S110).Subsequently, as shown in FIG. 3 , the receiving
또 이어서, 도 3에 도시된 바와 같이, 매칭 단어 추출부(120)가 자연어 문장에서 시계열 데이터베이스(20) 내 테이블의 칼럼명과 매칭되는 단어를 추출할 수 있다(S120).Also, as shown in FIG. 3 , the matching
또 이어서, 도 3에 도시된 바와 같이, 조건 추출부(130)가 자연어 문장으로부터 기간 조건 및 필터링 조건을 추출할 수 있다(S130). 여기서 기간 조건 및 필터링 조건을 추출하는 단계(S130)는 매칭 단어를 추출하는 단계(S120)와 동시에 수행될 수도 있다.Also, as shown in FIG. 3 , the
또 이어서, 도 3에 도시된 바와 같이, 질의어 생성부(140)가 자연어 문장, 매칭 단어 및 시계열 데이터베이스(20)의 테이블 정보를 제공받아 질의어(query language)를 생성할 수 있으며(S140), 질의 처리부(150)가 질의어 생성부(140)에 의해 생성된 질의어를 이용하여 시계열 데이터베이스(20)로부터 데이터를 추출할 수 있다(S150).Subsequently, as shown in FIG. 3 , the
마지막으로, 도 3에 도시된 바와 같이, 데이터 표시부(160)가 시계열 데이터베이스(20)로부터 추출된 데이터를 사용자에게 제공하기 위해 표시할 수 있다(S160).Finally, as shown in FIG. 3 , the
한편, 도 4 및 도 5에 도시된 바와 같이, 학습부(180)는 사용자 또는 샘플 문장 생성부(190)로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받아 질의어 생성부(140)를 학습시킬 수 있으며, 이 단계는 질의어 생성부(140)가 질의어를 생성하는 단계(S140) 이전이면 언제든 수행될 수 있으며, 일반적으로 상술한 수신부(110)가 자연어 문장을 입력받는 단계(S110) 전에 사전에 수행될 수 있다.Meanwhile, as shown in FIGS. 4 and 5 , the
보다 구체적으로 도 4에 도시된 바와 같이, 학습부(180)는 사용자로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받을 수 있으며(S210), 이를 분석하여(S220) 질의어 생성부(140)를 학습시킬 수 있다(S230).More specifically, as shown in FIG. 4 , the
또한 도 5에 도시된 바와 같이, 샘플 문장 생성부(190)가 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 생성하고(S310), 학습부(180)는 샘플 문장 생성부(190)로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받을 수 있으며(S320), 이를 분석하여(S330) 질의어 생성부(140)를 학습시킬 수도 있다(S340).Also, as shown in FIG. 5 , the sample
또한, 학습부(180)는 도 4에 도시된 사용자로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받아 질의어 생성부(140)를 학습시키는 단계(S230)와 도 5에 도시된 샘플 문장 생성부(190)로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받아 질의어 생성부(140)를 학습시키는 단계(S340)를 모두 수행할 수도 있다.In addition, the
한편, 전술된 실시예의 구성 요소는 프로세스적인 관점에서 용이하게 파악될 수 있다. 즉 각각의 구성 요소는 각각의 프로세스로 파악될 수 있다. 또한 전술된 실시예의 프로세스는 장치의 구성 요소 관점에서 용이하게 파악될 수 있다.On the other hand, the components of the above-described embodiment can be easily grasped from a process point of view. That is, each component can be identified as each process. In addition, the process of the above-described embodiment can be easily understood from the point of view of the components of the apparatus.
또한 앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, the technical contents described above may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiments or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. A hardware device may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상, 본 발명의 일 실시예에 대하여 설명하였으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 특허청구범위에 기재된 본 발명의 사상으로부터 벗어나지 않는 범위 내에서, 구성 요소의 부가, 변경, 삭제 또는 추가 등에 의해 본 발명을 다양하게 수정 및 변경시킬 수 있을 것이며, 이 또한 본 발명의 권리범위 내에 포함된다고 할 것이다.In the above, although an embodiment of the present invention has been described, those of ordinary skill in the art can add, change, delete or add components within the scope that does not depart from the spirit of the present invention described in the claims. The present invention may be variously modified and changed by, etc., and this will also be included within the scope of the present invention.
10: 사용자(사용자 단말)
20: 시계열 데이터베이스
100: 데이터 추출 시스템
110: 수신부
120: 매칭 단어 추출부
130: 조건 추출부
140: 질의어 생성부
150: 질의 처리부
160: 데이터 표시부
170: 형식 제안부
180: 학습부
190: 샘플 문장 생성부10: user (user terminal)
20: Time Series Database
100: data extraction system
110: receiver
120: matching word extraction unit
130: condition extraction unit
140: query word generator
150: query processing unit
160: data display unit
170: form proposal part
180: study department
190: sample sentence generator
Claims (10)
상기 자연어 문장에서 상기 시계열 데이터베이스 내 테이블의 칼럼명과 매칭되는 단어를 추출하는 매칭 단어 추출부;
상기 자연어 문장, 상기 매칭 단어 및 상기 시계열 데이터베이스의 테이블 정보를 제공받아 질의어(query language)를 생성하는 질의어 생성부;
상기 질의어 생성부에 의해 생성된 상기 질의어를 이용하여 상기 시계열 데이터베이스로부터 데이터를 추출하는 질의 처리부; 및
상기 질의 처리부에 의해 상기 시계열 데이터베이스로부터 추출된 데이터를 표시하는 데이터 표시부를 포함하고,
상기 자연어 문장은 상기 시계열 데이터베이스의 각 데이터에 대한 데이터 값을 필터링 가능하도록 한정하는 필터링 조건을 포함하는 형식을 갖고,
상기 자연어 문장으로부터 상기 필터링 조건을 추출하는 조건 추출부를 더 포함하고,
상기 조건 추출부는 상기 자연어 문장 중에서 상기 시계열 데이터베이스의 데이터를 필터링할 수 있는 조건을 의미하는 부분을 상기 필터링 조건으로 추출하고,
상기 질의어 생성부는 상기 조건 추출부로부터 상기 필터링 조건을 제공받아 상기 질의어를 생성하고,
상기 질의어 생성부는 상기 필터링 조건 중 상기 사용자가 설정한 기간의 집계 데이터에 대한 조건이 있는 경우, 기간 내 집계 데이터를 나타내는 집계 필터링 함수를 포함하는 질의어를 생성하는, 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
a receiving unit receiving a natural language sentence for searching a time series database composed of data including time information from a user;
a matching word extraction unit for extracting a word matching a column name of a table in the time series database from the natural language sentence;
a query word generator configured to receive the natural language sentence, the matching word, and table information of the time series database to generate a query language;
a query processing unit that extracts data from the time series database using the query word generated by the query word generator; and
and a data display unit for displaying data extracted from the time series database by the query processing unit,
The natural language sentence has a format including a filtering condition for limiting a data value for each data of the time series database to be filterable,
Further comprising a condition extraction unit for extracting the filtering condition from the natural language sentence,
The condition extraction unit extracts, as the filtering condition, a part meaning a condition for filtering data of the time series database from among the natural language sentences,
The query word generator generates the query word by receiving the filtering condition from the condition extractor,
When there is a condition for aggregate data of the period set by the user among the filtering conditions, the query word generator generates a query word including an aggregate filtering function representing aggregate data within a period, time series database data extraction system through a natural language query .
상기 자연어 문장은 상기 시계열 데이터베이스의 각 데이터에 대한 기간 범위를 한정하는 기간 조건 및 상기 필터링 조건을 포함하는 형식을 갖고,
상기 조건 추출부는 상기 자연어 문장으로부터 상기 기간 조건 및 상기 필터링 조건을 추출하고,
상기 조건 추출부는 상기 자연어 문장 중에서 상기 시계열 데이터베이스의 데이터에 대한 기간 범위 조건을 의미하는 부분을 상기 기간 조건으로 추출하고,
상기 질의어 생성부는 상기 조건 추출부로부터 상기 기간 조건 및 상기 필터링 조건을 제공받아 상기 질의어를 생성하는, 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
According to claim 1,
The natural language sentence has a format including a period condition defining a period range for each data of the time series database and the filtering condition,
The condition extraction unit extracts the period condition and the filtering condition from the natural language sentence,
The condition extraction unit extracts a portion that means a period range condition for data of the time series database from among the natural language sentences as the period condition,
The query word generation unit receives the period condition and the filtering condition from the condition extraction unit to generate the query word, a time series database data extraction system through a natural language query.
상기 자연어 문장에는 복수의 상기 필터링 조건이 포함 가능한, 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
3. The method of claim 2,
The natural language sentence may include a plurality of the filtering conditions, a time series database data extraction system through a natural language query.
상기 질의어 생성부는 상기 필터링 조건 중 복수 시점에서 변화되는 데이터에 대한 조건이 있는 경우, 복수 시점에서 데이터 변화를 나타내는 시간이동(time-shift) 필터링 함수를 포함하는 질의어를 생성하는, 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
4. The method of claim 3,
The query word generator generates a query word including a time-shift filtering function representing data change at a plurality of points in time when there is a condition for data that changes at a plurality of points in time among the filtering conditions, a time series through a natural language query Database data extraction system.
상기 질의어 생성부는,
상기 질의어 생성부는 상기 필터링 조건 중 시간을 변수로 하는 데이터에 대한 조건이 있는 경우, 시간을 변수로 하는 데이터를 나타내는 일반 필터링 함수를 포함하는 질의어를 생성하는, 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
4. The method of claim 3,
The query word generator,
The query word generator generates a query word including a general filtering function representing data using time as a variable when there is a condition for data using time as a variable among the filtering conditions, a time series database data extraction system through a natural language query.
상기 질의어 생성부는 상기 일반 필터링 함수 및 상기 집계 필터링 함수 중 어느 하나만 포함하여 질의어를 생성하는, 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
6. The method of claim 5,
The system for extracting time series database data through a natural language query, wherein the query word generation unit generates a query word by including only one of the general filtering function and the aggregate filtering function.
상기 필터링 조건은 데이터의 상한값 및 하한값 중 적어도 어느 하나를 포함하는, 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
3. The method of claim 2,
The filtering condition includes at least one of an upper limit value and a lower limit value of the data, a time series database data extraction system through a natural language query.
상기 질의어 생성부는 수식 형태, 컴퓨터 언어 형태 및 SQL(structured query language) 형식 중 적어도 어느 하나로 질의어를 생성하는, 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
According to claim 1,
The query word generator generates a query word in at least one of a formula form, a computer language form, and a structured query language (SQL) form, a time series database data extraction system through a natural language query.
기간 조건 및 필터링 조건과 상기 기간 조건 및 상기 필터링 조건에 부합하는 상기 자연어 문장을 제공받아 분석하여 상기 질의어 생성부를 학습시키는 학습부를 더 포함하는 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
According to claim 1,
The system for extracting time series database data through natural language query further comprising: a period condition and filtering condition; and a learning unit configured to receive and analyze the natural language sentence that meets the period condition and the filtering condition to learn the query word generator.
매칭 단어 추출부가 상기 자연어 문장에서 상기 시계열 데이터베이스 내 테이블의 칼럼명과 매칭되는 단어를 추출하는 단계;
질의어 생성부가 상기 자연어 문장, 상기 매칭 단어 및 상기 시계열 데이터베이스의 테이블 정보를 제공받아 질의어(query language)를 생성하는 단계;
질의 처리부가 상기 질의어 생성부에 의해 생성된 상기 질의어를 이용하여 상기 시계열 데이터베이스로부터 데이터를 추출하는 단계; 및
데이터 표시부가 상기 질의 처리부에 의해 상기 시계열 데이터베이스로부터 추출된 데이터를 표시하는 단계를 포함하고,
상기 자연어 문장은 상기 시계열 데이터베이스의 각 데이터에 대한 데이터 값을 필터링 가능하도록 한정하는 필터링 조건을 포함하는 형식을 갖고,
상기 자연어 문장으로부터 상기 필터링 조건을 추출하는 조건 추출부를 더 포함하고,
상기 조건 추출부는 상기 자연어 문장 중에서 상기 시계열 데이터베이스의 데이터를 필터링할 수 있는 조건을 의미하는 부분을 상기 필터링 조건으로 추출하고,
상기 질의어 생성부는 상기 조건 추출부로부터 상기 필터링 조건을 제공받아 상기 질의어를 생성하고,
상기 질의어 생성부는,
상기 필터링 조건 중 상기 사용자가 설정한 기간의 집계 데이터에 대한 조건이 있는 경우, 기간 내 집계 데이터를 나타내는 집계 필터링 함수를 포함하는 질의어를 생성하는, 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 방법.receiving, by a receiving unit, a natural language sentence for searching a time series database including data including time information from a user;
extracting, by a matching word extraction unit, a word matching a column name of a table in the time series database from the natural language sentence;
generating, by a query language generating unit, a query language by receiving the natural language sentence, the matching word, and table information of the time series database;
extracting, by a query processing unit, data from the time series database by using the query word generated by the query word generation unit; and
A data display unit comprising the step of displaying the data extracted from the time series database by the query processing unit,
The natural language sentence has a format including a filtering condition for limiting a data value for each data of the time series database to be filterable,
Further comprising a condition extraction unit for extracting the filtering condition from the natural language sentence,
The condition extraction unit extracts, as the filtering condition, a part meaning a condition for filtering data of the time series database from among the natural language sentences,
The query word generator generates the query word by receiving the filtering condition from the condition extractor,
The query word generator,
When there is a condition for aggregate data of the period set by the user among the filtering conditions, a query word including an aggregate filtering function representing aggregate data within a period is generated, a time series database data extraction method through a natural language query.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200185990A KR102267068B1 (en) | 2020-12-29 | 2020-12-29 | System and method extracting information from time series database according to natural language queries |
KR1020210076941A KR20220095081A (en) | 2020-12-29 | 2021-06-14 | System and method extracting information from time series database according to natural language queries |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200185990A KR102267068B1 (en) | 2020-12-29 | 2020-12-29 | System and method extracting information from time series database according to natural language queries |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210076941A Division KR20220095081A (en) | 2020-12-29 | 2021-06-14 | System and method extracting information from time series database according to natural language queries |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102267068B1 true KR102267068B1 (en) | 2021-06-21 |
Family
ID=76599768
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200185990A KR102267068B1 (en) | 2020-12-29 | 2020-12-29 | System and method extracting information from time series database according to natural language queries |
KR1020210076941A KR20220095081A (en) | 2020-12-29 | 2021-06-14 | System and method extracting information from time series database according to natural language queries |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210076941A KR20220095081A (en) | 2020-12-29 | 2021-06-14 | System and method extracting information from time series database according to natural language queries |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR102267068B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100472949B1 (en) | 2001-10-18 | 2005-03-08 | 한국전자통신연구원 | A method for searching an index for subsequence matching in time-series databases |
KR20160066236A (en) * | 2014-12-02 | 2016-06-10 | 주식회사 솔트룩스 | Method for producing structured query based on knowledge database and apparatus for the same |
KR20170025201A (en) * | 2015-08-27 | 2017-03-08 | 삼성전자주식회사 | Method and apparatus for automatic process of query |
KR20200068105A (en) * | 2018-11-28 | 2020-06-15 | 주식회사 솔트룩스 | System of providing documents for machine reading comprehension and question answering system including the same |
-
2020
- 2020-12-29 KR KR1020200185990A patent/KR102267068B1/en active IP Right Grant
-
2021
- 2021-06-14 KR KR1020210076941A patent/KR20220095081A/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100472949B1 (en) | 2001-10-18 | 2005-03-08 | 한국전자통신연구원 | A method for searching an index for subsequence matching in time-series databases |
KR20160066236A (en) * | 2014-12-02 | 2016-06-10 | 주식회사 솔트룩스 | Method for producing structured query based on knowledge database and apparatus for the same |
KR20170025201A (en) * | 2015-08-27 | 2017-03-08 | 삼성전자주식회사 | Method and apparatus for automatic process of query |
KR20200068105A (en) * | 2018-11-28 | 2020-06-15 | 주식회사 솔트룩스 | System of providing documents for machine reading comprehension and question answering system including the same |
Also Published As
Publication number | Publication date |
---|---|
KR20220095081A (en) | 2022-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI472720B (en) | Systems and methods for presenting point of interest (poi) information map, and storage medium thereof | |
US9898464B2 (en) | Information extraction supporting apparatus and method | |
AU2018411565B2 (en) | System and methods for generating an enhanced output of relevant content to facilitate content analysis | |
CN107748784B (en) | Method for realizing structured data search through natural language | |
US9965508B1 (en) | Method and system for identifying entities | |
CN106096609B (en) | A kind of merchandise query keyword automatic generation method based on OCR | |
US20150331847A1 (en) | Apparatus and method for classifying and analyzing documents including text | |
US20110231448A1 (en) | Device and method for generating opinion pairs having sentiment orientation based impact relations | |
US10586174B2 (en) | Methods and systems for finding and ranking entities in a domain specific system | |
US9529847B2 (en) | Information processing apparatus, information processing method, and program for extracting co-occurrence character strings | |
CN109101551B (en) | Question-answer knowledge base construction method and device | |
Sarawgi et al. | Opinion mining: aspect level sentiment analysis using SentiWordNet and Amazon web services | |
KR101429397B1 (en) | Method and system for extracting core events based on message analysis in social network service | |
JP2002132811A (en) | Method and system for answering question and recording medium with recorded question answering program | |
US11295078B2 (en) | Portfolio-based text analytics tool | |
CN103425705B (en) | The acquisition methods and device and searching method and device of a kind of negative keyword | |
KR20200064490A (en) | Server and method for automatically generating profile | |
KR102267068B1 (en) | System and method extracting information from time series database according to natural language queries | |
JP2012043115A (en) | Document search device, document search method, and document search program | |
US11501072B1 (en) | System, method, and computer program product for automated factual citation detection | |
US20220222693A1 (en) | Method of demographic information generation from name | |
CN110991169A (en) | Method and device for identifying risk content variety and electronic equipment | |
CN115544214A (en) | Event processing method and device and computer readable storage medium | |
JP2012093870A (en) | Request acquisition support system for system development, request acquisition support method, and program | |
KR101614551B1 (en) | System and method for extracting keyword using category matching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |