KR20170025201A - 질의 처리 자동화 장치 및 방법 - Google Patents

질의 처리 자동화 장치 및 방법 Download PDF

Info

Publication number
KR20170025201A
KR20170025201A KR1020150121251A KR20150121251A KR20170025201A KR 20170025201 A KR20170025201 A KR 20170025201A KR 1020150121251 A KR1020150121251 A KR 1020150121251A KR 20150121251 A KR20150121251 A KR 20150121251A KR 20170025201 A KR20170025201 A KR 20170025201A
Authority
KR
South Korea
Prior art keywords
query
condition
search
sub
user
Prior art date
Application number
KR1020150121251A
Other languages
English (en)
Other versions
KR102315350B1 (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 KR1020150121251A priority Critical patent/KR102315350B1/ko
Priority to US15/240,172 priority patent/US10460125B2/en
Publication of KR20170025201A publication Critical patent/KR20170025201A/ko
Application granted granted Critical
Publication of KR102315350B1 publication Critical patent/KR102315350B1/ko

Links

Images

Classifications

    • G06F17/30976
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F17/277
    • G06F17/30864
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Audiology, Speech & Language Pathology (AREA)

Abstract

검색을 수행하는 소프트웨어 에이젼트와 관련된 기술로, 일 양상에 따른 질의 처리 자동화 장치는 입력된 질의를 분석하여 질의 조건을 추출하는 질의 분석부, 질의 조건의 성립을 검증하기 위한 하나 이상의 서브 질의를 설정하고, 설정한 서브 질의의 실행 조건을 결정하는 스케쥴러, 결정된 서브 질의의 실행 조건에 따라 하나 이상의 서브 질의를 실행하고, 실행 결과를 이용하여 질의 조건의 성립을 검증하는 조건 검증부를 포함할 수 있다.

Description

질의 처리 자동화 장치 및 방법{Method and apparatus for automatic process of query}
검색을 수행하는 소프트웨어 에이젼트와 관련된 기술이다.
일반적으로 최신 정보를 얻고자 한다면, 사용자가 수동으로 필요한 정보를 검색하거나, 소프트웨어를 이용하여 작업을 자동화할 수 있다.
RSS 피드는 관심있는 사이트를 RSS로 등록해서, 내용이 변경될 경우 알림을 받는 방법을 개시한다. 다만, RSS는 웹 사이트의 갱신 여부를 기계적으로 판단할 뿐 능동적으로 유관 정보를 검색하지 않는 측면에서 개인화된 정보를 추출하기 어려운 점이 있다.
질의가 입력되면, 질의 실행 계획 및 검색 주기를 자동으로 설정하는 질의 처리 자동화 기술을 제안한다.
일 양상에 따른 질의 처리 자동화 장치는 입력된 질의를 분석하여 질의 조건을 추출하는 질의 분석부, 질의 조건의 성립을 검증하기 위한 하나 이상의 서브 질의를 설정하고, 설정한 서브 질의의 실행 조건을 결정하는 스케쥴러, 결정된 서브 질의의 실행 조건에 따라 하나 이상의 서브 질의를 실행하고, 실행 결과를 이용하여 질의 조건의 성립을 검증하는 조건 검증부를 포함할 수 있다.
또한, 사용자로부터 자연어 질의가 입력되면, 자연어 질의를 정규화된 형식의 질의로 수정하는 전처리부를 더 포함할 수 있다.
질의 분석부는 입력된 질의를 분석하여 질의 목표를 더 추출하고, 스케쥴러는 추출된 질의 목표를 달성하는 방법과 관련된 하나 이상의 서브 질의를 설정할 수 있다.
이때, 서브 질의의 실행 조건은 검색 대상, 검색 방법, 검색 범위, 검색 시기 및 검색 주기 중 하나 이상을 포함할 수 있다.
스케쥴러는 각 서브 질의가 지속적인 검색이 필요한지 결정하고, 지속적인 검색이 필요한 경우, 검색 주기를 결정할 수 있다.
스케쥴러는 기본 정보의 특성, 기본 정보의 업데이트 규칙, 유사 상황, 검색 결과 중 적어도 하나를 참고하여 각 서브 질의가 지속적인 검색이 필요한지를 결정할 수 있다.
조건 검증부는 결정된 서브 질의의 실행 조건에 따라 웹, 클라우드, 데이터 베이스 중 적어도 하나에 대해 검색을 수행하고, 검색된 컨텐츠를 분석하여 서브 질의의 실행 결과를 도출할 수 있다.
조건 검증부는 사용자 정보, 환경 정보, 기기 정보 중 하나 이상을 참조하여 검색된 컨텐츠를 분석할 수 있다.
또한, 서브 질의의 실행을 위해 사용자의 승인이 필요한 경우, 사용자에게 승인을 요청하거나 사용자로부터 사전에 승인을 받아 검색 권한을 설정하는 권한 설정부를 더 포함할 수 있다.
또한, 질의의 처리 결과를 요약 및 추출 중 하나 또는 조합의 형태로 보고하는 보고부를 더 포함할 수 있다.
또한, 질의의 유효 기간 및 질의의 반복 수행 여부를 판단하는 질의 유효성 판단부를 더 포함할 수 있다.
다른 양상에 따른 질의 처리 자동화 방법은 입력된 질의를 분석하여 질의 조건을 추출하는 단계, 질의 조건의 성립을 검증하기 하나 이상의 서브 질의를 설정하는 단계, 설정한 서브 질의의 실행 조건을 결정하는 단계, 결정된 서브 질의의 실행 조건에 따라 하나 이상의 서브 질의를 실행하는 단계, 및 실행 결과를 이용하여 질의 조건의 성립을 검증하는 단계를 포함할 수 있다.
또한, 사용자로부터 자연어 질의가 입력되면, 자연어 질의를 정규화된 형식의 질의로 수정하는 전처리 단계를 더 포함할 수 있다.
또한, 질의 조건을 추출하는 단계는 입력된 질의를 분석하여 질의 목표를 더 추출하고, 서브 질의를 설정하는 단계는 추출된 질의 목표를 달성하는 방법과 관련된 하나 이상의 서브 질의를 설정할 수 있다.
이때, 서브 질의의 실행 조건은 검색 대상, 검색 방법, 검색 범위, 검색 시기 및 검색 주기 중 하나 이상을 포함할 수 있다.
실행 조건을 결정하는 단계는 각 서브 질의가 지속적인 검색이 필요한지 결정하고, 지속적인 검색이 필요한 경우, 검색 주기를 결정할 수 있다.
실행 조건을 결정하는 단계는 기본 정보의 특성, 기본 정보의 업데이트 규칙, 유사 상황, 검색 결과 중 적어도 하나를 참고하여 각 서브 질의가 지속적인 검색이 필요한지를 결정할 수 있다.
서브 질의를 실행하는 단계는 결정된 서브 질의의 실행 조건에 따라 웹, 클라우드, 데이터 베이스 중 적어도 하나에 대해 검색을 수행하고, 검색된 컨텐츠를 분석하여 서브 질의의 실행 결과를 도출할 수 있다.
또한, 서브 질의의 실행을 위해 사용자의 승인이 필요한 경우, 사용자에게 승인을 요청하거나 사용자로부터 사전에 승인을 받아 검색 권한을 설정하는 단계를 더 포함할 수 있다.
또한, 질의의 처리 결과를 요약 및 추출 중 하나 또는 조합의 형태로 보고하는 단계를 더 포함할 수 있다.
질의를 분석하여 질의 조건의 실행 계획 및 검색 주기를 자동으로 설정하므로, 사용자에게 개인화된, 맞춤 서비스를 제공하는 전자 비서, 사무 자동화 에이젼트 등에 활용될 수 있다.
또한, 질의 처리의 정확성을 높이고, 질의의 유효성을 자동으로 판단하여, 지속적인, 반복적인 검색을 자동으로 수행할 수 있다.
도 1은 일 실시 예에 따른 질의 처리 자동화 장치(100)의 블록도이다.
도 2는 일 실시 예에 따른 질의 처리 자동화 장치(100)의 상세 블록도이다.
도 3은 도 1의 실시 예에 따른 질의 처리 자동화 방법의 흐름도이다.
도 4a는 도 2의 실시 예에 따른 질의 처리 자동화 방법의 흐름도이다.
도 4b는 도 2의 실시 예에 따른 구체적인 질의 처리 자동화 방법의 흐름도이다.
도 5는 도 2의 질의 처리 자동화 장치(100)를 이용한 다른 실시 예에 따른 질의 처리 자동화 방법의 흐름도이다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
일 실시 예에 따르면, 질의 처리 자동화 장치(100)는 소프트웨어 에이젼트 또는 지능형 에이젼트일 수 있다. 또한, 소프트웨어 또는 하드웨어로 구현되어 PC, 노트북, 태블릿, 서버, 스마트 폰 및 각종 단말에 탑재 될 수 있다. 또한, 질의 처리 자동화 장치(100) 는 스마트 홈, 스마트 빌딩 등의 홈 네트워크 환경에서 자동 제어 시스템에 이용될 수 있다. 이하, 질의 처리 자동화 장치(100) 및 방법의 실시 예들을 도면들을 참고하여 자세히 설명하도록 한다.
도 1은 일 실시 예에 따른 질의 처리 자동화 장치(100)의 블록도이다. 도 1을 참고하면, 질의 처리 자동화 장치(100)는 질의 분석부(120), 스케쥴러(130) 및 조건 검증부(140)를 포함할 수 있다.
질의 분석부(120)는 입력된 질의를 분석하여 질의 조건을 추출한다. 예를 들어, 질의 분석부(120)는 질의(query)의 의미를 분석하여 사용자 요청 사항을 파악하고, 질의를 질의 목표 및 질의 조건으로 분석하여, 질의 조건을 추출할 수 있다. 질의 조건은 사용자가 입력한 질의에 명시되어 있을 수 있으나, 그렇지 않은 경우라도, 질의 분석부(120)는 질의로부터 파악한 사용자 요청 사항 및 질의 목표에 기초하여 질의 조건을 추론할 수 있다. 질의 분석부(120)는 질의를 질의 목표와 질의 조건으로 분류할 수 있으며, 질의 조건이 성립되면 소정의 처리를 통하여 질의 목표가 달성될 수 있다. 이때, 질의는 사람이 이해할 수 있는 언어인 자연어 형태의 질의 일 수 있고, 기계가 이해 할 수 있는 논리식 형태일 수 있다.
스케쥴러(130)는 질의 조건의 성립을 검증하기 위한 하나 이상의 서브 질의를 설정하고, 설정한 서브 질의의 실행 조건을 설정할 수 있다. 여기서, 질의는 한, 두 가지 요청 사항을 처리하기 위한 단순한 형태일 수 있으나, 복합 조건을 포함하거나, 지속적인 정보의 획득을 필요로 할 수 있다. 스케쥴러(130)는 복잡한 형태의 질의를 세분화하여 서브 질의를 설정하고, 각 서브 질의 실행 순서 및 실행 조건을 결정할 수 있다. 예를 들어, 스케쥴러(130)는 필요한 정보를 기본 정보로 파악하고, 기본 정보를 획득할 수 있는 루트를 정하고, 기본 정보가 획득되면, 기본 정보 및 참조 정보를 이용하여 연산을 수행하도록 서브 질의를 설정할 수 있다.
일 실시 예에 따르면, 스케쥴러(130)는 추출된 질의 목표를 달성하는 방법과 관련된 하나 이상의 서브 질의를 설정할 수 있다. 일 예로, 스케쥴러(130)는 질의로부터 추출한 사용자 관심사가 되는 키워드를 검색 대상으로 파악하고, 키워드를 어떤 웹 사이트 상에서, 어떻게 검색할 지, 또한 언제 검색할 지 여부를 각각 서브 질의로 생성할 수 있다. 서브 질의는 질의 목표에 따라 구체적인 질의 실행 방법의 형태로 생성될 수 있다.
예를 들어, 질의가 "홍길동 작가의 신간이 출간되면 제목과 가격을 알려줘"인 경우, 질의 목표는 '홍길동 작가의 신간 제목과 가격 정보 획득'이고 질의 조건은 '홍길동 작가의 신간이 출간되면'이다. 이때, 스케쥴러(130)는 (1) 온라인 서점에서 홍길동 작가의 책을 검색, (2) 질의 시점 이후에 출간된 책이 있는지 확인, (3) 질의 시점 이후에 출간된 책이 있으면, 검색한 책 홍길동 작가의 책 정보에서 책 제목과 가격 정보를 추출, 하는 것을 서브 질의로 생성할 수 있다.
또한, 스케쥴러(130)는 서브 질의의 실행 조건으로 검색 대상, 검색 방법, 검색 범위, 검색 시기 및 검색 주기 등을 결정할 수 있다. 일 실시 예에 따르면, 스케쥴러(130)는 기본 정보의 특성, 기본 정보의 업데이트 규칙, 유사 상황, 검색 결과 중 적어도 하나를 참고하여 각 서브 질의가 지속적인 검색이 필요한지를 결정할 수 있다. 예를 들어, 스케쥴러(130)는 서브 질의의 달성에 필요한 기본 정보 중 하나라도 획득되지 않는 경우, 검색을 반복할 것을 결정하고, 검색 주기를 실행 조건으로 결정할 수 있다.
질의 조건이 지속적인 검색을 요하는 경우, 예를 들어 메일함을 검색하여, 읽지 않은 메일이 도착하면 사용자에게 알려야 하는 경우, 최신 정보가 업데이트 될 때마다 사용자에게 획득한 정보를 보고해야 하므로 지속적인 검색을 필요로 한다. 이 경우 스케쥴러(130)는 일주일에 한 번, 매일, 또는 몇 시간 간격으로 메일함을 검색하도록 검색 범위 및 검색 주기를 실행 조건으로 결정할 수 있다.
일 예로, 스케쥴러(130)는 홍길동 작가의 신간(책)을 모니터링하는 질의에 대해, 신간 출간이 일어나는 일반적인 주기에 기초하여, '몇 개월' 단위로 검색 주기를 결정할 수 있다. 이때, 스케쥴러(130)는 홍길동 작가의 기존의 신간 출간 기록에 비추어 검색 주기를 가감하여 결정할 수 있다.
다른 예로, 질의 목표가 날씨 정보를 획득하는 것이라면, 스케쥴러(130)는 기본 정보인 날씨 정보의 특성에 기초하여, 검색 주기를 하루 또는 몇 시간으로 결정할 수 있다. 만일, 질의가 "축구 경기에서 득점이 나오면 알려줘"와 은 경우, 스케쥴러(130)는 서브 질의의 실행 조건을 '매 분' 또는 '경기 정보가 업데이트될 때' 등으로 결정할 수 있다.
조건 검증부(140)는 결정된 서브 질의의 실행 조건에 따라 서브 질의를 실행하고, 실행 결과를 이용하여 질의 조건의 성립을 검증할 수 있다. 일 실시 예에 따르면, 조건 검증부(140)는 웹, 클라우드, 데이터 베이스 등에 대하여 검색을 수행하고, 검색된 컨텐츠를 분석하여 서브 질의의 실행 결과를 도출할 수 있다.
예를 들어, 조건 검증부(140)는 설정한 서브 질의의 실행을 위해, 필요한 기본 정보에 대해 웹 컨텐츠를 검색을 하고, 검색한 컨텐츠로부터 필요한 기본 정보를 추출할 수 있다. 한편, 조건 검증부(140)는 필요한 기본 정보와 관련된 연관 검색을 수행하여, 기본 정보를 획득하는데 필요한 검색 방법을 변경할 수 있다.
제시된 실시 예 이외에도, 조건 검증부(140)는 다양한 검색 수단 및 검색 범위에 대해 서브 질의를 실행할 수 있으므로, 조건 검증부(140)의 검색 수행 범위가 제시된 실시 예로 한정 해석되지 않아야 할 것이다.
또한, 조건 검증부(140)는 사용자 정보, 환경 정보, 기기 정보 중 하나 이상을 참조하여 검색된 컨텐츠를 분석할 수 있다. 이때, 질의 처리 자동화 장치(100)는 질의 처리 자동화 장치가 탑재된 PC, 태블릿, 사용자 단말 또는 클라우드 서버로부터 필요한 사용자 정보, 환경 정보, 기기 정보등을 획득할 수 있다. 예를 들어, 질의 처리 자동화 장치(100)가 스마트 폰에 탑재된 경우, 조건 검증부(140)는 스마트 폰에 내장된 사용자의 일정 정보, 문자, 내부 문서 등의 사용자 정보를 참조하여, 서브 질의의 실행 결과를 도출할 수 있다. 또한, 조건 검증부(140)는 다른 디바이스에 포함되어 있는 정보라도, 검색 권한이 있다면, 필요한 정보들을 검색할 수 있을 것이다.
조건 검증부(140)는 서브 질의의 실행 결과를 이용하여 질의 조건의 성립을 검증할 수 있다. 만일, 질의 조건의 성립이 불가능 또는 불능인 경우 질의를 폐기할 수 있다.
한편, 일 실시 예에 따르면, 사용자로부터 입력되는 질의는, 질의 처리 자동화 장치(100)와 네트워크로 연결된 다른 기기와 관련될 수 있다. 예를 들어, 질의 분석부(120)에 "프린트의 검은색 토너가 10% 미만으로 남거나, 종이가 5장 미만으로 남으면 관리자에게 메일을 보내고, 내게 문자를 보내줘"와 같은 질의가 입력되면, 조건 검증부(140)는 해당 프린터의 작업 상황을 모니터링하여 질의 조건의 성립을 검증할 수 있다.
제시된 실시 예 이외에도, 질의 처리 자동화 장치(100)는 홈 네트워크와 같은 환경하에서 사무 작업 자동화 작업 및 홈 네트워크를 최적의 상태로 유지하기 위한 작업 등에 활용될 수 있다.
도 2는 일 실시 예에 따른 질의 처리 자동화 장치(100)의 상세 블록도이다. 도 2를 참고하면, 질의 처리 자동화 장치(100)는 전처리부(110), 질의 분석부(120), 스케쥴러(130), 조건 검증부(140), 보고부(150), 질의 유효성 판단부(160), 권한 설정부(170)를 포함할 수 있다. 이하에서는, 도 1의 실시 예와 중복되는 구성을 간략히 설명하고, 일 실시 예를 중심으로 설명한다.
전처리부(110)는 자연어 질의가 입력되면, 자연어 질의를 정규화된 형식의 질의로 수정할 수 있다. 일반적으로, 사람이 사용하는 언어를 자연어라고 할 때, 이를 기게가 인식할 수 있는 형태로 수정하는 과정이 필요하다.
전처리부(110)는 자연어 질의에 포함된 축약어, 약자의 의미를 파악하고, 오타, 오류 등을 정정하여 문장의 형식을 수정하는 전처리를 수행할 수 있다. 예를 들어, “매년 NIPS 열리기 한달 전에 장소와 기간을 알려줘”라는 자연 질의어가 입력되면, 전처리부(110)는 NIPS 가 Neural Information Processing System의 약자임을 파악하고, 자연어 질의를 "매년 Neural Information Processing System 학회 개최일 한 달 전에 장소와 기간을 사용자에게 알림”으로 전처리 할 수 있다.
질의 분석부(120)는 전처리된 질의의 의미를 분석하여 질의로부터 질의 조건을 추출할 수 있다. 예를 들어, 질의 분석부(120)는 사용자 요청 사항을 파악하고, 질의를 질의 목표 및 질의 조건으로 분석할 수 있다. 질의 분석부(120)는 상기의 질의에 대해, “학회 장소와 기간을 사용자에게 알림”을 질의 목표로, “NIPS 개최일 한달 전”을 질의 조건으로 분석할 수 있다.
스케쥴러(130)는 질의 조건의 성립을 검증하기 위한 서브 질의를 설정하고, 설정된 서브 질의의 실행 조건을 결정할 수 있다. 예를 들어, 상기의 질의에 대해, 스케쥴러(130)는 서브 질의로 (1) NIPS 관련 정보가 공개되는 웹 사이트 및 게시판 확인, (2) NIPS 개최일 및 개최 장소 정보 검색, (3) 현재 시점으로부터 NIPS 개최일 한 달 전을 카운트, (4) 현재 시점이 NIPS 개최일 한달 전을 경과하면 사용자에게 NIPS 개최일 정보 및 개최 장소 정보 제공, 과 같은 서브 질의를 설정할 수 있다.
또한, 스케쥴러(130)는 NIPS 개최일 정보 및 개최 장소 정보가 획득되지 않으면, 한 달 마다 검색을 수행하도록 실행 조건을 결정할 수 있다. 이때, 스케쥴러(130)는 검색 주기로, NIPS 학회가 열리는 주기 및 NIPS 관련 공지가 업데이트 되는 규칙 등을 조합하여 검색 주기를 결정할 수 있다. 다만, 이는 어디까지나 일 실시 예로써 해석되어야 할 것이며, 스케쥴러(130)는 검색 주기 외에 다양한 실행 조건을 결정할 수 있다.
조건 검증부(140)는 결정된 서브 질의의 실행 조건에 따라 서브 질의를 실행하고, 실행 결과를 이용하여 질의 조건의 성립을 검증할 수 있다. 조건 검증부(140)는 서브 질의를 실행하여, 기본 정보를 획득하고, 기본 정보로부터 질의 목표를 도출하는 연산을 수행할 수 있다. 조건 검증부(140)는 서브 질의의 실행 결과를 조합하여 질의 조건이 성립되었음을 검증할 수 있다.
예를 들어, 상기의 실시 예에서, 조건 검증부(140)는 NIPS 개최일 및 NIPS 개최 장소 정보를 획득하고, 현재 시점이 NIPS 개최일로부터 한달 전인 경우에 해당함을 검증할 수 있다.
이때, 특정한 웹 사이트를 검색하는데 로그인이 필요하거나, 사용자 정보가 필요한 경우가 있을 수 있다. 이러한 경우에도, 조건 검증부(140)가 자동으로 검색을 수행하기 위해서는 사용자의 로그인 정보가 필요하다.
권한 설정부(170)는 검색의 수행을 위해 사용자의 승인이 필요한 경우, 사용자에게 승인을 요청하거나 사전에 승인을 받아 검색 권한을 설정할 수 있다. 예를 들어, 권한 설정부는 검색을 수행하는데 있어 특정 웹사이트에 로그인이 요구되는 경우, 사용자로부터 승인을 받아, 사전에 저장된 로그인 정보를 이용하여 자동 로그인을 수행할 수 있다. 권한 설정부(170)는 스케쥴러(130)와 통신하여 로그인하는 서브 질의를 수행하는데 필요한 정보를 제공할 수 있고, 보고부(150)를 통하여 사용자에게 로그인 정보를 요청하고, 로그인 정보를 입력받을 수 있다.
예를 들어, NIPS 학회의 공지가 올라오는 웹 사이트가 학회 회원들에게만 게시판을 열람할 수 있도록 열람 권한을 제한해 놓은 경우, 권한 설정부(170)는 사용자로부터 사전에 해당 웹 사이트에 로그인할 수 있는 로그인 정보를 입력 받고, 조건 검증부(140)에서 매달 검색을 수행할 때, 상기 로그인 정보를 이용하여 자동 로그인 후, 검색을 수행할 수 있다.
다른 예로, 사용자로부터 "NIPS CFP 메일이 오면 마감일을 알려줘"라는 질의가 입력될 수 있다. 이 때, 전처리부(110)는 NIPS 가 Neural Information Processing System 학회의 약자이고, CPF가 Call for paper의 약자임을 파악하고, 질의를 "Neural Information Processing System 학회로부터 메일로 Coll for paper 요청이 오면, 마감일을 알려줘" 로 전처리를 수행할 수 있다. 질의 분석부(120)는 질의 목표를 '마감일을 알림'으로, 질의 조건을 'Neural Information Processing System 학회로부터 메일로 Coll for paper 요청이 오면'으로 분석할 수 있다. 여기서, 메일의 확인을 위해서는 권한 인증 과정이 필요하다. 권한 설정부(170)는 사용자에게 메일함 접근의 승인을 요청하고, 사용자로부터 메일함 접근 권한이 설정되면, 접근 권한 정보를 스케쥴러(130)에 제공할 수 있다. 만일, 권한 설정부(170)가 사용자로부터 메일함 접근 권한을 승인 받지 못한 경우, 메일을 확인하는 서브 질의는 달성 불능이 되므로, 질의 유효성 판단부(160)에서 질의의 폐기를 결정할 수 있다.
보고부(150)는 질의 처리 결과를 요약 및 추출 중 하나 또는 이들의 조합의 형태로 보고할 수 있다. 보고부(150)는 질의 조건이 성립된 경우는 물론, 질의 조건이 성립되지 않은 경우라도 현재 까지의 경과 과정을 사용자에게 보고할 수 있다. 이때, 보고부(150)는 처리 결과를 요약 알고리즘 또는 추출 알고리즘 중 하나 이상을 이용하여, 질의 목표에 따라 처리 결과를 요약 보고하거나, 필요한 정보를 추출하여 보고할 수 있다.
한편, 질의 유효성 판단부(160)는 질의의 유효 기간 및 질의 반복 수행 여부를 판단하여 질의의 유효성을 판단할 수 있다. 예를 들어, 질의 목표의 달성 후에도, 해당 질의가 계속 필요한 경우가 있을 수 있다. 특히, 지속적인 검색을 요구하거나, 최신 정보를 획득하기 위하여 업데이트를 필요로 하는 경우 질의 유효성 판단부(160)는 질의를 유지할 것으로 결정할 수 있다.
상기의 실시 예에서, 질의 유효성 판단부(160)는 자연어 질의가 "매년 NIPS 가 열리기 한달 전에 장소와 기간을 알려줘"이고, NIPS 학회는 1년에 한번씩 열리는 것을 확인하면, 입력된 질의가 매년 반복되어야 하는 질의임을 판단할 수 있다. 이 경우, 질의 유효성 판단부(160)는 질의의 유효 기간을 사용자가 이를 해지할 때까지 '매년'으로 설정하고, 질의를 매년 반복 수행할 것을 결정할 수 있다. 이를 이용하면, 사용자로서는 매년 동일한 명령을 반복하지 않아도, 필요한 정보를 자동으로 보고받을 수 있다.
한편, 질의 유효성 판단부(160)는 질의 목표가 일회적 달성으로 종료되거나, 질의 조건의 성립이 불능일 때 질의의 폐기를 결정할 수 있다.
도 3은 도 1의 실시 예에 따른 질의 처리 자동화 방법의 흐름도이다. 이하, 도 1 및 도 3을 참고하여 질의 처리 자동화 방법을 설명한다.
먼저, 질의 분석부(120)는 입력된 질의를 분석하여 질의 조건을 추출한다(310). 예를 들어, 질의 분석부(120)는 질의의 의미를 분석하여 사용자 요청 사항을 파악하고, 질의를 질의 목표 및 질의 조건으로 분석하여, 질의 조건을 추출할 수 있다. 질의 조건은 사용자가 입력한 질의에 명시되어 있을 수 있으나, 그렇지 않더라도 않은 경우라도, 질의 분석부(120)는 질의로부터 파악한 사용자 요청 사항 및 질의 목표에 기초하여 질의 조건을 추론할 수 있다.
그 다음, 스케쥴러(130)는 질의 조건의 성립을 검증하기 위한 서브 질의를 설정한다(320). 여기서, 질의는 한, 두 가지 요청 사항을 처리하기 위한 단순한 형태일 수 있으나, 복합 조건을 포함하거나, 지속적인 정보의 획득을 필요로 할 수 있다. 스케쥴러(130)는 복잡한 형태의 질의를 세분화하여 서브 질의를 설정하고, 각 서브 질의 실행 순서 및 실행 조건을 결정할 수 있다.
일 실시 예에 따르면, 스케쥴러(130)는 추출된 질의 목표를 달성하는 방법과 관련된 하나 이상의 서브 질의를 설정할 수 있다. 스케쥴러(130)는 필요한 정보를 기본 정보로 파악하고, 기본 정보를 획득할 수 있는 루트를 정하고, 기본 정보가 획득되면, 기본 정보 및 참조 정보를 이용하여 연산을 수행하도록 서브 질의를 설정할 수 있다.
그 다음, 스케쥴러(130)는 설정한 서브 질의의 실행 조건을 결정할 수 있다(330). 일 예로, 스케쥴러(130)는 홍길동 작가의 신간(책)을 모니터링하는 질의에 대해, 신간 출간이 일어나는 일반적인 주기에 기초하여, '몇 개월' 단위로 검색 주기를 결정할 수 있다. 이때, 스케쥴러(130)는 홍길동 작가의 기존의 신간 출간 기록에 비추어 검색 주기를 가감하여 결정할 수 있다.
또한, 스케쥴러(130)는 기본 정보의 특성, 기본 정보의 업데이트 규칙, 유사 상황, 검색 결과 중 적어도 하나에 기초하여 각 서브 질의가 지속적인 검색이 필요한지를 결정할 수 있다.
질의 조건이 지속적인 검색을 요하는 경우, 예를 들어 메일함을 검색하여, 읽지 않은 메일이 도착하면 사용자에게 알려야 하는 경우, 최신 정보가 업데이트 될 때마다 사용자에게 획득한 정보를 보고해야 하므로 지속적인 검색을 필요로 한다. 이 경우 스케쥴러(130)는 일주일에 한 번, 매일, 또는 몇 시간 간격으로 메일함을 검색하도록 검색 범위 및 검색 주기를 실행 조건으로 결정할 수 있다.
다른 예로, 질의 목표가 날씨 정보를 획득하는 것이라면, 스케쥴러(130)는 기본 정보인 날씨 정보의 특성에 기초하여, 검색 주기를 하루 또는 몇 시간으로 결정할 수 있다. 만일, 질의가 "축구 경기에서 득점이 나오면 알려줘"와 같은 경우, 스케쥴러(130)는 실행 조건을 '매분' 또는 '경기 정보가 업데이트될 때' 등으로 결정할 수 있다.
그 다음, 조건 검증부(140)는 결정된 서브 질의의 실행 조건에 따라 서브 질의를 실행할 수 있다(340). 예를 들어, 조건 검증부(140)는 웹, 클라우드, 데이터 베이스 등에 대하여 검색을 수행하고, 검색된 컨텐츠를 분석하여 서브 질의의 실행 결과를 도출할 수 있다.
일 예로, 조건 검증부(140)는 설정한 서브 질의의 실행을 위해, 필요한 기본 정보에 대해 웹 컨텐츠를 검색을 하고, 검색한 컨텐츠로부터 필요한 기본 정보를 추출할 수 있다. 한편, 조건 검증부(140)는 필요한 기본 정보와 관련된 연관 검색을 수행하여, 기본 정보를 획득하는데 필요한 검색 방법을 변경할 수 있다.
그 다음, 조건 검증부(140)는 사용자 정보, 환경 정보, 기기 정보 중 하나 이상을 참조하여 검색된 컨텐츠를 분석할 수 있다. 이때, 질의 처리 자동화 장치(100)는 질의 처리 자동화 장치가 탑재된 PC, 태블릿, 사용자 단말 또는 클라우드 서버로부터 필요한 사용자 정보, 환경 정보, 기기 정보 등을 획득할 수 있다. 예를 들어, 질의 처리 자동화 장치(100)가 스마트 폰에 탑재된 경우, 조건 검증부(140)는 스마트 폰에 내장된 사용자의 일정 정보, 문자, 내부 문서 등의 사용자 정보를 참조하여, 서브 질의의 실행 결과를 도출할 수 있다. 또한, 조건 검증부(140)는 다른 디바이스에 포함되어 있는 정보라도, 검색 권한이 있다면, 필요한 정보들을 검색할 수 있을 것이다.
그 다음, 조건 검증부(140)는 서브 질의의 실행 결과를 이용하여 질의 조건의 성립을 검증할 수 있다(350). 조건 검증부(140)는 질의 조건이 성립하면(360), 질의 조건으로부터 질의 목표를 도출할 수 있으므로, 질의의 처리를 종료할 수 있다.
만일, 조건 검증부(140)에서 검증 결과, 질의 조건이 성립되지 않으면(360), 결정된 서브 질의의 실행 조건에 따라 서브 질의를 실행하는 단계로 진행하여(340), 서브 질의의 실행을 반복할 수 있다. 이때, 서브 질의의 실행 조건으로 검색 주기가 결정되어 있다면, 조건 검증부(140)는 서브 질의를 실행하여, 실행 결과 질의 조건이 성립될 때까지 해당 과정을 반복할 수 있다.
제시된 실시 예 이외에도, 조건 검증부(140)는 다양한 검색 수단 및 검색 범위에 대해 서브 질의를 실행할 수 있으므로, 조건 검증부(140)의 검색 수행 범위가 제시된 실시 예로 한정 해석되지 않아야 할 것이다.
한편, 일 실시 예에 따르면, 사용자로부터 입력되는 질의는, 질의 처리 자동화 장치(100)와 네트워크로 연결된 다른 기기와 관련될 수 있다. 예를 들어, 질의 분석부(120)에 "프린트에 검은색 토너가 10% 미만으로 남거나, 종이가 5장 미만으로 남으면 관리자에게 메일을 보내고, 내게 문자를 보내줘"와 같은 질의가 입력되면, 조건 검증부(140)는 해당 프린터의 작업 상황을 모니터링하여 질의 조건의 성립을 검증할 수 있다.
제시된 실시 예 이외에도, 질의 처리 자동화 장치(100)는 홈 네트워크와 같은 환경하에서 사무 작업 자동화 작업 및 홈 네트워크를 최적의 상태로 유지하기 위한 작업 등에 활용될 수 있다.
도 4a는 도 2의 실시 예에 따른 질의 처리 자동화 방법의 흐름도이다. 이하, 도 2 및 도 4를 참고하여, 질의 처리 자동화 방법을 설명하되, 도 3의 실시 예와 중복되는 부분의 설명은 간략히 설명한다.
먼저, 전처리부(110)는 사용자로부터 자연어 질의가 입력되면, 자연어 질의를 정규화된 형식의 질의로 수정하는 전처리를 수행할 수 있다(410). 일반적으로, 사람이 사용하는 언어를 자연어라고 할 때, 이를 기계가 인식할 수 있는 형태로 수정하는 과정이 필요하다. 전처리부(110)는 자연어 질의에 포함된 축약어, 약자의 의미를 파악하고, 오타, 오류 등을 정정하여 문장의 형식을 수정하는 전처리를 수행할 수 있다.
그 다음, 질의 분석부(120)는 입력된 질의를 분석하여 질의 조건을 추출할 수 있다(420). 그 다음, 질의 분석부(120)는 질의 조건으로부터 도출할 수 있는 질의 목표를 분석할 수 있다(430). 예를 들어, 질의 분석부(120)는 사용자 요청 사항을 파악하고, 질의를 질의 목표 및 질의 조건으로 분석할 수 있다.
그 다음, 스케쥴러(130)는 추출된 질의 목표를 달성하는 방법과 관련된 하나 이상의 서브 질의를 설정할 수 있다. 예를 들어, 스케쥴러(130)는 질의 조건으로부터, 기본 정보의 획득 방법 및 기본 정보를 이용하여 질의 목표를 도출하는 방법을 구체화하는 서브 질의를 설정할 수 있다(440).
일 예로, 스케쥴러(130)는 질의로부터 추출한 사용자 관심사가 되는 키워드를 검색 대상으로 파악하고, 키워드를 어떤 웹 사이트 상에서, 어떻게 검색할 지, 또한 언제 검색할 지 여부를 각각 서브 질의로 생성할 수 있다. 서브 질의는 질의 목표에 따라 구체적인 질의 실행 방법의 형태로 생성될 수 있다.
그 다음, 스케쥴러(130)는 각 서브 질의가 지속적인 검색이 필요한지 결정하고, 지속적인 검색이 필요한 경우 검색 주기를 결정할 수 있다(450). 일 실시 예에 따르면, 스케쥴러(130)는 서브 질의의 실행 조건으로 검색 대상, 검색 방법, 검색 범위, 검색 시기 및 검색 주기 등을 결정할 수 있다. 예를 들어, 스케쥴러(130)는 기본 정보의 특성, 기본 정보의 업데이트 규칙, 유사 상황, 검색 결과 중 적어도 하나를 참고하여 각 서브 질의가 지속적인 검색을 필요한지를 결정할 수 있다.
일 예로, 스케쥴러(130)는 서브 질의의 달성에 필요한 기본 정보 중 하나라도 획득되지 않는 경우, 해당 기본 정보가 획득될 때까지 해당 서브 질의가 지속적인 검색이 필요한 것으로 결정하고, 검색 주기를 결정 할 수 있다.
다른 예로, 질의 조건이 지속적인 검색을 요하는 경우, 예를 들어 메일함을 검색하여, 읽지 않은 메일이 도착하면 사용자에게 알려야 하는 경우, 최신 정보가 업데이트 될 때마다 사용자에게 획득한 정보를 보고해야 하므로 지속적인 검색을 필요로 한다. 이 경우 스케쥴러(130)는 일주일에 한 번, 매일, 또는 몇 시간 간격으로 메일함을 검색하도록 검색 범위 및 검색 주기를 실행 조건으로 결정할 수 있다.
또 다른 예로, 질의 목표가 날씨 정보를 획득하는 것이라면, 스케쥴러(130)는 기본 정보인 날씨 정보의 특성에 기초하여, 검색 주기를 하루 또는 몇 시간으로 결정할 수 있다. 만일, 질의가 "축구 경기에서 득점이 나오면 알려줘"와 같은 경우, 스케쥴러(130)는 서브 질의의 실행 조건을 '매분' 또는 '경기 정보가 업데이트될 때' 등으로 결정할 수 있다.
그 다음, 조건 검증부(140)는 결정된 검색 주기에 따라 서브 질의를 실행할 수 있다(470). 그 다음, 조건 검증부(140)는 실행 결과를 이용하여 질의 조건의 성립을 검증할 수 있다(470).
그 다음, 조건 검증부(140)는 질의 조건이 성립하는지 판단한다(480). 만일, 조건 검증부(140)의 검증 결과, 질의 조건이 성립하면(480), 보고부(150)는 질의의 처리 결과를 요약 및 추출 중 하나 또는 조합의 형태로 보고할 수 있다(490).
보고부(150)는 질의 조건이 성립된 경우는 물론, 질의 조건이 성립되지 않은 경우라도 현재까지의 경과 과정을 사용자에게 보고할 수 있다. 이때, 보고부(150)는 처리 결과를 요약 알고리즘 또는 추출 알고리즘 중 하나 이상을 이용하여, 질의 목표에 따라 처리 결과를 요약 보고하거나, 필요한 정보를 추출하여 보고할 수 있다.
만일, 조건 검증부(140)의 검증 결과, 질의 조건이 성립하지 않으면(480), 조건 검증부(140)는 결정된 검색 주기에 따라 서브 질의를 실행하는 단계(460)를 반복하여 수행한다.
도 4b는 도 2의 실시 예에 따른 구체적인 질의 처리 자동화 방법의 흐름도이다. 먼저, 전처리부(110)에 “매년 NIPS 열리기 한달 전에 장소와 기간을 알려줘”라는 자연 질의어가 입력될 수 있다(415).
그 다음, 전처리부(110)는 NIPS 가 Neural Information Processing System의 약자임을 파악하고, 입력된 자연어 질의를 "매년 Neural Information Processing System 학회 개최일 한 달 전에 장소와 기간을 사용자에게 알림”으로 전처리 할 수 있다(425).
그 다음, 질의 분석부(120)는 “학회 장소와 기간을 사용자에게 알림”을 질의 목표로, “NIPS 개최일 한달 전”을 질의 조건으로 분석할 수 있다(435).
그 다음, 스케쥴러(130)는 다음과 같은 서브 질의를 생성할 수 있다(445). 스케쥴러(130)는 서브 질의로 (1) NIPS 관련 정보가 공개되는 웹 사이트 및 게시판 확인, (2) NIPS 개최일 및 개최 장소 정보 검색, (3) 현재 시점으로부터 NIPS 개최일 한 달 전을 카운트, (4) 현재 시점이 NIPS 개최일 한달 전을 경과하면 사용자에게 NIPS 개최일 정보 및 개최 장소 정보 제공, 과 같은 서브 질의를 설정할 수 있다(445).
그 다음, 스케쥴러는(130)는 NIPS 개최일 정보 및 개최 장소 정보가 획득되지 않으면, 한 달 마다 검색을 수행하도록 검색 주기를 결정할 수 있다(455). 이때, 스케쥴러(130)는 검색 주기로, NIPS 학회가 열리는 주기 및 NIPS 관련 공지가 업데이트 되는 규칙 등을 참조하여 검색 주기를 결정할 수 있다.
다만, 이는 어디까지나 일 실시 예로써 해석되어야 할 것이며, 스케쥴러(130)는 검색 주기 외에 다양한 실행 조건을 결정할 수 있다.
그 다음, 조건 검증부(140)는 결정된 검색 주기에 따라, 서브 질의를 실행할 수 있다(465). 예를 들어, 조건 검증부(140)는 NIPS 개최일 및 NIPS 개최 장소 정보를 획득하고, 현재 시점이 NIPS 개최일로부터 한달 전에 해당하는지에 대해 서브 질의의 실행 결과를 도출해낼 수 있다.
그 다음, 조건 검증부(140)는 현재 시점이 NIPS 개최일 한달 전이고, NIPS 개최일 정보 및 NIPS 개최 장소 정보를 획득했는지 판단한다(485). 조건 검증부(140)가 필요한 기본 정보가 모두 획득되고, NIPS 개최일로부터 한달전의 질의 조건이 성립한다고 판단하면(485), 보고부(150)는 사용자에게 NIPS 개최일 및 NIPS 개최 장소 정보를 제공한다(495).
만일, 조건 검증부(140) NIPS 개최일과 NIPS 개최 장소 정보를 획득하였으나, 현재 시점이 NIPS 개최일로부터 두 달이 남은 시점이라면, 질의 조건이 아직 성립하지 않았다고 판단할 수 있다(485). 이 경우, 조건 검증부(140)는 결정된 검색 주기에 따라 서브 질의를 실행하는 단계(465)를 반복한다. 만일, 조건 검증부가 한 달을 주기로 서브 질의 3)을 재실행하면, 현재 시점으로부터 NIPS 개최일 한달 전을 카운트하여, 약 한달 경고 후 현재 시점이 NIPS 개최일로부터 한 달 전인 시점이 도래할 것이다. 그러면, 조건 검증부(140)는 현재 시점이 NIPS 개최일 한달 전이고, NIPS 개최일 정보 및 NIPS 개최 장소 정보가 획득되었으므로, 질의 조건이 성립되었음을 판단할 수 있다(485). 이 경우, 질의 조건이 성립되었으므로, 보고부(150)는 사용자에게 NIPS 개최일 및 NIPS 개최 장소 정보를 제공할 수 있다.
한편, 제시된 실시 예와 같이 서브 질의의 실행 조건으로 검색 주기뿐 아니라 검색 대상, 검색 범위, 검색 방법, 검색 시기 등을 결정할 수 있으며, 지속적인 검색을 필요로 하는 경우, 질의를 반복하여 수행하여야 하는 경우, 질의 처리 자동화 장치(100)가 활용될 수 있다.
도 5는 도 2의 질의 처리 자동화 장치(100)를 이용한 또 다른 실시 예에 따른 질의 처리 자동화 방법의 흐름도이다.
먼저, 스케쥴러(130)는 질의 조건의 성립을 검증하기 위한 서브 질의를 설정한다(510).
그 다음, 권한 설정부(170)는 검색을 수행하는데 로그인이 필요한지 판단한다(520). 이때, 특정한 웹 사이트를 검색하는데 로그인이 필요하거나, 사용자 정보가 필요한 경우가 있을 수 있다. 이러한 경우에도, 조건 검증부(140)가 자동으로 검색을 수행하기 위해서는 사용자의 로그인 정보가 필요하다.
만일, 검색을 수행하는데 로그인이 필요한 경우, 권한 설정부(170)는 사용자에게 승인을 요청하거나 사용자로부터 사전에 승인을 받아 검색 권한을 설정할 수 있다(530). 예를 들어, 권한 설정부는 검색을 수행하는데 있어 특정 웹사이트에 로그인이 요구되는 경우, 사용자로부터 승인을 받아, 사전에 저장된 로그인 정보를 이용하여 자동 로그인을 수행할 수 있다. 또한, 권한 설정부(170)는 스케쥴러(130)와 통신하여, 로그인하는 서브 질의를 수행하는데 필요한 정보를 제공할 수 있고, 보고부(150)를 통하여 사용자에게 로그인 정보를 요청하고, 로그인 정보를 입력받을 수 있다.
예를 들어, NIPS 학회의 공지가 올라오는 웹 사이트가 학회 회원들에게만 게시판을 열람할 수 있도록 열람 권한을 제한해 놓은 경우, 권한 설정부(170)는 사용자로부터 사전에 해당 웹 사이트에 로그인할 수 있는 로그인 정보를 입력 받고, 조건 검증부(140)에서 매달 검색을 수행할 때, 상기 로그인 정보를 이용하여 자동 로그인 후, 검색을 수행할 수 있다.
다른 예로, 사용자로부터 "NIPS CFP 메일이 오면 마감일을 알려줘"라는 질의가 입력될 수 있다. 이 때, 전처리부(110)는 NIPS 가 Neural Information Processing System 학회의 약자이고, CPF가 Call for paper의 약자임을 파악하고, 질의를 "Neural Information Processing System 학회로부터 메일로 Coll for paper 요청이 오면, 마감일을 알려줘"와 같이 전처리를 수행할 수 있다. 질의 분석부(120)는 질의 목표를 '마감일을 알림'으로, 질의 조건을 'Neural Information Processing System 학회로부터 메일로 Coll for paper 요청이 오면'으로 분석할 수 있다. 여기서, 메일의 확인을 위해서는 권한 인증 과정이 필요하다. 권한 설정부(170)는 사용자에게 메일함 접근의 승인을 요청하고, 사용자로부터 메일함 접근 권한이 설정되면, 접근 권한 정보를 스케쥴러(130)에 제공할 수 있다. 만일, 권한 설정부(170)가 사용자로부터 메일함 접근 권한을 승인 받지 못한 경우, 메일을 확인하는 서브 질의는 실행 불능이 되므로, 질의 유효성 판단부(160)에서 질의의 폐기를 결정할 수 있다.
만일, 로그인이 필요하지 않으면, 스케쥴러(130)는 설정한 서브 질의의 실행 조건을 결정할 수 있다(540). 이때, 서브 질의를 실행하기 위해 로그인 정보가 필요한 경우, 스케쥴러(130)는 로그인 정보를 사용자로부터 입력 받는 것을 실행 조건으로 결정할 수 있다.
그 다음, 조건 검증부(140)는 결정된 서브 질의의 실행 조건에 따라 서브 질의를 실행할 수 있다(550). 그 다음, 조건 검증부(140)는 실행 결과를 이용하여 질의 조건의 성립 여부를 검증할 수 있다(560).
그 다음, 조건 검증부(140)는 질의 조건이 성립되었는지 판단한다(570). 만일, 질의 조건이 성립되지 않은 경우(570), 조건 검증부(140)는 질의 조건 성립이 불능인지 판단한다(580). 만일, 질의 조건 달성이 불가능한 경우, 질의를 폐기(610)한다.
만일, 질의 조건이 성립되지 않았으나(570), 질의 조건 달성이 가능한 경우(580), 조건 검증부(140)는 결정된 서브 질의의 실행 조건에 따라 실행 조건을 결정하는 단계(540)를 반복하여 진행한다.
만일, 조건 검증부(140)의 검증 결과, 질의 조건이 성립되면 질의 목표를 도출할 수 있으므로 질의 처리 결과를 사용자에게 보고한다.
그 다음, 질의 유효성 판단부(160)는 질의의 유효 기간 및 질의 반복 수행 여부를 판단할 수 있다(580). 만일, 질의가 유효하다고 판단되면, 질의를 반복하여 실행하기 위해, 질의 조건의 성립을 검증하기 위한 서브 질의를 설정하는 단계(510)로 진행한다.
예를 들어, 질의 목표의 달성 후에도, 해당 질의가 계속 필요한 경우가 있을 수 있다. 특히, 지속적인 검색을 요구하거나, 최신 정보를 획득하기 위하여 업데이트를 필요로 하는 경우 질의 유효성 판단부(160)는 질의를 유지할 것으로 결정할 수 있다.
일 예로, 질의 유효성 판단부(160)는 자연어 질의가 "매년 NIPS 가 열리기 한달 전에 장소와 기간을 알려줘"이고, NIPS 학회는 1년에 한번씩 열리는 것을 확인하면, 입력된 질의가 매년 반복되어야 하는 질의로 판단할 수 있다. 이 경우, 질의 유효성 판단부(160)는 질의의 유효 기간을 사용자가 이를 해지할 때까지 '매년'으로 설정하고, 질의를 매년 반복 수행할 것을 결정할 수 있다. 이를 이용하면, 사용자로서는 매년 동일한 명령을 반복하지 않아도, 필요한 정보를 자동으로 보고받을 수 있다.
한편, 질의 목표가 일회적 달성으로 종료되는 경우, 질의 유효성 판단부(160)는 더 이상 질의가 유효하지 않는다고 판단하여, 질의를 폐기한다(610). 또한, 질의 유효성 판단부(160)는 질의 조건 성립이 불능인 경우(580) 질의를 폐기할 수 있다.
한편, 본 실시 예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 질의 처리 자동화 장치
110: 전처리부
120: 질의 분석부
130: 스케쥴러
140: 조건 검증부
150: 보고부
160: 질의 유효성 판단부
170: 권한 설정부

