KR102016603B1 - 온톨로지 기반의 대화 시스템 - Google Patents

온톨로지 기반의 대화 시스템 Download PDF

Info

Publication number
KR102016603B1
KR102016603B1 KR1020170108845A KR20170108845A KR102016603B1 KR 102016603 B1 KR102016603 B1 KR 102016603B1 KR 1020170108845 A KR1020170108845 A KR 1020170108845A KR 20170108845 A KR20170108845 A KR 20170108845A KR 102016603 B1 KR102016603 B1 KR 102016603B1
Authority
KR
South Korea
Prior art keywords
context
conversation
natural language
user
dialogue
Prior art date
Application number
KR1020170108845A
Other languages
English (en)
Other versions
KR20190023317A (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 KR1020170108845A priority Critical patent/KR102016603B1/ko
Publication of KR20190023317A publication Critical patent/KR20190023317A/ko
Application granted granted Critical
Publication of KR102016603B1 publication Critical patent/KR102016603B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

본 발명에 따른 온톨로지 기반의 대화 시스템은, 사용자와 네트워크를 통하여 자연어 형태인 사용자 메시지를 수신하고 시스템 메시지를 송신하는 커뮤니케이터; 자연어 이해부를 참조하여, 자연어 형태인 사용자 메시지에 대한 자연어 분석 결과를 생성하는 사용자 입력 전처리부; 사용자 메시지에 대한 자연어 분석 결과로부터 예비 대화 컨텍스트를 생성하는 컨텍스트 분석부; 복수의 도메인 및 복수의 도메인 사이의 연관 관계가 온톨로지로 구성된 대화 모델을 가지는 대화 모델 관리부를 참조하여, 예비 대화 컨텍스트로부터 생성한 인스턴스에 비어있는 인스턴스 속성을 갱신하여 현재 대화 컨텍스트를 생성하는 컨텍스트 관리부; 현재 대화 컨텍스트를 시스템 질의로 변환하여 지식 베이스에 전달하여, 시스템 응답을 수신하는 시스템 질의부; 및 시스템 응답을 자연어 생성부를 참조하여, 자연어 형태인 시스템 메시지로 생성하는 사용자 응답 생성부;를 포함한다.

Description

온톨로지 기반의 대화 시스템{Dialogue system based ontology}
본 발명은 대화 시스템에 관한 것으로, 자세하게는 온톨로지 기반의 대화 시스템에 관한 것이다.
본 발명은 산업통상자원부 국제공동기술개발사업의 일환으로 (주)솔트룩스에서 주관하고 연구하여 수행된 연구로부터 도출된 것이다. [연구기간: 2016.10.01~2017.09.30, 연구관리 전문기관: 한국산업기술진흥원, 연구과제명: 모바일에 최적화된 멀티모달 질의응답 프레임워크 개발, 과제 고유번호: N0001701]
대화 시스템은 사용자의 메시지에 응답하여 시스템의 메시지를 생성 및 제공하는 시스템으로, 대화 시스템은 대화 모델을 구축함으로써 특정 도메인이나 상황에서 가능한 대화 환경을 제공할 수 있다.
본 발명의 기술적 과제는, 대화 시스템의 도메인 종속성을 배제하여 자연스러운 대화를 진행할 수 있도록 하는 온톨로지 기반의 대화 시스템을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 기술적 사상의 일측면에 따른 온톨로지 기반의 대화 시스템은, 사용자와 네트워크를 통하여 자연어 형태인 사용자 메시지를 수신하고 시스템 메시지를 송신하는 커뮤니케이터; 자연어 이해부를 참조하여, 자연어 형태인 상기 사용자 메시지에 대한 자연어 분석 결과를 생성하는 사용자 입력 전처리부; 상기 사용자 메시지에 대한 상기 자연어 분석 결과로부터 예비 대화 컨텍스트를 생성하는 컨텍스트 분석부; 복수의 도메인 및 상기 복수의 도메인 사이의 연관 관계가 온톨로지로 구성된 대화 모델을 가지는 대화 모델 관리부를 참조하여, 상기 예비 대화 컨텍스트로부터 생성한 인스턴스에 비어있는 인스턴스 속성을 갱신하여 현재 대화 컨텍스트를 생성하는 컨텍스트 관리부; 상기 현재 대화 컨텍스트를 시스템 질의로 변환하여 지식 베이스에 전달하여, 시스템 응답을 수신하는 시스템 질의부; 및 상기 시스템 응답을 자연어 생성부를 참조하여, 자연어 형태인 상기 시스템 메시지로 생성하는 사용자 응답 생성부;를 포함한다.
상기 대화 모델 관리부는 도메인 별로 구성된 복수의 도메인 모델을 포함하는 대화 도메인 모델, 복수의 대화 의도에 대한 정보 모델을 포함하는 대화 의도 모델, 및 복수의 도메인 사이의 연관 관계를 포함하는 시스템 작업 모델을 포함하며, 상기 컨텍스트 분석부는 상기 대화 도메인 모델 및 상기 대화 의도 모델을 참조하여, 상기 예비 대화 컨텍스트를 생성하고, 상기 컨텍스트 관리부는 상기 시스템 작업 모델을 참조하여, 상기 현재 대화 컨텍스트를 생성할 수 있다.
이전 대화 컨텍스트 및 상기 현재 대화 컨텍스트를 저장하는 컨텍스트 저장부를 더 포함하며, 상기 컨텍스트 관리부는, 상기 이전 대화 컨텍스트가 가지는 인스턴스 속성을 상기 예비 대화 컨텍스트의 상기 비어 있는 인스턱스 속성에 매칭하여, 상기 현재 대화 컨텍스트를 생성할 수 있다.
상기 이전 대화 컨텍스트와 상기 예비 대화 컨텍스트는 다른 도메인 또는 다른 대화 의도를 가질 수 있다.
상기 시스템 작업 모델은 상기 현재 대화 컨텍스트를 반영하여, 온톨로지로 구성된 상기 정보 모델을 재구성 및 학습할 수 있다.
상기 컨텍스트 관리부는, 상기 대화 모델 관리부와 상기 지식 베이스를 함께 참조하여, 상기 현재 대화 컨텍스트를 생성할 수 있다.
상기 컨텍스트 관리부에서 생성된 상기 현재 대화 컨텍스트를 검증하여, 상기 시스템 질의부에게 상기 현재 대화 컨텍스트를 상기 시스템 질의로 변환하게 하거나, 상기 사용자 응답 생성부에게 추가적인 정보를 요청하는 자연어 형태인 질문을 생성하게 하는 대화진행 계획부;를 더 포함할 수 있다.
상기 시스템 메시지는, 상기 시스템 응답으로부터 생성된 자연어 형태인 응답과, 상기 질문을 포함하며, 상기 대화진행 계획부는, 상기 커뮤니케이터를 통하여, 상기 사용자에게 상기 응답과 상기 질문을 함께 제공하도록 할 수 있다.
본 발명의 기술적 사상의 일측면에 따른 온톨로지 기반의 대화 시스템은, 네트워크를 통하여 자연어 형태인 사용자 메시지를 수신하고 시스템 메시지를 송신하는 커뮤니케이터; 자연어 이해부를 참조하여, 자연어 형태인 상기 사용자 메시지에 대한 자연어 분석 결과를 생성하는 사용자 입력 전처리부; 상기 사용자 메시지에 대한 상기 자연어 분석 결과로부터 예비 대화 컨텍스트를 생성하는 컨텍스트 분석부; 복수의 도메인 및 상기 복수의 도메인 사이의 연관 관계가 온톨로지로 구성된 대화 모델을 가지는 대화 모델 관리부를 참조하여, 상기 예비 대화 컨텍스트로부터 생성한 인스턴스에 비어있는 인스턴스 속성을 갱신하여 현재 대화 컨텍스트를 생성하는 컨텍스트 관리부; 및 상기 현재 대화 컨텍스트, 및 상기 현재 대화 컨텍스트와 다른 도메인 또는 다른 대화 의도를 가지는 이전 대화 컨텍스트를 저장하는 컨텍스트 저장부;를 포함하며, 상기 컨텍스트 관리부는, 상기 이전 대화 컨텍스트가 가지는 인스턴스 속성을 상기 예비 대화 컨텍스트의 상기 비어 있는 인스턴스 속성에 매칭하여, 상기 현재 대화 컨텍스트를 생성한다.
상기 현재 대화 컨텍스트를 시스템 질의로 변환하여 지식 베이스에 전달하여, 시스템 응답을 수신하는 시스템 질의부; 및 상기 시스템 응답을 자연어 생성부를 참조하여, 자연어 형태인 상기 시스템 메시지로 생성하는 사용자 응답 생성부;를 더 포함하며, 상기 컨텍스트 관리부는, 상기 대화 모델 관리부와 상기 지식 베이스를 함께 참조하여 상기 예비 대화 컨텍스트의 상기 비어 있는 인스턴스 속성에 매칭하여, 상기 현재 대화 컨텍스트를 생성할 수 있다.
본 발명에 따른 온톨로지 기반의 대화 시스템은, 사용자와 시스템 사이의 대화 중에 사용자 메시지의 도메인 정보 및/또는 대화 의도가 변경되는 경우에도, 온톨로지로 구성된 대화 모델을 기반으로, 대화 컨텍스트를 구성하여 대화가 자연스럽게 진행될 수 있도록 할 수 있어, 사용자가 입력해야 하는 정보의 부담을 경감시키고, 질문과 대답이 반복되는 경우에 발생될 수 있는 과부하를 최소화하여, 정확성과 실용성이 향상될 수 있다.
도 1은 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템을 나타내는 블록도이다.
도 2는 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 블록도이다.
도 3은 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 블록도이다.
도 4a 및 도 4b는 각각 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 블록도 및 개념도이다.
도 5는 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 대화 모델을 구성하는 온톨로지의 예시이다.
도 6은 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 대화 모델을 구성하는 온톨로지의 예시이다.
도 7은 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 블록도이다.
도 8은 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 블록도이다.
도 9는 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하 도면 및 설명에서, 하나의 블록으로 표시 또는 설명되는 구성요소는 하드웨어 블록 또는 소프트웨어 블록일 수 있다. 예를 들면, 구성요소들 각각은 서로 신호를 주고 받는 독립적인 하드웨어 블록일 수도 있고, 또는 하나의 프로세서에서 실행되는 소프트웨어 블록일 수도 있다.
본 발명의 구성 및 효과를 충분히 이해하기 위하여, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예들을 설명한다.
도 1은 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템을 나타내는 블록도이다.
도 1을 참조하면, 온톨로지 기반의 대화 시스템(1)은 커뮤니케이터(100), 사용자 입력 전처리부(200), 컨텍스트 분석부(300), 컨텍스트 관리부(400), 대화진행 계획부(500), 시스템 질의부(600), 및 사용자 응답 생성부(700)를 포함한다.
커뮤니케이터(100)는 네트워크(20)를 통하여 사용자(10)로부터 사용자 메시지를 수신하고, 시스템 메시지를 송신할 수 있다. 네트워크(20)는 유선 인터넷 서비스, 근거리 통신망(LAN), 광대역 통신망(WAN), 인트라넷, 무선 인터넷 서비스, 이동 컴퓨팅 서비스, 무선 데이터 통신 서비스, 무선 인터넷 접속 서비스, 위성 통신 서비스, 무선 랜, 블루투스 등 유/무선을 통하여 데이터를 주고받을 수 있는 것을 모두 포함할 수 있다. 네트워크(20)이 스마트폰 또는 태블릿 등과 연결되는 경우, 네트워크(20)은 3G, LTE(long term evolution) 등의 무선 데이터 통신 서비스, 와이파이(Wi-Fi) 등의 무선 랜, 블루투스 등일 수 있다.
커뮤니케이터(100)는 사용자(10)가 사용하는 단말기 등을 통하여 온톨로지 기반의 대화 시스템(1)에 엑세스하기 위한 인터페이스를 제공할 수 있다. 사용자(10)는 커뮤니케이터(100)를 통하여 온톨로지 기반의 대화 시스템(1)에 사용자 메시지를 전송할 수 있고, 커뮤니케이터(100)를 통하여 온톨로지 기반의 대화 시스템(1)이 제공하는 시스템 메시지를 수신할 수 있다.
본 명세서에서 사용자 메시지 중 "질의"란 사용자(10)가 온톨로지 기반의 대화 시스템(1)로부터 시스템 메시지를 얻기 위하여 온톨로지 기반의 대화 시스템(1)에 자연어 형태로 입력한 것을 의미하고, "응답"이란 사용자(10)의 질의에 대하여 온톨로지 기반의 대화 시스템(1)이 제공하는 1차적인 결과물, 예컨대, 사용자(10)의 질의에 대한 자연어 형태의 정답을 의미한다.
또한 특별히 언급하거나 전제되지 않는 경우 본 명세서에서 시스템 메시지 중 "질문"이란, 온톨로지 기반의 대화 시스템(1)이 "응답"을 하기 위한 추가적인 정보를 얻기 위하여 사용자(10)에게 하는 자연어 형태의 요청을 의미하고, 사용자 메시지 중 "대답"이란 온톨로지 기반의 대화 시스템(1)의 "질문"에 대하여 사용자(10)가 온톨로지 기반의 대화 시스템(1)에 추가로 입력하는 자연어 형태의 정보를 의미한다. 온톨로지 기반의 대화 시스템(1)의 입장에서는 사용자 메시지인 "질의" 및 "대답"을 함께 하나의 질의로 인식할 수 있다.
따라서, 본 명세서에서 "대화"란, 하나의 세션에서 이루어지는 사용자(10)의 질의, 온톨로지 기반의 대화 시스템(1)의 질문, 사용자(10)의 대답 및 온톨로지 기반의 대화 시스템(1)의 응답를 모두 포괄하는 의미이고, 특별한 언급없이 사용자 메시지라는 것은 사용자(10)가 한번에 입력한 메시지, 즉 질의 또는 대답을 의미한다.
사용자 입력 전처리부(200)는 커뮤니케이터(100)가 수신한 자연어 형태의 사용자 메시지를 자연어 이해부(210)를 참조하여, 해석하여 컨텍스트 관리부(300)로 전달할 수 있다.
예를 들면, 자연어 이해부(210)는 사용자 메시지에 대하여, 시맨틱 롤 라벨링(Semantic Role Labeling), 형태소 분석, 구문 분석, 개체명 분석, 의도 분류, 및 도메인 분석 등의 복수의 단위 분석 과정을 수행할 수 있다. 상기 복수의 단위 분석 과정 중 일부는 병렬적으로 수행될 수 있다. 상기 복수의 단위 분석 과정 중 일부는 순차적으로 수행될 수 있다.
일부 실시 예에서, 자연어 이해부(210)는 사용자 메시지에 대한 자연어 분석 결과를 테이블(table) 구조 또는 트리(tree) 구조를 가지는 정형 데이터로 제공할 수 있다. 자연어 이해부(200)에서 제공하는 정형 데이터는 예를 들면, RDB(Relation DateBase), CSV(Comma-Seperated Variables), XML(eXtensible Markup Language), JSON(JavaScript Object Notation) 등일 수 있다.
사용자 입력 전처리부(200)는 자연어 이해부(210)에서 수행되는 시맨틱 롤 라벨링, 형태소 분석, 구문 분석, 개체명 분석, 의도 분류, 및 도메인 분석 등의 복수의 단위 분석 과정 중 적어도 하나의 단위 분석 과정의 단위 자연어 분석 결과를 구분하여 수신하거나, 전체 자연어 분석 결과를 함께 수신할 수 있다. 일부 실시 예에서, 사용자 입력 전처리부(200)는, 자연어 이해부(210)에서 수신한 각각의 단위 자연어 분석 결과를 질의에 대한 응답이 마무리될 때까지 저장하고 있을 수 있다. 또는 사용자 입력 전처리부(200)는 자연어 이해부(210)에서 수신한 각각의 단위 자연어 분석 결과를 구분하여, 컨텍스트 분석부(300)에 전달하거나, 전체 자연어 분석 결과를 함께 컨텍스트 분석부(300)에 전달할 수 있다.
컨텍스트 분석부(300)는 사용자 입력 전처리부(200)에서 전달받은 사용자 메시지에 대한 자연어 분석 결과를 분석하여, 예비 대화 컨텍스트를 추출할 수 있다. 컨텍스트 분석부(300)는 대화 모델 관리부(350)를 참조하여, 예비 대화 컨텍스트를 추출할 수 있다.
컨텍스트 분석부(300)는 대화 모델 관리부(350)를 참조하여, 사용자 메시지의 도메인 정보(예: 여행, 날씨 등)를 분석하고, 현재 대화에 해당하는 도메인 클래스의 인스턴스를 생성할 수 있다. 또한 컨텍스트 분석부(300)는 대화 모델 관리부(350)를 참조하여, 사용자 메시지의 대화 의도(예: 항공 예약, 날씨 예보 조회 등)를 분류화고, 대화모델 관리부에서 현재 대화에 해당하는 대화 의도 클래스의 인스턴스 생성할 수 있다. 컨텍스트 분석부(300)는 대화 모델 관리부(350)가 가지는 온톨로지로 구성된 대화 모델을 기반으로, 분석된 도메인 정보와 분류된 대화 의도에 대한 추론을 수행하여 예비 대화 컨텍스트를 생성하고 확장할 수 있다. 1차적으로, 현재 대화에 해당하는 도메인 클래스의 인스터스와 대화 의도 클래스의 인스턴스를 조합하여 1차적인 예비 대화 컨텍스트를 생성한 후, 온톨로지로 구성된 대화 모델을 기반으로 예비 대화 컨텍스트를 확장할 수 있다.
컨텍스트 관리부(400)는 컨텍스트 분석부(300)에서 전달받은 예비 대화 컨텍스트를 토대로, 현재 대화의 대화 컨텍스트의 정보를 관리할 수 있다. 컨텍스트 관리부(400)는 예비 대화 컨텍스트의 인스턴스를 생성한 후 컨텍스트 저장부(450) 및/지식 베이스(500)를 참조하여, 인스턴스 속성을 갱신하여 대화 컨텍스트를 생성할 수 있다. 예비 대화 컨텍스트는 모든 인스턴스 속성이 채워질 수도 있으나, 일부 인스턴스 속성은 채워지지 않을 수 있다. 이 경우, 컨텍스트 저장부에 저장된 다른 인스턴스를 참조하거나, 지식 베이스(500)를 참조하여, 채워지지 않은 인스턴스 속성을 채우는 갱신 과정을 거쳐서 대화 컨텍스트를 생성할 수 있다.
대화 컨텍스트란, 사용자(10)와 온톨로지 기반의 대화 시스템(1) 사이의 대화에 대한 컨텍스트(context), 즉 질의의 내용 및 맥락을 함께 포함하는 것으로, 대화 컨텍스트는 사용자(10)와 온톨로지 기반의 대화 시스템(1) 사이의 대화 전체에 대한 컨텍스트를 의미할 수도 있으나, 특별히 언급되지 않는 한, 본 명세서에서 대화 컨텍스트는 대화 진행 중에 사용자(10)의 한 개 또는 여러개의 메시지로 이루어지는 하나의 질의에 대한 대화 컨텍스트를 의미한다. 예를 들어, 사용자(10)와 온톨로지 기반의 대화 시스템(1) 사이에 여행에 관한 대화를 진행 중에, 예약과 관련된 질의와 조회에 대한 질의에 대해서는 별도의 대화 컨텍스트가 생성될 수 있다. 또한 예약에 관한 대화를 진행 중에도, 교통 예약, 숙소 예약, 식당 예약, 관광지 예약 등에 대해서는 별도의 대화 컨텍스트가 생성될 수 있다.
대화진행 계획부(600)는 생성된 대화 컨텍스트를 기초로, 지식 베이스(500)에서 정보를 얻어 사용자(10)에게 "응답"을 하거나, 사용자(10)에게 "질문"을 하도록 할 수 있다.
생성된 대화 컨텍스트로부터 사용자(10)의 명확한 의도가 파악되는 경우에, 대화진행 계획부(600)는 시스템 질의부(700)에게 지식 베이스(500)로부터 정보를 얻기 위한 시스템 질의를 생성하도록 할 수 있다. 또한 "시스템 질의"란 지식 베이스(500)에게 제공하기 위하여 자연어 형태인 사용자(10)의 “질의”로부터 생성된 질의 컨텍스트를 시스템 질의부(700)가 변환한 쿼리(query)를 의미한다.
또는 생성된 대화 컨텍스트로부터 사용자(10)의 명확한 의도가 파악되지 않는 경우, 대화진행 계획부(600)는 사용자 응답 생성부(800)에게, 자연어 생성부(900)를 기초로 하여, 자연어의 "질문"을 생성하여 사용자(10)에게 제공하도록 할 수 있다.
시스템 질의부(700)는 대화 컨텍스트를 "시스템 질의"로 변환하여 지식 베이스(500)에 전달하여 그 결과인 "시스템 응답"을 수신할 수 있다.
사용자 응답 생성부(800)는 자연어 생성부(900)를 참조하여, "응답" 또는 "질문"을 생성할 수 있다. 시스템 질의부(800)가 "시스템 질의"에 대한 "시스템 응답"을 지식 베이스(500)로부터 수신한 경우, 사용자 응답 생성부(800)는 자연어 생성부(900)를 참조하여, "시스템 응답"으로부터 자연어 형태의 "응답"을 생성하여 커뮤니케이터(100)를 통하여 사용자(10)에게 제공할 수 있다.
대화진행 계획부(600)가 사용자(10)의 명확한 의도가 파악하지 못한 경우, 시스템 응답 생성부(800)는 자연어 생성부(900)를 참조하여, 자연어 형태의 "질문"을 생성하여 커뮤니케이터(100)를 통하여 사용자(10)에게 제공할 수 있다. 일부 실시 예에서, 시스템 응답 생성부(800)는 "질문"을 생성할 때, 지식 베이스(500)를 참조할 수 있다.
커뮤니케이터(100)는 사용자 응답 생성부(800)에서 생성된 "응답", 또는 "질문"을 네트워크(20)를 통하여 사용자(10)에게 제공될 수 있다.
본 발명에 따른 온톨로지 기반의 대화 시스템(1)은 사용자(10)와 온톨로지 기반의 대화 시스템(1) 사이의 대화 중에 사용자 메시지의 도메인 정보 및/또는 대화 의도가 변경되는 경우에도, 온톨로지로 구성된 대화 모델을 기반으로, 대화 컨텍스트를 구성하여 대화가 자연스럽게 진행될 수 있도록 할 수 있어, 사용자(10)가 입력해야 하는 정보의 부담을 경감시키고, 질문과 대답이 반복되는 경우에 발생될 수 있는 과부하를 최소화하여, 온톨로지 기반의 대화 시스템(1)의 정확성과 실용성이 향상될 수 있다.
도 2는 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 블록도이다. 구체적으로 도 2는 도 1에서 설명한 사용자의 메세지에 대한 사용자 입력 전처리부(200)에서의 동작을 설명하기 위한 블록도로, 도 2에 대한 설명 중 도 1과 중복되는 내용은 생략될 수 있다.
도 1 및 도 2를 함께 참조하면, 사용자 입력 전처리부(200)는 커뮤니케이터(100)가 수신한 자연어 형태의 사용자 메시지를 자연어 이해부(210)를 참조하여 해석할 수 있다. 자연어 이해부(210)는 시맨틱 롤 라벨링부(SRL, 220), 형태소 분석부(230), 구문 분석부(240), 개체명 분석부(250), 의도 분류부(270) 및 도메인 분석부(280)를 포함할 수 있다. 시맨틱 롤 라벨링부(220)는 사용자 메시지에 대한 의미 역할(Semantic Role)을 부여할 수 있다. 형태소 분석부(230)는 의미 역할이 부여된 사용자 메시지를 형태소 단위로 분리할 수 있다. 구문 분석부(240) 및 개체명 분석부(250)는 형태소 단위로 분리된 사용자 메시지에 구문 분석 및 개체명 분석을 할 수 있다. 의도 분류부(260) 및 도메인 분석부(270)는 의미 역할이 부여된 사용자 메시지의 의도(intention) 분류 및 도메인 분석을 할 수 있다.
시맨틱 롤 라벨링부(SRL, 220), 형태소 분석부(230), 구문 분석부(242), 개체명 분석부(250), 의도 분류부(260) 및 도메인 분석부(270) 각각의 분석 단계에서 생성되는 분석 결과를 단위 자연어 분석 결과라 호칭하며, 하나의 사용자 메시지에 대한 단위 자연어 분석 결과들을 함께 전체 자연어 분석 결과라 호칭한다.
도 3은 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 블록도이다. 도 3은 도 1에서 설명한 사용자의 메세지에 대한 컨텍스트 분석부(300)에서의 동작을 설명하기 위한 블록도로, 도 3에 대한 설명 중 도 1과 중복되는 내용은 생략될 수 있다.
컨텍스트 분석부(300)는 사용자 입력 전처리부(200)에서 전달받은 사용자 메시지에 대한 자연어 분석 결과를 대화 모델 관리부(350)를 참조하여 분석해서, 예비 대화 컨텍스트를 추출할 수 있다.
컨텍스트 분석부(300)는 대화 도메인 분석부(310), 대화 의도 분류부(320), 및 컨텍스트 추출부(330)를 포함할 수 있다.
대화 모델 관리부(350)는 대화 도메인 모델(360), 대화 의도 모델(370) 및 시스템 작업 모델(380)을 포함할 수 있다. 대화 도메인 모델(360), 대화 의도 모델(370) 및 시스템 작업 모델(380)은 온톨로지로 구성된 정보 모델일 수 있다. 대화 도메인 모델(360)은 각각의 도메인 별로 구성된 복수의 도메인 모델을 포함하며, 각 도메인 모델은 해당 도메인 내에서 사용되는 개념 및 연관관계를 정의하고 있을 수 있다. 예를 들면, 여행 도메인에는 예약과 조회가 연관되고, 예약 도메인에는 교통 예약, 숙소 예약, 식당 예약, 관광지 예약 등이 연관되어 있을 수 있다. 대화 의도 모델(370)은 복수의 대화 의도, 예를 들면 질문, 답변, 의견, 정보제공, 확인, 제안, 공감, 요청 등 각각에 대한 온톨로지로 구성된 정보 모델을 포함할 수 있다. 시스템 작업 모델(380)은 온톨로지 기반의 대화 시스템(1)이 수행할 작업이 온톨로지로 구성된 정보 모델일 수 있다. 시스템 작업 모델(380)은 작업들 간의 종속성, 연관 작업 정보 등을 정의할 수 있다. 따라서, 대화 모델 관리부(350)가 포함하는 대화 도메인 모델(360), 대화 의도 모델(370) 및 시스템 작업 모델(380)로 이루어지는 온톨로지로 구성된 대화 모델은, 복수의 도메인 및 복수의 도메인 사이의 연관 관계를 포함한다.
도메인 분석부(310)는 대화 도메인 모델(360)를 참조하여, 사용자 메시지의 도메인 정보(예: 여행, 예약, 조회 등)를 분석하고, 현재 대화에 해당하는 도메인 클래스의 인스턴스를 생성할 수 있다.
대화 의도 분류부(320)는 대화 의도 모델(370)를 참조하여, 사용자 메시지의 대화 의도(예: 항공권 예약, 날씨 조회 등)를 분류화고, 현재 대화에 해당하는 대화 의도 클래스의 인스턴스를 생성할 수 있다.
컨텍스트 추출부(330)는 도메인 분석부(310)에서 분석된 도메인 정보와 대회 의도 분류부(320)에서 분류된 대화 의도에 대한 추론을 수행하여 예비 대화 컨텍스트를 생성하고 확장할 수 있다.
예를 들어, 사용자(10)가 "날씨는?"이라는 메시지를 입력한 경우, 예비 대화 컨텍스트는 날씨 조회를 위한 대화 컨텍스트일 수 있다.
도 4a 및 도 4b는 각각 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 블록도 및 개념도이다. 구체적으로 도 4a는 도 1에서 설명한 사용자의 질의에 대한 컨텍스트 관리부(400)에서의 동작을 설명하기 위한 블록도로, 도 4a 및 도 4b에 대한 설명 중 도 1과 중복되는 내용은 생략될 수 있다.
도 1, 도 4a 및 도 4b를 함께 참조하면, 컨텍스트 관리부(400)는 대화 컨텍스트를 생성하고, 컨텍스트 저장부(450)에 저장할 수 있다.
즉, 컨텍스트 저장부(450)는 이전까지의 사용자 메시지들 및 시스템 메시지들에 대한 대화 컨텍스트들을 저장하고 있을 수 있다. 예를 들어, 컨텍스트 저장부(450)는 이전 메시지에 대한 대화 컨텍스트로 인스턴스 1을 저장하고 있을 수 있다. 예를 들면, 인스턴스 1은 인스턴스 속성 Ca1, Cb1, Cc1, 및 Cd1 각각에 대해서 a11, b11, c11, d11이라는 값을 가지고 있을 수 있다.
컨텍스트 관리부(400)는 인스턴스 생성부(410)와 인스턴스 속성 갱신부(420)를 포함할 수 있다. 인스턴스 생성부(410)는 컨텍스트 분석부(300)에서 생성한 예비 대화 컨텍스트로부터 인스턴스를 생성한다. 예를 들어, 인스턴스 생성부(410)는 인스턴스 2를 생성할 수 있다. 예를 들면, 인스턴스 2는 인스턴스 속성 Ca2, Cb2, Cc2, 및 Cd2 중, Ca2와 Cc2 각각에 대하여 a22와 c22이라는 값을 채워져 있을 수 있으나, 인스턴스 속성 Cb2와 Cd2는 값이 채워지지 않고 비어있을 수 있다.
인스턴스 속성 갱신부(420)는 시스템 작업 모델(380)을 참조하여, 인스턴스 2 중 비어있는 인스턴스 속성인 Cb2와 Cd2를 각각 인스턴스 1의 Cd1과 지식 베이스로부터 매칭하여 인스턴스2를 인스턴스 2a로 갱신한다.
예를 들어, 사용자(10)가 온톨로지 기반의 대화 시스템(1)과 여행에 대한 대화를 하는 도중에, 교통 예약과 관광지 조회를 이미 한 경우, 교통 예약과 관광지 조회에 대한 대화 컨텍스트는 컨텍스트 저장부(450)에 인스턴스로 저장된다.
이후에, 사용자(10)가 "날씨는?"이라는 메시지를 입력한 경우, 컨텍스트 분석부(300)는 이 메시지를 분석하여 날씨 조회에 관한 대화 컨텍스트를 생성한다. 날씨 조회에 관한 대화 컨텍스트를 인스턴스 생성부(410)에서 인스턴스로 생성하는 경우, 생성된 인스턴스에는 날씨 조회를 하기 위한 장소와 날짜에 대한 인스턴스 속성이 채워지지 못하고 비어있게 된다. 이때 인스턴스 속성 갱신부(420)는 교통 예약에 관한 대화 컨텍스트로부터 날짜에 대한 인스턴스 속성을 매칭하고, 관광지 조회에 관한 대화 컨텍스트로부터 장소에 관한 인스턴스 속성을 매칭하여, 날씨 조회를 하기 위하여 장소와 날짜에 대한 인스턴스 속성을 채워지도록 인스턴스를 갱신하여 대화 컨텍스트를 생성할 수 있다. 인스턴스 속성 갱신부(420)에서 인스턴스가 갱신되어 생성된 대화 컨텍스트는 대화진행 계획부(500)로 전달될 수 있다.
시스템 작업 모델(380)은 여행을 위한 교통 예약, 관광지 조회, 날씨 조회 등 사이의 종속성, 연관 작업 정보가 정의된 온톨로지로 구성된 정보 모델일 수 있다. 즉, 시스템 작업 모델(380)에는 다른 도메인 및/또는 다른 대화 의도를 가지는 대화 컨텍스트 사이의 종속성과 각 대화 컨텍스트를 이루는 인스턴스가 가지는 인스턴스 속성 사이의 연관 관계 등이 정의될 수 있다. 따라서, 인스턴스 속성 갱신부(420)는 시스템 작업 모델(380)이 가지는 온톨로지로 구성된 정보 모델 및 지식 베이스(500)를 참조하여, 인스턴스 속성을 갱신하여 대화 컨텍스트를 생성할 수 있다.
인스턴스 속성 갱신부(420)에서 인스턴스 속성을 갱신하여 생성된 대화 컨텍스트는 컨텍스트 저장부(450)에 추가로 저장될 수 있으며, 시스템 작업 모델(380)은 추가로 저장된 대화 컨텍스트를 반영하여, 온톨로지로 구성된 대화 모델을 재구성 및 학습할 수 있다.
본 명세서에서는 설명의 편의를 위하여, 인스턴스 1과 같이 이전 메시지에 대한 대화 컨텍스트를 이전 대화 컨텍스트라 호칭하고, 인스턴스 2로부터 갱신된 인스턴스 2a과 같이 현재 메시지에 대한 대화 컨텍스트를 현재 대화 컨텍스트라 구분하여 호칭할 수 있다. 즉, 본 발명에 따른 온톨로지 기반의 대화 시스템(1)은 이전 대화 컨텍스트와 예비 대화 컨텐스트가 다른 도메인 또는 다른 대화 의도를 가지는 경우에도, 시스템 작업 모델(380)이 가지는 온톨로지로 구성된 정보 모델을 참조하여, 예비 대화 컨텍스트의 비어 있는 인스턴스 속성을 이전 대화 컨텍스트의 인스턴스 속성와 매칭하여, 인스턴스 속성이 갱신된 현재 대화 컨텍스트를 생성할 수 있다.
도 5는 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 대화 모델을 구성하는 온톨로지의 예시이다.
도 5를 참조하면, 여행에 관한 대화 모델을 구성하는 온톨로지(TOS)는 예약 도메인(D1)과 조회 도메인(D2)을 종속하고 있다. 예약 도메인(D1)에는 교통 예약, 숙소 예약, 식당 예약, 관광지 예약 등의 작업이 종속되어 있다. 교통 예약에는 항공, 기차, 렌트카 등이 종속되어 있을 수 있고, 숙소 예약에는 호텔, 민박 등이 종속되어 있을 수 있다. 조회 도메인(D2)에는 관광지, 맛집, 날씨 등의 작업이 종속되어 있다. 조회 도메인(D2)의 관광지, 맛집 등의 작업은 예약 도메인(D1)의 관광지 예약, 식당 예약 등의 작업이 종속될 수 있다. 마찬가지로 예약 도메인(D1)의 숙소 예약 작업의 민박에는 주위의 맛집을 조회할 수 있도록 조회 도메인(D2)의 맛집이 종속될 수 있다.
도 5에서는 여행에 관한 대화 모델을 구성하는 온톨로지(TOS)가 예약 도메인(D1)과 조회 도메인(D2)을 종속하고 있는 것으로 도시되어 있지만, 각각에 종속된 작업들도 별도의 도메인을 이루고 있을 수 있다.
또한 여행에 관한 대화 모델을 구성하는 온톨로지(TOS)는 직접 종속되지 않는 작업 사이의 연관 관계 또한 정의될 수 있다.
도 6은 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 대화 모델을 구성하는 온톨로지의 예시이다.
도 4a 내지 도 6을 함께 참조하면, 여행을 하기 위하여 교통 예약에 대한 메시지를 입력하는 경우, 해당 지역에 대한 교통편을 지식 베이스(500)에서 조회하여, 유일하거나, 유력한 교통편이 항공편인 경우, 항공권 예약에 필요한 대화 모델이 수행될 수 있다.
항공권 예약에 관한 대화 모델을 구성하는 서브 온톨로지(SOS)는 출발지 질의, 출발일 질의, 도착지 질의, 도착일 질의 등의 작업이 종속되어 있을 수 있다. 서브 온톨로지(SOS)는 도 5에 보인 온톨로지(TOS)의 일부를 구성할 수 있다. 만일 항공권 예약에 대한 대화 컨텍스트가 생성된 경우에는 출발지, 출발일, 도착지, 도착일 등이 인스턴스 속성으로 채워져 있을 수 있다.
만일 항공권 예약에 관한 대화를 진행하다가 숙소 예약에 관한 대화를 하는 경우, 숙소 예약에 관한 대화로부터 생성된 예비 대화 컨텍스트에 채워지지 않은 인스턴스 속성에 항공권 예약에 대한 대화 컨텍스트에 포함된 인스턴스 속성을 매칭하여, 숙소 예약에 대한 인스턴스를 갱신한 대화 컨텍스트를 생성할 수 있다.
도 7은 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 블록도이다. 구체적으로 도 7은 도 1에서 설명한 대화진행 계획부(600)에서의 동작을 설명하기 위한 블록도로, 도 7에 대한 설명 중 도 1과 중복되는 내용은 생략될 수 있다.
도 1 및 도 7을 함께 참조하면, 대화진행 계획부(600)는 컨텍스트 관리부(400)에서 생성된 대화 컨텍스트를 수신할 수 있다.
대화진행 계획부(600)는 대화 컨텍스트 검증부(610), 대화 정책(620), 및 대화 흐름 모델(630)을 포함할 수 있다. 대화 컨텍스트 검증부(610)는 대화 정책(620) 및 대화 흐름 모델(630)을 참조하여, 사용자(10)에게 응답을 하기 위한 시스템 질의를 할지, 사용자(10)에게 질문을 할지를 결정할 수 있다. 또는 대화 컨텍스트 검증부(610)는 사용자(10)에게 응답과 함께 질문을 추가로 할지를 결정할 수 있다.
즉, 컨텍스트 관리부(400)에서 생성된 대화 컨텍스트에 인스턴스 속성이 모두 채워진 경우에는 대화진행 계획부(600)는 시스템 질의부(700)에게 시스템 질의를 요청할 수 있다.
반면에 즉, 이전에 진행된 대화가 없거나, 이전에 진행된 대화에서 생성된 대화 컨텍스트가 가지는 인스턴스 속성이 부족한 경우에는 대화진행 계획부(600)는 사용자 응답 생성부(800)에게 추가적인 정보를 요구하는 질문을 생성하게 할 수 있다. 또는 컨텍스트 관리부(400)에서 생성된 대화 컨텍스트에 인스턴스 속성이 모두 채워진 경우에도, 사용자에게 확인이 필요한 경우에는 대화진행 계획부(600)는 시스템 질의부(700)에게 시스템 질의를 요청한 후, 그 결과인 시스템 응답을 사용자 응답 생성부(800)에게 전달하고, 사용자 응답 생성부(800)에서 응답과 사용자의 확인을 요청하는 질문을 함께 생성하도록 할 수 있다.
도 8은 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 블록도이다. 구체적으로 도 8은 도 1에서 설명한 지식 베이스(500)를 참조한 시스템 질의부(700) 및 사용자 응답 생성부(800)에서의 동작을 설명하기 위한 블록도로, 도 8에 대한 설명 중 도 1과 중복되는 내용은 생략될 수 있다.
도 1 및 도 8을 함께 참조하면, 시스템 질의부(700)는 지식 베이스(500)에 시스템 질의를 하여, 시스템 응답을 얻은 후, 사용자 응답 생성부(800)에서 사용자(10)에게 제공할 "응답"을 생성하도록 할 수 있다. 사용자 응답 생성부(800)는 추가적으로, 사용자(10)에게 할 "질문"을 생성하도록 할 수 있으며, 필요에 따라서 지식 베이스(500)를 참조하여, "질문"을 생성할 수 있다.
지식 베이스(500)는 DB 등록부(510), DB 관리부(520), 및 도메인 DB부(530)를 포함할 수 있다. DB 등록부(510) 및 DB 관리부(520)는 각각 도메인 DB부(530)가 포함하는 복수의 도메인 DB(532, 534, 536, 538)을 등록하고 관리할 수 있다. 지식 DB 등록부(510) 및 DB 관리부(520)는 각각 외부 DB부(540)를 등록하고 관리할 수 있다. 도 8에서는 도시의 편의를 위하여, 외부 DB부(540)가 지식 베이스(500) 내, 즉 온톨로지 기반의 대화 시스템(1) 내에 포함된 것으로 도시되었으나, 이에 한정되지 않는다. 예를 들면, 외부 DB부(540)는 온톨로지 기반의 대화 시스템(1)의 DB 등록부(510)에 등록되고, DB 관리부(520)에서 억세스 가능한 외부 서비스 및 외부 서비스가 포함하는 외부 DB일 수 있다. 즉, 외부 DB부(540)는 온톨로지 기반의 대화 시스템(1)의 DB 등록부(510)에 등록되고, DB 관리부(520)에서 억세스 가능한 외부 서비스 및 외부 서비스가 포함하는 외부 DB를 개념적으로 하나의 구성 요소처럼 도시한 것일 수 있다. DB 관리부(520)는 각각의 외부 서비스에 억세스하기 위한 API를 가지는 플러그인을 가질 수 있다.
도메인 DB부(530)는 예를 들면, 제1 내지 제4 도메인 DB(532, 534, 536, 538)을 포함할 수 있다. 제1 내지 제4 도메인 DB(532, 534, 536, 538)은 독립적으로 구축된 지식베이스일 수 있다. 예를 들면 제1 내지 제4 도메인 DB(532, 534, 536, 538) 각각은 일반 상식 지식베이스, 여행 정보 도메인 지식베이스, 교통 정보 도메인 지식베이스, 음식 식당 도메인 지식베이스 등일 수 있다.
외부 DB부(540)는 복수의 서비스(541, 542, 543)와 각 서비스에 대응되는 복수의 외부 DB(546, 547, 548)을 포함할 수 있다. DB 관리부(520)는 제1 서비스(541), 제2 서비스(542), 제3 서비스(543) 등 외부 서비스와 연결되어 이들을 온톨로지 기반의 대화 시스템(1) 내의 지식 베이스로 활용할 수 있다. 제1 서비스(541), 제2 서비스(542), 및 제3 서비스(543)는 각각 독자적인 제1 외부 DB(546), 제2 외부 DB(547), 및 제3 외부 DB(548)와 연결되거나, 이를 포함할 수 있다. 예를 들면, 외부 서비스는 지리정보 서비스, 교통 예약 서비스, 날씨 서비스 등일 수 있으며, 이들 외부 서비스와 연결되거나, 이들 외부 서비스가 포함하는 외부 DB는 예를 들면, Geo 정보 DB, 교통 정보 DB, 세계날씨 DB 등일 수 있다.
시스템 질의부(600) 및/또는 사용자 응답 생성부(700)는 DB 등록부(510)에 등록된 정보를 토대로, 도메인 DB부(530) 및/또는 외부 DB부(540)가 가지는 복수의 도메인 DB(532, 534, 536) 및 복수의 외부 DB(546, 547, 548) 중 적어도 하나의 DB(지식 베이스)를 참조할 수 있고, 이러한 참조는 DB 관리부(520)에 의하여 제어 및 관리될 수 있다.
도 9는 본 발명의 예시적 실시 예에 따른 온톨로지 기반의 대화 시스템의 동작을 설명하기 위한 블록도이다. 구체적으로 도 9는 도 1에서 설명한 자연어 생성부(900)를 참조한 사용자 응답 생성부(800)에서의 동작을 설명하기 위한 블록도로, 도 9에 대한 설명 중 도 1과 중복되는 내용은 생략될 수 있다.
도 1 및 도 9를 함께 참조하면, 사용자 응답 생성부(800)는 자연어 생성부(900)를 통하여, 시스템 응답을 자연어 형태인 "응답"으로 생성하여 사용자(10)에게 제공할 수 있다. 또한 사용자 응답 생성부(800)는 자연어 생성부(900)를 통하여, 자연어 형태인 "질문"으로 생성하여 사용자(10)에게 제공할 수 있다. 사용자 응답 생성부(800)에서 자연어 생성부(900)를 참조하여 생성된 시스템 메시지인 "응답" 또는 "질문"은 커뮤니케이터(100)를 통하여 사용자(10)에게 제공될 수 있다.
자연어 생성부(900)는 자연어 응답 생성부(910), 및 자연어 생성 규칙부(920)를 포함한다. 사용자 응답 생성부(800)는 자연어 응답 생성부(910)에서 자연어 생성 규칙부(920)를 참조하여 생성한 자연어 형태의 응답 또는 질문을 기초로, 사용자(10)에게 "응답"을 제공하거나 "질문"을 할 수 있다.
이상, 본 발명을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상 및 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다.
1 : 온톨로지 기반의 대화 시스템, 10 : 사용자, 20 : 네트워크, 100 : 커뮤니케이터, 200 : 사용자 입력 전처리부, 210 : 자연어 이해부, 300 : 컨텍스트 분석부, 350 : 대화 모델 관리부, 400 : 컨텍스트 관리부, 450 : 컨텍스트 저장부, 500 : 지식 베이스, 600 : 대화진행 계획부, 700 : 시스템 질의 부, 800 : 사용자 응답 생성부, 900 : 자연어 생성부

Claims (10)

  1. 사용자와 네트워크를 통하여 자연어 형태인 사용자 메시지를 수신하고 시스템 메시지를 송신하는 커뮤니케이터;
    자연어 형태인 상기 사용자 메시지에 대한 자연어 분석 결과를 생성하는 사용자 입력 전처리부;
    상기 사용자 메시지에 대한 상기 자연어 분석 결과로부터 예비 대화 컨텍스트를 생성하는 컨텍스트 분석부;
    복수의 도메인 및 상기 복수의 도메인 사이의 연관 관계가 온톨로지로 구성된 대화 모델을 가지는 대화 모델 관리부를 참조하여, 상기 예비 대화 컨텍스트로부터 생성한 인스턴스에 비어있는 인스턴스 속성을 갱신하여 현재 대화 컨텍스트를 생성하는 컨텍스트 관리부;
    상기 현재 대화 컨텍스트를 시스템 질의로 변환하여 지식 베이스에 전달하여, 시스템 응답을 수신하는 시스템 질의부; 및
    상기 시스템 응답을 자연어 생성부를 참조하여, 자연어 형태인 상기 시스템 메시지로 생성하는 사용자 응답 생성부;를 포함하는 온톨로지 기반의 대화 시스템.
  2. 제1 항에 있어서,
    상기 대화 모델 관리부는 도메인 별로 구성된 복수의 도메인 모델을 포함하는 대화 도메인 모델, 복수의 대화 의도에 대한 정보 모델을 포함하는 대화 의도 모델, 및 복수의 도메인 사이의 연관 관계를 포함하는 시스템 작업 모델을 포함하며,
    상기 컨텍스트 분석부는 상기 대화 도메인 모델 및 상기 대화 의도 모델을 참조하여, 상기 예비 대화 컨텍스트를 생성하고,
    상기 컨텍스트 관리부는 상기 시스템 작업 모델을 참조하여, 상기 현재 대화 컨텍스트를 생성하는 것을 특징으로 하는 온톨로지 기반의 대화 시스템.
  3. 제2 항에 있어서,
    이전 대화 컨텍스트 및 상기 현재 대화 컨텍스트를 저장하는 컨텍스트 저장부를 더 포함하며,
    상기 컨텍스트 관리부는, 상기 이전 대화 컨텍스트가 가지는 인스턴스 속성을 상기 예비 대화 컨텍스트의 상기 비어 있는 인스턱스 속성에 매칭하여, 상기 현재 대화 컨텍스트를 생성하는 것을 특징으로 하는 온톨로지 기반의 대화 시스템.
  4. 제3 항에 있어서,
    상기 이전 대화 컨텍스트와 상기 예비 대화 컨텍스트는 다른 도메인 또는 다른 대화 의도를 가지는 것을 특징으로 하는 온톨로지 기반의 대화 시스템.
  5. 제3 항에 있어서,
    상기 시스템 작업 모델은 상기 현재 대화 컨텍스트를 반영하여, 온톨로지로 구성된 상기 정보 모델을 재구성 및 학습하는 것을 특징으로 하는 온톨로지 기반의 대화 시스템.
  6. 제1 항에 있어서,
    상기 컨텍스트 관리부는, 상기 대화 모델 관리부와 상기 지식 베이스를 함께 참조하여, 상기 현재 대화 컨텍스트를 생성하는 것을 특징으로 하는 온톨로지 기반의 대화 시스템.
  7. 제1 항에 있어서,
    상기 컨텍스트 관리부에서 생성된 상기 현재 대화 컨텍스트를 검증하여, 상기 시스템 질의부에게 상기 현재 대화 컨텍스트를 상기 시스템 질의로 변환하게 하거나, 상기 사용자 응답 생성부에게 추가적인 정보를 요청하는 자연어 형태인 질문을 생성하게 하는 대화진행 계획부;를 더 포함하는 것을 특징으로 하는 온톨로지 기반의 대화 시스템.
  8. 제7 항에 있어서,
    상기 시스템 메시지는, 상기 시스템 응답으로부터 생성된 자연어 형태인 응답과, 상기 질문을 포함하며,
    상기 대화진행 계획부는, 상기 커뮤니케이터를 통하여, 상기 사용자에게 상기 응답과 상기 질문을 함께 제공하도록 하는 것을 특징으로 하는 온톨로지 기반의 대화 시스템.
  9. 네트워크를 통하여 자연어 형태인 사용자 메시지를 수신하고 시스템 메시지를 송신하는 커뮤니케이터;
    자연어 형태인 상기 사용자 메시지에 대한 자연어 분석 결과를 생성하는 사용자 입력 전처리부;
    상기 사용자 메시지에 대한 상기 자연어 분석 결과로부터 예비 대화 컨텍스트를 생성하는 컨텍스트 분석부;
    복수의 도메인 및 상기 복수의 도메인 사이의 연관 관계가 온톨로지로 구성된 대화 모델을 가지는 대화 모델 관리부를 참조하여, 상기 예비 대화 컨텍스트로부터 생성한 인스턴스에 비어있는 인스턴스 속성을 갱신하여 현재 대화 컨텍스트를 생성하는 컨텍스트 관리부; 및
    상기 현재 대화 컨텍스트, 및 상기 현재 대화 컨텍스트와 다른 도메인 또는 다른 대화 의도를 가지는 이전 대화 컨텍스트를 저장하는 컨텍스트 저장부;를 포함하며,
    상기 컨텍스트 관리부는, 상기 이전 대화 컨텍스트가 가지는 인스턴스 속성을 상기 예비 대화 컨텍스트의 상기 비어 있는 인스턴스 속성에 매칭하여, 상기 현재 대화 컨텍스트를 생성하는 온톨로지 기반의 대화 시스템.
  10. 제9 항에 있어서,
    상기 현재 대화 컨텍스트를 시스템 질의로 변환하여 지식 베이스에 전달하여, 시스템 응답을 수신하는 시스템 질의부; 및
    상기 시스템 응답을 자연어 생성부를 참조하여, 자연어 형태인 상기 시스템 메시지로 생성하는 사용자 응답 생성부;를 더 포함하며,
    상기 컨텍스트 관리부는, 상기 대화 모델 관리부와 상기 지식 베이스를 함께 참조하여 상기 예비 대화 컨텍스트의 상기 비어 있는 인스턴스 속성에 매칭하여, 상기 현재 대화 컨텍스트를 생성하는 것을 특징으로 하는 온톨로지 기반의 대화 시스템.
KR1020170108845A 2017-08-28 2017-08-28 온톨로지 기반의 대화 시스템 KR102016603B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170108845A KR102016603B1 (ko) 2017-08-28 2017-08-28 온톨로지 기반의 대화 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170108845A KR102016603B1 (ko) 2017-08-28 2017-08-28 온톨로지 기반의 대화 시스템

Publications (2)

Publication Number Publication Date
KR20190023317A KR20190023317A (ko) 2019-03-08
KR102016603B1 true KR102016603B1 (ko) 2019-08-30

Family

ID=65800708

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170108845A KR102016603B1 (ko) 2017-08-28 2017-08-28 온톨로지 기반의 대화 시스템

Country Status (1)

Country Link
KR (1) KR102016603B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245222B (zh) * 2019-06-17 2021-08-10 北京百度网讯科技有限公司 对话模型训练方法及装置、对话生成方法及装置
KR102416371B1 (ko) * 2019-12-31 2022-07-01 주식회사 하나금융티아이 전문 도메인 온톨로지를 이용하여 지식 기반 질의 응답 서비스를 제공하기 위한 응답 규격화 방법 및 그 장치
KR102262035B1 (ko) * 2020-12-03 2021-06-09 주식회사 인조이웍스 비대면 행정민원서비스에 최적화된 음성인식 인공지능 챗봇 서비스 제공 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103986780A (zh) 2014-05-29 2014-08-13 中科创达软件股份有限公司 一种基于移动终端的信息推送方法和移动终端

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103986780A (zh) 2014-05-29 2014-08-13 中科创达软件股份有限公司 一种基于移动终端的信息推送方法和移动终端

Also Published As

Publication number Publication date
KR20190023317A (ko) 2019-03-08

Similar Documents

Publication Publication Date Title
US11657215B2 (en) Robust expandable dialogue system
EP3654211A1 (en) Automated response server device, terminal device, response system, response method, and program
CN109033223A (zh) 用于跨类型对话的方法、装置、设备以及计算机可读存储介质
US20170068551A1 (en) Intelli-voyage travel
Chiu et al. Towards ubiquitous tourist service coordination and process integration: A collaborative travel agent system architecture with semantic web services
KR102016603B1 (ko) 온톨로지 기반의 대화 시스템
CN110321413A (zh) 会话框架
KR102016602B1 (ko) 대화 모델 기반의 질의응답 시스템
US11676233B2 (en) Method of generating a set of itineraries by limited querying of databases
Jakkilinki et al. Connecting destinations with an ontology-based e-tourism planner
Garrido et al. Smart tourist information points by combining agents, semantics and AI techniques
CN107679221A (zh) 面向减灾任务的时空数据获取与服务组合方案生成方法
US10235359B2 (en) Ontology and annotation driven grammar inference
CN110692042B (zh) 在基于音频的计算环境中执行请求的动作的平台选择
Codescu et al. DO-ROAM: Activity-oriented search and navigation with OpenStreetMap
Fensel et al. Why we need knowledge graphs: Applications
CN116737910B (zh) 智能对话处理方法、装置、设备及存储介质
Xu et al. Solving a Large‐Scale Multi‐Depot Vehicle Scheduling Problem in Urban Bus Systems
US8595227B2 (en) Semantic activity awareness
Ulitin et al. Combination of DSL and DCSP for decision support in dynamic contexts
Manikonda et al. Herding the crowd: Using automated planning for better crowdsourced planning
KR20200109156A (ko) O2o 기반 택시, 관광객 및 관광지를 연결하는 다국어 지원 서비스를 이용한 통합 관광 서비스 제공 방법
Willmott et al. CCL: Expressions of choice in agent communication
Punjabi et al. Chat bot using API: Human to machine conversation
Khairkar et al. Travelling Chatbot Using Android Application

Legal Events

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