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 PDF

Info

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
Application number
KR1020200185990A
Other languages
Korean (ko)
Inventor
허태일
최은진
Original Assignee
주식회사 젠티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 젠티 filed Critical 주식회사 젠티
Priority to KR1020200185990A priority Critical patent/KR102267068B1/en
Priority to KR1020210076941A priority patent/KR20220095081A/en
Application granted granted Critical
Publication of KR102267068B1 publication Critical patent/KR102267068B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation 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

Disclosed are a system and a method for extracting data from a time series database according to a natural language query. According to an aspect of the present invention, a system for extracting data from a time series database through a natural language query comprises: a receiving unit for receiving, from a user, a natural language sentence for searching a time series database consisting of data including time information; a matching word extraction unit which extracts a word which matches a column name of a table in the time series database, from the natural language sentence; a query language generation unit which generates a query language by receiving table information of the time series database, the matching word, and the natural language sentence; a query processing unit which extracts data from the time series database using the query language generated by the query language generation unit; and a data display unit which displays data extracted from the time series database by the query processing unit.

Description

자연어 질의에 따라 시계열 데이터베이스로부터 데이터를 추출하는 시스템 및 그 방법{SYSTEM AND METHOD EXTRACTING INFORMATION FROM TIME SERIES DATABASE ACCORDING TO NATURAL LANGUAGE QUERIES}A system and method for extracting data from a time series database according to a natural language query {SYSTEM AND METHOD EXTRACTING INFORMATION FROM TIME SERIES DATABASE ACCORDING TO NATURAL LANGUAGE QUERIES}

본 발명은 자연어 질의에 따라 시계열 데이터베이스로부터 데이터를 추출하는 시스템 및 그 방법에 관한 것이다.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.

대한민국 등록특허공보 제10-0472949호(2005.03.08.)Republic of Korea Patent Publication No. 10-0472949 (2005.03.08.)

본 발명은 시계열 데이터베이스로부터 필요한 데이터를 추출하기 위해 사용자로부터 자연어를 입력받아 질의어 생성 및 데이터 추출 과정을 수행하는 자연어 질의에 따라 시계열 데이터베이스로부터 데이터를 추출하는 시스템 및 그 방법을 제공하는 것이다.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 unit 110 that receives a natural language sentence for searching the time series database 20 consisting of data including time information from a user, and a column of a table in the time series database 20 in the natural language sentence A matching word extraction unit 120 for extracting a word matching a name, a query word generation unit 140 for generating a query language by receiving natural language sentences, matching words, and table information of the time series database 20 , a query word generation unit A query processing unit 150 that extracts data from the time series database 20 using the query word generated by 140, and a data display unit that displays data extracted from the time series database 20 by the query processing unit 150 ( 160), a time series database data extraction system 100 through a natural language query is provided.

본 실시예의 데이터 추출 시스템(100)은 사용자로부터 자연어를 입력받아 시계열 데이터베이스(20)의 칼럼명과 매칭되는 단어를 추출하고, 자연어 문장으로부터 기간 조건 및 필터링 조건을 추출하여 질의어를 생성하고, 이러한 질의어를 이용하여 시계열 데이터베이스(20)로부터 데이터를 추출할 수 있다. 따라서 본 실시예는 이러한 과정을 통하여 사용자가 자연어 문장 입력을 통하여 보다 손쉽게 시계열 데이터베이스(20)로부터 데이터를 제공받을 수 있도록 할 수 있다.The data extraction system 100 of this embodiment receives a natural language input from a user, extracts a word matching a column name of the time series database 20, extracts a period condition and a filtering condition from a natural language sentence to generate a query word, and data can be extracted from the time series database 20 using Accordingly, in the present embodiment, through this process, the user can more easily receive data from the time-series database 20 through natural language sentence input.

이하 도 1 내지 도 5를 참조하여 본 실시예에 따른 데이터 추출 시스템(100)의 각 구성에 대하여 설명하도록 한다.Hereinafter, each configuration of the data extraction system 100 according to the present embodiment will be described with reference to FIGS. 1 to 5 .