Claims (20)

  1. 입력된 질의를 분석하여 질의 조건을 추출하는 질의 분석부;
    상기 질의 조건의 성립을 검증하기 위한 하나 이상의 서브 질의를 설정하고, 상기 서브 질의의 실행 조건을 결정하는 스케쥴러;
    상기 결정된 서브 질의의 실행 조건에 따라 상기 하나 이상의 서브 질의를 실행하고, 실행 결과를 이용하여 상기 질의 조건의 성립을 검증하는 조건 검증부;를 포함하는 질의 처리 자동화 장치.
  2. 제1항에 있어서,
    사용자로부터 자연어 질의가 입력되면,
    상기 자연어 질의를 정규화된 형식의 질의로 수정하는 전처리부를 더 포함하는 질의 처리 자동화 장치.
  3. 제1항에 있어서,
    상기 질의 분석부는 상기 입력된 질의를 분석하여 질의 목표를 더 추출하고,
    상기 스케쥴러는 상기 추출된 질의 목표를 달성하는 방법과 관련된 하나 이상의 서브 질의를 설정하는 질의 처리 자동화 장치.
  4. 제1항에 있어서,
    상기 서브 질의의 실행 조건은 검색 대상, 검색 방법, 검색 범위, 검색 시기 및 검색 주기 중 하나 이상을 포함하는 질의 처리 자동화 장치.
  5. 제4항에 있어서,
    상기 스케쥴러는
    상기 각 서브 질의가 지속적인 검색이 필요한지 결정하고, 지속적인 검색이 필요한 경우, 상기 검색 주기를 결정하는 질의 처리 자동화 장치.
  6. 제5항에 있어서,
    상기 스케쥴러는
    기본 정보의 특성, 상기 기본 정보의 업데이트 규칙, 유사 상황, 검색 결과 중 적어도 하나를 참고하여 상기 각 서브 질의가 지속적인 검색이 필요한지를 결정하는 질의 처리 자동화 장치.
  7. 제1항에 있어서,
    상기 조건 검증부는
    상기 결정된 서브 질의의 실행 조건에 따라 웹, 클라우드, 데이터 베이스 중 적어도 하나에 대해 검색을 수행하고, 검색된 컨텐츠를 분석하여 상기 서브 질의의 실행 결과를 도출하는 질의 처리 자동화 장치.
  8. 제7항에 있어서,
    상기 조건 검증부는
    사용자 정보, 환경 정보, 기기 정보 중 하나 이상을 참조하여 상기 검색된 컨텐츠를 분석하는 질의 처리 자동화 장치.
  9. 제1항에 있어서,
    상기 서브 질의의 실행을 위해 사용자의 승인이 필요한 경우, 사용자에게 승인을 요청하거나 사용자로부터 사전에 승인을 받아 검색 권한을 설정하는 권한 설정부를 더 포함하는 질의 처리 자동화 장치.
  10. 제1항에 있어서,
    상기 질의의 처리 결과를 요약 및 추출 중 하나 또는 조합의 형태로 보고하는 보고부를 더 포함하는 질의 처리 자동화 장치.
  11. 제1항에 있어서,
    상기 질의의 유효 기간 및 상기 질의의 반복 수행 여부를 판단하는 질의 유효성 판단부를 더 포함하는 질의 처리 자동화 장치.
  12. 입력된 질의를 분석하여 질의 조건을 추출하는 단계;
    상기 질의 조건의 성립을 검증하기 하나 이상의 서브 질의를 설정하는 단계;
    상기 서브 질의의 실행 조건을 결정하는 단계;
    상기 결정된 서브 질의의 실행 조건에 따라 상기 하나 이상의 서브 질의를 실행하는 단계; 및
    상기 실행 결과를 이용하여 상기 질의 조건의 성립을 검증하는 단계;를 포함하는 질의 처리 자동화 방법.
  13. 제12항에 있어서,
    사용자로부터 자연어 질의가 입력되면,
    상기 자연어 질의를 정규화된 형식의 질의로 수정하는 전처리 단계를 더 포함하는 질의 처리 자동화 방법.
  14. 제12항에 있어서,
    상기 질의 조건을 추출하는 단계는 상기 입력된 질의를 분석하여 질의 목표를 더 추출하고,
    상기 서브 질의를 설정하는 단계는 상기 추출된 질의 목표를 달성하는 방법과 관련된 하나 이상의 서브 질의를 설정하는 질의 처리 자동화 방법.
  15. 제12항에 있어서,
    상기 서브 질의의 실행 조건은 검색 대상, 검색 방법, 검색 범위, 검색 시기 및 검색 주기 중 하나 이상을 포함하는 질의 처리 자동화 방법.
  16. 제15항에 있어서,
    상기 실행 조건을 결정하는 단계는
    상기 각 서브 질의가 지속적인 검색이 필요한지 결정하고, 지속적인 검색이 필요한 경우, 상기 검색 주기를 결정하는 질의 처리 자동화 방법.
  17. 제16항에 있어서,
    상기 실행 조건을 결정하는 단계는
    기본 정보의 특성, 상기 기본 정보의 업데이트 규칙, 유사 상황, 검색 결과 중 적어도 하나를 참고하여 상기 서브 질의가 지속적인 검색이 필요한지를 결정하는 질의 처리 자동화 방법.
  18. 제12항에 있어서,
    상기 서브 질의를 실행하는 단계는 상기 결정된 서브 질의의 실행 조건에 따라 웹, 클라우드, 데이터 베이스 중 적어도 하나에 대해 검색을 수행하고, 검색된 컨텐츠를 분석하여 상기 서브 질의의 실행 결과를 도출하는 질의 처리 자동화 방법.
  19. 제12항에 있어서,
    상기 서브 질의의 실행을 위해 사용자의 승인이 필요한 경우, 사용자에게 승인을 요청하거나 사용자로부터 사전에 승인을 받아 검색 권한을 설정하는 단계를 더 포함하는 질의 처리 자동화 방법.
  20. 제12항에 있어서,
    상기 질의의 처리 결과를 요약 및 추출 중 하나 또는 조합의 형태로 보고하는 단계를 더 포함하는 질의 처리 자동화 방법.
