KR20210033348A - 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템 - Google Patents

지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템 Download PDF

Info

Publication number
KR20210033348A
KR20210033348A KR1020190114970A KR20190114970A KR20210033348A KR 20210033348 A KR20210033348 A KR 20210033348A KR 1020190114970 A KR1020190114970 A KR 1020190114970A KR 20190114970 A KR20190114970 A KR 20190114970A KR 20210033348 A KR20210033348 A KR 20210033348A
Authority
KR
South Korea
Prior art keywords
query
knowledge graph
entity
user
natural language
Prior art date
Application number
KR1020190114970A
Other languages
English (en)
Other versions
KR102252459B1 (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 KR1020190114970A priority Critical patent/KR102252459B1/ko
Priority to PCT/KR2019/013713 priority patent/WO2021054514A1/ko
Publication of KR20210033348A publication Critical patent/KR20210033348A/ko
Application granted granted Critical
Publication of KR102252459B1 publication Critical patent/KR102252459B1/ko
Priority to US17/697,614 priority patent/US11960513B2/en

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/335Filtering based on additional data, e.g. user or group profiles
    • 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
    • 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • 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/35Clustering; Classification
    • 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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

정확한 질의 응답을 할 수 있는 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템을 제공한다. 본 발명에 따른 질의 응답 시스템은, 네트워크를 통하여 사용자로부터 자연어 형태인 질의 또는 회신을 수신하고 사용자에게 응답 또는 역질의를 송신하는 유저 인터페이스, 질의에 대한 자연어 분석 및 질의 분류를 수행하는 자연어 이해부, 다차 관계 트리플로 이루어지는 지식 그래프를 저장하거나 관리하는 통합 지식 그래프, 질의에 대한 자연어 분석 결과를 이용하여 통합 지식 그래프에서 추출된 1차 관계 트리플들로 이루어지는 엔티티 지식 그래프들을 가지는 컨텍스트 지식 그래프를 생성하고 질의에 대한 질의 분류 결과를 이용하여 컨텍스트 지식 그래프가 가지는 엔티티 지식 그래프들 중 적어도 하나의 엔티티 지식 그래프를 선택하는 지식 그래프 관리부, 및 선택된 적어도 하나의 엔티티 지식 그래프로부터 질의에 대한 응답 또는 역질의를 생성하는 질의 대상 랭킹부를 포함한다.

Description

지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템{Customized Question-Answering system based on knowledge graph}
본 발명은 질의 응답 시스템에 관한 것으로, 자세하게는 지식 그래프를 기반으로 사용자 맞춤형으로 질의 응답(QA, Question-Answering)을 수행할 수 있는 질의 응답 시스템에 관한 것이다.
본 발명은 과학기술정보통신부 국가연구개발사업의 일환으로 서울대학교 산학협력단에서 주관하고, (주)솔트룩스에서 수행된 연구로부터 도출된 것이다. [연구기간: 2018.08.01.~2020.12.31., 연구관리 전문기관: 한국연구재단, 연구과제명: 성범죄 피해자 진술 지원 인공지능 시스템 연구, 과제 고유번호: 2018M3E2A1081615]
질의 응답 시스템은 사용자의 자연어 질의를 분석하고, 그 분석 결과를 기반으로 정답 타입을 분석하고, 질의 내의 핵심 키워드들 기반의 문서 검색과 지식베이스를 이용하여 수많은 정답후보들을 생성한다. 이러한 기존의 질의응답 시스템은 생성된 정답후보들을 대상으로 질의에서 요구하는 정답 타입과 제약 정보, 질의의 문맥과 가장 유사한 정답후보들을 순위화함으로써 가장 높은 순위를 가지는 것을 정답으로 추론하여 응답을 수행한다.
그러나 질의 내의 키워드나 정보가 부족한 경우, 그리고 소수의 정답 추론에 위배되는 정답 후보를 정답으로 추론하는 경우가 빈번하게 발생하여, 정답에 대한 신뢰성을 보장할 수 없다.
본 발명의 기술적 과제는, 정확한 질의 응답을 할 수 있는 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 기술적 사상의 일측면에 따른 질의 응답 시스템은, 네트워크를 통하여 사용자로부터 자연어 형태인 질의 또는 회신을 수신하고 상기 사용자에게 응답 또는 역질의를 송신하는 유저 인터페이스; 상기 질의에 대한 자연어 분석 및 질의 분류를 수행하는 자연어 이해부; 다차 관계 트리플로 이루어지는 지식 그래프를 저장하거나 관리하는 통합 지식 그래프; 상기 질의에 대한 자연어 분석 결과를 이용하여 상기 통합 지식 그래프에서 추출된 1차 관계 트리플들로 이루어지는 엔티티 지식 그래프들을 가지는 컨텍스트 지식 그래프를 생성하고, 상기 질의에 대한 질의 분류 결과를 이용하여 상기 컨텍스트 지식 그래프가 가지는 엔티티 지식 그래프들 중 적어도 하나의 엔티티 지식 그래프를 선택하는 지식 그래프 관리부; 및 선택된 상기 적어도 하나의 엔티티 지식 그래프로부터 상기 질의에 대한 상기 응답 또는 상기 역질의를 생성하는 질의 대상 랭킹부;를 포함한다.
상기 자연어 이해부는, 상기 질의에 대한 자연어 분석 결과를 제공하는 자연어 분석부; 및 상기 질의에 대한 자연어 분석 결과를 참조하여 상기 질의에서 얻고자 하는 프로퍼티(property)를 구하여 상기 질의를 분류하는 질의 분류부;를 포함할 수 있다.
상기 지식 그래프 관리부는, 상기 질의에 대한 자연어 분석 결과에서 얻어진 상기 질의가 가지는 개체(entity)들 각각을 주어(subject)로 한 1차 관계 트리플로 이루어지는 상기 엔티티 지식 그래프들을 추출하여, 상기 엔티티 지식 그래프들로 이루어지는 컨텍스트 지식 그래프를 생성하는 컨텍스트 지식 그래프 생성부; 및 상기 질의에 대한 질의 분류 결과인 상기 질의에서 얻고자 하는 프로퍼티(property)를 사용하여, 상기 컨텍스트 지식 그래프가 가지는 엔티티 지식 그래프들 중 적어도 하나의 엔티티 지식 그래프를 선택하는 지식 그래프 질의부;를 포함할 수 있다.
상기 선택된 상기 적어도 하나의 엔티티 지식 그래프 중 상기 사용자에게 송신하는 상기 응답을 생성하는데 사용된 엔티티 지식 그래프인 사용자 엔티티 지식 그래프를 저장하는 사용자 지식 그래프를 더 포함할 수 있다.
상기 질의 대상 랭킹부는, 상기 지식 그래프 관리부에서 선택된 엔티티 지식 그래프가 1개인 경우, 선택된 1개의 상기 엔티티 지식 그래프로부터 상기 응답을 생성할 수 있다.
상기 질의 대상 랭킹부는, 상기 지식 그래프 관리부에서 선택된 엔티티 지식 그래프가 2개 이상인 경우, 선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프의 유무를 판단할 수 있다.
상기 질의 대상 랭킹부는, 선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프가 모두 없는 경우, 상기 2개 이상의 엔티티 지식 그래프를 랭킹 대상 엔티티 지식 그래프들로 선택하여 상기 질의에 대한 상기 응답 또는 상기 역질의를 생성하고, 선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프 중 적어도 2개가 있는 경우, 적어도 2개의 상기 사용자 엔티티 지식 그래프를 상기 랭킹 대상 엔티티 지식 그래프들로 선택하여 상기 질의에 대한 상기 응답 또는 상기 역질의를 생성하고, 선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프 중 1개만 있는 경우, 1개의 상기 사용자 엔티티 지식 그래프로부터 상기 응답을 생성할 수 있다.
상기 질의 대상 랭킹부는, 선택된 상기 랭킹 대상 엔티티 지식 그래프들을 비교하여, 하나의 엔티티 지식 그래프에만 있는 단독 트리플 유무를 판단하고, 상기 단독 트리플을 가지는 엔티티 지식 그래프가 1개의 상기 단독 트리플을 가지는 경우, 1개의 상기 단독 트리플로부터 상기 역질의를 생성하고, 상기 단독 트리플을 가지는 엔티티 지식 그래프가 2개 이상의 상기 단독 트리플을 가지는 경우, 상기 통합 지식 그래프에 존재하는 빈도가 높거나 트리플 관계를 가지는 목적어(object)가 많은 단독 트리플로부터 상기 역질의를 생성하고, 상기 단독 트리플을 가지는 엔티티 지식 그래프가 없는 경우, 선택된 상기 랭킹 대상 엔티티 지식 그래프들이 함께 가지는 중복 트리플 중 상기 통합 지식 그래프에 존재하는 빈도가 높거나 트리플 관계를 가지는 목적어(object)가 많은 중복 트리플로부터 상기 역질의를 생성할 수 있다.
상기 질의 대상 랭킹부는, 선택된 상기 랭킹 대상 엔티티 지식 그래프들이 함께 가지는 중복 트리플 중, 상기 자연어 이해부에서 수행된 질의 분류 결과인 상기 질의에서 얻고자 하는 프로퍼티(property)에 대하여 동일한 정답인 목적어(object)를 가지는 중복 트리플이 있는 경우, 상기 동일한 정답인 목적어(object)를 상기 응답으로 생성할 수 있다.
상기 엔티티 지식 그래프들 각각은, 상기 질의에 대한 자연어 분석 결과에서 얻어진 상기 질의가 가지는 개체(entity)들을 주어(subject)로 사용하여, 목적어(object)인 다른 개체와의 관계까지만인 1차 관계를 주어(subject)-프로퍼티(property)-목적어(object) 구조의 트리플로 나타낼 수 있다.
본 발명에 따른 질의 응답 시스템은, 사용자의 최초 질의를 통해 응답, 즉 높은 신뢰성을 가지는 정답을 도출해내지 못했을 경우, 사용자에게 해당 질의의 응답을 제공하기 전에, 컨텍스트 지식 그래프를 이용하여 역질의를 생성해내 사용자에게 질문함으로써 사용자에게 제공하는 응답, 즉 질의에 대한 정답의 신뢰성을 높일 수 있다.
도 1은 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 주요 구성을 나타내는 블록도이다.
도 2는 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 자연어 이해부의 주요 구성을 나타내는 블록도이다.
도 3은 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 지식 그래프 관리부의 주요 구성을 나타내는 블록도이다.
도 4는 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템에서 생성되는 컨텍스트 지식 그래프의 예시적인 개략도이다.
도 5는 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템에서 지식 그래프를 기반으로 질의 응답을 수행하는 과정을 나타내는 순서도이다.
도 6은 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 질의 대상 랭킹부의 동작을 설명하기 위한 순서도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하 도면 및 설명에서, 하나의 블록으로 표시 또는 설명되는 구성요소는 하드웨어 블록 또는 소프트웨어 블록일 수 있다. 예를 들면, 구성요소들 각각은 서로 신호를 주고 받는 독립적인 하드웨어 블록일 수도 있고, 또는 하나의 프로세서에서 실행되는 소프트웨어 블록일 수도 있다.
본 발명의 구성 및 효과를 충분히 이해하기 위하여, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예들을 설명한다.
도 1은 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 주요 구성을 나타내는 블록도이다.
도 1을 참조하면, 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템(1, 이하, 질의 응답 시스템)은 네트워크(20)를 통하여 사용자(10)로부터 자연어 형태의 질의를 수신하고, 응답을 송신하는 유저 인터페이스(UI, 100)를 포함한다.
네트워크(20)는 유선 인터넷 서비스, 근거리 통신망(LAN), 광대역 통신망(WAN), 인트라넷, 무선 인터넷 서비스, 이동 컴퓨팅 서비스, 무선 데이터 통신 서비스, 무선 인터넷 접속 서비스, 위성 통신 서비스, 무선 랜, 블루투스 등 유/무선을 통하여 데이터를 주고 받을 수 있는 것을 모두 포함할 수 있다. 네트워크(20)이 스마트폰 또는 태블릿 등과 연결되는 경우, 네트워크(20)은 3G, 4G, 5G 등의 무선 데이터 통신 서비스, 와이파이(Wi-Fi) 등의 무선 랜, 블루투스 등일 수 있다.
유저 인터페이스(100)는 사용자(10)가 사용하는 단말기 등을 통하여 질의 응답 시스템(1)에 엑세스하기 위한 인터페이스를 제공할 수 있다. 사용자(10)는 유저 인터페이스(100)를 통하여 질의 응답 시스템(1)에 질의 및 역질의에 대한 회신을 전송할 수 있고, 유저 인터페이스(100)를 통하여 질의 응답 시스템(1)의 제공하는 질의에 대한 역질의 및 응답을 수신할 수 있다.
본 명세서에서는 특별한 언급이 없는 한, '질의'는 사용자(10)가 질의 응답 시스템(1)로부터 정답을 얻기 위하여, 사용자(10)가 질의 응답 시스템(1)에 전송하는 질문을 의미하고, '역질의'는 질의 응답 시스템(1)이 사용자(10)의 '질의'를 정확히 파악하기 위하여 사용자(10)에게 전송하는 질문을 의미한다.
또한, 본 명세서에서는 특별한 언급이 없는 한 '응답'은 사용자(10)의 질의에 대하여 질의 응답 시스템(1)가 정답으로 추론한 것을, 질의 응답 시스템(1)이 사용자(10)에게 전송하는 답변을 의미하고, '회신', 즉 역질의에 대한 회신은 사용자(10)가 질의 응답 시스템(1)로부터 전송받은 역질의에 대하여 질의 응답 시스템(1)에 전송하는 답변을 의미한다.
질의 응답 시스템(1)은 유저 인터페이스(100)가 전달받은 자연어 형태의 질의를 분석할 수 있도록 하는 자연어 이해부(200), 및 자연어 이해부(200)에서 분석된 질의를 관리하고 데이터 서버(400)를 이용하여 질의에 대한 응답 또는 역질의를 생성하는 모듈 서버(300)를 더 포함한다.
자연어 이해부(200)는 자연어 분석부(210) 및 질의 분류부(220)를 포함할 수 있다.
자연어 분석부(210)는 사용자(10)의 질의에 대한 자연어 분석 결과를 테이블(table) 구조 또는 트리(tree) 구조를 가지는 정형 데이터로 제공하도록 할 수 있다. 자연어 분석부(210)에 의하여 제공될 수 있는 정형 데이터는 예를 들면, RDB(Relation DateBase), CSV(Comma-Seperated Variables), XML(eXtensible Markup Language), JSON(JavaScript Object Notation) 등일 수 있으나, 이에 한정되지 않는다.
자연어 분석부(210)는 사용자(10)의 자연어 형태의 질의를 구성하는 문장을 형태소 단위로 분리한 후, 형태소 단위로 분리된 질의를 구성하는 문장에 구문 분석 및 개체명 분석을 할 수 있다. 또한, 자연어 분석부(210)는 질의를 구성하는 문장 중 불필요한 피쳐(feature)를 제거하여 간결화된 문장을 생성할 수 있고, 생성한 간결화된 문장을 기초로 의미 역할이 부여된 질의의 의도(intention) 분류 및 도메인 분석을 할 수 있고, 질의를 구성하는 문장에 대한 의미 역할(Semantic Role)을 부여(Labeling)할 수 있다. 자연어 분석부(210)에 대해서는 도 2에서 자세히 설명한다.
질의 분류부(220)는 자연어 분석부(210)에서 수행된 사용자(10)의 자연어 형태의 질의에 대한 자연어 분석 결과를 참조하여, 사용자(10)의 질의를 분류한다. 예를 들면, 질의 분류부(220)는 사용자(10)의 질의를 분류하여, 사용자(10)의 질의에서 얻고자 하는 프로퍼티(property)를 얻을 수 있다. 프로퍼티(property)는 술어(predicate)라고도 호칭된다.
질의 분류부(220)는 예를 들어, '이순신의 나이는?'이라는 질의가 인물의 나이 프로퍼티(age property)를 얻고자 하는 것이라고 분류할 수 있고, '백두산의 높이는?'이라는 질의가 객체의 높이 프로퍼티(height property)를 얻고자 하는 것이라고 분류할 수 있다. 즉, 질의 분류부(220)는 주어(subject)-프로퍼티(property)-목적어(object)의 형태로 구성되는 지식 그래프의 트리플(triple)에서, 어떤 프로퍼티(property)를 검색해야하는지를 분류할 수 있다.
모듈 서버(300)는 지식 그래프 관리부(310), 질의 대상 랭킹부(320), 및 자연어 생성부(330)를 포함할 수 있다. 데이터 서버(400)는 통합 지식 그래프(410), 및 사용자 지식 그래프(430)를 포함할 수 있다. 데이터 서버(400)는, 통합 지식 그래프(410)를 참조하여 지식 그래프 관리부(310)가 생성한 컨텍스트 지식 그래프(420)를 저장할 수 있다.
지식 그래프 관리부(310)는 통합 지식 그래프(410)를 관리하고, 업데이트할 수 있다. 일부 실시 예에서, 통합 지식 그래프(410)는 질의 응답 시스템(1) 내부에 구축된 지식 그래프를 저장하는 공간을 가질 수 있다. 통합 지식 그래프(410)는 예를 들면, NoSQL, 관계형 데이터베이스, 파일시스템 등 어떠한 형태로든 데이터를 저장할 수 있는 공간을 가질 수 있다. 통합 지식 그래프(410)는 논리적으로 구분되는 하나의 저장 장치를 가지거나, 하나 또는 복수의 저장 장치를 논리적으로 구분하는 구분 단위를 가지거나, 물리적으로 구분되는 하나의 저장 장치 또는 논리적으로 구분되는 하나의 구분 단위 중 일부를 가질 수 있다.
다른 일부 실시 예에서, 통합 지식 그래프(410)는 질의 응답 시스템(1) 외부에 구축된 적어도 하나의 지식 그래프와 네트워크(20)를 통하여 연결되어, 외부에 구축된 적어도 하나의 지식 그래프를 관리하는 관리 모듈일 수 있다. 또 다른 일부 실시 예에서, 통합 지식 그래프(410)는 질의 응답 시스템(1) 내부에 구축된 지식 그래프를 저장하는 공간 및 질의 응답 시스템(1) 외부에 구축된 적어도 하나의 지식 그래프를 통합하여 관리하는 관리 모듈을 가질 수 있다.
지식 그래프는 다양한 소스로부터 시맨틱 정보를 축적하여, 검색 결과를 향상시킬 수 있도록, 개체들 사이의 의미적 그래프를 나타내는 그래프인 시맨틱 그래프를 의미한다. 시맨틱 정보란 자원과 자원 사이의 관계를 어떠한 정보로 표현한 것을 의미한다. 즉 지식 그래프는, 시맨틱 정보들을 모아 그래프 형태로서 데이터를 저장한 것을 의미한다.
지식 그래프는 예를 들면, RDF(Resource Description Framework)를 사용하여 구축될 수 있다. RDF는 URI(Uniform Resource Identifie)를 갖는 모든 리소스(웹 페이지, 이미지, 동영상 등)들의 속성, 특성, 관계 등을 기술(설명)하기 위한 모델, 언어, 문법으로, 그래프 방식의 데이터 모델이다. RDF는 주어와 목적어의 두 자원간의 관계를 표현한 것으로, 프로퍼티(property) 또는 술어(predicate)는 이 관계의 특성, 특징을 설명한다. 주어(subject)-프로퍼티(property)-목적어(object) 구조의 문장을 트리플(triple)이라고 부르며, 관계는 방향성을 가질 수 있다.
지식 그래프는 예를 들면, 하나의 개체를 주어(subject)로, 다른 개체를 목적어(object)로 사용하여 하나의 개체와 다른 개체의 관계를 주어(subject)-프로퍼티(property)-목적어(object) 구조의 트리플로 나타내고, 다른 개체를 주어(subject), 또 다른 개체를 목적어(object)로 사용하여 다른 개체와 또 다른 개체의 관계를 주어(subject)-프로퍼티(property)-목적어(object) 구조의 트리플로 나타내는 것이 반복되는 다차 관계 트리플로 이루어질 수 있다.
지식 그래프 관리부(310)는 자연어 이해부(200)에서 분석되어 추출된 사용자(10)의 질의가 가지는 개체(entity)들을 이용하여, 통합 지식 그래프(410)로부터 컨텍스트 지식 그래프(420)를 생성할 수 있다. 컨텍스트 지식 그래프(420)는 통합 지식 그래프(410)에서, 추출된 사용자(10)의 질의가 가지는 개체들을 기준으로 1차 관계 트리플만을 잘라내서 생성할 수 있다. 즉 컨텍스트 지식 그래프(420)는, 추출된 사용자(10)의 질의가 가지는 개체들 각각을 주어(subject)로 사용하여, 목적어(object)인 다른 개체와의 관계까지만을 주어(subject)-프로퍼티(property)-목적어(object) 구조의 트리플로 나타내는 1차 관계 트리플들로 이루어질 수 있다.
본 명세서에서는, 설명의 편의를 위하여 1개의 개체를 기준으로 생성된 1차 관계 트리플은 엔티티 지식 그래프라고 호칭하고, 사용자(10)의 질의가 가지는 개체들 각각으로부터 생성된 엔티티 지식 그래프들 전체, 또는 엔티티 지식 그래프들이 저장된 공간을 컨텍스트 지식 그래프(420)라고 호칭한다. 즉, 사용자(10)의 하나의 질의에 대한 컨텍스트 지식 그래프(420)는, 사용자(10)의 하나의 질의로부터 추출된 개체들 각각으로부터 생성된 엔티티 지식 그래프들로 이루어질 수 있다.
사용자 지식 그래프(430)는, 컨텍스트 지식 그래프(420) 중에서, 사용자(10)의 질의에 대한 응답에 사용된 엔티티 지식 그래프가 저장될 수 있다. 사용자 지식 그래프(430)는 사용자(10)의 질의가 반복됨에 따라서, 응답에 사용된 복수개의 엔티티 지식 그래프가 저장될 수 있다. 사용자 지식 그래프(430)에 저장된 엔티티 지식 그래프는 사용자 엔티티 지식 그래프라 호칭할 수 있다.
이와는 별도로, 지식 그래프 관리부(310)는 사용자(10)의 질의에 대하여 질의 분류부(220)에서 분류된 결과, 즉 사용자(10)의 질의에서 얻고자 하는 프로퍼티(property)를 사용하여 사용자(10)의 질의에 대한 쿼리(query)를 생성할 수 있다. '쿼리(query)'는 질의어로 정보 수집에 대한 요청에 쓰이는 컴퓨터 언어를 의미한다.
컨텍스트 지식 그래프(420)는 지식 그래프 관리부(310)에서 생성한 사용자(10)의 질의에 대한 쿼리(query)를 전달받아, 컨텍스트 지식 그래프(420)가 가지는 복수개의 엔티티 지식 그래프와 사용자 지식 그래프(430)가 가지는 복수개의 사용자 엔티티 지식 그래프 중 사용자(10)의 질의에 대한 쿼리(query)에 대응되는 적어도 하나의 엔티티 지식 그래프를 지식 그래프 관리부(310)로 전달할 수 있다.
질의 대상 랭킹부(320)는 사용자(10)의 질의에 대한 쿼리(query)에 대응되는 적어도 하나의 엔티티 지식 그래프를 이용하여 사용자(10)의 질의에 대한 응답 또는 역질의를 생성할 수 있다.
자연어 생성부(330)는 질의 대상 랭킹부(320)에서 생성한 사용자(10)의 질의에 대한 응답 또는 역질의를 자연어 형태로 생성할 수 있다. 일부 실시 예에서, 자연어 생성부(330)는 사용자(10)의 질의에 대한 응답 또는 역질의를 다양한 표현을 가지는 다수의 자연어 형태의 후보들로 생성할 수 있다.
일부 실시 예에서, 질의 응답 시스템(1)은 답변 랭킹부(500)를 더 포함할 수 있다. 답변 랭킹부(500)는 자연어 생성부(330)에서 사용자(10)의 질의에 대한 응답 또는 역질의에 대한 다수의 자연어 형태의 후보들에 대한 랭킹을 정한 후, 랭킹이 높은 후보를 선정하여 사용자(10)에게 유저 인터페이스(100)를 통하여 응답 또는 역질의로 제공할 수 있다.
사용자(10)는 역질의에 대한 회신을 유저 인터페이스(100)를 통하여 질의 응답 시스템(1)에 전송할 수 있으며, 질의 응답 시스템(1)은 사용자(10)의 질의 및 역질의에 대한 회신을 종합하여, 전술한 과정을 반복하여 사용자(10)에게 응답을 제공하거나, 다시 역질의를 제공할 수 있다.
사용자(10)에게 제공된 응답을 생성하는데 사용된 엔티티 지식 그래프는 사용자 지식 그래프(430)에 저장될 수 있다.
본 발명에 따른 질의 응답 시스템(1)은 사용자(10)의 최초 질의를 통해 응답, 즉 높은 신뢰성을 가지는 정답을 도출해내지 못했을 경우, 사용자(10)에게 해당 질의의 응답을 제공하기 전에, 역질의를 생성해내 사용자(10)에게 질문함으로써 사용자(10)에게 제공하는 응답, 즉 질의에 대한 정답의 신뢰성을 높일 수 있다.
도 2는 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 자연어 이해부의 주요 구성을 나타내는 블록도이다.
도 2를 참조하면, 자연어 이해부(200)는 유저 인터페이스(100)가 수신한 자연어 형태의 질의를 해석하는 자연어 이해부(210)를 포함할 수 있다. 자연어 이해부(210)는 형태소 분석부(211), 구문 분석부(212), 개체명 분석부(213), 필터링 분석부(214), 의도 분류부(215), 도메인 분석부(216) 및 시맨틱 롤 라벨링부(SRL, 217)를 포함할 수 있다.
형태소 분석부(211)는 질의를 구성하는 문장을 형태소 단위로 분리할 수 있다. 구문 분석부(212) 및 개체명 분석부(213)는 각각 형태소 단위로 분리된 질의를 구성하는 문장에 구문 분석 및 개체명 분석을 할 수 있다. 필터링 분석부(214)는 질의를 구성하는 문장 중 불필요한 피쳐를 제거하여 간결화된 문장을 생성할 수 있다. 의도 분류부(215) 및 도메인 분석부(216)는 필터링 분석부(214)에서 생성한 간결화된 문장을 기초로 의미 역할이 부여된 질의의 의도 분류 및 도메인 분석을 할 수 있다. 시맨틱 롤 라벨링부(SRL, 217)은 질의를 구성하는 문장에 대한 의미 역할을 부여할 수 있다.
도 3은 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 지식 그래프 관리부의 주요 구성을 나타내는 블록도이다.
도 3을 참조하면, 자연어 이해부(200)는 자연어 분석부(210) 및 질의 분류부(220)를 포함할 수 있다. 모듈 서버(300)는 지식 그래프 관리부(310), 질의 대상 랭킹부(320), 및 자연어 생성부(330)를 포함할 수 있다. 데이터 서버(400)는 통합 지식 그래프(410), 컨텍스트 지식 그래프(420) 및 사용자 지식 그래프(430)를 포함할 수 있다.
지식 그래프 관리부(310)는 통합 지식 그래프 관리부(312), 컨텍스트 지식 그래프 생성부(314) 및 지식 그래프 질의부(316)를 포함할 수 있다.
통합 지식 그래프 관리부(312)는, 통합 지식 그래프(410)를 관리하고, 업데이트할 수 있다. 일부 실시 예에서, 통합 지식 그래프(410)는 질의 응답 시스템(도 1의 1) 내부에 구축된 지식 그래프를 저장하는 공간을 가질 수 있다. 통합 지식 그래프(410)는 예를 들면, NoSQL, 관계형 데이터베이스, 파일시스템 등 어떠한 형태로든 데이터를 저장할 수 있는 공간을 가질 수 있다. 일 수 있다. 통합 지식 그래프(410)는 논리적으로 구분되는 하나의 저장 장치를 가지거나, 하나 또는 복수의 저장 장치를 논리적으로 구분하는 구분 단위를 가지거나, 물리적으로 구분되는 하나의 저장 장치 또는 논리적으로 구분되는 하나의 구분 단위 중 일부를 가질 수 있다.
다른 일부 실시 예에서, 통합 지식 그래프(410)는 질의 응답 시스템(도 1의 1) 외부에 구축된 적어도 하나의 지식 그래프와 네트워크(도 1의 20)를 통하여 연결되어, 외부에 구축된 적어도 하나의 지식 그래프를 관리하는 관리 모듈일 수 있다. 또 다른 일부 실시 예에서, 통합 지식 그래프(410)는 질의 응답 시스템(도 1의 1) 내부에 구축된 지식 그래프를 저장하는 공간 및 질의 응답 시스템(도 1의 1) 외부에 구축된 적어도 하나의 지식 그래프를 통합하여 관리하는 관리 모듈을 가질 수 있다.
컨텍스트 지식 그래프 생성부(314)는 자연어 분석부(210)에서 분석되어 추출된 사용자(도 1의 10)의 질의가 가지는 개체(entity)들을 이용하여, 통합 지식 그래프(410)로부터 컨텍스트 지식 그래프(420)를 생성할 수 있다. 컨텍스트 지식 그래프(420)는 통합 지식 그래프(410)에서, 추출된 사용자(10)의 질의가 가지는 개체들을 기준으로 1차 관계 트리플만을 잘라내서 생성할 수 있다. 즉 컨텍스트 지식 그래프(420)는, 추출된 사용자(10)의 질의가 가지는 개체들 각각을 주어(subject)로 사용하여, 목적어(object)인 다른 개체와의 관계까지만을 주어(subject)-프로퍼티(property)-목적어(object) 구조의 트리플로 나타내는 1차 관계 트리플인 엔티티 지식 그래프들로 이루어질 수 있다.
지식 그래프 질의부(316)는 사용자(10)의 질의에 대하여 질의 분류부(220)에서 분류된 결과, 즉 사용자(10)의 질의에서 얻고자 하는 프로퍼티(property)를 사용하여 사용자(10)의 질의에 대한 쿼리(query)를 생성할 수 있다.
컨텍스트 지식 그래프(420)는 지식 그래프 질의부(316)에서 생성한 사용자(10)의 질의에 대한 쿼리(query)를 전달받아, 컨텍스트 지식 그래프(420)가 가지는 복수개의 엔티티 지식 그래프 중 사용자(10)의 질의에 대한 쿼리(query)에 대응되는 적어도 하나의 엔티티 지식 그래프를 지식 그래프 관리부(310)로 전달할 수 있다.
질의 대상 랭킹부(320)는 사용자(10)의 질의에 대한 쿼리(query)에 대응되는 적어도 하나의 엔티티 지식 그래프를 이용하여 사용자(10)의 질의에 대한 응답 또는 역질의를 생성할 수 있다.
자연어 생성부(330)는 질의 대상 랭킹부(320)에서 생성한 사용자(10)의 질의에 대한 응답 또는 역질의를 자연어 형태로 생성할 수 있다.
도 4는 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템에서 생성되는 컨텍스트 지식 그래프의 예시적인 개략도이다. 구체적으로 도 4는 사용자(도 1의 10)의 질의가 '이순신의 출생지는?'인 경우에 생성되는 컨텍스트 지식 그래프의 일부를 예시적으로 보인다.
도 3 및 도 4를 함께 참조하면, 사용자(도 1의 10)의 질의가 '이순신의 출생지는?'인 경우, 자연어 분석부(210)에서는 개체(entity)로 '이순신', '출생지'를 추출하여 컨텍스트 지식 그래프 생성부(314)에 전달할 수 있다. 컨텍스트 지식 그래프 생성부(314)는 통합 지식 그래프(410)에서 '이순신' 및 '출생지' 각각을 주어(subject)로 1차 관계, 즉 프로퍼티(property)를 가지는 적어도 하나의 다른 개체를 목적어(object)로 사용하여 1차 관계 트리플인 복수의 엔티티 지식 그래프(EKG1, EKG2)를 추출하여 컨텍스트 지식 그래프(CKG)를 생성할 수 있다. 도 4에는 컨텍스트 지식 그래프(CKG)가 '이순신'을 주어(subject)로 한 1차 관계 트리플만을 도시하였으나, 컨텍스트 지식 그래프(CKG)는 '출생지'를 주어(subject)로 한 1차 관계 트리플을 더 포함할 수 있다. 컨텍스트 지식 그래프(CKG)는 도 1에 보인 컨텍스트 지식 그래프(420)에 대응될 수 있다.
'이순신'이 충무공 이순신 외에 무의공 이순신도 있는 경우, 컨텍스트 지식 그래프(CKG)는 충무공 이순신(E1)을 주어(subject)로 한 1차 관계 트리플인 제1 엔티티 지식 그래프(EKG1) 및 무의공 이순신(E2)을 주어(subject)로 한 1차 관계 트리플인 제2 엔티티 지식 그래프(EKG2)를 포함할 수 있다.
제1 엔티티 지식 그래프(EKG1)는 주어(subject)를 충무공 이순신(E1)으로 하고, 국적(Nationality), 출생지(Bornin), 직업(Job), 개발품(create), 부인(Spouse) 등의 프로퍼티(property)에 대하여, 각각 1차 트리플 관계(T11, T12, T13, T14, T15)를 가지는 목적어(object)를 가질 수 있다. 제2 엔티티 지식 그래프(EKG2)는 주어(subject)를 무의공 이순신(E2)으로 하고, 국적(Nationality), 출생지(Bornin), 직업(Job) 등의 프로퍼티(property)에 대하여, 각각 1차 트리플 관계(T21, T22, T23)를 가지는 목적어(object)를 가질 수 있다.
도 5는 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템에서 지식 그래프를 기반으로 질의 응답을 수행하는 과정을 나타내는 순서도이다.
도 3 내지 도 5를 함께 참조하면, 질의 분류부(220)에서는 사용자(도 1의 10)의 질의에서 얻고자 하는 프로퍼티(property)인 '출생지'를 분류하여 지식 그래프 질의부(316)에 전달하고, 지식 그래프 질의부(316)는 분류된 결과인 '출생지(Bornin)'을 사용하여 사용자(10)의 질의에 대한 쿼리(query)를 생성하여 컨텍스트 지식 그래프(CKG)에 질의하여(S10) 주어(subject) '이순신'에 대하여 '출생지(Bornin)'를 프로퍼티(property)로 가지는 엔티티 지식 그래프, 즉 제1 엔티티 지식 그래프(EKG1) 및 제2 엔티티 지식 그래프(EKG2)을 선택하여 전달받을 수 있다(S110). 여기에서, 컨텍스트 지식 그래프(CKG)에 질의한다(S10)는 것은, 질의어로 정보 수집에 대한 요청에 쓰이는 컴퓨터 언어인 쿼리(query)를 컨텍스트 지식 그래프(CKG)에 전달한다는 것을 의미한다.
만일, 컨텍스트 지식 그래프(CKG)가 주어(subject) '이순신'에 대하여 '출생지(Bornin)'를 프로퍼티(property)로 가지는 엔티티 지식 그래프가 1개, 예를 들면 제1 엔티티 지식 그래프(EKG1)만을 가지는 경우, 충무공 이순신(E1)의 출생지(Bornin)인 한성 건천동(T12)을 정답으로 추론하여 사용자(10)에게 응답으로 제공할 수 있다(S20).
질의 대상 랭킹부(320)는 사용자 지식 그래프(430)가 가지는 사용자(10)의 이전 질의에 대한 응답에 사용된 엔티티 지식 그래프인 사용자 엔티티 지식 그래프 중, 제1 엔티티 지식 그래프(EKG1)와 제2 엔티티 지식 그래프(EKG2)의 유무를 판단한다(S120). 만일 사용자 지식 그래프(430)에 제1 엔티티 지식 그래프(EKG1)만이 존재하는 경우, 사용자 지식 그래프(430)에서 제1 엔티티 지식 그래프(EKG1)을 선택하여(S150) 충무공 이순신(E1)의 출생지인 한성 건천동(T12)을 정답으로 추론하여 사용자(10)에게 응답으로 제공할 수 있다(S20).
만일 사용자 지식 그래프(430)에 제1 엔티티 지식 그래프(EKG1)와 제2 엔티티 지식 그래프(EKG2)가 모두 없거나, 모두 있는 경우, 질의 대상 랭킹부(320)는 통합 지식 그래프(410)를 참조하여, 질의 대상에 대한 랭킹을 정하여(S130), 사용자(10)에게 역질의를 하고 그 결과를 수신할 수 있다(S140).
도 6은 본 발명의 예시적 실시 예에 따른 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템의 질의 대상 랭킹부의 동작을 설명하기 위한 순서도이다.
도 3 내지 도 6을 함께 참조하면, 제1 엔티티 지식 그래프(EKG1)와 제2 엔티티 지식 그래프(EKG2)가 랭킹 대상 엔티티 지식 그래프로 선택된 경우(S30), 질의 대상 랭킹부(320)는 동일한 프로퍼티(property) 중 제1 엔티티 지식 그래프(EKG1)와 제2 엔티티 지식 그래프(EKG2)를 비교하여, 제1 엔티티 지식 그래프(EKG1)와 제2 엔티티 지식 그래프(EKG2) 중 하나에만 있는 단독 트리플 유무를 판단한다(S310).
국적(Nationality), 출생지(Bornin), 및 직업(Job)의 프로퍼티(property)에 대해서는 제1 엔티티 지식 그래프(EKG1) 및 제2 엔티티 지식 그래프(EKG2)이 각각 1차 트리플 관계(T11, T12, T13과 T21, T22, T23)를 가지는 목적어(object)를 가지는 중복 트리플을 가지나, 개발품(create)과 부인(Spouse)의 프로퍼티(property)에 대해서는 제1 엔티티 지식 그래프(EKG1)만이 1차 트리플 관계(T14, T15)를 가지는 목적어(object)를 가지는 단독 트리플을 가진다. 단독 트리플(T14, T15)이 2개 이상인 경우, 2개 이상의 단독 트리플(T14, T15) 중 역질의용 단독 트리플을 선정할 수 있다(S320). 일부 실시 예에서, 역질의용 단독 트리플은 단독 트리플(T14, T15) 각각의 목적어(object) 중, 통합 지식 그래프(410)에 존재하는 빈도가 높은 것이 포함되는 것을 선정할 수 있다. 다른 일부 실시 예에서, 역질의용 단독 트리플은 통합 지식 그래프(410)에서 단독 트리플(T14, T15) 각각의 목적어(object)를 주어(subject)로 하여 트리플 관계를 가지는 목적어(object)가 많은 것을 선정할 수 있다.
예를 들면, 통합 지식 그래프(410)에 방수진(T15)보다 거북선(T14)이 존재하는 빈도가 높거나, '거북선'을 주어(subject)로 하여 트리플 관계를 가지는 목적어(object)가 많은 경우, 충무공 이순신(E1)을 주어(subject)로 하는 개발품(create)의 프로퍼티(property)에 대하여 거북선(T14)인 단독 트리플을 역질의용 단독 트리플로 선정(S320)하여 사용자(도 1의 10)에게 역질의를 할 수 있다(S40).
만일, 단독 트리플이 없는 경우, 도 4에는 별도의 트리플로 도시하지는 않았으나 호(Artname)인 '충무공'과 '무의공'에 대해서도 별도의 트리플을 가지는 경우를 가정하여 설명한다.
제1 엔티티 지식 그래프(EKG1) 및 제2 엔티티 지식 그래프(EKG2)은 가각 국적(Nationality), 출생지(Bornin), 직업(Job), 호(Artname)의 프로퍼티(property)에 대해서는 각각 1차 트리플 관계(T11, T12, T13, '충무공'과 T21, T22, T23, '무의공')를 가지는 목적어(object)를 가지는 중복 트리플을 가질 수 있다. 이중, 조선(T11)과 조선(T21), 그리고 장군(T13)과 장군(T23)은 동일한 목적어(object)를 가지므로, 역질의용 중복 트리플 대상에서 제외되고, 한성 건천동(T12)과 경기도 시흥(T22), '충무공'과 '무의공'이 중복 트리플 대상이 될 수 있다. 이 중에서, 통합 지식 그래프(410)에 존재하는 빈도가 높거나, 트리플 관계를 가지는 목적어(object)가 많은 것을 역질의용 중복 트리플로 선정할 수 있다. 예를 들면, 충무공 이순신(E1)을 주어(subject)로 하는 호(Artname)의 프로퍼티(property)에 대하여 '충무공'인 중복 트리플을 역질의용 중복 트리플로 선정(S330)하여 사용자(도 1의 10)에게 역질의를 할 수 있다(S40).
만일, 사용자(10)의 질의가 '이순신의 직업은 무엇인가?'인 경우, 충무공 이순신(E1) 및 무의공 이순신(E2) 각각을 주어(subject)로 하는 직업(Job)의 프로퍼티(property)에 대하여 동일한 정답인 장군(T13)과 장군(T23)을 목적어(object)를 가지는 중복 트리플을 가지므로, 이 경우에는 역질의용 중복 트리플을 별도로 생성하지 않고 '장군'을 추론하여 사용자(10)에게 응답으로 제공할 수 있다.
도 1, 도 5, 및 도 6을 함께 참조하면, 사용자(10)에게 제공하는 응답(S20) 또는 사용자(10)에게 하는 역질의(S40)은 자연어 생성부(330)에서 자연어 형태로 생성될 수 있다. 이때, 자연어 생성부(330)는 사용자(10)의 질의에 대한 응답 또는 역질의를 다양한 표현을 가지는 다수의 자연어 형태의 후보들로 생성할 수 있으며, 답변 랭킹부(500)는 자연어 생성부(330)에서 사용자(10)의 질의에 대한 응답 또는 역질의에 대한 다수의 자연어 형태의 후보들에 대한 랭킹을 정한 후, 랭킹이 높은 후보를 선정하여 사용자(10)에게 유저 인터페이스(100)를 통하여 응답 또는 역질의로 제공할 수 있다.
본 발명에 따른 질의 응답 시스템(1)은 사용자(10)의 최초 질의를 통해 응답, 즉 높은 신뢰성을 가지는 정답을 도출해내지 못했을 경우, 사용자(10)에게 해당 질의의 응답을 제공하기 전에, 컨텍스트 지식 그래프를 이용하여 역질의를 생성해내 사용자(10)에게 질문함으로써 사용자(10)에게 제공하는 응답, 즉 질의에 대한 정답의 신뢰성을 높일 수 있다.
이상, 본 발명을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상 및 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다.
1 : 질의 응답 시스템, 10 : 사용자, 20 : 네트워크, 100 : 유저 인터페이스, 200 : 자연어 이해부, 210 : 자연어 분석부, 220 : 질의 분류부, 300 : 모듈 서버, 310 : 지식 그래프 관리부, 312 : 통합 지식 그래프 관리부, 314 : 컨텍스트 지식 그래프 생성부, 316 : 지식 그래프 질의부, 320 : 질의 대상 랭킹부, 330 : 자연어 생성부, 400 : 데이터 서버, 410 : 통합 지식 그래프, 420 : 컨텍스트 지식 그래프, 430 : 사용자 지식 그래프, 500 : 답변 랭킹부

Claims (10)

  1. 네트워크를 통하여 사용자로부터 자연어 형태인 질의 또는 회신을 수신하고 상기 사용자에게 응답 또는 역질의를 송신하는 유저 인터페이스;
    상기 질의에 대한 자연어 분석 및 질의 분류를 수행하는 자연어 이해부;
    다차 관계 트리플로 이루어지는 지식 그래프를 저장하거나 관리하는 통합 지식 그래프;
    상기 질의에 대한 자연어 분석 결과를 이용하여 상기 통합 지식 그래프에서 추출된 1차 관계 트리플들로 이루어지는 엔티티 지식 그래프들을 가지는 컨텍스트 지식 그래프를 생성하고, 상기 질의에 대한 질의 분류 결과를 이용하여 상기 컨텍스트 지식 그래프가 가지는 엔티티 지식 그래프들 중 적어도 하나의 엔티티 지식 그래프를 선택하는 지식 그래프 관리부; 및
    선택된 상기 적어도 하나의 엔티티 지식 그래프로부터 상기 질의에 대한 상기 응답 또는 상기 역질의를 생성하는 질의 대상 랭킹부;를 포함하는 질의 응답 시스템.
  2. 제1 항에 있어서,
    상기 자연어 이해부는,
    상기 질의에 대한 자연어 분석 결과를 제공하는 자연어 분석부; 및
    상기 질의에 대한 자연어 분석 결과를 참조하여 상기 질의에서 얻고자 하는 프로퍼티(property)를 구하여 상기 질의를 분류하는 질의 분류부;를 포함하는 것을 특징으로 하는 질의 응답 시스템.
  3. 제2 항에 있어서,
    상기 지식 그래프 관리부는,
    상기 질의에 대한 자연어 분석 결과에서 얻어진 상기 질의가 가지는 개체(entity)들 각각을 주어(subject)로 한 1차 관계 트리플로 이루어지는 상기 엔티티 지식 그래프들을 추출하여, 상기 엔티티 지식 그래프들로 이루어지는 컨텍스트 지식 그래프를 생성하는 컨텍스트 지식 그래프 생성부; 및
    상기 질의에 대한 질의 분류 결과인 상기 질의에서 얻고자 하는 프로퍼티(property)를 사용하여, 상기 컨텍스트 지식 그래프가 가지는 엔티티 지식 그래프들 중 적어도 하나의 엔티티 지식 그래프를 선택하는 지식 그래프 질의부;를 포함하는 것을 특징으로 하는 질의 응답 시스템.
  4. 제1 항에 있어서,
    선택된 상기 적어도 하나의 엔티티 지식 그래프 중 상기 사용자에게 송신하는 상기 응답을 생성하는데 사용된 엔티티 지식 그래프인 사용자 엔티티 지식 그래프를 저장하는 사용자 지식 그래프를 더 포함하는 것을 특징으로 하는 질의 응답 시스템.
  5. 제4 항에 있어서,
    상기 질의 대상 랭킹부는, 상기 지식 그래프 관리부에서 선택된 엔티티 지식 그래프가 1개인 경우, 선택된 1개의 상기 엔티티 지식 그래프로부터 상기 응답을 생성하는 것을 특징으로 하는 질의 응답 시스템.
  6. 제4 항에 있어서,
    상기 질의 대상 랭킹부는, 상기 지식 그래프 관리부에서 선택된 엔티티 지식 그래프가 2개 이상인 경우, 선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프의 유무를 판단하는 것을 특징으로 하는 질의 응답 시스템.
  7. 제6 항에 있어서,
    상기 질의 대상 랭킹부는,
    선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프가 모두 없는 경우, 상기 2개 이상의 엔티티 지식 그래프를 랭킹 대상 엔티티 지식 그래프들로 선택하여 상기 질의에 대한 상기 응답 또는 상기 역질의를 생성하고,
    선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프 중 적어도 2개가 있는 경우, 적어도 2개의 상기 사용자 엔티티 지식 그래프를 상기 랭킹 대상 엔티티 지식 그래프들로 선택하여 상기 질의에 대한 상기 응답 또는 상기 역질의를 생성하고,
    선택된 상기 사용자 지식 그래프에 저장된 상기 사용자 엔티티 지식 그래프에 선택된 상기 2개 이상의 엔티티 지식 그래프 중 1개만 있는 경우, 1개의 상기 사용자 엔티티 지식 그래프로부터 상기 응답을 생성하는 것을 특징으로 하는 질의 응답 시스템.
  8. 제7 항에 있어서,
    상기 질의 대상 랭킹부는,
    선택된 상기 랭킹 대상 엔티티 지식 그래프들을 비교하여, 하나의 엔티티 지식 그래프에만 있는 단독 트리플 유무를 판단하고,
    상기 단독 트리플을 가지는 엔티티 지식 그래프가 1개의 상기 단독 트리플을 가지는 경우, 1개의 상기 단독 트리플로부터 상기 역질의를 생성하고,
    상기 단독 트리플을 가지는 엔티티 지식 그래프가 2개 이상의 상기 단독 트리플을 가지는 경우, 상기 통합 지식 그래프에 존재하는 빈도가 높거나 트리플 관계를 가지는 목적어(object)가 많은 단독 트리플로부터 상기 역질의를 생성하고,
    상기 단독 트리플을 가지는 엔티티 지식 그래프가 없는 경우, 선택된 상기 랭킹 대상 엔티티 지식 그래프들이 함께 가지는 중복 트리플 중 상기 통합 지식 그래프에 존재하는 빈도가 높거나 트리플 관계를 가지는 목적어(object)가 많은 중복 트리플로부터 상기 역질의를 생성하는 것을 특징으로 하는 질의 응답 시스템.
  9. 제8 항에 있어서,
    상기 질의 대상 랭킹부는,
    선택된 상기 랭킹 대상 엔티티 지식 그래프들이 함께 가지는 중복 트리플 중, 상기 자연어 이해부에서 수행된 질의 분류 결과인 상기 질의에서 얻고자 하는 프로퍼티(property)에 대하여 동일한 정답인 목적어(object)를 가지는 중복 트리플이 있는 경우, 상기 동일한 정답인 목적어(object)를 상기 응답으로 생성하는 것을 특징으로 하는 질의 응답 시스템.
  10. 제1 항에 있어서,
    상기 엔티티 지식 그래프들 각각은, 상기 질의에 대한 자연어 분석 결과에서 얻어진 상기 질의가 가지는 개체(entity)들을 주어(subject)로 사용하여, 목적어(object)인 다른 개체와의 관계까지만인 1차 관계를 주어(subject)-프로퍼티(property)-목적어(object) 구조의 트리플로 나타내는 것을 특징으로 하는 질의 응답 시스템.
KR1020190114970A 2019-09-18 2019-09-18 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템 KR102252459B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190114970A KR102252459B1 (ko) 2019-09-18 2019-09-18 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템
PCT/KR2019/013713 WO2021054514A1 (ko) 2019-09-18 2019-10-18 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템
US17/697,614 US11960513B2 (en) 2019-09-18 2022-03-17 User-customized question-answering system based on knowledge graph

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190114970A KR102252459B1 (ko) 2019-09-18 2019-09-18 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템

Publications (2)

Publication Number Publication Date
KR20210033348A true KR20210033348A (ko) 2021-03-26
KR102252459B1 KR102252459B1 (ko) 2021-05-14

Family

ID=74883207

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190114970A KR102252459B1 (ko) 2019-09-18 2019-09-18 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템

Country Status (3)

Country Link
US (1) US11960513B2 (ko)
KR (1) KR102252459B1 (ko)
WO (1) WO2021054514A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114996419A (zh) * 2022-05-09 2022-09-02 成都数之联科技股份有限公司 武器装备的智能问答方法、装置、电子设备及存储介质
CN117591657A (zh) * 2023-12-22 2024-02-23 宿迁乐享知途网络科技有限公司 一种基于ai的智能对话管理***及方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11687570B2 (en) * 2020-02-03 2023-06-27 Samsung Electronics Co., Ltd. System and method for efficient multi-relational entity understanding and retrieval
US11151320B1 (en) * 2020-04-21 2021-10-19 Microsoft Technology Licensing, Llc Labeled knowledge graph based priming of a natural language model providing user access to programmatic functionality through natural language input
CN112989005B (zh) * 2021-04-16 2022-07-12 重庆中国三峡博物馆 一种基于分阶段查询的知识图谱常识问答方法及***
US20220351716A1 (en) * 2021-04-28 2022-11-03 Robert Bosch Gmbh System and method for a personalized dialogue system using knowledge-based entity services
US20230009946A1 (en) * 2021-07-12 2023-01-12 International Business Machines Corporation Generative relation linking for question answering
CN113672693B (zh) * 2021-08-23 2022-05-10 东北林业大学 基于知识图谱和标签关联的在线问答平台的标签推荐方法
CN114153961B (zh) * 2022-02-07 2022-05-06 杭州远传新业科技有限公司 一种基于知识图谱的问答方法及***
CN114625843B (zh) * 2022-04-06 2022-11-29 山东亿方锦泽信息科技有限公司 基于知识图谱的查询方法及装置
CN117235220B (zh) * 2023-09-15 2024-03-15 之江实验室 基于图数据库知识增强的可扩展大语言模型调用装置
CN118210878B (zh) * 2024-05-17 2024-07-23 清华大学 一种多跳问答方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160103911A (ko) * 2015-02-24 2016-09-02 한국과학기술원 개념 그래프 매칭을 이용한 질의응답 방법 및 시스템
US20170109355A1 (en) * 2015-10-16 2017-04-20 Baidu Usa Llc Systems and methods for human inspired simple question answering (hisqa)
KR101835345B1 (ko) * 2016-02-29 2018-03-07 경기대학교 산학협력단 지식베이스 기반의 개념그래프 확장 시스템
KR20190034490A (ko) * 2016-07-29 2019-04-02 로비 가이드스, 인크. 자연어 질의를 위한 실행 경로를 결정하기 위한 시스템 및 방법
KR101987915B1 (ko) * 2017-12-22 2019-06-12 주식회사 솔트룩스 자연어 질의로부터 지식 베이스에 대한 쿼리의 생성에 사용되는 템플릿을 생성하는 시스템 및 이를 포함하는 질의 응답 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11436469B2 (en) * 2017-07-31 2022-09-06 Microsoft Technology Licensing, Llc Knowledge graph for conversational semantic search
US11727243B2 (en) * 2019-01-30 2023-08-15 Baidu Usa Llc Knowledge-graph-embedding-based question answering

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160103911A (ko) * 2015-02-24 2016-09-02 한국과학기술원 개념 그래프 매칭을 이용한 질의응답 방법 및 시스템
US20170109355A1 (en) * 2015-10-16 2017-04-20 Baidu Usa Llc Systems and methods for human inspired simple question answering (hisqa)
KR101835345B1 (ko) * 2016-02-29 2018-03-07 경기대학교 산학협력단 지식베이스 기반의 개념그래프 확장 시스템
KR20190034490A (ko) * 2016-07-29 2019-04-02 로비 가이드스, 인크. 자연어 질의를 위한 실행 경로를 결정하기 위한 시스템 및 방법
KR101987915B1 (ko) * 2017-12-22 2019-06-12 주식회사 솔트룩스 자연어 질의로부터 지식 베이스에 대한 쿼리의 생성에 사용되는 템플릿을 생성하는 시스템 및 이를 포함하는 질의 응답 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114996419A (zh) * 2022-05-09 2022-09-02 成都数之联科技股份有限公司 武器装备的智能问答方法、装置、电子设备及存储介质
CN117591657A (zh) * 2023-12-22 2024-02-23 宿迁乐享知途网络科技有限公司 一种基于ai的智能对话管理***及方法
CN117591657B (zh) * 2023-12-22 2024-05-07 宿迁乐享知途网络科技有限公司 一种基于ai的智能对话管理***及方法

Also Published As

Publication number Publication date
US11960513B2 (en) 2024-04-16
WO2021054514A1 (ko) 2021-03-25
US20220207067A1 (en) 2022-06-30
KR102252459B1 (ko) 2021-05-14

Similar Documents

Publication Publication Date Title
KR102252459B1 (ko) 지식 그래프 기반의 사용자 맞춤형 질의 응답 시스템
US10943072B1 (en) Contextual and intent based natural language processing system and method
US10157350B2 (en) Context based conversation system
CN105378721B (zh) 知识捕获和发现***
US10296524B1 (en) Data virtualization using leveraged semantic knowledge in a knowledge graph
US20090254574A1 (en) Method and apparatus for producing an ontology representing devices and services currently available to a device within a pervasive computing environment
US11068512B2 (en) Data virtualization using leveraged semantic knowledge in a knowledge graph
US9785725B2 (en) Method and system for visualizing relational data as RDF graphs with interactive response time
US20200012738A1 (en) Orchestrated hydration of a knowledge graph
KR101849750B1 (ko) 대화형 자동 질의응답 시스템
Myroshnichenko et al. Mapping ER schemas to OWL ontologies
Purohit et al. Towards next generation knowledge graphs for disaster management
WO2023211602A1 (en) Exploring entities of interest over multiple data sources using knowledge graphs
Grolinger et al. Collaborative knowledge as a service applied to the disaster management domain
KR102098256B1 (ko) 지식 베이스 기반의 자동 질의 응답 시스템
Maté et al. A novel multidimensional approach to integrate big data in business intelligence
EP3493076A1 (en) Cognitive decision system for security and log analysis using associative memory mapping in graph database
CN117932022A (zh) 一种智能问答方法、装置、电子设备及存储介质
Maté et al. An integrated multidimensional modeling approach to access big data in business intelligence platforms
Behkamal et al. Publishing Persian linked data; challenges and lessons learned
Palopoli et al. Experiences using DIKE, a system for supporting cooperative information system and data warehouse design
KR102256664B1 (ko) 다국어 질의 응답 시스템
Komamizu et al. H-SPOOL: A SPARQL-based ETL framework for OLAP over linked data with dimension hierarchy extraction
KR20140104544A (ko) 의미 데이터 구축을 위한 시스템 및 방법
KR102347203B1 (ko) 개체-관계 다이어그램 정보에 기초한 프로그램 코드 자동 생성 방법

Legal Events

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