KR102292040B1 - System and method for extracting knowledge based on machine reading - Google Patents

System and method for extracting knowledge based on machine reading Download PDF

Info

Publication number
KR102292040B1
KR102292040B1 KR1020190126282A KR20190126282A KR102292040B1 KR 102292040 B1 KR102292040 B1 KR 102292040B1 KR 1020190126282 A KR1020190126282 A KR 1020190126282A KR 20190126282 A KR20190126282 A KR 20190126282A KR 102292040 B1 KR102292040 B1 KR 102292040B1
Authority
KR
South Korea
Prior art keywords
knowledge
entity
answer
query
instance
Prior art date
Application number
KR1020190126282A
Other languages
Korean (ko)
Other versions
KR20210043283A (en
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 KR1020190126282A priority Critical patent/KR102292040B1/en
Publication of KR20210043283A publication Critical patent/KR20210043283A/en
Application granted granted Critical
Publication of KR102292040B1 publication Critical patent/KR102292040B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data

Landscapes

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

Abstract

문서로부터 지식을 추출하기 위한 지식 추출 방법은, 본 발명의 예시적 실시예에 따라, 입력 문서로부터 개체(entity)를 추출하는 단계, 개체의 속성 리스트에 포함된 속성에 기초하여, 개체를 포함하는 질의를 입력 문서로부터 생성하는 단계, 기계 독해(machine reading comprehension)에 기초하여, 입력 문서로부터 질의의 답변을 추출하는 단계, 및 지식베이스의 형식에 기초하여, 개체, 속성 및 답변으로부터 지식 인스턴스를 생성하는 단계를 포함할 수 있다.A knowledge extraction method for extracting knowledge from a document includes, according to an exemplary embodiment of the present invention, extracting an entity from an input document, based on an attribute included in an attribute list of the entity, including the entity generating a query from an input document, extracting an answer to the query from the input document based on machine reading comprehension, and generating a knowledge instance from entities, attributes and answers based on the format of the knowledgebase may include the step of

Figure R1020190126282
Figure R1020190126282

Description

기계 독해 기반 지식 추출을 위한 시스템 및 방법{SYSTEM AND METHOD FOR EXTRACTING KNOWLEDGE BASED ON MACHINE READING}SYSTEM AND METHOD FOR EXTRACTING KNOWLEDGE BASED ON MACHINE READING

본 발명의 기술적 사상은 지식 추출에 관한 것으로서, 자세하게는 기계 독해(machine reading comprehension)에 기초하여 지식을 추출하기 위한 시스템 및 방법에 관한 것이다.The technical idea of the present invention relates to knowledge extraction, and more particularly, to a system and method for extracting knowledge based on machine reading comprehension.

본 발명은 산업자원통상부 로봇산업핵심기술개발사업-인공지능융합로봇시스템기술의 일환으로 (주)아이피엘에서 주관하고 (주)솔트룩스에서 공동 연구하여 수행된 연구로부터 도출된 것이다. [연구기간: 2019.01.01~2019.12.31, 연구관리 전문기관: 한국산업기술평가관리원, 연구과제명: 가정용 소셜로봇 및 서비스 개발 시스템, 과제 고유번호: 10077633]The present invention is derived from research conducted by IPL Co., Ltd. and jointly researched by Saltlux Co., Ltd. as part of the Robot Industry Core Technology Development Project-Artificial Intelligence Convergence Robot System Technology of the Ministry of Trade, Industry and Energy. [Research period: 2019.01.01~2019.12.31, specialized research institute: Korea Institute of Industrial Technology Evaluation and Planning, research project name: home social robot and service development system, project identification number: 10077633]

컴퓨터가 인식 가능한 형태로 지식을 저장하는 지식베이스(knowledgebase)는, 저장된 지식을 활용하는 다양한 서비스들을 가능하게 한다. 예를 들면, 사용자의 질의에 대하여 답변을 제공하는 질의 답변 시스템(question and answering system)은 사용자의 질의를 분석한 후, 지식베이스에 저장된 지식을 참조하여 답변을 제공할 수 있다. 이러한 지식베이스를 활용한 서비스의 품질 및 범위는 지식베이스에 포함된 지식의 정확도 및 양에 좌우될 수 있고, 이에 따라 지식베이스에 보강하기 위한 정확한 지식을 확보하는 것이 중요할 수 있다.A knowledgebase that stores knowledge in a computer-recognizable form enables various services utilizing the stored knowledge. For example, a question and answering system that provides an answer to a user's query may provide an answer by referring to knowledge stored in a knowledge base after analyzing the user's query. The quality and scope of a service using such a knowledge base may depend on the accuracy and amount of knowledge included in the knowledge base, and accordingly, it may be important to secure accurate knowledge for reinforcing the knowledge base.

본 발명의 기술적 사상은, 기계 독해에 기초하여 정확한 지식을 자동으로 추출하기 위한 시스템 및 방법을 제공한다.The technical idea of the present invention provides a system and method for automatically extracting accurate knowledge based on machine reading.

상기와 같은 목적을 달성하기 위하여, 본 발명의 기술적 사상의 일측면에 따라, 문서로부터 지식을 추출하기 위한 지식 추출 시스템은, 입력 문서로부터 개체(entity)를 추출하는 개체 추출부, 개체의 속성 리스트에 포함된 속성에 기초하여, 개체를 포함하는 질의를 구성된 질의 생성부, 입력 문서로부터 질의의 답변을 추출하는 기계 독해(machine reading comprehension) 엔진, 및 지식베이스의 형식에 기초하여, 개체, 속성 및 답변으로부터 지식 인스턴스를 생성하는 지식 생성부를 포함할 수 있다.In order to achieve the above object, according to an aspect of the technical idea of the present invention, a knowledge extraction system for extracting knowledge from a document includes an entity extractor for extracting an entity from an input document, and an entity attribute list Based on the properties included in the query generator configured to query including the object, a machine reading comprehension engine that extracts the answer to the query from the input document, and based on the format of the knowledge base, the object, property and It may include a knowledge generator that generates a knowledge instance from the answer.

본 발명의 예시적 실시예에 따라, 개체 추출부는, 입력 문서의 제목으로부터 개체를 추출할 수 있다.According to an exemplary embodiment of the present invention, the entity extraction unit may extract the entity from the title of the input document.

본 발명의 예시적 실시예에 따라, 질의 생성부는, 속성 리스트에 포함된 복수의 속성들 각각을 순차적으로 선택하고, 개체에 대응하는 제1 워드 벡터 및 선택된 속성에 대응하는 제2 워드 벡터를 생성하는 전처리부, 샘플 객체들 및 샘플 속성들에 따라 샘플 질의들을 생성하도록 학습되고, 제1 워드 벡터 및 제2 워드 벡터로부터 질의에 대응하는 제3 워드 벡터를 생성하도록 제1 딥 러닝 네트워크, 및 제3 워드 벡터로부터 질의를 생성하는 후처리부를 포함할 수 있다.According to an exemplary embodiment of the present invention, the query generating unit sequentially selects each of a plurality of attributes included in the attribute list, and generates a first word vector corresponding to the entity and a second word vector corresponding to the selected attribute. a preprocessor that is trained to generate sample queries according to sample objects and sample properties, a first deep learning network to generate a third word vector corresponding to the query from a first word vector and a second word vector, and a second It may include a post-processing unit that generates a query from a three-word vector.

본 발명의 예시적 실시예에 따라, 기계 독해 엔진은, 입력 문서 및 질의를 자연어 처리함으로써 입력 데이터를 생성하는 자연어 처리부, 자연어 처리된 샘플 문서들 및 샘플 질의들에 따라 샘플 답변들을 출력하도록 학습되고, 입력 데이터로부터 출력 데이터를 생성하는 제2 딥 러닝 네트워크, 및 제2 딥 러닝 네트워크의 출력에 기초하여, 답변을 생성하는 답변 생성부를 포함할 수 있고, 출력 데이터는, 입력 문서에서 정답의 포함 여부, 정답의 위치, 정답의 신뢰도 중 적어도 하나를 포함할 수 있다.According to an exemplary embodiment of the present invention, the machine reading engine is trained to output sample answers according to a natural language processing unit generating input data by natural language processing an input document and query, natural language processing sample documents and sample queries, and , a second deep learning network that generates output data from the input data, and an answer generator that generates an answer based on the output of the second deep learning network, wherein the output data includes a correct answer in the input document , the position of the correct answer, and may include at least one of the reliability of the correct answer.

본 발명의 예시적 실시예에 따라, 답변 생성부는, 입력 문서에 정답이 포함되지 아니하거나 신뢰도가 미리 정의된 문턱값 미만인 경우, 답변의 추출 실패를 판정할 수 있다.According to an exemplary embodiment of the present invention, the answer generating unit may determine an answer extraction failure when the correct answer is not included in the input document or the reliability is less than a predefined threshold.

본 발명의 예시적 실시예에 따라, 질의 생성부는, 답변의 추출 실패에 응답하여, 속성 리스트에 포함된 다음 속성에 기초하여 질의를 생성할 수 있다.According to an exemplary embodiment of the present invention, the query generator may generate a query based on the next attribute included in the attribute list in response to the failure to extract the answer.

본 발명의 예시적 실시예에 따라, 지식베이스는, 주어(subject), 술어(predicate) 및 목적어(object)를 포함하는 트리플(triple)을 포함할 수 있고, 지식 생성부는, 개체, 속성 및 답변을, 주어, 술어 및 목적어로서 포함하는 트리플을 지식 인스턴스로서 생성할 수 있다.According to an exemplary embodiment of the present invention, the knowledge base may include a triple including a subject, a predicate, and an object, and the knowledge generating unit includes an object, an attribute, and an answer. A triple including , as a subject, a predicate, and an object can be created as a knowledge instance.

본 발명의 예시적 실시예에 따라, 지식 추출 시스템은, 네트워크를 통해서 지식 인스턴스의 적어도 일부에 기초하여 문서를 검색하고, 검색된 문서 및 질의를 기계 독해 엔진에 제공하고, 기계 독해 엔진의 출력에 기초하여 지식 인스턴스를 검증하는 지식 검증부를 더 포함할 수 있다.According to an exemplary embodiment of the present invention, the knowledge extraction system retrieves the document based on at least a portion of the knowledge instance over the network, provides the retrieved document and query to the machine reading engine, and based on the output of the machine reading engine to further include a knowledge verification unit that verifies the knowledge instance.

본 발명의 예시적 실시예에 따라, 지식 생성부는, 지식베이스에 포함된 지식 인스턴스의 형식에 기초하여 개체, 속성 및 답변을 후처리함으로써 후보 지식 인스턴스를 생성하는 후보 인스턴스 생성부, 및 후보 지식 인스턴스를 지식베이스에 포함된 지식 인스턴스들과 비교함으로써 지식 인스턴스를 생성하고, 지식베이스에 보강하는 인스턴스 비교부를 포함할 수 있다.According to an exemplary embodiment of the present invention, the knowledge generating unit includes: a candidate instance generating unit that generates a candidate knowledge instance by post-processing an entity, an attribute, and an answer based on the format of the knowledge instance included in the knowledge base, and the candidate knowledge instance may include an instance comparison unit for generating a knowledge instance by comparing .

본 발명의 기술적 사상의 일측면에 따라, 문서로부터 지식을 추출하기 위한 지식 추출 방법은, 입력 문서로부터 개체(entity)를 추출하는 단계, 개체의 속성 리스트에 포함된 속성에 기초하여, 개체를 포함하는 질의를 입력 문서로부터 생성하는 단계, 기계 독해(machine reading comprehension)에 기초하여, 입력 문서로부터 질의의 답변을 추출하는 단계, 및 지식베이스의 형식에 기초하여, 개체, 속성 및 답변으로부터 지식 인스턴스를 생성하는 단계를 포함할 수 있다.According to an aspect of the technical concept of the present invention, a knowledge extraction method for extracting knowledge from a document includes the steps of extracting an entity from an input document, based on an attribute included in the attribute list of the entity, including the entity generating a query from an input document that asks, based on machine reading comprehension, extracting an answer to the query from the input document, and based on the format of the knowledgebase, generating a knowledge instance from objects, attributes, and answers. It may include the step of generating.

본 발명의 기술적 사상에 따른 시스템 및 방법에 의하면, 기술적으로 성숙한 기계 독해에 기초하여 문서로부터 지식이 용이하게 추출될 수 있다.According to the system and method according to the technical idea of the present invention, knowledge can be easily extracted from a document based on a technically mature machine reading.

또한, 본 발명의 기술적 사상에 따른 시스템 및 방법에 의하면, 추출된 지식이 검증될 수 있고, 최종적으로 정확한 지식이 추출될 수 있다.In addition, according to the system and method according to the technical idea of the present invention, extracted knowledge can be verified, and finally, accurate knowledge can be extracted.

또한, 본 발명의 기술적 사상에 따른 시스템 및 방법에 의하면, 용이하고 정확하게 추출된 지식에 기인하여 지식베이스가 효율적으로 보강될 수 있고, 이에 따라 지식베이스에 기반한 서비스들의 품질이 향상되고 범위가 확대될 수 있다.In addition, according to the system and method according to the technical idea of the present invention, the knowledge base can be effectively reinforced due to easily and accurately extracted knowledge, and accordingly, the quality of the services based on the knowledge base can be improved and the scope can be expanded. can

본 발명의 예시적 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 기재로부터 본 발명의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 발명의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 발명의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.The effects obtainable in the exemplary embodiments of the present invention are not limited to the above-mentioned effects, and other effects not mentioned are common knowledge in the technical field to which exemplary embodiments of the present invention pertain from the following description. It can be clearly derived and understood by those who have That is, unintended effects of practicing the exemplary embodiments of the present invention may also be derived by those of ordinary skill in the art from the exemplary embodiments of the present invention.

도 1은 본 발명의 예시적 실시예에 따른 지식 추출 시스템 및 그 입출력을 나타내는 블록도이다.
도 2는 본 발명의 예시적 실시예에 따른 입력 문서 및 입력 문서로부터 추출된 개체의 예시들을 나타내는 도면이다.
도 3은 본 발명의 예시적 실시예에 따른 질의 생성부의 예시를 나타내는 블록도이다.
도 4는 본 발명의 예시적 실시예에 따라 질의를 생성하는 동작의 예시를 나타내는 도면이다.
도 5는 본 발명의 예시적 실시예에 따른 기계 독해 엔진의 예시를 나타내는 블록도이다.
도 6은 본 발명의 예시적 실시예에 따라 도 5의 자연어 처리부의 동작의 예시를 나타내는 도면이다.
도 7은 본 발명의 예시적 실시예에 따른 지식 추출을 위한 방법을 나타내는 순서도이다.
도 8은 본 발명의 예시적 실시예에 따른 지식 생성부의 예시를 나타내는 블록도이다.
도 9는 본 발명의 예시적 실시예에 따라 지식 생성부의 동작의 예시를 나타내는 도면이다.
도 10은 본 발명의 예시적 실시예에 따른 지식 추출을 위한 방법을 나타내는 순서도이다.
도 11은 본 발명의 예시적 실시예에 따른 지식 추출을 위한 방법을 나타내는 순서도이다.
1 is a block diagram showing a knowledge extraction system and its input/output according to an exemplary embodiment of the present invention.
2 is a diagram showing examples of an input document and an object extracted from the input document according to an exemplary embodiment of the present invention.
3 is a block diagram illustrating an example of a query generator according to an exemplary embodiment of the present invention.
4 is a diagram illustrating an example of an operation of generating a query according to an exemplary embodiment of the present invention.
5 is a block diagram illustrating an example of a machine reading comprehension engine according to an exemplary embodiment of the present invention.
6 is a diagram showing an example of the operation of the natural language processing unit of FIG. 5 according to an exemplary embodiment of the present invention.
7 is a flowchart illustrating a method for knowledge extraction according to an exemplary embodiment of the present invention.
8 is a block diagram illustrating an example of a knowledge generating unit according to an exemplary embodiment of the present invention.
9 is a diagram illustrating an example of an operation of a knowledge generating unit according to an exemplary embodiment of the present invention.
10 is a flowchart illustrating a method for knowledge extraction according to an exemplary embodiment of the present invention.
11 is a flowchart illustrating a method for knowledge extraction according to an exemplary embodiment of the present invention.

이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The embodiments of the present invention are provided to more completely explain the present invention to those of ordinary skill in the art. Since the present invention may have various changes and may have various forms, specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to the specific disclosed form, it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing each figure, like reference numerals are used for like elements. In the accompanying drawings, the dimensions of the structures are enlarged or reduced than the actual size for clarity of the present invention.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It is to be understood that it does not preclude the possibility of the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 아니하는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having meanings consistent with the meanings in the context of the related art, and unless explicitly defined in the present application, they should be interpreted in an ideal or excessively formal meaning. doesn't happen

이하 도면 및 설명에서, 하나의 블록으로 표시 또는 설명되는 구성요소는 하드웨어 블록 또는 소프트웨어 블록일 수 있다. 예를 들면, 구성요소들 각각은 서로 신호를 주고 받는 독립적인 하드웨어 블록일 수도 있고, 또는 하나의 프로세서에서 실행되는 소프트웨어 블록일 수도 있다. 또한, 본 명세서에서 "시스템" 또는 "데이터베이스"는 적어도 하나의 프로세서 및 프로세서에 의해서 액세스되는 메모리를 포함하는 컴퓨팅 시스템을 지칭할 수 있다.In the drawings and description below, a component indicated or described as one block may be a hardware block or a software block. For example, each of the components may be an independent hardware block that sends and receives signals with each other, or may be a software block executed by one processor. Also, as used herein, “system” or “database” may refer to a computing system including at least one processor and memory accessed by the processor.

도 1은 본 발명의 예시적 실시예에 따른 지식 추출 시스템 및 그 입출력을 나타내는 블록도이다. 도 1에 도시된 바와 같이, 지식 추출 시스템(100)은 입력 문서(DIN) 및 속성 리스트(PL)를 수신할 수 있고, 지식베이스(knowledgebase)(200)와 통신할 수 있으며, 네트워크(300)에 접속할 수 있다.1 is a block diagram showing a knowledge extraction system and its input/output according to an exemplary embodiment of the present invention. As shown in FIG. 1 , the knowledge extraction system 100 may receive an input document DIN and an attribute list PL, and communicate with a knowledgebase 200 , and a network 300 . can connect to

지식 추출 시스템(100)은, 이하에서 도면들을 참조하여 후술되는 바와 같이, 기계 독해(machine reading comprehension)에 기초하여 입력 문서(DIN)로부터 지식을 추출할 수 있고, 추출된 지식을 지식베이스(200)에 보강할 수 있다. 도 1에 도시된 바와 같이, 지식 추출 시스템(100)은 개체 추출부(110), 질의 생성부(130), 기계 독해 엔진(150), 지식 생성부(170) 및 지식 검증부(190)를 포함할 수 있다. 일부 실시예들에서, 도 1에 도시된 바와 상이하게 지식 추출 시스템(100)은, 지식베이스(200)와 통신하는 대신 추출된 지식을 다른 시스템, 예컨대 지식베이스(200)의 보강을 위한 시스템에 제공할 수도 있다. 또한, 일부 실시예들에서, 도 1에 도시된 바와 상이하게 지식 검증부(190)는 지식 추출 시스템(100)의 외부에 있을 수 있고, 지식 추출 시스템(100)은 외부의 지식 검증부와 (예컨대, 네트워크를 통해서) 통신함으로써 지식의 검증을 수행할 수도 있다. 또한, 일부 실시예들에서, 도 1에 도시된 바와 상이하게, 기계 독해 엔진(150)은 지식 추출 시스템(100)의 외부에 있을 수 있고, 지식 추출 시스템(100)은 외부의 기계 독해 엔진과 (예컨대, 네트워크를 통해서) 통신함으로써 질의(QUE)를 제공하거나 답변(ANS)을 수신할 수도 있다.The knowledge extraction system 100 may extract knowledge from the input document DIN based on machine reading comprehension, as will be described later with reference to the drawings, and use the extracted knowledge in the knowledge base 200 ) can be reinforced. As shown in FIG. 1 , the knowledge extraction system 100 includes an object extraction unit 110 , a query generation unit 130 , a machine reading comprehension engine 150 , a knowledge generation unit 170 , and a knowledge verification unit 190 . may include In some embodiments, unlike as shown in FIG. 1 , the knowledge extraction system 100 , instead of communicating with the knowledgebase 200 , transfers the extracted knowledge to another system, such as a system for augmenting the knowledgebase 200 . may provide. In addition, in some embodiments, differently as shown in FIG. 1 , the knowledge verification unit 190 may be external to the knowledge extraction system 100 , and the knowledge extraction system 100 is configured with an external knowledge verification unit ( Verification of knowledge may also be performed by communicating (eg, over a network). Also, in some embodiments, different from that shown in FIG. 1 , the machine reading engine 150 may be external to the knowledge extraction system 100 , and the knowledge extraction system 100 may be configured with an external machine reading engine. It is also possible to provide a query (QUE) or receive an answer (ANS) by communicating (eg, via a network).

지식베이스(200)는 온톨로지(ontology)에 기초하여 구조화된 지식들, 즉 지식 인스턴스들을 포함할 수 있다. 온톨로지는 실존하거나 사람이 인식 가능한 것들을 컴퓨터에서 다룰 수 있는 형태로 표현한 것으로서, 온톨로지 구성요소들은, 예컨대 개체(entity), 클래스(class), 속성(property), 값(value) 등을 포함할 수 있다. 추가적으로, 온톨로지 구성요소들은, 관계(relation), 함수 텀(function term), 제한(restriction), 규칙(rule), 사건(event) 등을 더 포함할 수 있다. 엔티티에 대한 특정 정보, 즉 지식은 지식 인스턴스(또는 단순하게 인스턴스)로서 지칭될 수 있고, 지식베이스(200)는 방대한 지식 인스턴스들을 저장할 수 있다. 일부 실시예들에서, 지식베이스(200)는 RDF(Resource Description Framework)에 기초하여 표현되는 지식 인스턴스들을 포함할 수 있고, 지식 인스턴스는 트리플(triple)로 표현될 수 있다. 지식베이스(200)는 쿼리, 예컨대 SPARQL(SPARQL Protocol and RDF Query Language) 쿼리에 응답하여 지식 인스턴스, 즉 트리플을 반환할 수 있다. 트리플은 "주어(subject; S)-술어(predicate; P)-목적어(object; O)"로 구성될 수 있고, 지식 인스턴스는 트리플의 주어뿐만 아니라 목적어도 될 수 있으며, 술어도 될 수 있다. 예를 들면, 지식베이스(200)는 개체 "이순신"을 포함하는 지식 인스턴스로서 "이순신(S)-국적(P)-조선(O)"이라는 트리플을 가질 수 있다.The knowledge base 200 may include structured knowledge based on an ontology, that is, knowledge instances. An ontology is an expression of real or human-recognizable things in a form that can be handled by a computer, and ontology components, for example, may include entities, classes, properties, values, etc. . Additionally, the ontology components may further include a relation, a function term, a restriction, a rule, an event, and the like. Specific information about an entity, ie, knowledge, may be referred to as a knowledge instance (or simply an instance), and the knowledge base 200 may store vast amounts of knowledge instances. In some embodiments, the knowledge base 200 may include knowledge instances expressed based on a Resource Description Framework (RDF), and the knowledge instances may be expressed as a triple. The knowledge base 200 may return a knowledge instance, that is, a triple in response to a query, for example, a SPARQL Protocol and RDF Query Language (SPARQL) query. A triple may consist of "subject (S)-predicate (P)-object (O)", and a knowledge instance can be the subject as well as the object of the triple, and can be a predicate. For example, the knowledge base 200 may have a triple of “Sun-Shin Yi (S)-Nationality (P)-Joseon (O)” as a knowledge instance including the entity “Sun-Shin Yi”.

개체 추출부(110)는 입력 문서(DIN)로부터 개체(ENT)를 추출할 수 있다. 개체(ENT)는 지식의 대상이 되는 것으로서, 지식베이스(200)에 포함되는 지식 인스턴스를 구성할 수 있다. 입력 문서(DIN)는 개체(ENT) 및 개체(ENT)에 대한 정보를 포함하는 임의의 데이터를 지칭할 수 있다. 예를 들면, 입력 문서(DIN)는 위키백과(wikipedia.org)와 같이 백과사전 서비스(또는 서버)로부터 제공되는 문서일 수도 있고, 신문이나 포털 등으로부터 제공되는 기사들일 수도 있으며, 소셜 네트워크 서비스(Social Network Service; SNS) 상에서 작성된 문서들일 수도 있다. 또한, 인터넷과 같은 네트워크를 통해서 획득되는 전술된 예시들과 상이하게, 입력 문서(DIN)는 로컬 스토리지에 저장된 데이터일 수도 있다. 입력 문서(DIN)는 정형 데이터일 수도 있고, 비정형 데이터일 수도 있다. 도 1에 도시된 바와 같이, 입력 문서(DIN)는 개체 추출부(110)뿐만 아니라 기계 독해 엔진(150)에도 제공될 수 있다. 입력 문서(DIN)의 예시가 도 2를 참조하여 후술될 것이다.The entity extraction unit 110 may extract the entity ENT from the input document DIN. The entity ENT is a target of knowledge and may constitute a knowledge instance included in the knowledge base 200 . The input document DIN may refer to an entity ENT and any data including information about the entity ENT. For example, the input document (DIN) may be a document provided from an encyclopedia service (or server) such as Wikipedia (wikipedia.org), articles provided from a newspaper or portal, etc., and a social network service ( They may be documents created on Social Network Service (SNS). Also, unlike the above-described examples obtained through a network such as the Internet, the input document DIN may be data stored in a local storage. The input document DIN may be structured data or unstructured data. As shown in FIG. 1 , the input document DIN may be provided not only to the entity extraction unit 110 , but also to the machine reading engine 150 . An example of the input document DIN will be described later with reference to FIG. 2 .

개체 추출부(110)는 임의의 방식으로 입력 문서(DIN)로부터 개체를 추출할 수 있다. 일부 실시예들에서, 개체 추출부(110)는 입력 문서(DIN)에 포함된 텍스트에 대하여 형태소 분석을 수행할 수 있고, 형태소들 중 명사에 대응하는 단어들 중 하나를 개체(ENT)로서 추출할 수 있다. 일부 실시예들에서, 개체 추출부(110)는 지식베이스(200)에 포함된 개체들 및/또는 지식 인스턴스들을 참조하여 명사에 대응하는 단어들을 필터링할 수 있고, 필터링된 단어를 개체(ENT)로서 추출할 수 있다. 일부 실시예들에서, 개체 추출부(110)는 의존성 파싱(dependency parsing) 및/또는 SRL(Semantic Role Labeling)에 기초하여 입력 문서(DIN)의 텍스트에 포함된 문장 분석을 통해서 개체를 추출할 수도 있다. 일부 실시예들에서, 개체 추출부(110)는, 도 2에 도시된 바와 같이, 입력 문서(DIN)의 제목으로부터 개체(ENT)를 추출할 수도 있다.The object extraction unit 110 may extract an object from the input document DIN in an arbitrary manner. In some embodiments, the entity extraction unit 110 may perform morpheme analysis on text included in the input document DIN, and extract one of words corresponding to a noun among morphemes as an entity ENT. can do. In some embodiments, the entity extraction unit 110 may filter words corresponding to nouns by referring to entities and/or knowledge instances included in the knowledge base 200 , and select the filtered word as an entity (ENT). can be extracted as In some embodiments, the entity extraction unit 110 may extract the entity through sentence analysis included in the text of the input document DIN based on dependency parsing and/or Semantic Role Labeling (SRL). have. In some embodiments, the entity extraction unit 110 may extract the entity ENT from the title of the input document DIN, as shown in FIG. 2 .

질의 생성부(130)는 개체 추출부(110)로부터 추출된 개체(ENT)를 수신할 수 있고, 속성 리스트(PL)를 수신할 수 있다. 속성 리스트(PL)는 지식베이스(200)에서 클래스들이 각각 가지는 속성들을 정의할 수 있다. 예를 들면, 속성 리스트(PL)는 클래스 "사람"은 "나이", "성별", "이름", "출생", "직업", "국적", "배우자" 등의 속성들을 정의할 수 있고, 이에 따라 클래스 "사람"에 속하는 개체로서 "이순신"을 포함하는 지식 인스턴스는, 전술된 속성들 중 하나의 속성 및 속성에 대응하는 다른 개체(예컨대, 직업, 국적 또는 배우자에 대응하는 개체) 또는 값(예컨대, 나이, 성별, 이름, 출생에 대응하는 개체) 을 포함할 수 있다. 일부 실시예들에서, 질의 생성부(130)는 입력 문서(DIN) 및/또는 지식베이스(200)를 참조하여 개체 추출부(110)로부터 제공되는 개체(ENT)가 속하는 클래스를 획득할 수 있고, 속성 리스트(PL)로부터 획득된 클래스에 대응하는 속성 그룹을 추출할 수 있다. 질의 생성부(130)는 개체(ENT) 및 속성 그룹에 포함된 복수의 속성들 중 하나의 속성(PRO)에 기초하여 질의(QUE)를 생성할 수 있다. 도 1에 도시된 바와 같이, 질의 생성부(130)는 질의(QUE)를 기계 독해 엔진(150)에 제공할 수 있고, 속성(PRO)을 지식 생성부(170)에 제공할 수 있다. 후술되는 바와 같이, 기계 독해 엔진(150)에 제공된 질의(QUE)는 답변(ANS)을 생성하는데 사용될 수도 있고, 지식 검증부(190)에 의해서 지식 인스턴스(INS)를 검증하는데 사용될 수도 있다. 일부 실시예들에서, 질의 생성부(130)는 지식베이스(200)로부터 속성 리스트(PL)를 수신할 수도 있다. 질의 생성부(130)에 대한 예시들이 도 3 및 도 4를 참조하여 후술될 것이다.The query generator 130 may receive the entity ENT extracted from the entity extractor 110 and receive the attribute list PL. The attribute list PL may define attributes each class has in the knowledge base 200 . For example, in the attribute list (PL), the class "person" may define attributes such as "age", "gender", "name", "birth", "occupation", "nationality", "spouse", etc. , and thus a knowledge instance including “Sun-Shin Yi” as an entity belonging to the class “person” is an attribute of one of the aforementioned attributes and another entity corresponding to the attribute (eg, an entity corresponding to occupation, nationality or spouse) or It may include a value (eg, an entity corresponding to an age, gender, name, or birth). In some embodiments, the query generating unit 130 may obtain a class to which the entity ENT provided from the entity extraction unit 110 belongs by referring to the input document DIN and/or the knowledge base 200 , , an attribute group corresponding to the acquired class may be extracted from the attribute list PL. The query generator 130 may generate a query QUE based on the entity ENT and one property PRO among a plurality of properties included in the property group. 1 , the query generating unit 130 may provide a query QUE to the machine reading comprehension engine 150 , and may provide the attribute PRO to the knowledge generating unit 170 . As will be described later, the query (QUE) provided to the machine reading engine 150 may be used to generate an answer (ANS) or may be used to verify the knowledge instance (INS) by the knowledge verification unit 190 . In some embodiments, the query generator 130 may receive the attribute list PL from the knowledge base 200 . Examples of the query generator 130 will be described later with reference to FIGS. 3 and 4 .

기계 독해 엔진(150)은 입력 문서(DIN)를 수신할 수 있고, 질의 생성부(130)로부터 질의(QUE)를 수신할 수 있으며, 입력 문서(DIN)에서 질의(QUE)에 대한 답변(ANS)을 추출할 수 있다. 기계 독해는 기계가 다양한 주제의 글을 읽고 뜻을 이해하는 것을 지칭할 수 있다. 도 1에 도시된 바와 같이, 기계 독해 엔진(150)은 딥 러닝 네트워크(deep learning network)(154)를 포함할 수 있고, 딥 러닝 네트워크(154)는 샘플 문서들 및 샘플 질의들에 따라 샘플 답변들을 출력하도록 학습된 상태일 수 있다. 기계 독해 엔진(150)은 질의(QUE) 및 질의에 대한 답변을 포함하는 입력 문서(DIN)를 딥 러닝 네트워크(154)에 제공함으로써 답변(ANS)을 획득할 수 있다. 예를 들면, SQuAD(Stanford Question Answering Dataset)은 영어 환경에서 기계 독해를 위한 데이터 셋을 제공하며, KorQuAD(Korea Question Answering Dataset)은 한국어 환경에서 기계 독해를 위한 데이터 셋을 제공할 수 있다. 기계 독해는 인간의 능력을 상회하는 매우 우수한 성능을 제공하고 있으며, 예를 들면 KorQuAD에서 제시하는 인간의 점수는 EM(Exact Matching) 80.17 및 F1 score 91.2인 한편, 최고 성능은 EM 86.84 및 F1 score 94.75에 달한다. 지식 추출 시스템(100)은, 이와 같이 성숙한 기계 독해에 기초하여 입력 문서(DIN)로부터 정확하고 용이하게 지식을 추출할 수 있다. The machine reading engine 150 may receive the input document DIN, receive the query QUE from the query generator 130, and answer the query QUE from the input document DIN (ANS) ) can be extracted. Machine reading can refer to machines reading texts on various topics and understanding their meaning. As shown in FIG. 1 , the machine reading engine 150 may include a deep learning network 154 , which provides sample answers according to sample documents and sample queries. It may be in a state that has been learned to output the values. The machine reading engine 150 may obtain an answer (ANS) by providing an input document (DIN) including a query (QUE) and an answer to the query to the deep learning network 154 . For example, Stanford Question Answering Dataset (SQuAD) may provide a data set for machine reading in an English environment, and Korea Question Answering Dataset (KorQuAD) may provide a data set for machine reading in a Korean environment. Machine reading provides very good performance that exceeds human ability. For example, the human score presented by KorQuAD is EM (Exact Matching) 80.17 and F1 score 91.2, while the highest performance is EM 86.84 and F1 score 94.75. reaches to The knowledge extraction system 100 may accurately and easily extract knowledge from the input document DIN based on the mature machine reading comprehension.

도 1에 도시된 바와 같이, 기계 독해 엔진(150)은 답변(ANS)을 지식 생성부(170)에 제공할 수 있다. 일부 실시예들에서, 기계 독해 엔진(150)은 추출된 지식을 검증하는데 사용될 수 있고, 이를 위하여 도 1에 도시된 바와 같이, 지식 검증부(190)와 통신할 수도 있다. 일부 실시예들에서, 기계 독해 엔진(150)은 답변(ANS)뿐만 아니라 입력 문서(DIN) 및 질의(QUE)와 관련된 추가적인 정보를 생성할 수 있고, 지식 생성부(170) 및/또는 지식 검증부(190)는 추가적인 정보를 이용할 수도 있다. 기계 독해 엔진(150)의 예시들이 도 5, 도 6 및 도 7을 참조하여 후술될 것이다.1 , the machine reading engine 150 may provide an answer (ANS) to the knowledge generating unit 170 . In some embodiments, the machine reading engine 150 may be used to verify the extracted knowledge, and for this purpose, as shown in FIG. 1 , may communicate with the knowledge verification unit 190 . In some embodiments, the machine reading engine 150 may generate additional information related to an input document (DIN) and a query (QUE) as well as an answer (ANS), and the knowledge generator 170 and/or knowledge verification Unit 190 may use additional information. Examples of the machine reading engine 150 will be described below with reference to FIGS. 5 , 6 and 7 .

지식 생성부(170)는 개체 추출부(110)로부터 개체(ENT)를 수신할 수 있고, 질의 생성부(130)로부터 속성(PRO)을 수신할 수 있으며, 기계 독해 엔진(150)으로부터 답변(ANS)을 수신할 수 있다. 지식 생성부(170)는 개체(ENT), 속성(PRO) 및 답변(ANS)으로부터 지식 인스턴스(INS)(예컨대, 트리플)을 생성할 수 있다. 예를 들면, 지식 생성부(170)는 개체(ENT), 속성(PRO) 및 답변(ANS)을 지식베이스(200)의 형식에 따라 후처리할 수 있고, 개체(ENT), 속성(PRO) 및 답변(ANS) 중 적어도 하나의 식별자를 지식베이스(200)로부터 추출함으로써 지식 인스턴스(INS)를 생성할 수 있다. 또한, 지식 생성부(170)는 지식 인스턴스(INS)를 지식 검증부(190)에 제공함으로써 지식 인스턴스(INS)를 검증할 수 있고, 검증된 지식 인스턴스(INS)를 지식베이스(200)에 보강할 수 있다. 지식 생성부(170)의 예시들은 도 8 및 도 9를 참조하여 설명될 것이다.The knowledge generating unit 170 may receive the entity ENT from the entity extracting unit 110 , the attribute PRO from the query generating unit 130 , and an answer ( ANS) can be received. The knowledge generator 170 may generate a knowledge instance INS (eg, triple) from the entity ENT, the attribute PRO, and the answer ANS. For example, the knowledge generating unit 170 may post-process the entity (ENT), the attribute (PRO), and the answer (ANS) according to the format of the knowledge base 200 , and the entity (ENT), the attribute (PRO) And by extracting at least one identifier of the answer (ANS) from the knowledge base 200 may generate the knowledge instance (INS). In addition, the knowledge generating unit 170 may verify the knowledge instance INS by providing the knowledge instance INS to the knowledge verification unit 190 , and reinforce the verified knowledge instance INS to the knowledge base 200 . can do. Examples of the knowledge generating unit 170 will be described with reference to FIGS. 8 and 9 .

지식 검증부(190)는 지식 생성부(170)로부터 지식 인스턴스(INS)를 수신할 수 있고, 지식 인스턴스(INS)를 검증함으로써 검증 결과를 지식 생성부(170)에 제공할 수 있다. 도 1에 도시된 바와 같이, 지식 검증부(190)는 네트워크(300)에 접속할 수 있으며, 기계 독해 엔진(150)과 통신할 수 있다. 네트워크(300)는 인터넷과 같은 광역 네트워크뿐만 아니라 로컬 네트워크를 포함할 수 있고, 지식 검증부(190)는 네트워크(300)에 접속된 다른 시스템들과 통신함으로써 지식 인스턴스(INS)의 검증에 요구되는 데이터(예컨대, 문서)를 획득할 수 있다. 지식 검증부(190)는 획득된 데이터를 기계 독해 엔진(150)에 제공할 수 있고, 기계 독해 엔진(150)이 이에 응답하여 제공하는 정보에 기초하여 지식 인스턴스(INS)에 대한 검증의 성공 여부를 판정할 수 있다. 지식 검증부(190)의 예시는 도 10을 참조하여 후술될 것이다.The knowledge verification unit 190 may receive the knowledge instance INS from the knowledge generation unit 170 , and provide the verification result to the knowledge generation unit 170 by verifying the knowledge instance INS. As shown in FIG. 1 , the knowledge verification unit 190 may connect to the network 300 and communicate with the machine reading engine 150 . The network 300 may include a local network as well as a wide area network such as the Internet, and the knowledge verification unit 190 communicates with other systems connected to the network 300 to verify the knowledge instance INS. Data (eg, documents) may be obtained. The knowledge verification unit 190 may provide the obtained data to the machine reading engine 150 , and based on the information provided by the machine reading engine 150 in response thereto, whether the verification of the knowledge instance INS succeeds. can be determined. An example of the knowledge verification unit 190 will be described later with reference to FIG. 10 .

도 2는 본 발명의 예시적 실시예에 따른 입력 문서 및 입력 문서로부터 추출된 개체의 예시들을 나타내는 도면이다. 도 1을 참조하여 전술된 바와 같이, 개체 추출부(110)는 입력 문서(DIN')로부터 개체(ENT')를 추출할 수 있다. 이하에서, 도 2는 도 1을 참조하여 설명될 것이다.Fig. 2 is a diagram showing examples of an input document and an object extracted from the input document according to an exemplary embodiment of the present invention. As described above with reference to FIG. 1 , the entity extraction unit 110 may extract the entity ENT' from the input document DIN'. Hereinafter, FIG. 2 will be described with reference to FIG. 1 .

도 2를 참조하면, 입력 문서(DIN')는 인물 "손흥민"에 대한 정보를 포함할 수 있다. 예를 들면, 입력 문서(DIN')는 위키백과, 나무위키(namu.wiki) 등과 같은 백과사전 서비스로부터 제공될 수 있다. 도 2에 도시된 바와 같이, 입력 문서(DIN')는 제목으로서 인물의 이름을 나타내는 "손흥민"을 포함할 수 있고, 해당 인물을 설명하는 텍스트 "손흥민은 대한민국의 ..."를 포함할 수 있다. 입력 문서(DIN')의 내용은 갱신될 수 있고, 이에 따라 입력 문서(DIN')로부터 지식 추출이 완료된 이후에도, 개체 추출부(110)는 갱신된 입력 문서로부터 동일하거나 상이한 개체를 다시 추출할 수도 있다. 이에 따라, 개체 추출부(110)가 추출하는 개체(ENT')는 지식베이스(200)에 포함된 개체들에 제한되지 아니할 수 있고, 결과적으로 지식베이스(200)에 포함된 개체에 대한 정보를 문서로부터 검색함으로써 지식을 생성하는 방식들보다 효과적인 지식 확장이 달성될 수 있다.Referring to FIG. 2 , the input document DIN' may include information about the person "Son Heung-min". For example, the input document DIN' may be provided from an encyclopedia service such as Wikipedia, Namu.wiki, and the like. As shown in FIG. 2 , the input document DIN' may include "Son Heung-Min" indicating the name of the person as a title, and includes the text "Son Heung-Min is from Korea..." can do. The contents of the input document DIN' may be updated, and accordingly, even after the knowledge extraction from the input document DIN' is completed, the object extraction unit 110 may extract the same or different objects from the updated input document again. have. Accordingly, the entity ENT' extracted by the entity extraction unit 110 may not be limited to the entities included in the knowledge base 200 , and as a result, information on entities included in the knowledge base 200 may be retrieved. More effective knowledge extension than methods of generating knowledge by retrieving from a document can be achieved.

일부 실시예들에서, 개체 추출부(110)는 입력 문서(DIN')의 제목으로부터 개체(ENT')를 추출할 수 있다. 예를 들면, 입력 문서(DIN')는 제목에 대한 정보를 포함할 수 있고, 이에 따라 제목으로부터 추출된 개체를 포함하는 다양한 지식 인스턴스들이 입력 문서(DIN')로부터 추출될 수 있다. 이에 따라, 도 2에 도시된 바와 같이, 개체 추출부(110)는 입력 문서(DIN')로부터 개체(ENT')로서 "손흥민"을 추출할 수 있다.In some embodiments, the entity extraction unit 110 may extract the entity ENT' from the title of the input document DIN'. For example, the input document DIN' may include information about the title, and accordingly, various knowledge instances including the entity extracted from the title may be extracted from the input document DIN'. Accordingly, as shown in FIG. 2 , the entity extraction unit 110 may extract “Heung-Min Son” as the entity ENT' from the input document DIN'.

도 3은 본 발명의 예시적 실시예에 따른 질의 생성부의 예시를 나타내는 블록도이고, 도 4는 본 발명의 예시적 실시예에 따라 질의를 생성하는 동작의 예시를 나타내는 도면이다. 도 1을 참조 하여 전술된 바와 같이, 도 3의 질의 생성부(130')는 개체(ENT) 및 속성 리스트(PL)를 수신할 수 있고, 질의(QUE)를 생성할 수 있다. 이하에서, 도 3 및 도 4는 도 1을 참조하여 설명할 것이다. Fig. 3 is a block diagram showing an example of a query generating unit according to an exemplary embodiment of the present invention, and Fig. 4 is a diagram showing an example of an operation for generating a query according to an exemplary embodiment of the present invention. As described above with reference to FIG. 1 , the query generator 130 ′ of FIG. 3 may receive the entity ENT and the attribute list PL, and may generate a query QUE. Hereinafter, FIGS. 3 and 4 will be described with reference to FIG. 1 .

도 3을 참조하면, 질의 생성부(130')는 전처리부(132), 딥 러닝 네트워크(134) 및 후처리부(136)를 포함할 수 있다. 전처리부(132)는 개체(ENT) 및 속성(PRO)을 수신할 수 있다. 일부 실시예들에서, 전처리부(132)는 개체(ENT)의 클래스에 대응하는 속성 그룹에 포함된 속성들 각각을 순차적으로 선택할 수 있다. 예를 들면, 전처리부(132)는 도 1의 지식 생성부(170)에 의해서 지식 인스턴스(INS)의 생성이 완료되거나, 지식 인스턴스(INS)의 생성이 실패한 것으로 판정된 경우, 동일한 개체(ENT)에 대한 속성들, 즉 속성 그룹에 포함된 속성들 중 기존 속성과 다른 속성을 속성 리스트(PL)로부터 획득할 수 있다.Referring to FIG. 3 , the query generator 130 ′ may include a preprocessor 132 , a deep learning network 134 , and a postprocessor 136 . The preprocessor 132 may receive an entity ENT and a property PRO. In some embodiments, the preprocessor 132 may sequentially select each of the attributes included in the attribute group corresponding to the class of the entity ENT. For example, when it is determined that the generation of the knowledge instance INS is completed by the knowledge generation unit 170 of FIG. 1 or that the generation of the knowledge instance INS has failed, the preprocessor 132 determines that the same entity ENT ) properties, that is, properties different from the existing properties among properties included in the property group may be obtained from the property list PL.

전처리부(132)는 워드 벡터 모델(400)을 참조하여 개체(ENT) 및 속성(PRO)에 대응하는 제1 워드 벡터(V1) 및 제2 워드 벡터(V2)를 생성할 수 있다. 워드 벡터 모델(400)은, 의미를 가지는 워드(또는 토큰, 단어 등)가 하나의 좌표, 즉 워드 벡터로 표현되는 다차원 공간, 또는 워드 벡터들을 포함하고 워드 벡터들을 갱신하는 시스템을 지칭할 수 있다. 의미상 유사한 워드들은 다차원 공간에서 인접하게 배치될 수 있고, 이에 따라 의미상 유사한 워드들에 대응하는 워드 벡터들은 유사한 값들을 가질 수 있다. 이에 따라, 제1 워드 벡터(V1)는 개체(ENT)에 대응하는 좌표 값들을 가질 수 있고, 제2 워드 벡터(V2)는 속성(PRO)에 대응하는 좌표 값들을 가질 수 있으며, 제1 워드 벡터(V1) 및 제2 워드 벡터(V2)에 기초하여 딥 러닝 네트워크(134)는 수학적 연산들을 수행할 수 있다. 워드 벡터 모델(400)은 도 1의 지식 추출 시스템(100)에 포함될 수도 있고, 질의 생성부(130')가 지식 추출 시스템(100)의 외부에 있는 워드 벡터 모델(400)에 액세스할 수도 있다.The preprocessor 132 may generate a first word vector V1 and a second word vector V2 corresponding to the entity ENT and the property PRO with reference to the word vector model 400 . The word vector model 400 may refer to a multidimensional space in which a word (or token, word, etc.) having a meaning is expressed in one coordinate, that is, a word vector, or a system including word vectors and updating the word vectors. . Semantically similar words may be arranged adjacently in a multidimensional space, and thus word vectors corresponding to semantically similar words may have similar values. Accordingly, the first word vector V1 may have coordinate values corresponding to the entity ENT, the second word vector V2 may have coordinate values corresponding to the property PRO, and the first word Based on the vector V1 and the second word vector V2, the deep learning network 134 may perform mathematical operations. The word vector model 400 may be included in the knowledge extraction system 100 of FIG. 1 , and the query generator 130 ′ may access the word vector model 400 external to the knowledge extraction system 100 . .

딥 러닝 네트워크(134)는 전처리부(132)로부터 제1 워드 벡터(V1) 및 제2 워드 벡터(V2)를 수신할 수 있고, 제3 워드 벡터(V3)를 출력할 수 있다. 딥 러닝 네트워크(134)는 샘플 객체들 및 샘플 속성들에 따라 샘플 질의들을 생성하도록, 예컨대 강화 학습(reinforcement learning; RL)에 기초하여 학습된 상태일 수 있고, 임의의 구조를 가질 수 있다. 예를 들면, 딥 러닝 네트워크(134)는 하드웨어 또는 하드웨어와 소프트웨어의 조합으로서 구현될 수 있으며, 인공 신경망(artificial neural network; ANN)으로서 지칭될 수 있다. 딥 러닝 네트워크(134)는, 비제한적인 예시로서 심층 신경망(Deep Neural Network; DNN), 합성곱 신경망(Convolution Neural Network; CNN), 순환 신경망(Recurrent Neural Network; RNN), 제한 볼츠만 머신(Restricted Boltzmann Machine; RBM), 심층 신뢰 신경망(Deep Belief Network; DBN), 심층 Q-네트워크(Deep Q-Network)를 포함할 수 있다. 이에 따라, 딥 러닝 네트워크(134)는 제1 워드 벡터(V1) 및 제2 워드 벡터(V2)로부터 질의(QUE)의 생성을 위한 제3 워드 벡터(V3)를 생성할 수 있다. 본 명세서에서, 질의 생성부(130')에 포함된 딥 러닝 네트워크(134)는 제1 딥 러닝 네트워크로서 지칭될 수 있다.The deep learning network 134 may receive the first word vector V1 and the second word vector V2 from the preprocessor 132 , and may output the third word vector V3 . The deep learning network 134 may be in a learned state, such as based on reinforcement learning (RL), to generate sample queries according to sample objects and sample properties, and may have any structure. For example, the deep learning network 134 may be implemented as hardware or a combination of hardware and software, and may be referred to as an artificial neural network (ANN). The deep learning network 134 is, as a non-limiting example, a Deep Neural Network (DNN), a Convolution Neural Network (CNN), a Recurrent Neural Network (RNN), and a Restricted Boltzmann Machine (Restricted Boltzmann). Machine (RBM), Deep Belief Network (DBN), and Deep Q-Network. Accordingly, the deep learning network 134 may generate the third word vector V3 for generating the query QUE from the first word vector V1 and the second word vector V2. In this specification, the deep learning network 134 included in the query generator 130 ′ may be referred to as a first deep learning network.

후처리부(136)는 워드 벡터 모델(400)을 참조하여 제3 워드 벡터(V3)로부터 질의(QUE)를 생성할 수 있다. 예를 들면, 도 4에 도시된 바와 같이, 딥 러닝 네트워크(134)는 개체(ENT') 및 속성(PRO')으로부터 전처리부(132)에 의해서 생성된 제1 워드 벡터(V1) 및 제2 워드 벡터(V2)를 수신할 수 있다. 딥 러닝 네트워크(134)는 제1 워드 벡터(V1) 및 제2 워드 벡터(V2)에 응답하여 제3 워드 벡터(V3)를 생성할 수 있고, 후처리부(136)는 제3 워드 벡터(V3)로부터 일련의 단어들(W1 내지 W4)을 획득할 수 있고, 일련의 단어들(W1 내지 W4)을 조합함으로써 질의(QUE)로서 "손흥민의 직업은?"을 생성할 수 있다.The post-processing unit 136 may generate a query QUE from the third word vector V3 with reference to the word vector model 400 . For example, as shown in FIG. 4 , the deep learning network 134 generates a first word vector V1 and a second A word vector V2 may be received. The deep learning network 134 may generate the third word vector V3 in response to the first word vector V1 and the second word vector V2, and the post-processing unit 136 may generate the third word vector V3. ) can be obtained from a series of words W1 to W4, and by combining the series of words W1 to W4, "What is Heung-Min Son's job?" can be generated as a query (QUE).

도 5는 본 발명의 예시적 실시예에 따른 기계 독해 엔진의 예시를 나타내는 블록도이고, 도 6은 본 발명의 예시적 실시예에 따라 도 5의 자연어 처리부의 동작의 예시를 나타내는 도면이다. 도 1을 참조하여 전술된 바와 같이, 도 5의 기계 독해 엔진(150')은 질의(QUE) 및 입력 문서(DIN)를 수신할 수 있고, 답변(ANS)을 생성할 수 있다. 기계 독해 엔진(150')은, 현재 사용되거나 추후 등장하게 될 임의의 방식을 가지는 기계 독해에 기초하여, 답변(ANS)을 생성할 수 있고, 이하에서 도 5를 참조하여 설명되는 내용에 제한되지 아니하는 점이 유의된다. 이하에서, 도 5 및 도 6은 도 1을 참조하여 설명될 것이다5 is a block diagram illustrating an example of a machine reading comprehension engine according to an exemplary embodiment of the present invention, and FIG. 6 is a diagram illustrating an example of the operation of the natural language processing unit of FIG. 5 according to an exemplary embodiment of the present invention. As described above with reference to FIG. 1 , the machine reading engine 150 ′ of FIG. 5 may receive a query (QUE) and an input document (DIN), and may generate an answer (ANS). The machine reading engine 150' may generate an answer (ANS) based on machine reading in any manner that is currently used or will appear later, and is not limited to the content described with reference to FIG. 5 below. It is noted that no Hereinafter, FIGS. 5 and 6 will be described with reference to FIG. 1 .

도 5를 참조하면, 기계 독해 엔진(150')은 자연어 처리부(152), 딥 러닝 네트워크(154) 및 답변 생성부(156)를 포함할 수 있다. 자연어 처리부(152)는 입력 문서(DIN) 및 질의(QUE)를 자연어 처리함으로써 입력 데이터(IN)를 생성할 수 있다. 일부 실시예들에서, 자연어 처리부(152)는 입력 문서(DIN) 및 질의(QUE)에 대하여 형태소 분석을 수행할 수 있다. 예를 들면, 도 6에 도시된 바와 같이, 자연어 처리부(152)는 질의(QUE)로서 "손흥민의 직업은?"을 수신할 수 있고, 질의(QUE)의 형태소 분석을 통해 도 6에 도시된 바와 같은 제1 입력 데이터(IN1)를 생성할 수 있다. 제1 입력 데이터(IN1)에서, 단어에 후속하는 사선(/) 및 알파벳은 해당 단어의 형태소를 나타낸다. 예를 들면, 제1 입력 데이터(IN1)에서 "손흥민/NNP"은 단어 "손흥민"이 고유 명사임을 나타낼 수 있고, 단어 "직업/NNG"은 "직업"이 일반 명사임을 나타낼 수 있다. 또한, "의/JKG"는 단어 "의"가 소유격을 나타내는 조사임을 나타낼 수 있다. 유사하게, 자연어 처리부(152)는 입력 문서(DIN)의 형태소 분석을 통해 도 6에 도시된 바와 같은 제2 입력 데이터(IN2)를 생성할 수 있고, 제1 입력 데이터(IN1) 및 제2 입력 데이터(IN2)를 포함하는 입력 데이터(IN')를 생성할 수 있다. 일부 실시예들에서, 자연어 처리부(152)는 도 5에 도시된 바와 상이하게, 지식 추출 시스템(100)의 외부에 있을 수 있고, 기계 독해 엔진(150')은 외부의 자연어 처리부에 입력 문서(DIN) 및 질의(QUE)를 제공함으로써 입력 데이터(IN)를 수신할 수도 있다.Referring to FIG. 5 , the machine reading engine 150 ′ may include a natural language processing unit 152 , a deep learning network 154 , and an answer generating unit 156 . The natural language processing unit 152 may generate the input data IN by natural language processing the input document DIN and the query QUE. In some embodiments, the natural language processing unit 152 may perform morphological analysis on the input document DIN and the query QUE. For example, as shown in FIG. 6 , the natural language processing unit 152 may receive “What is Heung-Min Son’s job?” as a query QUE, and through morphological analysis of the query QUE, the The first input data IN1 as shown in FIG. In the first input data IN1, a diagonal line (/) and an alphabet following a word indicate morphemes of the corresponding word. For example, in the first input data IN1, “Heung-Min Son/NNP” may indicate that the word “Heung-Min Son” is a proper noun, and the word “job/NNG” may indicate that “job” is a general noun. Also, "of/JKG" may indicate that the word "of" is a possessive proposition. Similarly, the natural language processing unit 152 may generate the second input data IN2 as shown in FIG. 6 through morphological analysis of the input document DIN, and the first input data IN1 and the second input Input data IN' including data IN2 may be generated. In some embodiments, the natural language processing unit 152 may be external to the knowledge extraction system 100 , different from that shown in FIG. 5 , and the machine reading engine 150 ′ may include input documents ( DIN) and query (QUE) may receive input data (IN).

딥 러닝 네트워크(154)는 자연어 처리부(152)로부터 입력 데이터(IN)를 수신할 수 있고, 입력 데이터(IN)에 응답하여 출력 데이터(OUT)를 생성할 수 있다. 딥 러닝 네트워크(154)는 샘플 문서들 및 샘플 질의들에 따라 샘플 답변들을 출력하도록 학습된 상태일 수 있고, 이에 따라 입력 데이터(IN)에 내재된 질의(QUE) 및 입력 문서(DIN)의 내용으로부터 답변(ANS)의 내용이 내재된 출력 데이터(OUT)를 생성할 수 있다. 이와 같이 문맥(context)을 고려한 기계 독해에 기초하여 지식이 추출될 수 있고, 이에 따라 문서에서 단어를 검색함으로써 지식을 생성하는 방식들 보다 정확한 지식이 추출될 수 있다. 출력 데이터(OUT)는 답변(ANS)에 대응하는 내용뿐만 아니라, 추가적인 정보를 더 포함할 수 있다. 예를 들면, 출력 데이터(OUT)는 입력 문서(DIN)에서 답변(ANS)의 위치를 나타내는 정보를 포함할 수 있는 한편, 입력 문서(DIN)에 정답으로서 답변(ANS)의 포함 여부, 답변(ANS)의 신뢰도 등을 더 포함할 수 있다. 본 명세서에서, 기계 독해 엔진(150')에 포함된 딥 러닝 네트워크(154)는 제2 딥 러닝 네트워크로서 지칭될 수 있다.The deep learning network 154 may receive the input data IN from the natural language processing unit 152 and may generate the output data OUT in response to the input data IN. The deep learning network 154 may be in a state that has been trained to output sample answers according to sample documents and sample queries, and accordingly, the contents of the query (QUE) and the input document (DIN) embedded in the input data (IN). It is possible to generate output data OUT with the contents of the answer (ANS) embedded therein. As described above, knowledge may be extracted based on machine reading in consideration of context, and accordingly, more accurate knowledge may be extracted than methods of generating knowledge by searching for words in a document. The output data OUT may further include additional information as well as content corresponding to the answer ANS. For example, the output data OUT may include information indicating the location of the answer ANS in the input document DIN, while whether the answer ANS is included in the input document DIN as a correct answer, the answer ( ANS) may further include reliability and the like. In this specification, the deep learning network 154 included in the machine reading engine 150 ′ may be referred to as a second deep learning network.

답변 생성부(156)는 딥 러닝 네트워크(154)로부터 출력 데이터(OUT)를 수신할 수 있고, 출력 데이터(OUT)에 기초하여 답변(ANS)을 생성할 수 있다. 예를 들면, 출력 데이터(OUT)는 도 6의 제2 입력 데이터(IN2)에서 "축구/NNG 선수/NNG"의 위치를 나타내는 정보를 포함할 수 있고, 답변 생성부(156)는 출력 데이터(OUT)에 포함된 위치 정보에 기초하여 "축구선수"를 답변(ANS)으로서 생성할 수 있다. 또한, 답변 생성부(156)는 출력 데이터(OUT)에 포함된 추가적인 정보에 기초하여 답변 추출의 성공 여부를 나타내는 판정 결과(DET)를 생성할 수 있다. 일부 실시예들에서, 판정 결과(DET)는 지식 추출 시스템(100)의 다른 구성요소들, 예컨대 개체 추출부(110), 질의 생성부(130) 및 지식 생성부(170) 중 적어도 하나에 제공될 수 있다. 답변 생성부(156)의 동작의 예시가 도 7을 참조하여 후술될 것이다.The answer generator 156 may receive the output data OUT from the deep learning network 154 and generate the answer ANS based on the output data OUT. For example, the output data OUT may include information indicating the position of “soccer/NNG player/NNG” in the second input data IN2 of FIG. 6 , and the answer generating unit 156 may include the output data ( OUT) based on the location information included in the "soccer player" can be generated as the answer (ANS). Also, the answer generator 156 may generate a determination result DET indicating whether answer extraction is successful based on additional information included in the output data OUT. In some embodiments, the determination result DET is provided to other components of the knowledge extraction system 100 , such as at least one of the entity extraction unit 110 , the query generation unit 130 , and the knowledge generation unit 170 . can be An example of the operation of the answer generating unit 156 will be described later with reference to FIG. 7 .

도 7은 본 발명의 예시적 실시예에 따른 지식 추출을 위한 방법을 나타내는 순서도이다. 구체적으로, 도 7의 순서도는 기계 독해의 결과에 기초하여 지식 추출을 위한 답변을 생성하는 방법을 나타낸다. 일부 실시예들에서, 도 7의 방법은 도 5의 답변 생성부(156)에 의해서 수행될 수 있고, 답변 생성부(156)의 동작 방법으로 지칭될 수도 있다. 도 7에 도시된 바와 같이, 도 7의 방법은 복수의 단계들(S72, S74, S76, S78)을 포함할 수 있고, 이하에서 도 7은 도 5를 참조하여 설명될 것이다.7 is a flowchart illustrating a method for knowledge extraction according to an exemplary embodiment of the present invention. Specifically, the flowchart of FIG. 7 shows a method of generating an answer for knowledge extraction based on the result of machine reading. In some embodiments, the method of FIG. 7 may be performed by the answer generator 156 of FIG. 5 and may be referred to as an operation method of the answer generator 156 . As shown in FIG. 7 , the method of FIG. 7 may include a plurality of steps S72 , S74 , S76 and S78 , which will be described below with reference to FIG. 5 .

단계 S72에서, 정답의 포함 여부를 판정하는 동작이 수행될 수 있다. 예를 들면, 딥 러닝 네트워크(154)는 입력 문서(DIN)에 질의(QUE)에 대한 정답이 포함되어 있는지 여부를 나타내는 정보를 포함하는 출력 데이터(OUT)를 생성할 수 있고, 답변 생성부(156)는 출력 데이터(OUT)에 포함된 정보에 기초하여, 정답의 포함 여부를 판정할 수 있다. 도 7에 도시된 바와 같이, 입력 문서(DIN)에 정답이 포함되지 아니한 것으로 판정된 경우 단계 S76가 후속하여 수행될 수 있는 한편, 입력 문서(DIN)에 정답이 포함된 것으로 판정된 경우 단계 S74이 후속하여 수행될 수 있다.In step S72, an operation of determining whether a correct answer is included may be performed. For example, the deep learning network 154 may generate output data OUT including information indicating whether the input document DIN contains a correct answer to the query QUE, and the answer generating unit ( 156 may determine whether a correct answer is included based on information included in the output data OUT. 7 , when it is determined that the input document DIN does not contain the correct answer, step S76 may be performed subsequently, while when it is determined that the input document DIN contains the correct answer, step S74 This can be done subsequently.

단계 S74에서, 답변(ANS)의 신뢰도를 미리 정의된 문턱값과 비교하는 동작이 수행될 수 있다. 예를 들면, 딥 러닝 네트워크(154)는 답변(ANS)의 위치 정보와 함께 답변(ANS)의 신뢰도를 포함하는 출력 데이터(OUT)를 생성할 수 있고, 답변 생성부(156)는 출력 데이터(OUT)에 포함된 신뢰도를 문턱값과 비교할 수 있다. 도 7에 도시된 바와 같이, 신뢰도가 문턱값 미만인 경우 단계 S76이 후속하여 수행될 수 있는 한편, 신뢰도가 문턱값 이상인 경우 단계 S78이 후속하여 수행될 수 있다.In step S74, an operation of comparing the reliability of the answer (ANS) with a predefined threshold may be performed. For example, the deep learning network 154 may generate output data OUT including the reliability of the answer ANS together with the location information of the answer ANS, and the answer generator 156 may generate the output data ( OUT) can be compared with a threshold value. As shown in FIG. 7 , if the reliability is less than the threshold, step S76 may be performed subsequently, while if the reliability is greater than or equal to the threshold, step S78 may be performed subsequently.

입력 문서(DIN)에 정답이 포함되지 아니한 것으로 판정되거나 답변(ANS)의 신뢰도가 문턱값 미만인 경우, 단계 S76에서 답변의 추출 실패를 판정하는 동작이 수행될 수 있다. 예를 들면, 답변 생성부(156)는 답변의 추출 실패를 나타내는 판정 결과(DET)를 생성할 수 있고, 지식 추출 시스템(100)에 포함된 다른 구성요소들에 판정 결과(DET)를 제공할 수 있다. 지식 추출 시스템(100)에 포함된 구성요소들은 추출 실패를 나타내는 판정 결과(DET)에 응답하여, 다음 지식을 추출하기 위한 동작을 수행될 수 있다. 예를 들면, 개체 추출부(110)는 이전 개체와 다른 개체를 입력 문서(DIN)로부터 추출할 수도 있고, 다른 입력 문서(DIN)를 수신할 수도 있다. 질의 생성부(130)는 터 이전 속성과 다른 속성을 속성 리스트(PL)로부터 획득함으로써 질의(QUE)를 생성할 수 있다. 지식 생성부(170)는 현재 개체(ENT) 및 속성(PRO)에 대한 지식 인스턴스의 생성을 중단할 수 있다.If it is determined that the correct answer is not included in the input document DIN or the reliability of the answer ANS is less than a threshold, an operation of determining the extraction failure of the answer may be performed in step S76. For example, the answer generating unit 156 may generate a determination result (DET) indicating an extraction failure of an answer, and provide the determination result (DET) to other components included in the knowledge extraction system 100 . can Components included in the knowledge extraction system 100 may perform an operation for extracting the next knowledge in response to the determination result DET indicating the extraction failure. For example, the object extraction unit 110 may extract an object different from the previous object from the input document DIN, or may receive a different input document DIN. The query generator 130 may generate a query QUE by acquiring an attribute different from the previous attribute from the attribute list PL. The knowledge generator 170 may stop generating a knowledge instance for the current entity ENT and the property PRO.

다른 한편으로, 입력 문서(DIN)에 정답이 포함된 것으로 판정되고 답변(ANS)의 신뢰도가 문턱값 이상인 경우, 단계 S78에서 답변(ANS)을 생성하는 동작이 수행될 수 있다. 예를 들면, 답변 생성부(156)는 도 5 및 도 6을 참조하여 전술된 바와 같이, 출력 데이터(OUT)에 포함된 정답의 위치 정보에 기초하여 입력 문서(DIN)로부터 답변(ANS)을 추출할 수 있다.On the other hand, if it is determined that the correct answer is included in the input document DIN and the reliability of the answer ANS is equal to or greater than the threshold, the operation of generating the answer ANS may be performed in step S78. For example, as described above with reference to FIGS. 5 and 6 , the answer generator 156 generates an answer ANS from the input document DIN based on the location information of the correct answer included in the output data OUT. can be extracted.

도 8은 본 발명의 예시적 실시예에 따른 지식 생성부의 예시를 나타내는 블록도이고, 도 9는 본 발명의 예시적 실시예에 따라 지식 생성부의 동작의 예시를 나타내는 도면이다. 도 1을 참조하여 전술된 바와 같이, 도 8의 지식 생성부(170')는 개체(ENT), 속성(PRO) 및 답변(ANS)으로부터 지식 인스턴스(INS)(예컨대, 트리플)을 생성할 수 있다. 이하에서, 도 8 및 도 9는 도 1을 참조하여 설명될 것이다.Fig. 8 is a block diagram showing an example of a knowledge generating unit according to an exemplary embodiment of the present invention, and Fig. 9 is a diagram showing an example of an operation of the knowledge generating unit according to an exemplary embodiment of the present invention. As described above with reference to FIG. 1 , the knowledge generating unit 170 ′ of FIG. 8 may generate a knowledge instance INS (eg, triple) from an entity ENT, a property PRO, and an answer ANS. have. Hereinafter, FIGS. 8 and 9 will be described with reference to FIG. 1 .

도 8을 참조하면, 지식 생성부(170')는 후보 인스턴스 생성부(172) 및 인스턴스 비교부(174)를 포함할 수 있다. 후보 인스턴스 생성부(172)는 개체(ENT), 속성(PRO) 및 답변(ANS)을 수신할 수 있고, 후보 지식 인스턴스(CAN)를 생성할 수 있다. 일부 실시예들에서, 후보 인스턴스 생성부(172)는 지식베이스(200)의 형식, 즉 지식베이스(200)에 포함된 지식 인스턴스들(예컨대 트리플들)의 형식에 기초하여 개체(ENT), 속성(PRO) 및 답변(ANS)을 후처리할 수 있다. 예를 들면, 개체(ENT), 속성(PRO) 및 답변(ANS)으로서 "이순신", "생일" 및 "1545년 4월 28일"이 수신된 경우, 후보 인스턴스 생성부(172)는 지식베이스(200)에서 날짜를 나타내기 위한 형식 "YYYY-MM-DD"에 기초하여 답변(ANS)인 "1545년 4월 28일"을 "1545-04-28"으로 변환할 수 있다. Referring to FIG. 8 , the knowledge generating unit 170 ′ may include a candidate instance generating unit 172 and an instance comparing unit 174 . The candidate instance generator 172 may receive the entity ENT, the attribute PRO, and the answer ANS, and may generate the candidate knowledge instance CAN. In some embodiments, the candidate instance generating unit 172 may generate an entity (ENT), an attribute based on the format of the knowledge base 200 , that is, the format of knowledge instances (eg, triples) included in the knowledge base 200 . (PRO) and answer (ANS) can be post-processed. For example, when "Sun-Shin Yi", "Birthday" and "April 28, 1545" are received as the entity (ENT), attribute (PRO) and answer (ANS), the candidate instance creation unit 172 is the knowledge base In (200), based on the format "YYYY-MM-DD" for representing the date, the answer (ANS) "April 28, 1545" may be converted into "1545-04-28".

인스턴스 비교부(174)는 후보 지식 인스턴스(CAN)를 수신할 수 있고, 지식베이스(200)에 포함된 지식 인스턴스들에 기초하여 지식 인스턴스(INS)를 생성할 수 있다. 일부 실시예들에서, 인스턴스 비교부(174)는, 본원과 동일한 출원인에 의해서 출원되고 본 명세서에 전체로서 참조되어 포함되는 한국특허출원 제10-2018-0151222호에서 설명된 "유사도 계산부"와 같이, 후보 지식 인스턴스(CAN)와 지식베이스(200)에 포함된 지식 인스턴스들 사이 유사도를 계산할 수 있다. 인스턴스 비교부(174)는 계산된 유사도에 기초하여 후보 인스턴스에 포함된 주어, 술어 및 목적어에 대응하는 지식베이스(200)의 개체들을 검출할 수 있고, 검출 결과에 기초하여 주어, 술어 및 목적어에 대응하는 식별자, 예컨대 URI(Uniform Resource Identifier)를 지식베이스(200)로부터 추출함으로써 지식 인스턴스(INS)를 생성할 수 있다. The instance comparison unit 174 may receive the candidate knowledge instance CAN and generate the knowledge instance INS based on the knowledge instances included in the knowledge base 200 . In some embodiments, the instance comparison unit 174 is a "similarity calculation unit" and the "similarity calculation unit" described in Korean Patent Application No. 10-2018-0151222 filed by the same applicant as the present application and incorporated herein by reference in its entirety. Similarly, the degree of similarity between the candidate knowledge instance CAN and the knowledge instances included in the knowledge base 200 may be calculated. The instance comparison unit 174 may detect entities in the knowledge base 200 corresponding to the subject, predicate, and object included in the candidate instance based on the calculated similarity, and based on the detection result, the subject, predicate, and object A knowledge instance (INS) may be generated by extracting a corresponding identifier, for example, a Uniform Resource Identifier (URI) from the knowledge base 200 .

도 9를 참조하면, 개체(ENT'), 속성(PRO') 및 답변(ANS')으로서 "손흥민", "직업" 및 "축구선수"가 수신된 경우, 후보 인스턴스 생성부(172)는 "손흥민-직업-축구선수"에 대응하는 후보 지식 인스턴스(CAN')를 생성할 수 있다. 또한, 지식베이스(200)는 "손흥민", "직업" 및 "축구선수"를 모두 포함하는 반면, 인물 "손흥민"의 직업이 축구선수임을 의미하는 지식, 즉 지식 인스턴스는 포함하지 아니할 수 있다. 이 경우, 인스턴스 비교부(174)는 지식베이스(200)에 포함된 지식 인스턴스들 중 후보 지식 인스턴스(CAN')와 유사한 지식 인스턴스들, 예컨대, 동일하거나 유사한 명칭을 포함하는 지식 인스턴스, 후보 지식 인스턴스(CAN')와 유사한 종류(예컨대, 클래스)의 개체들을 포함하는 지식 인스턴스 등을 추출할 수 있다. 인스턴스 비교부(174)는 추출된 지식 인스턴스들에 기초하여 "손흥민", "직업" 및 "축구선수"에 각각 대응하는 식별자들 "addr:0001", "addr:1012" 및 "addr:0156"을 획득할 수 있고, 이에 따라 지식 인스턴스(INS')로서 "addr:0001-addr:1012-addr:0156"을 생성할 수 있다. 이와 같이, 지식 인스턴스(INS)는 개체들 사이 혹은 개체와 값 사이 관계를 정의할 수 있고, 이에 따라 지식 인스턴스들을 포함하는 지식베이스(200)는 지식 그래프를 포함하는 것으로서 지칭될 수도 있다.Referring to FIG. 9 , when "Son Heung-min", "job" and "soccer player" are received as an entity (ENT'), a property (PRO'), and an answer (ANS'), the candidate instance creation unit 172 is A candidate knowledge instance (CAN') corresponding to "Heung-Min Son-Occupation-Soccer Player" may be created. In addition, the knowledge base 200 includes all of "Son Heung-Min", "Occupation" and "Soccer player", whereas the knowledge that the occupation of the character "Son Heung-Min" is a soccer player, that is, knowledge instances may not be included. have. In this case, the instance comparison unit 174 may determine knowledge instances similar to the candidate knowledge instance CAN' among the knowledge instances included in the knowledge base 200, for example, a knowledge instance having the same or similar name, and a candidate knowledge instance. A knowledge instance including entities of a similar type (eg, class) to (CAN') may be extracted. The instance comparison unit 174 determines the identifiers “addr:0001”, “addr:1012”, and “addr:0156” respectively corresponding to “Heung-Min Son”, “Occupation” and “Soccer player” based on the extracted knowledge instances. ", and thus create "addr:0001-addr:1012-addr:0156" as the knowledge instance INS'. As such, the knowledge instance INS may define a relationship between entities or between entities and values. Accordingly, the knowledge base 200 including knowledge instances may be referred to as including a knowledge graph.

도 9의 예시와 상이하게, 후보 지식 인스턴스(CAN)의 주어, 술어 및 목적어 중 적어도 하나가 지식베이스(200)에 포함되지 아니한 대상인 경우, 인스턴스 비교부(174)는 지식베이스(200)에 포함되지 아니한 신규 식별자를 생성함으로써 지식 인스턴스(INS)를 생성할 수도 있다. 이에 따라, 인스턴스 비교부(174)는 식별자들을 포함하는 지식 인스턴스(INS')를 생성할 수 있다. 또한, 인스턴스 비교부(174)는 후보 지식 인스턴스(CAN')와 매우 유사한 지식 인스턴스가 지식베이스(200)에서 검색된 경우, 입력 문서(DIN)로부터 추출된 지식이 중복된 지식으로 판정할 수 있고, 지식 인스턴스의 생성을 중단할 수도 있다. 일부 실시예들에서, 인스턴스 비교부(174)는 중복되지 아니한 지식 인스턴스(INS)를 지식베이스(200)에 추가함으로써 지식베이스(200)를 보강할 수도 있다.Unlike the example of FIG. 9 , when at least one of a subject, a predicate, and an object of a candidate knowledge instance (CAN) is an object that is not included in the knowledge base 200 , the instance comparison unit 174 is included in the knowledge base 200 . A knowledge instance (INS) may be created by generating a new identifier that has not been identified. Accordingly, the instance comparison unit 174 may generate the knowledge instance INS' including the identifiers. In addition, when a knowledge instance very similar to the candidate knowledge instance CAN' is searched for in the knowledge base 200, the instance comparison unit 174 may determine that the knowledge extracted from the input document DIN is duplicate knowledge, It is also possible to stop the creation of knowledge instances. In some embodiments, the instance comparison unit 174 may reinforce the knowledge base 200 by adding non-overlapping knowledge instances INS to the knowledge base 200 .

도 10은 본 발명의 예시적 실시예에 따른 지식 추출을 위한 방법을 나타내는 순서도이다. 구체적으로, 도 10의 순서도는 추출된 지식에 대응하는 지식 인스턴스를 검증하는 방법을 나타낸다. 일부 실시예들에서, 도 10의 방법은 도 1의 지식 검증부(190)에 의해서 수행될 수 있고, 지식 검증부(190)의 동작 방법으로 지칭될 수도 있다. 도 10에 도시된 바와 같이, 도 10의 방법은 복수의 단계들(S101, S102, S103, S104, S105, S106)을 포함할 수 있고, 이하에서 도 10은 도 1을 참조하여 설명될 것이며, 도 10에 대한 설명 중 도 7에 대한 설명과 중복되는 내용은 생략될 것이다.10 is a flowchart illustrating a method for knowledge extraction according to an exemplary embodiment of the present invention. Specifically, the flowchart of FIG. 10 shows a method of verifying a knowledge instance corresponding to the extracted knowledge. In some embodiments, the method of FIG. 10 may be performed by the knowledge verification unit 190 of FIG. 1 , and may also be referred to as an operation method of the knowledge verification unit 190 . As shown in Fig. 10, the method of Fig. 10 may include a plurality of steps (S101, S102, S103, S104, S105, S106), below which Fig. 10 will be described with reference to Fig. 1, Among the descriptions of FIG. 10 , content overlapping with those of FIG. 7 will be omitted.

단계 S101에서, 지식 인스턴스(INS)게 기초하여 네트워크(300)를 통해 문서를 검색하는 동작이 수행될 수 있다. 예를 들면, 지식 검증부(190)는 지식 인스턴스(INS)의 명칭들, 예컨대 "손흥민", "직업" 및 "축구선수" 중 적어도 하나를 포함하는 문서를 네트워크(300)에 접속된 시스템들에서 검색할 수 있다. 일부 실시예들에서, 입력 문서(DIN)를 제공하는 소스들과 유사하게, 지식 검증부(190)는 다양한 정보를 포함하는 문서들을 제공하는 시스템들에 접속함으로써 문서를 검색할 수 있다.In step S101, an operation of searching for a document through the network 300 based on the knowledge instance INS may be performed. For example, the knowledge verification unit 190 may include a document including at least one of the names of the knowledge instance (INS), for example, “Heung-Min Son”, “Occupation” and “Soccer player” in the system connected to the network 300 . can be searched in In some embodiments, similar to sources providing an input document DIN, the knowledge verification unit 190 may search for a document by accessing systems that provide documents including various information.

단계 S102에서, 검색된 문서 및 질의(QUE)를 기계 독해 엔진(150)에 제공하는 동작이 수행될 수 있다. 예를 들면, 지식 검증부(190)는 단계 S101에서 검색된 문서를 기계 독해 엔진(150)에 제공할 수 있는 한편, 지식 인스턴스(INS)의 생성에 사용된 질의(QUE)를 기계 독해 엔진(150)에 직접 제공하거나 질의 생성부(130)로 하여금 제공하게 할 수 있다. 이에 따라, 기계 독해 엔진(150)은 검색된 문서에서 질의(QUE)의 정답을 찾을 수 있다.In step S102, an operation of providing the retrieved document and the query QUE to the machine reading engine 150 may be performed. For example, the knowledge verification unit 190 may provide the document retrieved in step S101 to the machine reading engine 150 , while returning the query QUE used to generate the knowledge instance INS to the machine reading engine 150 . ) or have the query generating unit 130 provide it. Accordingly, the machine reading engine 150 may find the correct answer to the query QUE in the searched document.

단계 S103에서, 정답의 포함 여부를 판정하는 동작이 수행될 수 있다. 예를 들면, 지식 검증부(190)는 도 5의 출력 데이터(OUT)를 직접 수신할 수 있고, 출력 데이터(OUT)에 기초하여 정답의 포함 여부를 판정할 수 있다. 다른 예시로서, 지식 검증부(190)는 도 5의 답변 생성부(156)가 제공하는 판정 결과(DET)에 기초하여 정답의 포함 여부를 판정할 수도 있다. 도 10에 도시된 바와 같이, 검색된 문서에 정답이 포함되지 아니한 것으로 판정된 경우 단계 S105가 후속하여 수행될 수 있는 한편, 검색된 문서에 정답이 포함된 것으로 판정된 경우 단계 S106이 후속하여 수행될 수 있다.In step S103, an operation of determining whether a correct answer is included may be performed. For example, the knowledge verification unit 190 may directly receive the output data OUT of FIG. 5 , and may determine whether a correct answer is included based on the output data OUT. As another example, the knowledge verification unit 190 may determine whether a correct answer is included based on the determination result DET provided by the answer generation unit 156 of FIG. 5 . 10 , when it is determined that the searched document does not contain the correct answer, step S105 may be performed subsequently, while if it is determined that the searched document contains the correct answer, step S106 may be performed subsequently have.

단계 S104에서, 검색된 문서에서 추출된 답변의 신뢰도를 미리 정의된 문턱값과 비교하는 동작이 수행될 수 있다. 일부 실시예들에서, 도 10의 문턱값은 도 7의 문턱값과 상이할 수 있고, 예컨대 도 10의 문턱값이 도 7의 문턱값 보다 높을 수 있다. 도 10에 도시된 바와 같이, 신뢰도가 문턱값 미만인 경우 단계 S105가 후속하여 수행될 수 있는 한편, 신뢰도가 문턱값 이상인 경우 단계 S106이 후속하여 수행될 수 있다.In step S104, an operation of comparing the reliability of the answer extracted from the searched document with a predefined threshold may be performed. In some embodiments, the threshold of FIG. 10 may be different from the threshold of FIG. 7 , eg, the threshold of FIG. 10 may be higher than the threshold of FIG. 7 . As shown in FIG. 10 , if the reliability is less than the threshold, step S105 may be performed subsequently, while if the reliability is greater than or equal to the threshold, step S106 may be performed subsequently.

검색된 문서에 정답이 포함되지 아니하거나, 검색된 문서로부터 추출된 답변의 신뢰도가 낮은 경우, 단계 S105에서 지식 인스턴스(INS)의 검증 실패가 판정될 수 있다. 예를 들면, 지식 검증부(190)는 검증 실패가 판정된 경우, 다른 검색된 문서를 사용하여 지식 인스턴스(INS)의 검증을 다시 수행할 수 있다. 검색된 문서들 전부 혹은 미리 정의된 양의 문서들을 사용하여 지식 인스턴스(INS)의 검증이 실패하는 경우, 지식 검증부(190)는 최종적으로 지식 인스턴스(INS)의 검증 실패를 판정할 수 있고, 이를 지식 생성부(170)에 알릴 수 있다.When a correct answer is not included in the searched document or the reliability of an answer extracted from the searched document is low, it may be determined in step S105 that the verification of the knowledge instance INS fails. For example, when it is determined that the verification fails, the knowledge verification unit 190 may re-verify the knowledge instance INS using another searched document. When the verification of the knowledge instance INS fails using all of the found documents or a predefined amount of documents, the knowledge verification unit 190 may finally determine the verification failure of the knowledge instance INS, The knowledge generating unit 170 may be notified.

다른 한편으로, 검색된 문서에 정답이 포함되거나 검색된 문서로부터 추출된 답변의 신뢰도가 높은 경우, 단계 S106에서 지식 인스턴스(INS)의 검증 성공이 판정될 수 있다. 예를 들면, 지식 검증부(190)는 하나의 검색된 문서를 사용하여 검증 성공이 판정된 경우, 최종적으로 지식 인스턴스(INS)의 검증 성공을 판정할 수 있다. 다른 예시로서, 지식 검증부(190)는 미리 정의된 개수나 비율의 검색된 문서들을 사용하여 검증 성공이 판정된 경우, 최종적으로 지식 인스턴스(INS)의 검증 성공을 판정할 수도 있다.On the other hand, when a correct answer is included in the retrieved document or the reliability of an answer extracted from the retrieved document is high, verification success of the knowledge instance INS may be determined in step S106. For example, when verification success is determined using one searched document, the knowledge verification unit 190 may finally determine verification success of the knowledge instance INS. As another example, the knowledge verification unit 190 may finally determine the verification success of the knowledge instance INS when verification success is determined using a predefined number or ratio of retrieved documents.

도 11은 본 발명의 예시적 실시예에 따른 지식 추출을 위한 방법을 나타내는 순서도이다. 일부 실시예들에서, 도 11의 방법은 도 1의 지식 추출 시스템(100)에 의해서 수행될 수 있다. 도 11에 도시된 바와 같이, 도 11의 방법은 복수의 단계들(S200, S400, S600, S800)을 포함할 수 있고, 이하에서 도 11은 도 1을 참조하여 설명될 것이다.11 is a flowchart illustrating a method for knowledge extraction according to an exemplary embodiment of the present invention. In some embodiments, the method of FIG. 11 may be performed by the knowledge extraction system 100 of FIG. 1 . 11 , the method of FIG. 11 may include a plurality of steps S200 , S400 , S600 , and S800 , and FIG. 11 will be described below with reference to FIG. 1 .

단계 S200에서, 입력 문서(DIN)로부터 개체(ENT)를 추출하는 동작이 수행될 수 있다. 예를 들면, 입력 문서(DIN)는 제목을 포함할 수 있고, 개체 추출부(110)는 입력 문서(DIN)의 제목으로부터 개체(ENT)를 추출할 수 있다.In step S200, an operation of extracting the entity ENT from the input document DIN may be performed. For example, the input document DIN may include a title, and the entity extraction unit 110 may extract the entity ENT from the title of the input document DIN.

단계 S400에서, 개체(ENT)를 포함하는 질의(QUE)를 생성하는 동작이 수행될 수 있다. 예를 들면, 질의 생성부(130)는 속성 리스트(PL)에서 개체(ENT)의 클래스가 가질 수 있는 속성들 중 하나를 선택할 수 있다. 질의 생성부(130)는 워드 벡터 모델을 참조하여 선택된 속성(PRO) 및 개체(ENT)로부터 워드 벡터들(예컨대, 도 3의 V1, V2)을 생성할 수 있고, 딥 러닝 네트워크(예컨대, 도 3의 134)에 워드 벡터들을 제공함으로써 획득된 워드 벡터(예컨대, 도 3의 V3)에 기초하여 질의(QUE)를 생성할 수 있다.In step S400, an operation of generating a query (QUE) including the entity (ENT) may be performed. For example, the query generator 130 may select one of the attributes that the class of the entity ENT may have from the attribute list PL. The query generator 130 may generate word vectors (eg, V1 and V2 in FIG. 3 ) from the selected attribute PRO and entity ENT with reference to the word vector model, and a deep learning network (eg, FIG. 3 ) A query QUE may be generated based on a word vector (eg, V3 of FIG. 3 ) obtained by providing the word vectors to 134 of 3 .

단계 S600에서, 기계 독해에 기초하여 입력 문서(DIN)로부터 답변(ANS)을 추출하는 동작이 수행될 수 있다. 예를 들면, 기계 독해 엔진(150)은 딥 러닝 네트워크(154)를 사용하여 입력 문서(DIN)에서 질의(QUE)에 대응하는 답변(ANS)을 추출할 수 있다.In step S600, an operation of extracting an answer (ANS) from the input document (DIN) based on the machine reading may be performed. For example, the machine reading engine 150 may extract an answer (ANS) corresponding to the query (QUE) from the input document (DIN) using the deep learning network (154).

단계 S800에서, 개체(ENT), 속성(PRO) 및 답변(ANS)에 기초하여 지식 인스턴스(INS)를 생성하는 동작이 수행될 수 있다. 예를 들면, 지식 생성부(170)는 개체(ENT), 속성(PRO) 및 답변(ANS)에 기초하여 후보 지식 인스턴스(예컨대, 도 8의 CAN)를 생성할 수 있다. 지식 생성부(170)는 후보 지식 인스턴스를 지식베이스(200)에 포함된 지식 인스턴스들과 비교함으로써, 후보 지식 인스턴스로부터 지식 인스턴스(INS)를 생성할 수도 있고, 지식 인스턴스(INS)에 기초한 지식베이스(200)가 보강 여부를 판정할 수도 있다. 일부 실시예들에서, 단계 S800에 후속하여, 단계 S800에서 생성된 지식 인스턴스(INS)를 검증하는 동작이 더 수행될 수도 있다.In operation S800 , an operation of generating a knowledge instance INS based on the entity ENT, the attribute PRO, and the answer ANS may be performed. For example, the knowledge generator 170 may generate a candidate knowledge instance (eg, CAN of FIG. 8 ) based on the entity ENT, the attribute PRO, and the answer ANS. The knowledge generating unit 170 may generate a knowledge instance INS from the candidate knowledge instance by comparing the candidate knowledge instance with the knowledge instances included in the knowledge base 200 , or a knowledge base based on the knowledge instance INS. (200) may determine whether reinforcement. In some embodiments, following step S800, an operation of verifying the knowledge instance INS generated in step S800 may be further performed.

이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들이 설명되었으나, 이는 단지 본 발명의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.Exemplary embodiments have been disclosed in the drawings and specification as described above. Although the embodiments have been described using specific terms in the present specification, these are used only for the purpose of explaining the technical idea of the present invention and not used to limit the meaning or the scope of the present invention described in the claims. . Therefore, it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible therefrom. Accordingly, the true technical protection scope of the present invention should be defined by the technical spirit of the appended claims.

Claims (10)

문서로부터 지식을 추출하기 위한 지식 추출 시스템으로서,
입력 문서로부터 개체(entity)를 추출하도록 구성된 개체 추출부;
상기 개체의 속성 리스트에 포함된 속성에 기초하여, 상기 개체를 포함하는 질의를 생성하도록 구성된 질의 생성부;
상기 입력 문서로부터 상기 질의의 답변을 추출하도록 구성된 기계 독해(machine reading comprehension) 엔진; 및
지식베이스의 형식에 기초하여, 상기 개체, 상기 속성 및 상기 답변으로부터 지식 인스턴스를 생성하도록 구성된 지식 생성부를 포함하고,
상기 질의 생성부는,
상기 속성 리스트에 포함된 복수의 속성들 각각을 순차적으로 선택하고, 상기 개체에 대응하는 제1 워드 벡터 및 선택된 속성에 대응하는 제2 워드 벡터를 생성하도록 구성된 전처리부;
샘플 객체들 및 샘플 속성들에 따라 샘플 질의들을 생성하도록 학습되고, 상기 제1 워드 벡터 및 상기 제2 워드 벡터로부터 상기 질의에 대응하는 제3 워드 벡터를 생성하도록 제1 딥 러닝 네트워크; 및
상기 제3 워드 벡터로부터 상기 질의를 생성하도록 구성된 후처리부를 포함하는 것을 특징으로 하는 지식 추출 시스템.
A knowledge extraction system for extracting knowledge from a document, comprising:
an entity extraction unit configured to extract an entity from the input document;
a query generator configured to generate a query including the entity based on the attribute included in the attribute list of the entity;
a machine reading comprehension engine configured to extract an answer to the query from the input document; and
a knowledge generating unit configured to generate a knowledge instance from the entity, the attribute, and the answer based on the format of the knowledge base;
The query generator,
a preprocessor configured to sequentially select each of a plurality of properties included in the property list, and generate a first word vector corresponding to the entity and a second word vector corresponding to the selected property;
a first deep learning network trained to generate sample queries according to sample objects and sample properties, the first deep learning network to generate a third word vector corresponding to the query from the first word vector and the second word vector; and
and a post-processing unit configured to generate the query from the third word vector.
청구항 1에 있어서,
상기 개체 추출부는, 상기 입력 문서의 제목으로부터 상기 개체를 추출하도록 구성된 것을 특징으로 하는 지식 추출 시스템.
The method according to claim 1,
and the entity extraction unit is configured to extract the entity from the title of the input document.
삭제delete 청구항 1에 있어서,
상기 기계 독해 엔진은,
상기 입력 문서 및 상기 질의를 자연어 처리함으로써 입력 데이터를 생성하도록 구성된 자연어 처리부;
자연어 처리된 샘플 문서들 및 샘플 질의들에 따라 샘플 답변들을 출력하도록 학습되고, 상기 입력 데이터로부터 출력 데이터를 생성하도록 구성된 제2 딥 러닝 네트워크; 및
상기 제2 딥 러닝 네트워크의 출력에 기초하여, 상기 답변을 생성하도록 구성된 답변 생성부를 포함하고,
상기 출력 데이터는, 상기 입력 문서에서 정답의 포함 여부, 정답의 위치, 정답의 신뢰도 중 적어도 하나를 포함하는 것을 특징으로 하는 지식 추출 시스템.
The method according to claim 1,
The machine reading engine is
a natural language processing unit configured to generate input data by natural language processing the input document and the query;
a second deep learning network trained to output sample answers according to natural language processed sample documents and sample queries, and configured to generate output data from the input data; and
an answer generator configured to generate the answer based on the output of the second deep learning network,
The output data is a knowledge extraction system, characterized in that it includes at least one of whether the correct answer is included in the input document, the position of the correct answer, and the reliability of the correct answer.
청구항 4에 있어서,
상기 답변 생성부는, 상기 입력 문서에 정답이 포함되지 아니하거나 상기 신뢰도가 미리 정의된 문턱값 미만인 경우, 상기 답변의 추출 실패를 판정하도록 구성된 것을 특징으로 하는 지식 추출 시스템.
5. The method according to claim 4,
The answer generating unit is configured to determine the extraction failure of the answer when the correct answer is not included in the input document or the reliability is less than a predefined threshold.
청구항 5에 있어서,
상기 질의 생성부는, 상기 답변의 추출 실패에 응답하여, 상기 속성 리스트에 포함된 다음 속성에 기초하여 상기 질의를 생성하도록 구성된 것을 특징으로 하는 지식 추출 시스템.
6. The method of claim 5,
The knowledge extraction system according to claim 1, wherein the query generating unit is configured to generate the query based on a next attribute included in the attribute list in response to the failure to extract the answer.
청구항 1에 있어서,
상기 지식베이스는, 주어(subject), 술어(predicate) 및 목적어(object)를 포함하는 트리플(triple)을 포함하고,
상기 지식 생성부는, 상기 개체, 상기 속성 및 상기 답변을, 상기 주어, 술어 및 상기 목적어로서 포함하는 트리플을 상기 지식 인스턴스로서 생성하도록 구성된 것을 특징으로 하는 지식 추출 시스템.
The method according to claim 1,
The knowledge base includes a triple including a subject, a predicate, and an object,
The knowledge generating unit is configured to generate a triple including the entity, the attribute, and the answer as the subject, the predicate, and the object as the knowledge instance.
청구항 1에 있어서,
네트워크를 통해서 상기 지식 인스턴스의 적어도 일부에 기초하여 문서를 검색하고, 검색된 상기 문서 및 상기 질의를 상기 기계 독해 엔진에 제공하고, 상기 기계 독해 엔진의 출력에 기초하여 상기 지식 인스턴스를 검증하도록 구성된 지식 검증부를 더 포함하는 지식 추출 시스템.
The method according to claim 1,
knowledge validation configured to retrieve a document based on at least a portion of the knowledge instance over a network, provide the retrieved document and the query to the machine reading engine, and validate the knowledge instance based on an output of the machine reading engine A knowledge extraction system further comprising wealth.
청구항 1에 있어서,
상기 지식 생성부는,
상기 지식베이스에 포함된 지식 인스턴스의 형식에 기초하여 상기 개체, 상기 속성 및 상기 답변을 후처리함으로써 후보 지식 인스턴스를 생성하도록 구성된 후보 인스턴스 생성부; 및
상기 후보 지식 인스턴스를 상기 지식베이스에 포함된 지식 인스턴스들과 비교함으로써 상기 지식 인스턴스를 생성하고, 상기 지식베이스에 보강하도록 구성된 인스턴스 비교부를 포함하는 것을 특징으로 하는 지식 추출 시스템.
The method according to claim 1,
The knowledge generating unit,
a candidate instance generating unit configured to generate a candidate knowledge instance by post-processing the entity, the attribute, and the answer based on the type of the knowledge instance included in the knowledge base; and
and an instance comparison unit configured to generate the knowledge instance by comparing the candidate knowledge instance with knowledge instances included in the knowledge base, and to reinforce the knowledge base.
문서로부터 지식을 추출하기 위한 지식 추출 방법으로서,
입력 문서로부터 개체(entity)를 추출하는 단계;
상기 개체의 속성 리스트에 포함된 속성에 기초하여, 상기 개체를 포함하는 질의를 생성하는 단계;
기계 독해(machine reading comprehension)에 기초하여, 상기 입력 문서로부터 상기 질의의 답변을 추출하는 단계; 및
지식베이스의 형식에 기초하여, 상기 개체, 상기 속성 및 상기 답변으로부터 지식 인스턴스를 생성하는 단계를 포함하고,
상기 질의를 생성하는 단계는,
상기 속성 리스트에 포함된 복수의 속성들 각각을 순차적으로 선택하는 단계;
상기 개체에 대응하는 제1 워드 벡터 및 선택된 속성에 대응하는 제2 워드 벡터를 생성하는 단계;
샘플 객체들 및 샘플 속성들에 따라 샘플 질의들을 생성하도록 학습된 제1 딥 러닝 네트워크에 상기 제1 워드 벡터 및 상기 제2 워드 벡터를 제공하는 단계;
상기 제1 워드 벡터 및 상기 제2 워드 벡터에 대응하는 제3 워드 벡터를 상기 딥 러닝 네트워크로부터 수신하는 단계; 및
상기 제3 워드 벡터로부터 질의를 생성하는 단계를 포함하는 것을 특징으로 하는 지식 추출 방법.
A knowledge extraction method for extracting knowledge from a document, comprising:
extracting an entity from the input document;
generating a query including the entity based on attributes included in the attribute list of the entity;
extracting an answer of the query from the input document based on a machine reading comprehension; and
generating a knowledge instance from the entity, the attribute and the answer based on the format of the knowledgebase;
Creating the query includes:
sequentially selecting each of a plurality of attributes included in the attribute list;
generating a first word vector corresponding to the entity and a second word vector corresponding to the selected attribute;
providing the first word vector and the second word vector to a first deep learning network trained to generate sample queries according to sample objects and sample properties;
receiving a third word vector corresponding to the first word vector and the second word vector from the deep learning network; and
and generating a query from the third word vector.
KR1020190126282A 2019-10-11 2019-10-11 System and method for extracting knowledge based on machine reading KR102292040B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190126282A KR102292040B1 (en) 2019-10-11 2019-10-11 System and method for extracting knowledge based on machine reading

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190126282A KR102292040B1 (en) 2019-10-11 2019-10-11 System and method for extracting knowledge based on machine reading

Publications (2)

Publication Number Publication Date
KR20210043283A KR20210043283A (en) 2021-04-21
KR102292040B1 true KR102292040B1 (en) 2021-08-23

Family

ID=75744023

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190126282A KR102292040B1 (en) 2019-10-11 2019-10-11 System and method for extracting knowledge based on machine reading

Country Status (1)

Country Link
KR (1) KR102292040B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230057636A (en) 2021-10-22 2023-05-02 (주)두타위즈 Apparatus and method for generating mrc model
KR20230101214A (en) 2021-12-29 2023-07-06 (주)노스스타컨설팅 System and Method of paragraph exploration and paragraph selection for Machine Reading Comprehension
KR20230101215A (en) 2021-12-29 2023-07-06 (주)노스스타컨설팅 System and Method of Machine Reading Comprehension for Animal disease information search based on paragraph exploration and paragraph selection
KR102714398B1 (en) * 2023-11-22 2024-10-11 오케스트로 주식회사 A support system for building microservice and a integrated operating system comprising the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230070968A (en) * 2021-11-15 2023-05-23 주식회사 솔트룩스 System and method for extracting knowledge based on graph reading

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102006214B1 (en) * 2017-12-28 2019-08-02 주식회사 솔트룩스 System and method for building integration knowledge base based a plurality of data sources

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
최현승 외, 지식베이스 확장을 위한 멀티소스 비정형 문서에서의 정보 추출 시스템의 개발 (2018)*

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230057636A (en) 2021-10-22 2023-05-02 (주)두타위즈 Apparatus and method for generating mrc model
KR20230101214A (en) 2021-12-29 2023-07-06 (주)노스스타컨설팅 System and Method of paragraph exploration and paragraph selection for Machine Reading Comprehension
KR20230101215A (en) 2021-12-29 2023-07-06 (주)노스스타컨설팅 System and Method of Machine Reading Comprehension for Animal disease information search based on paragraph exploration and paragraph selection
KR102714398B1 (en) * 2023-11-22 2024-10-11 오케스트로 주식회사 A support system for building microservice and a integrated operating system comprising the same

Also Published As

Publication number Publication date
KR20210043283A (en) 2021-04-21

Similar Documents

Publication Publication Date Title
KR102292040B1 (en) System and method for extracting knowledge based on machine reading
US10496722B2 (en) Knowledge correlation search engine
US11640515B2 (en) Method and neural network system for human-computer interaction, and user equipment
Grishman Information extraction
US8140559B2 (en) Knowledge correlation search engine
US9773053B2 (en) Method and apparatus for processing electronic data
US10503830B2 (en) Natural language processing with adaptable rules based on user inputs
WO2019229769A1 (en) An auto-disambiguation bot engine for dynamic corpus selection per query
CN109840255B (en) Reply text generation method, device, equipment and storage medium
US20220083879A1 (en) Inferring a comparative advantage of multi-knowledge representations
US20220300831A1 (en) Context-aware entity linking for knowledge graphs
KR20210070904A (en) Method and apparatus for multi-document question answering
US11216520B2 (en) Knowledge correlation search engine
JP5812534B2 (en) Question answering apparatus, method, and program
Drazan et al. Improved processing of textual use cases: Deriving behavior specifications
KR20210056131A (en) Apparatus and method for answering questions related to legal field
US8577924B2 (en) Determining base attributes for terms
KR101983477B1 (en) Method and System for zero subject resolution in Korean using a paragraph-based pivotal entity identification
US11017172B2 (en) Proposition identification in natural language and usage thereof for search and retrieval
KR20230070968A (en) System and method for extracting knowledge based on graph reading
KR20200068105A (en) System of providing documents for machine reading comprehension and question answering system including the same
Fong et al. Treebank parsing and knowledge of language
Kahlawi An ontology-driven DBpedia quality enhancement to support Entity Annotation for Arabic Text
Dilshener Improving information retrieval-based concept location using contextual relationships
Mumtaz Extracting Named Entities and Relations From Text for Populating Knowledge Graph

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right