KR1020150121251A 2015-08-27 2015-08-27 질의 처리 자동화 장치 및 방법 KR102315350B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150121251A KR102315350B1 (ko) 2015-08-27 2015-08-27 질의 처리 자동화 장치 및 방법
US15/240,172 US10460125B2 (en) 2015-08-27 2016-08-18 Apparatus and method for automatic query processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150121251A KR102315350B1 (ko) 2015-08-27 2015-08-27 질의 처리 자동화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20170025201A true KR20170025201A (ko) 2017-03-08
KR102315350B1 KR102315350B1 (ko) 2021-10-20

Family

ID=58095690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150121251A KR102315350B1 (ko) 2015-08-27 2015-08-27 질의 처리 자동화 장치 및 방법

Country Status (2)

Country Link
US (1) US10460125B2 (ko)
KR (1) KR102315350B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102267068B1 (ko) * 2020-12-29 2021-06-21 주식회사 젠티 자연어 질의에 따라 시계열 데이터베이스로부터 데이터를 추출하는 시스템 및 그 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10885027B2 (en) * 2016-08-24 2021-01-05 Nec Corporation Progressive processing for querying system behavior
CN109885739B (zh) * 2019-03-12 2021-11-19 成都全景智能科技有限公司 一种数据处理方法、系统及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150242464A1 (en) * 2014-02-24 2015-08-27 Red Hat, Inc. Source query caching as fault prevention for federated queries

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5873076A (en) * 1995-09-15 1999-02-16 Infonautics Corporation Architecture for processing search queries, retrieving documents identified thereby, and method for using same
US6701294B1 (en) 2000-01-19 2004-03-02 Lucent Technologies, Inc. User interface for translating natural language inquiries into database queries and data presentations
KR20020027707A (ko) 2000-10-04 2002-04-15 안성용 인공 지능형 에이젼트 시스템과 이의 구동 방법 및 이를저장한 컴퓨터가 판독 가능한 기록매체
KR101322486B1 (ko) 2007-06-28 2013-10-25 주식회사 케이티 범용 대화서비스 장치 및 그 방법
KR101173556B1 (ko) 2008-12-11 2012-08-13 한국전자통신연구원 토픽맵 기반 색인 장치, 토픽맵 기반 검색 장치, 토픽맵 기반 검색 시스템 및 그 방법
KR20130021944A (ko) 2011-08-24 2013-03-06 한국전자통신연구원 서술형 질의 응답 방법 및 장치
US20130226906A1 (en) 2012-02-15 2013-08-29 Nuance Communications, Inc. System And Method For A Self-Configuring Question Answering System
US9183254B1 (en) * 2012-05-04 2015-11-10 Paraccel Llc Optimizing database queries using subquery composition
US8484017B1 (en) 2012-09-10 2013-07-09 Google Inc. Identifying media content
US9582572B2 (en) 2012-12-19 2017-02-28 Intel Corporation Personalized search library based on continual concept correlation
US20140201203A1 (en) 2013-01-15 2014-07-17 Prafulla Krishna System, method and device for providing an automated electronic researcher
US9245008B2 (en) 2013-03-12 2016-01-26 International Business Machines Corporation Detecting and executing data re-ingestion to improve accuracy in a NLP system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150242464A1 (en) * 2014-02-24 2015-08-27 Red Hat, Inc. Source query caching as fault prevention for federated queries

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102267068B1 (ko) * 2020-12-29 2021-06-21 주식회사 젠티 자연어 질의에 따라 시계열 데이터베이스로부터 데이터를 추출하는 시스템 및 그 방법

