KR102398832B1 - 지식 그래프에 기초하여 응답을 도출하는 장치, 방법 및 컴퓨터 프로그램 - Google Patents

지식 그래프에 기초하여 응답을 도출하는 장치, 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102398832B1
KR102398832B1 KR1020200049180A KR20200049180A KR102398832B1 KR 102398832 B1 KR102398832 B1 KR 102398832B1 KR 1020200049180 A KR1020200049180 A KR 1020200049180A KR 20200049180 A KR20200049180 A KR 20200049180A KR 102398832 B1 KR102398832 B1 KR 102398832B1
Authority
KR
South Korea
Prior art keywords
subgraph
information
knowledge graph
deriving
query data
Prior art date
Application number
KR1020200049180A
Other languages
English (en)
Other versions
KR20210130976A (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 KR1020200049180A priority Critical patent/KR102398832B1/ko
Publication of KR20210130976A publication Critical patent/KR20210130976A/ko
Application granted granted Critical
Publication of KR102398832B1 publication Critical patent/KR102398832B1/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/3325Reformulation based on results of preceding query
    • G06F16/3326Reformulation based on results of preceding query using relevance feedback from the user, e.g. relevance feedback on documents, documents sets, document terms or passages
    • G06F16/3328Reformulation based on results of preceding query using relevance feedback from the user, e.g. relevance feedback on documents, documents sets, document terms or passages using graphical result space presentation or visualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • 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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

지식 그래프에 기초하여 응답을 도출하는 장치는 오픈 도메인으로부터 주어 정보, 목적 정보 및 주어 정보 및 목적 정보 간의 술어 정보를 포함하는 시맨틱 정보를 수집하는 수집부, 주어 정보, 술어 정보 및 목적 정보에 기초하여 지식 그래프를 생성하는 지식 그래프 생성부, 질의 데이터를 입력받고, 입력된 질의 데이터를 분석하는 질의 분석부, 질의 데이터에 대한 분석 결과에 기초하여 생성된 지식 그래프로부터 적어도 하나의 부그래프를 탐색하고, 탐색된 적어도 하나의 부그래프 중 최종 부그래프를 도출하는 부그래프 도출부 및 도출된 최종 부그래프에 기초하여 오픈 도메인으로부터 수집된 복수의 문서 중 적어도 하나의 문서를 선택하고, 선택된 문서에 기초하여 질의 데이터에 대한 응답 데이터를 도출하는 응답 도출부를 포함할 수 있다.

Description

지식 그래프에 기초하여 응답을 도출하는 장치, 방법 및 컴퓨터 프로그램{DEVICE, METHOD AND COMPUTER PROGRAM FOR DERIVING RESPONSE BASED ON KNOWLEDGE GRAPH}
본 발명은 지식 그래프에 기초하여 응답을 도출하는 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.
기존의 질의응답 방식으로는, 지식베이스 기반 알고리즘(Knowledge Based Question Answering, KBQA)을 이용한 질의응답 방식과 정보검색 기반 알고리즘(Information Retrieval Question Answering, IRQA)을 이용한 질의응답 방식 등이 있다. 최근에는 정보검색 기반의 질의 응답 알고리즘에 딥러닝 기술을 적용한 기계독해 기반 질의응답(Machine Reading Comprehension Question Answering, MRCQA) 방식에 대한 연구가 진행되고 있다.
지식베이스 기반 알고리즘을 이용한 질의 응답 방식은 온톨로지 방식을 사용한다. 여기서, 온톨로지 방식은 단어 간의 관계를 정의하고 생성하는 지식관리 기법이다. 지식베이스 기반 알고리즘을 이용한 질의 응답 방식은 질문의 핵심 의미를 파악하고, 이를 지식베이스에 질의하여 답변을 탐색하는 방식이다. 이러한, 질의 응답 방식은 지식베이스 내부에 존재하는 지식범주에 대한 질의응답만을 제공하기 때문에 오픈 도메인 또는 실시간성(트렌드성) 데이터에 대한 질의 응답을 도출하는 것이 불가능하다.
정보검색 기반 알고리즘을 이용한 질의 응답 방식은 예상 질문 및 답변 데 이터를 미리 구축하고, 사용자 질문과 유사한 질문을 검색하여 검색된 질문에 매칭된 답변을 제공하는 방식이다. 이러한 질의 응답 방식은 예상 질문과 이에 대한 답변 데이터가 구축되지 않은 질의에 대해서 답변을 제공하기 어렵다.
기계독해 기반 질의 응답 방식은 사람이 직접 지식 구축을 하지 않아도 기계가 문서를 읽고, 질문에 대한 답변을 찾아 제시할 수 있도록 학습시키는 방식이다. 이러한 질의 응답 방식은 문서 내 정답에 대한 패턴을 학습하기 때문에 정확한 문서 검색이 전제되지 않을 경우에는 정확한 답을 도출하기 어렵다. 이와 같은 정답 패턴에 기초한 응답 도출 방식은 질의의 문맥과 관련없는 응답이 도출되는 문제가 있다.
기존에는 문서 검색을 위한 색인 과정을 수행할 시, 개체명에 대한 색인, 의미적 단락 단위 검색 또는 딥러닝 기술을 이용한 단락 재순위화 기반 기술을 이용하여 문서 검색순위를 재순위화한다. 하지만, 개체명 색인을 통한 검색을 이용하게 되면, 질의와 문맥이 의미적으로 일치하지 않는 검색 결과가 나오는 경우가 많고, 뉴스와 같은 오픈 도메인 또는 트렌드 문서구조에 대한 메타데이터가 없는 문서에 대해서는 기존의 개체명 색인을 통한 검색의 적용이 불가능하다.
일본등록특허공보 제4746439호 (2011.05.20. 등록)
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 지식 그래프로부터 탐색된 질의 데이터에 대한 분석 결과에 대응하는 적어도 하나의 부그래프 중 최종 부그래프를 도출하고, 도출된 최종 부그래프에 기초하여 선택된 문서로부터 질의 데이터에 대한 응답 데이터를 도출하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 지식 그래프에 기초하여 응답을 도출하는 장치는 오픈 도메인으로부터 주어 정보, 목적 정보 및 상기 주어 정보 및 상기 목적 정보 간의 술어 정보를 포함하는 시맨틱 정보를 수집하는 수집부; 상기 주어 정보, 상기 술어 정보 및 상기 목적 정보에 기초하여 지식 그래프를 생성하는 지식 그래프 생성부; 질의 데이터를 입력받고, 상기 입력된 질의 데이터를 분석하는 질의 분석부; 상기 질의 데이터에 대한 분석 결과에 기초하여 상기 생성된 지식 그래프로부터 적어도 하나의 부그래프를 탐색하고, 상기 탐색된 적어도 하나의 부그래프 중 최종 부그래프를 도출하는 부그래프 도출부; 및 상기 도출된 최종 부그래프에 기초하여 상기 오픈 도메인으로부터 수집된 복수의 문서 중 적어도 하나의 문서를 선택하고, 상기 선택된 문서에 기초하여 상기 질의 데이터에 대한 응답 데이터를 도출하는 응답 도출부를 포함할 수 있다.
본 발명의 제 2 측면에 따른 지식 그래프에 기초하여 응답을 도출하는 방법은 오픈 도메인으로부터 주어 정보, 목적 정보 및 상기 주어 정보 및 상기 목적 정보 간의 술어 정보를 포함하는 시맨틱 정보를 수집하는 단계; 상기 주어 정보, 상기 술어 정보 및 상기 목적 정보에 기초하여 지식 그래프를 생성하는 단계; 질의 데이터를 입력받는 단계; 상기 입력된 질의 데이터를 분석하는 단계; 상기 질의 데이터에 대한 분석 결과에 기초하여 상기 생성된 지식 그래프로부터 적어도 하나의 부그래프를 탐색하는 단계; 상기 탐색된 적어도 하나의 부그래프 중 최종 부그래프를 도출하는 단계; 상기 도출된 최종 부그래프에 기초하여 상기 오픈 도메인으로부터 수집된 복수의 문서 중 적어도 하나의 문서를 선택하는 단계; 및 상기 선택된 문서에 기초하여 상기 질의 데이터에 대한 응답 데이터를 도출하는 단계를 포함할 수 있다.
본 발명의 제 3 측면에 따른 지식 그래프에 기초하여 응답을 도출하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 오픈 도메인으로부터 주어 정보, 목적 정보 및 상기 주어 정보 및 상기 목적 정보 간의 술어 정보를 포함하는 시맨틱 정보를 수집하고, 상기 주어 정보, 상기 술어 정보 및 상기 목적 정보에 기초하여 지식 그래프를 생성하고, 질의 데이터에 대한 분석 결과에 기초하여 상기 생성된 지식 그래프로부터 적어도 하나의 부그래프를 탐색하고, 상기 탐색된 적어도 하나의 부그래프 중 최종 부그래프를 도출하고, 상기 도출된 최종 부그래프에 기초하여 상기 오픈 도메인으로부터 수집된 복수의 문서 중 적어도 하나의 문서를 선택하고, 상기 선택된 문서에 기초하여 상기 질의 데이터에 대한 응답 데이터를 도출하도록 하는 명령어들의 시퀀스를 포함할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명은 지식 그래프로부터 탐색된 질의 데이터에 대한 분석 결과에 대응하는 적어도 하나의 부그래프 중 최종 부그래프를 도출하고, 도출된 최종 부그래프에 기초하여 선택된 문서로부터 질의 데이터에 대한 응답 데이터를 도출할 수 있다.
또한, 본 발명은 최종 부그래프 정보(개체명과 관계명)를 기초하여 질의 데이터의 문맥에 가장 적합한 문서를 검색하고, 검색된 문서에서 질의 데이터에 대한 응답 데이터를 도출할 수 있다.
또한, 본 발명은 최종 부그래프 정보를 이용하여 문서 내 질의 데이터에 대한 응답 데이터의 유형을 도출할 수 있고, 응답 데이터의 유형에 따라 응답 데이터를 검증할 수 있다.
또한, 본 발명은 개체명이 인식되지 않는 상황에서도 관계명의 의미적 인식을 통해 개체명의 도메인을 한정할 수 있기 때문에, 개체명 인식이 되지 않는 검색에서도 개체명에 대한 도메인과 추출된 관계명을 통해 검색의 정확도를 높일 수 있다.
도 1은 본 발명의 일 실시예에 따른, 응답 도출 장치의 블록도이다.
도 2a 내지 2g는 본 발명의 일 실시예에 따른, 지식 그래프에 기초하여 응답을 도출하는 방법을 설명하기 위한 도면이다.
도 3은 본 발명의 다른 실시예에 따른, 지식 그래프에 기초하여 응답을 도출하는 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른, 지식 그래프에 기초하여 응답을 도출하는 방법을 나타낸 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른, 응답 도출 장치(10)의 블록도이다.
도 1을 참조하면, 응답 도출 장치(10)는 수집부(100), 지식 그래프 생성부(110), 질의 분석부(120), 부그래프 도출부(130), 응답 도출부(140) 및 색인부(150)를 포함할 수 있다. 다만, 도 1에 도시된 응답 도출 장치(10)는 본 발명의 하나의 구현 예에 불과하며, 도 1에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다.
색인부(150)는 기등록된 개체명 사전 및 관계명 사전을 통해 개체명(표제어)가 인식된 경우, 개체명 사전 및 관계명 사전을 이용한 개체명 인식 결과에 기초하여 수집된 복수의 문서(예컨대, 실시간/트렌드성 뉴스, 웹문서 등)에 포함된 문장에 대해 색인 프로세스를 수행할 수 있다. 또한, 색인부(150)는 개체명 인식 결과에 따라 각 문장의 주어 정보 및 목적 정보 각각에 개체명 및 어휘 정보를 색인하고, 각 문장의 술어 정보에 개체명 및 어휘 정보를 색인할 수 있다. 여기서, 개체명 사전은 개체명(예컨대, 인명, 기관명, 지명 등의 고유한 의미를 갖는 명사들)을 정의한 사전이고, 관계명 사전은 개체 간의 관계(예컨대, 용언)를 정의한 사전이다. 개체명 사전 및 관계명 사전은 예를 들어, 인물, 장소, 조직, 음식, 문화컨텐츠, 용어, 제품, 사건, 인공물 등에 대한 범주를 중심으로 구축될 수 있다.
예를 들어, '트럼프의 당선으로 멜라니아는 미국의 두 번째 이민자 출신이자 첫 공산권 국가 출신 퍼스트 레이디가 됐다'라는 제 1 문장에 대한 개체명 인식 결과는 [도널드 트럼프/Person, 멜라니아 트럼프/Person, 미국/Nation, 이민자/RQCWho, 퍼스트 레이디/PoliticalPerson, 멜라니/Singer. 두번째/Sequence]이다. 이 때, 색인부(150)는 개체명 인식 결과에 기초하여 제 1 문장의 주어 정보 및 목적 정보 각각에 개체명(예컨대, Person) 및 어휘 정보(예컨대, 도널드 트럼프)를 색인할 수 있다. 또한, 색인부(150)는 개체명 인식 결과에 기초하여 제 1 문장의 술어 정보에 개체명(예컨대, IsA) 및 어휘 정보(예컨대, 됐다)를 색인할 수 있다.
색인부(150)는 형태소 분석 결과 및 토크나이저(Tokenizer) 결과에 더 기초하여 수집된 복수의 문서에 포함된 문장에 대해 색인 프로세스를 수행할 수 있다. 예를 들어, 제 1 문장에 대한 형태소 분석 결과는 [트럼프/NNP+의/JKG+당선/NNG+으로/JKB+멜라니아/NNG+는/JX+미국/NNP+의/JKG+두/MM+번/NNB+째/XSN+이민자/NNG+출신/NNG+이/VCP+자/EC+첫/MM+공산/NNG+권/XSN+국가/NNG+출신/NNG+퍼스트/NNG+레이디/NNG+가/JKS+되/VV+었/EP+다/EF+./SF] 이고, 토크나이저 결과는 [트럼프 의 당선 으로 멜 라니 아는 미국 의 두 번째 이민 자 출신 이자 첫 공산 권 국가 출신 퍼 스트 레이 디가 됐다]이다. 이 때, 토크나이저 결과에서 '_'는 입력 문장에서 공백을 의미한다.
색인부(150)는 문장의 주어 정보, 목적 정보, 술어 정보 각각에 대응하는 개체명을 색인할 때, 기등록된 유의어 사전에 포함된 키워드를 이용하여 색인 프로세스를 수행할 수 있다. 여기서, 유의어 사전은 개체명 및 관계명 각각에 대한 유의어(예를 들어, 의미가 비슷한 말)를 모아놓은 사전이다.
색인부(150)는 하나의 문장의 주어 정보, 목적 정보 및 술어 정보 중에서 개체명이 복수개 인식되는 경우, 복수의 개체명 간의 거리 정보를 주어 정보, 목적 정보 및 술어 정보 중 해당 개체명이 색인된 위치에 색인 프로세스를 수행할 수 있다. 이 때, 개체명 간의 거리 정보는 추후 문서 검색에 대한 랭킹을 산출할 때 사용될 수 있다.
수집부(100)는 오픈 도메인으로부터 주어 정보, 목적 정보 및 주어 정보 및 목적 정보 간의 술어 정보를 포함하는 시맨틱 정보를 수집할 수 있다. 예를 들어, 수집부(100)는 '도널드트럼프(주어 정보)는 뉴욕주퀸즈(목적 정보)에서 태어났다(술어 정보)'를 포함하는 시멘틱 정보를 수집할 수 있다.
지식 그래프 생성부(110)는 수집된 시맨틱 정보에 포함된 주어 정보, 술어 정보 및 목적 정보에 기초하여 지식 그래프를 주그래프로 생성할 수 있다. 예를 들어, 지식 그래프 생성부(110)는 '도널드트럼프는 멜라니아트럼프와 결혼했다'를 포함하는 시멘틱 정보로부터 '도널드트럼프'를 주어 정보로서 추출하고, '멜라니아트럼프'를 목적 정보로서 추출하고, '결혼했다'를 술어 정보로서 추출할 수 있다.
지식 그래프 생성부(110)는 주어 정보 및 목적 정보에 대응하는 노드를 생성하고, 각 노드 간의 술어 정보를 나타내는 엣지를 생성하고, 생성된 노드 및 엣지에 기초하여 지식 그래프를 생성할 수 있다. 여기서, 지식 그래프는 하나의 지식을 구성하는 트리플 집합(주어 정보, 목적 정보 및 술어 정보)이 노드와 엣지로 표현된 구조를 갖는다. 여기서, 노드는 주어 정보, 목적 정보를 나타내고, 엣지는 술어 정보를 나타낸다. 노드는 인스턴스와 리터럴(literal) 값으로 구분될 수 있다. 예를 들어, 도 2b를 참조하면, 인스턴스는 '도널드 트럼프, 슬로베니아, 미국 등'과 같은 개체명을 의미하고, 리터럴값은 '1946-06-14'와 같은 상수값을 의미한다.
예를 들어, 도 2a를 참조하면, 지식 그래프 생성부(110)는 주어 정보에 해당하는 '도널드트럼프'와 목적 정보에 해당하는 '멜라니아트럼프' 각각을 노드(201, 205)로서 생성하고, '도널드트럼프'에 대응하는 노드(201)와 '멜라니아트럼프'에 대응하는 노드(205) 간의 술어 정보에 해당하는 'isMarriedTo'를 엣지(203)로서 생성할 수 있다. 또한, 지식 그래프 생성부(110)는 '도널드트럼프'에 대응하는 노드(201), '멜라니아트럼프'에 대응하는 노드(205) 및 'isMarriedTo'에 대응하는 엣지(203)를 이용하여 지식 그래프를 생성할 수 있다.
지식 그래프 생성부(110)는 실시간/트랜드성 정보를 포함하는 뉴스 기사(뉴스 문서)에 포함된 시멘틱 정보에 기초하여 지식 그래프를 생성할 수 있다(도 2b 참조). 예를 들어, 지식 그래프 생성부(110)는 뉴스의 경우, 정치, 경제, 사회, 생활, 문화, 세계, IT/과학, 스포츠 등과 같이 각 분야로 분류하여 각 도메인에 대응하는 지식 그래프를 생성할 수 있다. 또한, 지식 그래프 생성부(110)는 스포츠 도메인의 경우, 야구, 축구, 배구, 농구, 골프, e 스포츠 등으로 구분하여 지식 그래프를 생성할 수 있다.
지식 그래프 생성부(110)는 기등록된 개체명 사전 및 관계명 사전에 기초하여 지식 그래프에 포함된 노드 또는 엣지에 대한 스키마(Schema) 정보에 개체명 또는 관계명을 매핑시킬 수 있다. 구체적으로, 지식 그래프 생성부(110)는 지식 그래프에 포함된 노드에 대한 클래스 정보에 개체명을 매핑시키고, 엣지에 대한 속성/관계 정보(즉, 클래스 정보 간의 관계)에 관계명을 매핑시킬 수 있다. 예를 들어, 개체명 인식결과에서 '멜라니아 트럼프/ Person'을 살펴보면, Person은 개체명인 동시에 지식그래프에서 '멜라니아 트럼프'라는 인스턴스의 클래스 정보에 해당된다.
지식 그래프 생성부(110)는 기등록된 유의어 사전에 기초하여 지식 그래프의 노드에 매핑된 개체명과 엣지에 매핑된 관계명 각각과 관련된 유의어를 지식 그래프를 통해 관리할 수 있다. 예를 들어, '줄거리'에 대한 유의어는 '요약'이 될 수 있고, '저자'에 대한 유의어는 '글쓴이'가 될 수 있다.
질의 분석부(120)는 질의 데이터를 입력받고, 입력된 질의 데이터를 분석할 수 있다. 또한, 질의 분석부(120)는 입력된 질의 데이터에 대한 자연어처리를 수행한 후, 자연어처리된 질의 데이터를 분석할 수 있다. 여기서, 자연어처리는 기등록된 개체명 사전 및 관계명 사전을 이용한 개체명 인식 결과, 형태소 분석 결과 및 토크나이저 결과를 이용하여 수행될 수 있다.
질의 분석부(120)는 개체명 인식 결과에 기초하여 질의 데이터를 분석할 수 있다. 또한, 질의 분석부(120)는 형태소 분석 결과 및 토크나이저 결과에 더 기초하여 질의 데이터를 더 분석할 수 있다.
예를 들어, 질의 데이터가 '멜라니아 트럼프가 몇번째 이민자 출신 퍼스트 레이디야'인 경우, 개체명 인식 결과는 [멜라니아 트럼프/Person, 멜라니/Singer, 도날드 트럼프/Person, 이민자/RQCWho, 퍼스트 레이디/PoliticalPerson, 몇번째/Sequence]이고, 형태소 분석 결과는 [멜라니/NNP+아/JKV+트럼프/NNG+가/JKS+몇/MM+번/NNB+째/XSN+이민자/NNG+출신/NNG+퍼스트/NNG+레이디/NNG+이/VCP+야/EF]이고, 토크나이저 결과는 [멜 라 니아 트럼프 가 몇번 째 이민 자 출신 퍼 스트 레이 디 야]이다.
질의 분석부(120)는 자연어처리된 질의 데이터의 분석 결과로부터 복수의 토큰을 추출할 수 있다. 구체적으로, 질의 분석부(120)는 질의 데이터에 대한 개체명 인식 결과, 형태소 분석 결과 및 토크나이저 결과로부터 복수의 토큰을 추출할 수 있다. 여기서, 복수의 토큰은 지식 그래프의 노드 및 엣지를 검색할 때 이용된다.
예를 들어, 질의 분석부(120)는 개체명 인식 결과에 해당하는 [멜라니아 트럼프/Person]로부터 '멜라니아 트럼프' 토큰을 추출하고, 형태소 분석 결과에 해당하는 [트럼프/NNG]로부터 '트럼프' 토큰을 추출하고, 토크나이저 결과로부터 '트럼프' 토큰을 추출할 수 있다.
또한, 질의 분석부(120)는 유의어 사전으로부터 복수의 토큰과 관련된 유의어를 추출할 수 있다. 이 때, 추출된 복수의 토큰과 관련된 유의어는 지식 그래프의 노드 및 엣지를 검색할 때 활용될 수 있다.
검색부(미도시)는 질의 분석부(120)에 의해 추출된 복수의 토큰을 이용하여 지식 그래프의 노드 및 엣지를 검색할 수 있다. 예를 들어, 도 2c를 참조하면, 검색부(미도시)는 '멜라니아 트럼프가 몇번째 이민자 출신 퍼스트 레이디야'로 구성된 질의 데이터에 대한 분석 결과로부터 추출된 복수의 토큰을 이용하여 노드에 해당하는 {'도널드 트럼프', '트럼프', '멜라니아 트럼프','여자', '퍼스트레이디'}와 엣지에 해당하는 {'hasCountry', 'immigrator'}를 검색할 수 있다.
부그래프 도출부(130)는 질의 데이터에 대한 분석 결과에 기초하여 지식 그래프로부터 적어도 하나의 부그래프(Sub-graph)를 탐색하고, 탐색된 적어도 하나의 부그래프 중 최종 부그래프를 도출할 수 있다. 예를 들어, 도 2c 및 2d를 함께 참조하면, 부그래프 도출부(130)는 복수의 토큰을 통해 검색된 노드('도널드 트럼프', '트럼프', '멜라니아 트럼프', '여자', '퍼스트레이디') 및 엣지('hasCountry', 'immigrator')를 이용하여 지식 그래프로부터 {도널드 트럼프-FamilyName-트럼프}로 구성된 제 1 부그래프, {도널드 트럼프-isMarriedTo-멜라니아 트럼프}로 구성된 제 2 부그래프, {멜라니아 트럼프-hasCountry-슬로베니아}로 구성된 제 3 부그래프, {멜라니아 트럼프-gender-여자}로 구성된 제 4 부그래프, {멜라니아 트럼프-position-퍼스트레이디}로 구성된 제 5 부그래프, {멜라니아 트럼프-immigrator-yes}로 구성된 제 6 부그래프를 탐색할 수 있다.
예를 들어, 부그래프 도출부(130)는 질의 데이터의 분석 결과에 따른 지식 그래프의 적어도 하나의 노드 중 인스턴스에 해당하는 노드들을 알파벳 순서로 정렬할 수 있다. 또한, 부그래프 도출부(130)는 알파벳 순서로 정렬된 노드들 중 첫번째 노드를 기준으로 지식 그래프에서 부그래프의 탐색하는 과정에서 첫번째 노드와 연결된 엣지를 검색할 수 있다. 또한, 부그래프 도출부(130)는 질의 데이터의 분석 결과에 따른 엣지 리스트에 검색된 첫번째 노드와 연결된 엣지가 있는 경우, 첫번째 노드, 엣지, 엣지와 연결된 확장 노드를 연결하여 부그래프를 확장할 수 있다. 만일, 첫번째 노드에 연결된 엣지가 질의 데이터의 분석 결과에 따른 엣지 리스트에 없는 경우, 부그래프 도출부(130)는 첫번째 노드에 연결된 모든 엣지와 엣지에 연결된 노드를 임시 부그래프로 확장할 수 있다. 또한, 부그래프 도출부(130)는 확장 노드에 대하여 확장 노드와 연결된 다른 엣지를 검색하고, 검색된 다른 엣지가 질의 데이터의 분석 결과에 따른 엣지 리스트에 존재하는지 여부에 기초하여 확장 노드 및 다른 엣지와의 부그래프 확장을 결정할 수 있다. 또한, 부그래프 도출부(130)는 확장 노드가 현재 부그래프에 포함되는 경우, 부그래프 확장을 종료할 수 있다. 부그래프 도출부(130)는 확장된 부그래프에서 인스턴스에 해당하는 노드를 기준으로 지식 그래프에서 부그래프 탐색을 앞서 설명한 방식대로 수행할 수 있다.
부그래프 도출부(130)는 탐색된 적어도 하나의 부그래프를 기학습된 딥러닝 네트워크에 입력하여 최종 부그래프를 도출할 수 있다. 예를 들어, 도 2e를 참조하면, 부그래프 도출부(130)는 질의 데이터에 대한 분석 결과에 따라 지식 그래프로부터 탐색된 복수의 부그래프를 딥러닝 네트워크에 입력하고, 딥러닝 네트워크를 통해 추출된 부그래프를 최종 부그래프로 결정할 수 있다.
부그래프 도출부(130)는 추출된 복수의 부그래프 각각으로부터 트리플 집합(즉, 노드-엣지-노드)을 추출할 수 있다. 여기서, 트리플 집합은 각각의 부그래프에 포함된 적어도 둘의 노드에 대한 정보 및 적어도 둘의 노드 간을 연결시키는 엣지에 대한 정보를 포함할 수 있다. 예를 들어, 트리플 집합은 멜라니아 트럼프(노드)-position(엣지)-퍼스트레이디(노드)가 될 수 있다.
여기서, 트리플 집합을 구성하는 적어도 둘의 노드와, 적어도 둘의 노드 간을 연결하는 엣지는 지식 그래프에 대한 스키마 정보에 매핑되어 있다. 구체적으로, 트리플 집합의 구성 요소인 (노드, 엣지, 노드)는 스키마 정보의 (클래스 정보, 속성/관계 정보, 클래스 정보)에 매핑되어 있다. 다른 예를 들어, 트리플 집합인 (멜라니아 트럼프, position, 퍼스트레이디)는 스키마 정보의 (Person 클래스 정보, 속성/관계 정보, 리터럴 클래스 정보)에 매핑되어 있다.
부그래프 도출부(130)는 추출된 트리플 집합을 2차원 형태의 입력 벡터로 구성할 수 있다. 이러한 입력 벡터는 해당 입력 벡터를 구성하는 트리플 집합이 추출된 부그래프와 대응될 수 있다.
부그래프 도출부(130)는 각각의 부그래프에 대응하는 입력 벡터의 행 또는 열에 지식 그래프에 대한 스키마 정보를 매핑시킬 수 있다. 여기서, 입력 벡터의 행과 열은 클래스와 관계명에 대한 정보를 저장하고 있다. 예를 들어, 입력 벡터의 각 행에는 클래스 정보(예컨대, 1행은 정치인 클래스, 2행은 배우 클래스, 3행은 가수 클래스 등)가 저장되어 있고, 입력 벡터의 각 열에는 관계 정보(예컨대, 1열은 이름, 2열은 국적, 3열은 출생일 등)가 저장되어 있다.
구체적으로, 부그래프 도출부(130)는 부그래프에 대응하는 입력 벡터의 행에 지식 그래프에 대한 스키마 정보 중 클래스 정보를 매핑시키고, 입력 벡터의 열에 지식 그래프에 대한 스키마 정보 중 속성/관계 정보를 매핑시킬 수 있다. 예를 들어, 도 2f를 참조하면, 부그래프 도출부(130)는 {멜라니아 트럼프-position-퍼스트레이디}로 구성된 제 1 부그래프에 대응하는 제 1 입력 벡터(207)의 1행에 Person 클래스 정보를 매핑하고, 1열에 position 속성/관계 정보를 매핑할 수 있다. 부그래프 도출부(130)는 {멜라니아 트럼프-hasCountry-슬로베니아}로 구성된 제 2 부그래프에 대응하는 제 2 입력 벡터(209)의 2열에 hasCountry 속성/관계 정보를 매핑하고, 3행에 Nation 클래스 정보를 매핑하고, 3열에 hasPeople 속성/관계 정보를 매핑할 수 있다. 이와 같이, 각 부그래프는 각 부그래프로부터 추출된 트리플 정보(또는 이로 구성되는 입력 벡)에 기초하여 2차원 행렬로 표현될 수 있다. 여기서, 사용자의 질의에 대한 모든 부그래프는 입력벡터로 표현할 수 있다.
예를 들어, '코로나가 언제 시작됐어?'를 포함하는 질의 데이터를 수신한 경우, '코로나', '시작' 등의 키워드, '코로나 19 바이러스' 개체명과 '발생일' 관계명을 이용하여 탐색된 복수의 부그래프 각각의 노드 및 엣지가 속해있는 클래스 및 관계명에 기초하여 2차원 행렬이 생성될 수 있다. 부그래프 도출부(130)는 도 2f와 같이 추출된 각 부그래프의 노드 및 엣지에 해당하는 클래스 및 관계명의 행렬 위치에 임베딩을 위한 초기값을 설정할 수 있다.
또한, 부그래프 도출부(130)는 각 부그래프 각각에 대한 2차원 행렬을 합하여 2차원 벡터값을 계산할 수 있다. 부그래프 도출부(130)는 추출된 복수의 그래프가 N개인 경우, N개의 2차원 행렬이 표현되고, N개의 2차원 행렬에 대한 최종 합집합을 생성할 수 있다. 이 때, 각 2차원 행렬 내 2차원 벡터값은 트리플 집합이 중복되어도 별도의 값을 차지하지 않고, 예를 들어, 도 2f의 맨 우측 행렬과 같이 기설정된 값(예컨대, 1)로 유지될 수 있다. 이를 통해, 본 발명은 심층신경망(예컨대, CNN)의 입력으로 2차원 벡터값을 사용하기 때문에 사용자 질의에 가장 적합하게 매칭되는 부그래프를 추론할 수 있다.
부그래프 도출부(130)는 각각의 부그래프로부터 추출된 트리플 집합을 각 부그래프에 대응하는 입력 벡터에 매핑시키고, 트리플 집합이 매핑된 입력 벡터를 딥러닝 네트워크에 입력할 수 있다. 또한, 부그래프 도출부(130)는 각 부그래프 각각에 대한 2차원 행렬를 합한 2차원 벡터값을 딥러닝 네트워크에 입력할 수 있다. 이 때, 딥러닝 네트워크는 각 부그래프 별 트리플 집합이 매핑된 입력 벡터에 기초하여 출력값을 도출할 수 있다. 이 때 도출된 출력값은 최종 부그래프(즉, 질의 데이터에 대한 최종 부그래프)에 대응하는 출력값일 수 있다.
부그래프 도출부(130)는 기학습된 딥러닝 네트워크에 기초하여 트리플 집합(복수의 부그래프 각각으로부터 추출된 트리플 집합) 및 질의 데이터에 대한 분석 결과 간의 유사도를 도출하고, 도출된 유사도에 기초하여 추출된 복수의 부그래프 중 유사도가 가장 높게 도출된 부그래프를 최종 부그래프를 도출할 수 있다.
부그래프 도출부(130)는 도출된 최종 부그래프로부터 문서 검색에 사용될 정보를 추출할 수 있다. 구체적으로, 부그래프 도출부(130)는 최종 부그래프로부터 최종 부그래프를 구성하는 적어도 둘 노드에 대한 개체명, 적어도 둘 노드를 연결하는 엣지에 대한 관계명, 유의어 사전으로부터 추출된 해당 개체명과 관계명 각각과 관련된 유의어, 최종 부그래프에 매핑된 스키마 정보(클래스 정보, 속성관계)를 추출할 수 있다. 예를 들어, 부그래프 도출부(130)는 '멜라니아 트럼프가 몇번째 이민자 출신 퍼스트 레이디야?'를 포함하는 질의 데이터에 대한 최종 부그래프를 도 2g와 같이 도출할 수 있다. 또한, 부그래프 도출부(130)는 해당 질의 데이터에 대한 최종 부그래프로부터 'Nation, Person, hasCountry, gender, position, immigrator'을 포함하는 스키마 정보를 추출할 수 있다.
응답 도출부(140)는 도출된 최종 부그래프에 기초하여 오픈 도메인으로부터 수집된 복수의 문서 중 적어도 하나의 문서를 선택하고, 선택된 문서에 기초하여 질의 데이터에 대한 응답 데이터를 도출할 수 있다.
응답 도출부(140)는 최종 부그래프에 포함된 노드 또는 엣지에 대한 키워드, 개체명, 관계명, 스키마 정보 중 적어도 하나에 기초하여 복수의 문서 중 적어도 하나의 문서를 선택할 수 있다. 여기서, 복수의 문서는 각 문서에 포함된 문장에 대하여 색인 프로세스가 수행된 문서이다. 각 문서의 문장에는 개체명 인식 결과, 형태소 분석 결과 및 토크나이저 결과, 개체명 정보 및 관계명 정보가 색인되어 있다.
문서 랭킹부(미도시)는 복수의 문서 각각에 대하여 최종 부그래프로부터 추출된 정보(최종 부그래프의 노드 또는 엣지에 대한 키워드, 개체명, 관계명, 스키마 정보)가 차지하는 비율(비중)을 산출할 수 있다. 예를 들어, 문서 랭킹부(미도시)는 각 문서 별로 최종 부그래프의 노드 또는 엣지에 대한 키워드 및 이에 대한 유의어가 출현하는 제 1 빈도수를 산출하고, 최종 부그래프의 개체명 및 관계명이 출현하는 제 2 빈도수를 산출하고, 최종 부그래프의 스키마 정보가 출현하는 제 3 빈도수를 계산할 수 있다. 예를 들어, 문서 랭킹부(미도시)는 각 문서 별로, 최종 부그래프의 노드 및 엣지 리스트에 포함된 문자열이 문장 내 한 쌍(pair)으로 나타나는 비율을 계산할 수 있다. 또는, 문서 랭킹부(미도시)는 각 문서 별로, 최종 부그래프의 개체명 및 관계명이 한 쌍으로 나타나는 비율을 계산할 수 있다.
문서 랭킹부(미도시)는 각 문서 별로 계산된 최종 부그래프로부터 추출된 정보에 대한 출현 빈도수(비율)를 특징 정보로서 기계 학습 모델(예컨대, Random Forest 모델 등)에 입력하여 기계 학습 모델을 학습시키고, 학습된 기계 학습 모델을 통해 각 특징 정보 별 가중치를 산출할 수 있다.
문서 랭킹부(미도시)는 질의 데이터에 대한 수치 정보 및 기계 학습 모델을 토해 산출된 각 특징 정보별 가중치를 이용하여 각 문서에 대한 랭킹 점수를 산출하고, 산출된 각 문서에 대한 랭킹 점수에 기초하여 복수의 문서를 랭킹화할 수 있다.
응답 도출부(140)는 복수의 문서 중 랭킹 점수가 높은 문서를 선택하고, 선택된 문서에 기초하여 질의 데이터에 대한 응답 데이터를 도출할 수 있다.
응답 도출부(140)는 도출된 질의 데이터에 대한 응답 데이터를 검증할 수 있다. 예를 들어, 응답 도출부(140)는 질의 데이터에 대한 최종 부그래프에 포함된 정보를 이용하여 응답 데이터를 검증할 수 있다. 최종 부그래프는 노드 또는 엣지에 대한 키워드, 개체명, 관계명, 스키마 정보를 가지고 있기 때문에 질의 데이터를 구성하는 주어 정보(개체명) 및 술어 정보(관계명)에 기초하여 응답 데이터(즉, 목적 정보)의 타입을 유추할 수 있고, 응답 데이터에 대한 타입 검증을 통해 응답 데이터를 검증할 수 있다.
예를 들어, 도 3을 참조하면, 질의 데이터가 '멜라니아 트럼프가 몇번째 이민자 출신 퍼스트 레이디야?'이고, 질의 데이터에 대하여 검색된 문서 문장이 '트럼프의 당선으로 멜라니아는 미국의 두 번째 이민자 출신이자 첫 공산권 국가 출신 퍼스트 레이디가 됐다.'라고 가정하면, 질의 데이터에 대한 최종 부그래프의 스키마 정보는 '멜라니아 트럼프/Person, 멜라니/Singer, 도날드 트럼프/Person, 이민자/RQCWho, 퍼스트 레이디/PoliticalPerson, 몇번째/Sequence'이고, 검색된 문서 문장에서의 스키마 정보는 '도널드 트럼프/Person, 멜라니아 트럼프/Person, 미국/Nation, 이민자/RQCWho, 퍼스트 레이디/PoliticalPerson, 멜라니/Singer. 두번째/Sequence'이다.
질의 데이터에 대한 정답은 '두 번째'이다. 질의 데이터에서 나타난 '몇번째'에 해당하는 개체명과 응답 데이터의 '두 번째'에 해당하는 개체명이 동일한 시퀀스(Sequence) 타입이므로 응답 데이터의 타입이 검증될 수 있다. 또한, 시퀀스 타입이므로 한글 문자열이 아닌 수치형으로 표현되어 있더라도 응답 데이터의 검증이 가능하다.
한편, 개체명 사전을 통해 개체명이 인식되지 않은 경우, 색인부(150)는 관계명 사전을 이용한 관계명의 의미적 인식을 통해 개체명의 도메인을 한정하고, 해당 개체명의 도메인에 기초하여 수집된 복수의 문서에 포함된 문장에 대해 색인 프로세스를 수행할 수 있다. 관계명의 의미적 인식을 통해 한정된 개체명의 도메인을 이용함으로써 검색 정확도를 높일 수 있다.
예를 들어, 특정 드라마의 약어(예컨대, 구르미 그린 달빛의 드라마 약어인 '구르미')나 부분 문자열이 포함된 질의 데이터의 경우, 해당 질의 데이터에 포함된 개체명이 개체명 사전을 통해 인식되지 않더라도 관계명의 의미적 인식을 통해 유추된 개체명의 도메인을 통해 질의에 대한 답변을 도출할 수 있다.
다른 예로, '코로나가 언제 시작됐어?'를 포함하는 질의 데이터의 경우, '코로나' 개체명이 어떤 개체명(예컨대, 바이러스 개체명, 맥주 개체명, 플라즈마 대기 개체명 등)에 대응되는지 확인이 어렵다. 또한, '코로나' 키워드를 이용하여 검색하는 경우에도 해당 '코로나' 키워드 대응하는 정확한 개체명에 대해 기술된 문서를 검색할 확률이 높지 않다.
따라서, 색인부(150)는 '코로나가 언제 시작됐어?'를 포함하는 질의 데이터를 구성하는 일부 표현인 '언제 시작됐어?' 질의 표현 정보에 기초하여 관계명 사전으로부터 '발생일' 관계명을 도출할 수 있다. 또한, 색인부(150)는 '발생일' 관계명이 관계명 사전 내 어느 클래스에 연결이 되는지를 확인하여 '발생일' 관계명과 관계된 스키마 정보를 관계명 사전으로부터 추출할 수 있다.
이후, 질의 분석부(120)는 '코로나가 언제 시작됐어?'를 포함하는 질의 데이터의 분석 결과로부터 '코로나'(개체명이 아닌 키워드) 토큰, '발생일' 관계명 토큰(관계명 사전에 포함된 클래스 및 관계 의미 포함) 및 '언제 시작' 토큰을 추출할 수 있다.
검색부(미도시)는 질의 분석부(120)에 의해 추출된 '코로나' 토큰, '발생일' 관계명 토큰 및 '언제 시작' 토큰을 이용하여 지식 그래프의 노드 및 엣지를 검색할 수 있다.
부그래프 도출부(130)는 질의 데이터에 대한 분석 결과에 기초하여 지식 그래프를 이용한 부그래프의 탐색을 통해 의미적으로 연결된 노드 및 엣지 집합인 복수의 부그래프를 생성할 수 있다. 이 때, 부그래프의 생성에 이용되지 않은 노드 및 엣지는 삭제된다.
질의 분석부(120)는 심층신경망을 통해 질의 데이터와 관련된 최적의 클래스, 개체명(인스턴스) 및 관계명을 도출함으로써 질의 데이터에 대한 의미적 질문 분석에 따른 결과를 도출할 수 있다.
또한, 문서 랭킹부(미도시)는 의미적 질의분석 결과와 키워드를 통해 문서 검색 및 검색된 문서별 랭킹을 수행할 수 있다. 이 과정에서 '코로나' 키워드와 '발생일' 관계명이 적정거리 내 존재하는 문서를 상위 랭킹으로 산출함으로써 '코로나' 키워드 검색시 나타날 수 있는 오검색 비율을 줄여 검색 정확도를 향상시킬 수 있다.
응답 도출부(140)는 기계 학습 모델(예컨대, MRC 모델 등)에 질의 데이터와 상위 랭킹의 문서를 입력하여 질의 데이터에 대한 답변을 도출할 수 있다.
이처럼, 본 발명은 오픈 도메인 및 실시간 정보에 대한 질의 데이터에 대해서도 정확한 답변을 제공할 수 있다.
한편, 당업자라면, 수집부(100), 지식 그래프 생성부(110), 질의 분석부(120), 부그래프 도출부(130), 응답 도출부(140) 및 색인부(150) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다.
도 4는 본 발명의 일 실시예에 따른, 지식 그래프에 기초하여 응답을 도출하는 방법을 나타낸 흐름도이다.
도 4를 참조하면, 단계 S401에서 응답 도출 장치(10)는 오픈 도메인으로부터 주어 정보, 목적 정보 및 주어 정보 및 목적 정보 간의 술어 정보를 포함하는 시맨틱 정보를 수집할 수 있다.
단계 S403에서 응답 도출 장치(10)는 주어 정보, 술어 정보 및 목적 정보에 기초하여 지식 그래프를 생성할 수 있다.
단계 S405에서 응답 도출 장치(10)는 질의 데이터를 입력받을 수 있다.
단계 S407에서 응답 도출 장치(10)는 입력된 질의 데이터를 분석할 수 있다.
단계 S409에서 응답 도출 장치(10)는 질의 데이터에 대한 분석 결과에 기초하여 생성된 지식 그래프로부터 적어도 하나의 부그래프를 탐색할 수 있다.
단계 S411에서 응답 도출 장치(10)는 탐색된 적어도 하나의 부그래프 중 최종 부그래프를 도출할 수 있다.
단계 S413에서 응답 도출 장치(10)는 도출된 최종 부그래프에 기초하여 오픈 도메인으로부터 수집된 복수의 문서 중 적어도 하나의 문서를 선택할 수 있다.
단계 S415에서 응답 도출 장치(10)는 선택된 문서에 기초하여 질의 데이터에 대한 응답 데이터를 도출할 수 있다.
상술한 설명에서, 단계 S401 내지 S415는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 응답 도출 장치
100: 수집부
110: 지식 그래프 생성부
120: 질의 분석부
130: 부그래프 도출부
140: 응답 도출부
150: 색인부

Claims (18)

  1. 지식 그래프에 기초하여 응답을 도출하는 장치에 있어서,
    오픈 도메인으로부터 주어 정보, 목적 정보 및 상기 주어 정보 및 상기 목적 정보 간의 술어 정보를 포함하는 시맨틱 정보를 수집하는 수집부;
    상기 주어 정보, 상기 술어 정보 및 상기 목적 정보에 기초하여 지식 그래프를 생성하는 지식 그래프 생성부;
    질의 데이터를 입력받고, 상기 입력된 질의 데이터를 분석하는 질의 분석부;
    상기 질의 데이터에 대한 분석 결과에 기초하여 상기 생성된 지식 그래프로부터 적어도 하나의 부그래프(Sub-graph)를 탐색하고, 상기 탐색된 적어도 하나의 부그래프 중 최종 부그래프를 도출하는 부그래프 도출부; 및
    상기 도출된 최종 부그래프에 기초하여 상기 오픈 도메인으로부터 수집된 복수의 문서 중 적어도 하나의 문서를 선택하고, 상기 선택된 문서에 기초하여 상기 질의 데이터에 대한 응답 데이터를 도출하는 응답 도출부
    를 포함하되,
    상기 부그래프 도출부는 상기 적어도 하나의 부그래프 각각으로부터 추출된 트리플 집합을 2차원 행렬의 입력 벡터로 구성하고,
    상기 적어도 하나의 부그래프에 대응하는 입력 벡터에 기초하여 상기 최종 부그래프를 도출하는 것인, 응답 도출 장치.
  2. 제 1 항에 있어서,
    상기 지식 그래프 생성부는 상기 주어 정보 및 상기 목적 정보에 대응하는 노드를 생성하고, 각 노드 간의 술어 정보를 나타내는 엣지를 생성하고, 상기 노드 및 상기 엣지에 기초하여 지식 그래프를 생성하는 것인, 응답 도출 장치.
  3. 제 2 항에 있어서,
    상기 지식 그래프 생성부는 기등록된 개체명 사전 및 관계명 사전에 기초하여 상기 지식 그래프에 포함된 노드 또는 엣지에 대한 스키마(Schema) 정보에 개체명 또는 관계명을 매핑시키는 것인, 응답 도출 장치.
  4. 제 3 항에 있어서,
    상기 지식 그래프 생성부는 기등록된 유의어 사전에 기초하여 상기 매핑된 개체명 또는 관계명과 관련된 유의어를 상기 지식 그래프를 통해 관리하는 것인, 응답 도출 장치.
  5. 제 3 항에 있어서,
    상기 개체명 사전 및 상기 관계명 사전을 이용한 개체명 인식 결과에 기초하여 상기 수집된 복수의 문서에 포함된 문장에 대해 색인 프로세스를 수행하는 색인부
    를 더 포함하고,
    상기 질의 분석부는 상기 개체명 인식 결과에 기초하여 상기 질의 데이터를 분석하는 것인, 응답 도출 장치.
  6. 제 5 항에 있어서,
    상기 색인부는 형태소 분석 결과 및 토크나이저(Tokenizer) 결과에 더 기초하여 상기 수집된 복수의 문서에 포함된 문장에 대해 색인 프로세스를 수행하고,
    상기 질의 분석부는 상기 형태소 분석 결과 및 상기 토크나이저 결과에 더 기초하여 상기 질의 데이터를 더 분석하는 것인, 응답 도출 장치.
  7. 제 5 항에 있어서,
    상기 부그래프 도출부는 상기 질의 데이터에 대한 분석 결과에 포함되는 주어 정보 또는 술어 정보에 기초하여 상기 지식 그래프로부터 적어도 하나의 노드 또는 엣지를 검색하고, 상기 검색된 노드 또는 엣지에 기초하여 복수의 부그래프를 추출하는 것인, 응답 도출 장치.
  8. 제 7 항에 있어서,
    상기 부그래프 도출부는 상기 추출된 복수의 부그래프 각각으로부터 트리플 집합을 추출하고, 기학습된 딥러닝 네트워크에 기초하여 상기 추출된 트리플 집합 및 상기 질의 데이터에 대한 분석 결과 간의 유사도를 도출하고, 상기 도출된 유사도에 기초하여 상기 추출된 복수의 부그래프 중 최종 부그래프를 도출하고,
    상기 트리플 집합은 상기 각각의 부그래프에 포함된 적어도 둘의 노드에 대한 정보 및 상기 적어도 둘의 노드 간을 연결시키는 엣지에 대한 정보를 포함하고,
    상기 적어도 둘의 노드 및 상기 적어도 둘의 노드 간을 연결시키는 엣지는 상기 지식 그래프에 대한 스키마 정보와 매핑되어 있는 것인, 응답 도출 장치.
  9. 제 8 항에 있어서,
    상기 부그래프 도출부는 상기 각각의 부그래프에 대응하는 입력 벡터의 행 또는 열에 상기 지식 그래프에 대한 스키마 정보를 매핑시키고. 상기 각각의 부그래프로부터 추출된 트리플 집합을 상기 각각의 부그래프에 대응하는 입력 벡터에 매핑시키고, 상기 각각의 부그래프별 트리플 집합이 매핑된 입력 벡터를 상기 딥러닝 네트워크에 입력하는 것인, 응답 도출 장치.
  10. 제 1 항에 있어서,
    상기 응답 도출부는 상기 최종 부그래프에 포함된 노드 또는 엣지에 대한 키워드, 개체명, 관계명, 스키마 정보 중 적어도 하나에 기초하여 상기 복수의 문서 중 적어도 하나의 문서를 선택하는 것인, 응답 도출 장치.
  11. 지식 그래프에 기초하여 응답을 도출하는 방법에 있어서,
    오픈 도메인으로부터 주어 정보, 목적 정보 및 상기 주어 정보 및 상기 목적 정보 간의 술어 정보를 포함하는 시맨틱 정보를 수집하는 단계;
    상기 주어 정보, 상기 술어 정보 및 상기 목적 정보에 기초하여 지식 그래프를 생성하는 단계;
    질의 데이터를 입력받는 단계;
    상기 입력된 질의 데이터를 분석하는 단계;
    상기 질의 데이터에 대한 분석 결과에 기초하여 상기 생성된 지식 그래프로부터 적어도 하나의 부그래프를 탐색하는 단계;
    상기 탐색된 적어도 하나의 부그래프 중 최종 부그래프를 도출하는 단계;
    상기 도출된 최종 부그래프에 기초하여 상기 오픈 도메인으로부터 수집된 복수의 문서 중 적어도 하나의 문서를 선택하는 단계; 및
    상기 선택된 문서에 기초하여 상기 질의 데이터에 대한 응답 데이터를 도출하는 단계
    를 포함하되,
    상기 최종 부그래프를 도출하는 단계는
    상기 적어도 하나의 부그래프 각각으로부터 추출된 트리플 집합을 2차원 행렬의 입력 벡터로 구성하는 단계; 및
    상기 적어도 하나의 부그래프에 대응하는 입력 벡터에 기초하여 상기 최종 부그래프를 도출하는 단계를 포함하는 것인, 응답 도출 방법.
  12. 제 11 항에 있어서,
    상기 지식 그래프를 생성하는 단계는,
    상기 주어 정보 및 상기 목적 정보에 대응하는 노드를 생성하는 단계;
    각 노드 간의 술어 정보를 나타내는 엣지를 생성하는 단계; 및
    상기 노드 및 상기 엣지에 기초하여 지식 그래프를 생성하는 단계
    를 포함하는 것인, 응답 도출 방법.
  13. 제 12 항에 있어서,
    상기 지식 그래프를 생성하는 단계는,
    기등록된 개체명 사전 및 관계명 사전에 기초하여 상기 지식 그래프에 포함된 노드 또는 엣지에 개체명 또는 관계명을 매핑시키는 단계
    를 더 포함하는 것인, 응답 도출 방법.
  14. 제 13 항에 있어서,
    상기 개체명 사전 및 상기 관계명 사전을 이용한 개체명 인식 결과에 기초하여 상기 수집된 복수의 문서에 포함된 문장에 대해 색인 프로세스를 수행하는 단계
    를 더 포함하고,
    상기 입력된 질의 데이터를 분석하는 단계는 상기 개체명 인식 결과에 기초하여 상기 질의 데이터를 분석하는 것인, 응답 도출 방법.
  15. 제 14 항에 있어서,
    상기 부그래프를 탐색하는 단계는,
    상기 질의 데이터에 대한 분석 결과에 포함되는 주어 정보 또는 술어 정보에 기초하여 상기 지식 그래프로부터 적어도 하나의 노드 또는 엣지를 검색하는 단계; 및
    상기 검색된 노드 또는 엣지에 기초하여 복수의 부그래프를 추출하는 단계
    를 포함하는 것인, 응답 도출 방법.
  16. 제 15 항에 있어서,
    상기 최종 부그래프를 도출하는 단계는.
    상기 추출된 복수의 부그래프 각각으로부터 트리플 집합을 추출하는 단계;
    기학습된 딥러닝 네트워크에 기초하여 상기 추출된 트리플 집합 및 상기 질의 데이터에 대한 분석 결과 간의 유사도를 도출하는 단계; 및
    상기 도출된 유사도에 기초하여 상기 추출된 복수의 부그래프 중 최종 부그래프를 도출하는 단계
    를 포함하고,
    상기 트리플 집합은 상기 각각의 부그래프에 포함된 적어도 둘의 노드에 대한 정보 및 상기 적어도 둘의 노드를 연결시키는 엣지에 대한 정보를 포함하는 것인, 응답 도출 방법.
  17. 제 11 항에 있어서,
    상기 문서를 선택하는 단계는,
    상기 최종 부그래프에 포함된 노드 또는 엣지에 대한 키워드, 개체명, 관계명, 스키마 정보 중 적어도 하나에 기초하여 상기 복수의 문서 중 적어도 하나의 문서를 선택하는 것인, 응답 도출 방법.
  18. 지식 그래프에 기초하여 응답을 도출하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
    오픈 도메인으로부터 주어 정보, 목적 정보 및 상기 주어 정보 및 상기 목적 정보 간의 술어 정보를 포함하는 시맨틱 정보를 수집하고,
    상기 주어 정보, 상기 술어 정보 및 상기 목적 정보에 기초하여 지식 그래프를 생성하고,
    질의 데이터에 대한 분석 결과에 기초하여 상기 생성된 지식 그래프로부터 적어도 하나의 부그래프를 탐색하고,
    상기 탐색된 적어도 하나의 부그래프 중 최종 부그래프를 도출하고,
    상기 도출된 최종 부그래프에 기초하여 상기 오픈 도메인으로부터 수집된 복수의 문서 중 적어도 하나의 문서를 선택하고,
    상기 선택된 문서에 기초하여 상기 질의 데이터에 대한 응답 데이터를 도출하고,
    상기 적어도 하나의 부그래프 각각으로부터 추출된 트리플 집합을 2차원 행렬의 입력 벡터로 구성하고,
    상기 적어도 하나의 부그래프에 대응하는 입력 벡터에 기초하여 상기 최종 부그래프를 도출하도록 하는 명령어들의 시퀀스를 포함하는, 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
KR1020200049180A 2020-04-23 2020-04-23 지식 그래프에 기초하여 응답을 도출하는 장치, 방법 및 컴퓨터 프로그램 KR102398832B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200049180A KR102398832B1 (ko) 2020-04-23 2020-04-23 지식 그래프에 기초하여 응답을 도출하는 장치, 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200049180A KR102398832B1 (ko) 2020-04-23 2020-04-23 지식 그래프에 기초하여 응답을 도출하는 장치, 방법 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20210130976A KR20210130976A (ko) 2021-11-02
KR102398832B1 true KR102398832B1 (ko) 2022-05-17

Family

ID=78476241

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200049180A KR102398832B1 (ko) 2020-04-23 2020-04-23 지식 그래프에 기초하여 응답을 도출하는 장치, 방법 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102398832B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102641137B1 (ko) 2023-12-14 2024-02-28 주식회사 예랑 인공지능 모델 기반 우주 기술의 산출 데이터에 대한 질의 응답 제공 방법, 장치 및 시스템

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102691376B1 (ko) * 2022-01-20 2024-08-05 주식회사 대교 인공지능 챗봇에 기반한 대화형 국어 학습서비스 제공 방법 및 장치
KR102524690B1 (ko) * 2022-07-13 2023-04-24 에이셀테크놀로지스 주식회사 뉴스 티커 매핑 방법 및 이러한 방법을 수행하는 장치
KR102524691B1 (ko) * 2022-07-19 2023-04-24 에이셀테크놀로지스 주식회사 뉴스에 관련된 후보 기업을 결정하는 방법 및 이러한 방법을 수행하는 장치
KR102519763B1 (ko) * 2022-07-25 2023-04-11 에이셀테크놀로지스 주식회사 스코어링을 기반으로 뉴스에 관련된 기업을 결정하는 방법 및 이러한 방법을 수행하는 장치
CN116860909B (zh) * 2023-09-04 2023-12-22 宁波甬恒瑶瑶智能科技有限公司 基于生化知识图谱的数据存储方法、系统及存储介质
KR102697130B1 (ko) * 2023-10-20 2024-08-22 주식회사 디윅스 분산 데이터 구조화를 통한 일관성 있는 답변 생성 방법 및 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4746439B2 (ja) 2006-02-15 2011-08-10 株式会社ジャストシステム 文書検索サーバおよび文書検索方法
KR101082814B1 (ko) * 2008-12-29 2011-11-11 한양대학교 산학협력단 키워드를 이용한 온톨로지 정보 검색 방법 및 장치
KR101231804B1 (ko) * 2010-12-14 2013-02-08 한국과학기술원 온톨로지 기반의 임포트 그래프 생성 방법과 임포트 그래프를 이용한 질의 처리 장치 및 방법
KR101835345B1 (ko) * 2016-02-29 2018-03-07 경기대학교 산학협력단 지식베이스 기반의 개념그래프 확장 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이기호, 김인철, 지식 그래프 추론 기반의 오픈 도메인 질문 응답, 한국정보과학회 학술발표논문집, 2019.12, 467-469페이지. 1부.*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102641137B1 (ko) 2023-12-14 2024-02-28 주식회사 예랑 인공지능 모델 기반 우주 기술의 산출 데이터에 대한 질의 응답 제공 방법, 장치 및 시스템

Also Published As

Publication number Publication date
KR20210130976A (ko) 2021-11-02

Similar Documents

Publication Publication Date Title
KR102398832B1 (ko) 지식 그래프에 기초하여 응답을 도출하는 장치, 방법 및 컴퓨터 프로그램
Andhale et al. An overview of text summarization techniques
CN106844658B (zh) 一种中文文本知识图谱自动构建方法及系统
KR102094934B1 (ko) 자연어 질의 응답 시스템 및 방법
KR100533810B1 (ko) 백과사전 질의응답 시스템의 지식베이스 반자동 구축 방법
CN105528437B (zh) 一种基于结构化文本知识提取的问答系统构建方法
CN111949758A (zh) 医疗问答推荐方法、推荐系统和计算机可读存储介质
CN109947952B (zh) 基于英语知识图谱的检索方法、装置、设备及存储介质
KR20050032937A (ko) 언어분석 기반 자동 질문/정답 색인 방법과 그 질의응답방법 및 시스템
CN110390006A (zh) 问答语料生成方法、装置和计算机可读存储介质
US8812504B2 (en) Keyword presentation apparatus and method
KR20120061133A (ko) 질문 형태 및 도메인 인식 장치 및 그 방법
CN109977291B (zh) 基于物理知识图谱的检索方法、装置、设备及存储介质
CN109783806A (zh) 一种利用语义解析结构的文本匹配方法
Armouty et al. Automated keyword extraction using support vector machine from Arabic news documents
KR102411778B1 (ko) 다중 지식의 비교 우위를 추론하는 서버, 방법 및 컴퓨터 프로그램
Biltawi et al. Arabic question answering systems: gap analysis
KR101333485B1 (ko) 온라인 사전을 이용한 개체명 사전 구축 방법 및 이를 실행하는 장치
Al-Smadi et al. Leveraging linked open data to automatically answer Arabic questions
Nabil et al. AlQuAnS-An Arabic Language Question Answering System.
Kim et al. Design of question answering system with automated question generation
Indra et al. A Hybrid Information Retrieval for Indonesian Translation of Quran by Using Single Pass Clustering Algorithm
Garrido et al. NEREA: Named entity recognition and disambiguation exploiting local document repositories
Zeid et al. Arabic question answering system using graph ontology
Shunmughavel et al. A Concept-based Ontology Mapping Method for Effective Retrieval of Bio-Medical Documents

Legal Events

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