도 1 및 도 3에 도시된 바와 같이, 사용자는 사용자 단말(10)을 이용하여 본 실시예의 데이터 추출 시스템(100)으로부터 데이터를 제공받는 사람을 말하며, 사용자는 사용자 단말(10)을 이용하여 시계열 데이터베이스(20)를 검색하기 위한 자연어 문장을 입력하여 데이터 추출 시스템(100)을 작동시킬 수 있다. 또한, 여기서 사용자 단말(10)은 스마트폰, 태블릿 컴퓨터 등과 같은 핸드헬드(Handheld) 기반의 무선 통신 장치 및 데스크탑 컴퓨터나 노트북 컴퓨터, 인터넷 TV 등을 포함할 수 있다.1 and 3 , a user refers to a person who receives data from the data extraction system 100 of this embodiment using the user terminal 10 , and the user uses the user terminal 10 to time series The data extraction system 100 may be activated by inputting a natural language sentence for searching the database 20 . Also, here, the user terminal 10 may include a handheld-based wireless communication device such as a smart phone or a tablet computer, a desktop computer, a notebook computer, an Internet TV, and the like.

도 1 및 도 3에 도시된 바와 같이, 수신부(110)는 사용자로부터 시간 정보가 포함된 데이터로 이루어진 시계열 데이터베이스(20)를 검색하기 위한 자연어 문장을 입력받을 수 있다.1 and 3 , the receiver 110 may receive a natural language sentence for searching the time series database 20 including data including time information from the user.

도 1 및 도 3에 도시된 바와 같이, 매칭 단어 추출부(120)는 사용자로부터 제공받은 자연어 문장에서 시계열 데이터베이스(20) 내 테이블의 칼럼명과 매칭되는 단어를 검색할 수 있다. 여기서 시계열 데이터베이스(20) 내 테이블은 데이터베이스의 기본 단위로 데이터를 저장하는 객체를 말하고, 칼럼은 복수의 데이터값을 포함하는 특정 속성을 말할 수 있다.1 and 3 , the matching word extraction unit 120 may search for a word matching a column name of a table in the time series database 20 from a natural language sentence provided by a user. Here, a table in the time series database 20 may refer to an object storing data as a basic unit of the database, and a column may refer to a specific property including a plurality of data values.

따라서, 매칭 단어 추출부(120)는 자연어 문장에서 칼럼명과 매칭되는 매칭 단어를 조회하여 데이터 추출의 키워드를 찾는 역할을 수행할 수 있다.Accordingly, the matching word extraction unit 120 may perform a role of finding a keyword for data extraction by inquiring a matching word matching a column name in a natural language sentence.

도 1 내지 도 3에 도시된 바와 같이, 조건 추출부(130)는 자연어 문장으로부터 기간 조건 및 필터링 조건을 추출할 수 있다. 여기서 기간 조건 및 필터링 조건은 시계열 데이터베이스(20)에서 데이터를 추출하는 질의어의 기초가 될 수 있다.1 to 3 , the condition extraction unit 130 may extract a period condition and a filtering condition from a natural language sentence. Here, the period condition and the filtering condition may be the basis of a query word for extracting data from the time series database 20 .

도 1 및 도 3에 도시된 바와 같이, 질의어 생성부(140)는 자연어 문장, 매칭 단어 및 시계열 데이터베이스(20)의 테이블 정보를 제공받아 질의어(query language)를 생성할 수 있으며, 보다 구체적으로, 상술한 매칭 단어 추출부(120) 및 조건 추출부(130)로부터 각각 매칭 단어 및 기간 조건, 필터링 조건을 제공받고, 시계열 데이터베이스(20)로부터 테이블의 각 정보를 제공받아 질의어를 생성할 수 있다.1 and 3 , the query word generator 140 may generate a query language by receiving natural language sentences, matching words, and table information of the time series database 20, and more specifically, A query word may be generated by receiving matching words, period conditions, and filtering conditions from the above-described matching word extracting unit 120 and the condition extracting unit 130 , respectively, and receiving each information of the table from the time series database 20 .

여기서 질의어는 데이터베이스를 사용할 수 있는 기계어를 말하며, 이를 통하여 본 실시예의 시계열 데이터베이스(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 time series database 20 of the present embodiment. Also, in the present embodiment, the query word may be formed in at least one of a formula form, a computer language form, and a structured query language (SQL) form.

또한, 상술한 자연어 문장에는 기간 조건 및 필터링 조건이 각각 복수로 포함될 수 있다.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 query word generator 140 includes a time-shift filtering function indicating data change at multiple points in time when there is a condition for data that changes at a plurality of points in the filtering conditions. You can create query words.

여기서 시간이동 필터링 함수는 어느 하나의 시점으로부터 과거로 시간 이동한 데이터값을 산출하거나, 어느 하나의 시점에서의 데이터값과 다른 하나의 시점에서의 데이터값의 차이 또는 증감률 등을 산출하는 함수를 말하는 것으로, 예를 들어 '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 query word generator 140 generates a query word including a general filtering function representing data with time as a variable. In addition, if there is a condition for aggregate data for a period set by the user among the filtering conditions, a query word including an aggregate filtering function representing aggregate data within the period can be created.

여기서 일반 필터링 함수는 모든 시간대에 동시 적용되며 시간을 변수로 하는 일반적인 함수를 말하며, '강수량', '손익'과 같이 시간에 따라서 그 데이터값이 변화하는 함수를 말할 수 있다. 그리고 집계 필터링 함수는 사용자가 설정한 기간 동안의 합계, 평균, 최대값, 최소값 등 통계치를 나타내는 집계 함수를 말하며, 예를 들어, '매출액의 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 query word generator 140 may generate a query word including any one of the above-described general filtering function and aggregate filtering function, and each of the general filtering function and the statistical filtering function may be generated as a query word together with the time shift filtering function. may be

또한, 상술한 필터링 조건은 데이터의 상한값 및 하한값 중 적어도 어느 하나를 포함할 수 있으며, 예를 들어, '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 format suggestion unit 170 may suggest a format of a natural language sentence to include a period condition and a filtering condition to the user. Before inputting the natural language sentence, it may be suggested to the user to input the natural language sentence according to a format determined so that the condition extractor 130 and the query word generator 140 extract the condition and generate the query word, respectively.

예를 들어, 형식 제안부(170)는 입력 형식을 '기간 조건+필터링 조건'으로 제한하여 이에 따라 자연어 문장을 입력하도록 제안할 수 있다.For example, the format suggestion unit 170 may limit the input format to 'period condition + filtering condition' and suggest inputting a natural language sentence accordingly.

도 1 및 도 3에 도시된 바와 같이, 질의 처리부(150)는 질의어 생성부(140)에 의해 생성된 질의어를 이용하여 시계열 데이터베이스(20)로부터 데이터를 추출할 수 있다.1 and 3 , the query processing unit 150 may extract data from the time series database 20 using the query word generated by the query word generation unit 140 .

도 1 및 도 3에 도시된 바와 같이, 데이터 표시부(160)는 질의 처리부(150)에 의해 시계열 데이터베이스(20)로부터 추출된 데이터를 표시할 수 있으며, 일례로 데이터 표시부(160)는 시각적으로 정보를 출력할 수 있는 디스플레이로 이루어져 사용자에게 시계열 데이터베이스(20)로부터 추출된 데이터를 시각적으로 표시할 수도 있다.1 and 3 , the data display unit 160 may display data extracted from the time series database 20 by the query processing unit 150, and for example, the data display unit 160 may visually display information Data extracted from the time series database 20 may be visually displayed to the user by a display capable of outputting .

도 1, 도 4 및 도 5에 도시된 바와 같이, 학습부(180)는 기간 조건 및 필터링 조건과 기간 조건 및 필터링 조건에 부합하는 자연어 문장을 제공받아 분석하여 질의어 생성부(140)를 학습시킬 수 있다. 학습부(180)는 사용자로부터 자연어 문장을 수신하기 전에 질의어 생성부(140)를 학습시켜 데이터 추출의 정확도를 향상시킬 수도 있다.1, 4 and 5, the learning unit 180 receives and analyzes a period condition and a filtering condition and a natural language sentence that meets the period condition and the filtering condition to learn the query word generator 140. can The learner 180 may improve the accuracy of data extraction by learning the query word generator 140 before receiving the natural language sentence from the user.

다시 말하면, 학습부(180)는 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 한 쌍으로 제공받아 이를 분석하여 질의어 생성부(140)를 학습시킬 수 있다.In other words, the learning unit 180 may receive a pair of natural language sentences corresponding to the period condition and the filtering condition and analyze them to learn the query word generator 140 .

학습부(180)는 도 4에 도시된 바와 같이 사용자로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받아 질의어 생성부(140)를 학습시킬 수 있으며, 도 5에 도시된 바와 같이 샘플 문장 생성부(190)로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받아 질의어 생성부(140)를 학습시킬 수도 있다.As shown in FIG. 4 , the learning unit 180 may receive a period condition and a filtering condition and a natural language sentence corresponding thereto from a user to learn the query word generator 140 , and as shown in FIG. 5 , a sample sentence The query word generator 140 may be trained by receiving a period condition and a filtering condition and a natural language sentence corresponding thereto from the generator 190 .

또한, 학습부(180)는 도 4에 도시된 사용자로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받아 질의어 생성부(140)를 학습시키는 단계와 도 5에 도시된 샘플 문장 생성부(190)로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받아 질의어 생성부(140)를 학습시키는 단계를 모두 수행할 수도 있다. 이를 통해 추출되는 데이터의 정확도가 향상될 수 있다.In addition, the learning unit 180 receives the period condition and filtering condition and natural language sentences corresponding thereto from the user shown in FIG. 4 to learn the query word generation unit 140 and the sample sentence generation unit ( All of the steps of learning the query word generator 140 may be performed by receiving the period condition and the filtering condition from the 190 , and a natural language sentence corresponding thereto. Through this, the accuracy of the extracted data may be improved.

보다 구체적으로 도 4에 도시된 바와 같이, 학습부(180)는 사용자로부터 기간 조건 및 필터링 조건과 기간 조건 및 필터링 조건에 부합하는 자연어 문장을 제공받을 수 있으며, 이를 분석하여 질의어 생성부(140)를 학습시킬 수 있다. 이 과정을 수행하기 위해서는 사용자가 직접 데이터를 입력하는 과정이 필요하다.More specifically, as shown in FIG. 4 , the learning unit 180 may receive a period condition and filtering condition and a natural language sentence that meets the period condition and filtering condition from the user, and analyzes it to generate the query word generation unit 140 . can be learned In order to perform this process, a process in which the user directly inputs data is required.

또한, 도 5에 도시된 바와 같이, 샘플 문장 생성부(190)가 기간 조건 및 필터링 조건을 랜덤하게 생성하고, 기간 조건 및 필터링 조건에 부합하는 자연어 문장을 생성하고, 학습부(180)는 샘플 문장 생성부(190)로부터 샘플 문장 생성부(190)에 의해 생성된 기간 조건, 필터링 조건 및 자연어 문장을 제공받아 분석하여 질의어 생성부(140)를 학습시킬 수 있다.In addition, as shown in FIG. 5 , the sample sentence generation unit 190 randomly generates a period condition and a filtering condition, and generates a natural language sentence matching the period condition and the filtering condition, and the learning unit 180 generates a sample. A period condition, a filtering condition, and a natural language sentence generated by the sample sentence generation unit 190 are provided from the sentence generation unit 190 and analyzed to learn the query word generation unit 140 .

이어서, 도 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 unit 110 receives a natural language sentence for searching the time series database 20 consisting of data including time information from the user (S110), and the matching word extracting unit 120 extracts the natural language sentence from the natural language sentence. A step of extracting a word that matches a column name of a table in the time series database 20 ( S120 ), the query word generator 140 receives the natural language sentence, the matching word, and table information of the time series database 20 to obtain a query language generating (S140), the query processing unit 150 extracting data from the time series database 20 using the query word generated by the query word generation unit 140 (S150), and the data display unit 160 A method of extracting data from the time series database 20 through a natural language query including displaying data extracted from the time series database 20 by the query processing unit 150 ( S160 ) may be provided.

이러한 데이터 추출 방법은 상술한 데이터 추출 시스템(100)에 의해 수행될 수 있다.This data extraction method may be performed by the data extraction system 100 described above.

먼저 도 3에 도시된 바와 같이, 형식 제안부(170)가 사용자에게 기간 조건 및 필터링 조건을 포함하는 자연어 문장의 형식을 제안할 수 있다(S100). 이 단계는 설정에 따라서 선택적으로 수행될 수 있다.First, as shown in FIG. 3 , the format suggestion unit 170 may suggest a format of a natural language sentence including a period condition and a filtering condition to the user ( S100 ). This step may be optionally performed depending on the settings.

이어서, 도 3에 도시된 바와 같이, 수신부(110)가 사용자로부터 자연어를 시간 정보가 포함된 데이터로 이루어진 시계열 데이터베이스(20)를 검색하는 자연어 문장을 입력받을 수 있다(S110).Subsequently, as shown in FIG. 3 , the receiving unit 110 may receive a natural language sentence for searching the time series database 20 consisting of data including natural language time information from the user ( S110 ).

또 이어서, 도 3에 도시된 바와 같이, 매칭 단어 추출부(120)가 자연어 문장에서 시계열 데이터베이스(20) 내 테이블의 칼럼명과 매칭되는 단어를 추출할 수 있다(S120).Also, as shown in FIG. 3 , the matching word extraction unit 120 may extract a word matching the column name of a table in the time series database 20 from the natural language sentence ( S120 ).

또 이어서, 도 3에 도시된 바와 같이, 조건 추출부(130)가 자연어 문장으로부터 기간 조건 및 필터링 조건을 추출할 수 있다(S130). 여기서 기간 조건 및 필터링 조건을 추출하는 단계(S130)는 매칭 단어를 추출하는 단계(S120)와 동시에 수행될 수도 있다.Also, as shown in FIG. 3 , the condition extraction unit 130 may extract a period condition and a filtering condition from the natural language sentence ( S130 ). Here, the step of extracting the period condition and the filtering condition ( S130 ) may be performed simultaneously with the step of extracting the matching word ( S120 ).

또 이어서, 도 3에 도시된 바와 같이, 질의어 생성부(140)가 자연어 문장, 매칭 단어 및 시계열 데이터베이스(20)의 테이블 정보를 제공받아 질의어(query language)를 생성할 수 있으며(S140), 질의 처리부(150)가 질의어 생성부(140)에 의해 생성된 질의어를 이용하여 시계열 데이터베이스(20)로부터 데이터를 추출할 수 있다(S150).Subsequently, as shown in FIG. 3 , the query word generator 140 may generate a query language by receiving the natural language sentences, matching words, and table information of the time series database 20 ( S140 ), and The processing unit 150 may extract data from the time series database 20 using the query word generated by the query word generator 140 ( S150 ).

마지막으로, 도 3에 도시된 바와 같이, 데이터 표시부(160)가 시계열 데이터베이스(20)로부터 추출된 데이터를 사용자에게 제공하기 위해 표시할 수 있다(S160).Finally, as shown in FIG. 3 , the data display unit 160 may display the data extracted from the time series database 20 to provide it to the user ( S160 ).

한편, 도 4 및 도 5에 도시된 바와 같이, 학습부(180)는 사용자 또는 샘플 문장 생성부(190)로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받아 질의어 생성부(140)를 학습시킬 수 있으며, 이 단계는 질의어 생성부(140)가 질의어를 생성하는 단계(S140) 이전이면 언제든 수행될 수 있으며, 일반적으로 상술한 수신부(110)가 자연어 문장을 입력받는 단계(S110) 전에 사전에 수행될 수 있다.Meanwhile, as shown in FIGS. 4 and 5 , the learning unit 180 receives a period condition and a filtering condition and a natural language sentence corresponding thereto from a user or a sample sentence generation unit 190 to generate a query word generation unit 140 . can be learned, and this step can be performed any time before the step S140 of generating the query word by the query word generating unit 140, and generally before the step S110 of the above-described receiving unit 110 receiving the natural language sentence. This can be done in advance.

보다 구체적으로 도 4에 도시된 바와 같이, 학습부(180)는 사용자로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받을 수 있으며(S210), 이를 분석하여(S220) 질의어 생성부(140)를 학습시킬 수 있다(S230).More specifically, as shown in FIG. 4 , the learning unit 180 may receive a period condition and a filtering condition and a natural language sentence corresponding thereto from the user (S210), and analyze it (S220), and the query word generator 140 ) can be learned (S230).

또한 도 5에 도시된 바와 같이, 샘플 문장 생성부(190)가 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 생성하고(S310), 학습부(180)는 샘플 문장 생성부(190)로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받을 수 있으며(S320), 이를 분석하여(S330) 질의어 생성부(140)를 학습시킬 수도 있다(S340).Also, as shown in FIG. 5 , the sample sentence generating unit 190 generates a period condition and a filtering condition and a natural language sentence corresponding thereto ( S310 ), and the learning unit 180 receives the period from the sample sentence generating unit 190 . Conditions and filtering conditions and natural language sentences corresponding thereto may be provided (S320), and the query word generator 140 may be trained by analyzing them (S330) (S340).

또한, 학습부(180)는 도 4에 도시된 사용자로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받아 질의어 생성부(140)를 학습시키는 단계(S230)와 도 5에 도시된 샘플 문장 생성부(190)로부터 기간 조건 및 필터링 조건과 이에 부합하는 자연어 문장을 제공받아 질의어 생성부(140)를 학습시키는 단계(S340)를 모두 수행할 수도 있다.In addition, the learning unit 180 receives a period condition and a filtering condition and a natural language sentence corresponding thereto from the user shown in FIG. 4 to learn the query word generator 140 ( S230 ) and a sample sentence shown in FIG. 5 . All of the step S340 of learning the query word generator 140 may be performed by receiving the period condition and filtering condition and natural language sentences corresponding thereto from the generator 190 .

한편, 전술된 실시예의 구성 요소는 프로세스적인 관점에서 용이하게 파악될 수 있다. 즉 각각의 구성 요소는 각각의 프로세스로 파악될 수 있다. 또한 전술된 실시예의 프로세스는 장치의 구성 요소 관점에서 용이하게 파악될 수 있다.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 .
제1항에 있어서,
상기 자연어 문장은 상기 시계열 데이터베이스의 각 데이터에 대한 기간 범위를 한정하는 기간 조건 및 상기 필터링 조건을 포함하는 형식을 갖고,
상기 조건 추출부는 상기 자연어 문장으로부터 상기 기간 조건 및 상기 필터링 조건을 추출하고,
상기 조건 추출부는 상기 자연어 문장 중에서 상기 시계열 데이터베이스의 데이터에 대한 기간 범위 조건을 의미하는 부분을 상기 기간 조건으로 추출하고,
상기 질의어 생성부는 상기 조건 추출부로부터 상기 기간 조건 및 상기 필터링 조건을 제공받아 상기 질의어를 생성하는, 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
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.
제2항에 있어서,
상기 자연어 문장에는 복수의 상기 필터링 조건이 포함 가능한, 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
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.
제3항에 있어서,
상기 질의어 생성부는 상기 필터링 조건 중 복수 시점에서 변화되는 데이터에 대한 조건이 있는 경우, 복수 시점에서 데이터 변화를 나타내는 시간이동(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.
제3항에 있어서,
상기 질의어 생성부는,
상기 질의어 생성부는 상기 필터링 조건 중 시간을 변수로 하는 데이터에 대한 조건이 있는 경우, 시간을 변수로 하는 데이터를 나타내는 일반 필터링 함수를 포함하는 질의어를 생성하는, 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
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.
제5항에 있어서,
상기 질의어 생성부는 상기 일반 필터링 함수 및 상기 집계 필터링 함수 중 어느 하나만 포함하여 질의어를 생성하는, 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
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.
제2항에 있어서,
상기 필터링 조건은 데이터의 상한값 및 하한값 중 적어도 어느 하나를 포함하는, 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
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.
제1항에 있어서,
상기 질의어 생성부는 수식 형태, 컴퓨터 언어 형태 및 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.
제1항에 있어서,
기간 조건 및 필터링 조건과 상기 기간 조건 및 상기 필터링 조건에 부합하는 상기 자연어 문장을 제공받아 분석하여 상기 질의어 생성부를 학습시키는 학습부를 더 포함하는 자연어 질의를 통한 시계열 데이터베이스 데이터 추출 시스템.
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.
KR1020200185990A 2020-12-29 2020-12-29 System and method extracting information from time series database according to natural language queries KR102267068B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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