Also Published As

Publication number Publication date
KR102315350B1 (ko) 2021-10-20
US10460125B2 (en) 2019-10-29
US20170060938A1 (en) 2017-03-02

Similar Documents

Publication Publication Date Title
CN109409043B (zh) 应用系统的登录方法、终端设备及介质
CN106992994B (zh) 一种云服务的自动化监控方法和系统
EP4319054A2 (en) Identifying legitimate websites to remove false positives from domain discovery analysis
CN110602029B (zh) 一种用于识别网络攻击的方法和系统
CN111753171B (zh) 一种恶意网站的识别方法和装置
CN107832618B (zh) 一种基于细粒度权限控制的sql注入检测系统及其方法
CN107547490B (zh) 一种扫描器识别方法、装置及系统
CN109190368B (zh) 一种sql注入检测装置及sql注入检测方法
WO2020155508A1 (zh) 可疑用户筛选方法、装置、计算机设备及存储介质
CN110427375B (zh) 字段类别的识别方法及装置
KR20170025201A (ko) 질의 처리 자동화 장치 및 방법
CN116150349A (zh) 一种数据产品安全合规性检查方法、装置及服务器
CN113706176A (zh) 一种结合云计算的信息反欺诈处理方法及服务平台系统
US11550920B2 (en) Determination apparatus, determination method, and determination program
EP3550789A1 (en) Method for protecting web applications by automatically generating application models
CN108804501B (zh) 一种检测有效信息的方法及装置
CN110086826B (zh) 信息处理方法
CN107911232B (zh) 一种确定业务操作规则的方法及装置
CN116800518A (zh) 一种网络防护策略的调整方法及装置
US9742641B2 (en) System and method for identifying real users behind application servers
CN111949363A (zh) 业务访问的管理方法、计算机设备、存储介质及系统
CN115204733A (zh) 数据审计方法、装置、电子设备及存储介质
CN113037555A (zh) 风险事件标记方法、风险事件标记装置和电子设备
CN112488562A (zh) 一种业务实现方法及装置
CN113032836A (zh) 数据脱敏方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant