KR102491172B1 - 자연어 질의응답 시스템 및 그 학습 방법 - Google Patents

자연어 질의응답 시스템 및 그 학습 방법 Download PDF

Info

Publication number
KR102491172B1
KR102491172B1 KR1020170156671A KR20170156671A KR102491172B1 KR 102491172 B1 KR102491172 B1 KR 102491172B1 KR 1020170156671 A KR1020170156671 A KR 1020170156671A KR 20170156671 A KR20170156671 A KR 20170156671A KR 102491172 B1 KR102491172 B1 KR 102491172B1
Authority
KR
South Korea
Prior art keywords
question
verification
correct answer
natural language
answer
Prior art date
Application number
KR1020170156671A
Other languages
English (en)
Other versions
KR20190059084A (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 KR1020170156671A priority Critical patent/KR102491172B1/ko
Publication of KR20190059084A publication Critical patent/KR20190059084A/ko
Application granted granted Critical
Publication of KR102491172B1 publication Critical patent/KR102491172B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

자연어 질의응답 시스템의 학습방법이 개시된다. 상기 학습방법은, 질문-정답 생성 장치가, 자연어 텍스트를 파싱하여 검증용 질문과 검증용 정답을 생성하는 단계; 상기 질의 응답 장치가, 상기 질문-정답 생성 장치로부터의 상기 검증용 질문을 자연어 처리 알고리즘에 따라 분석하여 정답 유형을 인식하고, 지식 베이스에서 상기 인식한 정답 유형에 대응하는 정답을 생성하는 단계; 및 지식 생성 장치가, 상기 질문-정답 생성 장치로부터의 상기 검증용 정답을 기반으로 상기 질의 응답 장치로부터의 정답을 검증하고, 상기 정답이 오답인 경우, 웹으로부터 상기 검증용 정답을 포함하는 정보를 수집하고, 수집된 정보로 상기 지식 베이스를 업데이트 하는 단계를 포함한다.

Description

자연어 질의응답 시스템 및 그 학습 방법{NATURAL LANGUAGE QUESTION-ANSWERING SYSTEM AND LEARNING METHOD}
본 발명은 자연어 질문에 대한 정답을 제공하는 자연어 질의응답 시스템 및 그 학습 방법에 관한 것이다.
기존의 질의응답 시스템은 성능평가를 위해 사용자 또는 전문가가 직접 질문을 입력하고 평가를 통해 성능을 검증했다. 이러한 방법은 사용자의 지식 범위가 한정되어 있기 때문에, 사용자의 지식 범위 내에서 질의응답 성능을 검증할 수 있다.
다양한 분야에서 질의응답 성능을 검증하기 위해, 기존에는 각 분야의 전문가가 질의응답 성능을 평가하고, 시스템 설계자가 그 평가 결과에 따라 부족한 지식을 질의응답 시스템의 지식 베이스에 수작업으로 업데이트하는 방식이었다.
그러나, 전문가에 의한 질의응답 성능 평가와 수작에 의한 질의응답 시스템의 업데이트는 많은 비용과 시간을 필요로 하는 문제가 있다.
따라서, 본 발명의 목적은 전문가의 개입 없이, 스스로 부족한 지식을 업데이트하여 진화하는 자연어 질의응답 시스템 및 그 학습 방법을 제공하는 것이다.
상술한 목적을 달성하기 위한 본 발명의 일면에 따른 자연어 질의응답 시스템의 학습방법은 질문-정답 생성 장치가, 자연어 텍스트를 파싱하여 검증용 질문과 검증용 정답을 생성하는 단계; 상기 질의 응답 장치가, 상기 질문-정답 생성 장치로부터의 상기 검증용 질문을 자연어 처리 알고리즘에 따라 분석하여 정답 유형을 인식하고, 지식 베이스에서 상기 인식한 정답 유형에 대응하는 정답을 생성하는 단계; 및 지식 생성 장치가, 상기 질문-정답 생성 장치로부터의 상기 검증용 정답을 기반으로 상기 질의 응답 장치로부터의 정답을 검증하고, 상기 정답이 오답인 경우, 웹으로부터 상기 검증용 정답을 포함하는 정보를 수집하고, 수집된 정보로 상기 지식 베이스를 업데이트 하는 단계를 포함한다.
본 발명의 다른 일면에 따른 자연어 질의 응답 시스템은, 자연어 텍스트를 파싱하여 검증용 질문과 검증용 정답을 생성하는 컴퓨터 프로세서를 포함하는 질문-정답 생성 장치; 상기 질문-정답 생성 장치로부터 상기 검증용 질문을 수신하는 통신 인터페이스와, 상기 검증용 질문을 자연어 처리 알고리즘에 따라 분석하여 정답 유형을 인식하고, 지식 베이스에서 상기 인식한 정답 유형에 대응하는 정답을 검색하여 생성하는 컴퓨터 프로세서를 포함하는 질의 응답 장치; 및 상기 질문-정답 생성 장치로부터의 상기 검증용 정답과 상기 질의 응답 장치로부터의 정답을 수신하는 네트워크 인터페이스와, 상기 검증용 정답을 기반으로 상기 정답을 검증하고, 상기 정답이 오답인 경우, 상기 네트워크 인터페이스를 통해 웹에 접속하여, 상기 웹으로부터 상기 검증용 정답을 포함하는 정보를 수집하고, 수집된 정보로 상기 지식 베이스를 업데이트 하는 컴퓨터 프로세서를 포함하는 지식 생성 장치를 포함한다.
본 발명에 따르면, 자연어 질의 응답 시스템이 스스로 부족한 지식을 학습하여 부족한 지식을 증식하기 때문에, 사용자 또는 전문가의 개입에 따른 시간 및 비용을 줄일 수 있다.
도 1은 본 발명의 일 실시 예에 따른 자연어(natural language) 질의 응답 시스템의 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 지식 베이스에 구축된 온톨로지 데이터베이스의 예를 도식적으로 나타낸 도면이다.
도 3은 도 1에 도시한 질의 응답 장치, 질문-정답 생성 장치 및 지식 생성 장치에 공통적으로 구비된 전자 장치의 구성도이다.
도 4는 본 발명의 일 실시 예에 따른 자연어 질의응답 시스템의 학습방법을 나타내는 흐름도이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세하게 설명한다. 사용되는 용어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 후술하는 실시예들에서 사용된 용어의 의미는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명한다.
도 1은 본 발명의 일 실시 예에 따른 자연어(natural language) 질의 응답 시스템의 블록도이다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 자연어 질의 응답 시스템은 스스로 학습하고 지식을 증식하여 진화한다.
이를 위해, 자연어 질의응답 시스템은 질의 응답 장치(100), 질문 정답 쌍 생성 장치(200) 및 지식 생성 장치(300)를 포함할 수 있다.
질의 응답 장치(100)는 사용자 입력으로부터 자연어 텍스트 기반의 질문 데이터(또는 자연어 질문)를 획득하고, 지식 베이스(400)에 저장된 지식 데이터를 이용하여 상기 획득된 질문 데이터에 대한 정답 데이터를 출력하도록 구성된 장치일 수 있다. 여기서, 사용자 입력은 키(key) 입력, 음성 입력, 터치 입력, 제스처 입력 등을 포함할 수 있다.
또한, 질의 응답 장치(100)는 상기 질문-정답 생성 장치(200)에서 생성한 검증용 질문 데이터를 수신하고, 상기 지식 베이스(400)에 저장된 지식 데이터를 이용하여 상기 검증용 질문 데이터에 대한 최적의 정답 데이터를 출력하도록 구성된 장치일 수 있다.
검증용 질문-정답 생성 장치(200)는 자연어 텍스트(20)를 수집하고, 수집한 자연어 텍스트로부터 상기 질의 응답 장치(100)의 성능을 검증하기 위한 자연어 텍스트 기반의 검증용 질문 데이터와 검증용 정답 데이터를 생성할 수 있다. 여기서, 자연어 텍스트(20)는 뉴스, 웹, 블로그, 백과사전, SNS, 문서 파일 등과 같은 비정형 데이터(unstructured data)를 포함할 수 있다. 이러한 검증용 질문-정답 생성 장치(200)는 검증용 질문을 상기 질의 응답 장치(100)로 송신하고, 검증용 정답 데이터를 상기 지식 생성 장치(300)로 송신할 수 있다.
지식 생성 장치(300)는 상기 생성한 질문과 정답을 이용하여 질의 응답 장치(100)에서 출력한 정답을 검증하고, 검증 결과, 질의 응답 장치(100)에서 출력한 정답이 오답인 경우, 질의 응답 장치(100)가 정답을 출력하도록 새로운 지식 데이터를 생성하고, 지식 베이스(400)에 저장된 지식 데이터를 상기 새로운 지식 데이터로 업데이트하는 장치일 수 있다.
이하, 각 장치들(100, 200 및 300)에 대해 상세히 설명한다.
질의 응답 장치(100)
질의 응답 장치(100)는, 전술한 바와 같이, 지식 베이스(400)를 이용하여 자연어 텍스트 기반의 질문에 대한 정답을 출력하는 장치일 수 있다.
이를 위해, 질의 응답 장치(100)는, 도 1에 도시된 바와 같이, 질문 분석 모듈(110), 정답 후보 추출 모듈(120), 정답 후보 추론 모듈(130) 및 정답 생성 모듈(140)를 포함할 수 있다.
질문 분석 모듈(110, question analysis module)은 키 입력, 터치 입력, 음성 입력과 같은 사용자 입력으로부터의 자연어 텍스트 기반의 질문 또는 상기 검증용 질문-정답 생성 장치(200)로부터의 자연어 텍스트 기반의 검증용 질문을 분석하고, 그 분석 결과를 기반으로 질문에 대한 정답 유형을 인식하는 모듈일 수 있다. 정답 유형은, 예를 들면, 인물, 학술분야명, 이론, 지명, 조직명, 문화, 날짜, 시간, 수량, 사건, 동물, 식물, 물질 등과 같이, 질문 내에서 포커싱된 단어(예를 들면, 의문사)의 대표 속성을 나타내는 정보일 수 있다.
정답 유형의 인식은 자연어 질문 내의 각 단어(또는 어휘)에 위와 같은 속성을 나타내는 코드를 부여하는 처리 작업을 포함할 수 있다. 코드는 컴퓨터 프로세서가 판독할 수 있는 데이터일 수 있다.
이러한 정답 유형의 인식을 위해, 질문 분석 모듈(110)은 다양한 자연어 처리(natural language processing) 기법에 따라 질문의 정답 유형을 인식할 수 있다. 자연어 처리 기법은, 예를 들면, 형태소 분석(Morphological analysis), 구문분석(syntax analysis 또는 parsing), 개체명 인식(named-entity recognition), 어휘의미분석(semantic analysis), 의미역 인식(semantic role labeling) 등을 포함할 수 있으며, 이러한 기법들과 관련해 다양한 알고리즘이 공지되어 있으며, 본 발명은 이러한 알고리즘을 한정하는데 특징이 있는 것이 아니므로, 이에 대한 설명은 공지의 기술로 대신한다.
정답 후보 추출 모듈(120)은 질문 분석 모듈(110)에서 인식한 정답 유형에 대응하는 질의어(query)를 생성하고, 지식 베이스(400) 내에 구축된 정보 검색을 위한 색인 데이터베이스에서 상기 질의어에 대응하는 다수의 문서 또는 다수의 문장을 검색하고, 검색된 다수의 문서 또는 다수의 문장에서 정답 후보들을 추출하는 모듈일 수 있다. 질의어(query)를 생성하는 방법은, 예를 들면, 질문 분석 모듈(110)로부터 입력되는 코드들을 사전 학습된 규칙에 따라 지식베이스(400)의 스키마(schma) 정보가 포함된 질의어(query)로 변환하는 과정을 포함할 수 있다. 정답 후보들은, 다수의 문서 또는 다수의 문장에서 상기 질문 분석 모듈(110)에서 인식한 정답 유형에 대응하는 코드가 할당된 단어들일 수 있다.
정답 후보 추론 모듈(130)은 상기 정답 후보 추출 모듈(120)에서 추출한 정답 후보들이 정답일 가능성을 추론하는 모듈일 수 있다. 이러한 추론 과정은 정답 후보와 검증용 질문 내의 어휘 간의 유사도를 계산하는 과정으로 이해될 수 있다.
정답 후보와 검증용 질문 내의 어휘 간의 유사도를 계산하기 위해, 지식 베이스(400) 내에 구축된 온톨로지 데이터베이스가 활용될 수 있다. 도 2는 본 발명의 일 실시 예에 따른 지식 베이스에 구축된 온톨로지 데이터베이스의 예를 도식적으로 나타낸 도면이다. 도 2를 참조하면, 온톨로지 데이터베이스는, 계층적으로 구성된 다수의 노드(21, 31, 41, 51)와 이들을 연결하는 연결선(L)으로 구성될 수 있다. 노드는 검증용 질문 내의 어휘를 나타내는 노드들(21, 31, 41)과 정답 후보 어휘를 나타내는 노드(51)를 포함할 수 있다. 연결선(L)은 노드와 노드 간의 관계에 대한 레이블이 정의된다. 레이블은 거리값(d1, d2)을 포함할 수 있다. 정답 후보 어휘와 자연어 질문 내의 어휘 간의 유사도는 정답 후보 어휘에 대응하는 노드와 자연어 질문 내의 어휘에 대응하는 노드 간의 거리값을 기반으로 계산될 수 있다.
정답 후보 추론 모듈(130)은 정답 유형에 대한 각 정답 후보들의 유사도를 순위화하고, 상기 순위화된 유사도를 정답 생성 모듈(140)로 출력한다.
정답 생성 모듈(140)은 정답 후보 추론 모듈(130)로부터 입력된 순위화된 유사도를 분석하여, 정답 후보들 중에서 정답 유형에 대해 가장 높은 유사도를 갖는 정답 후보를 최적의 정답으로 추출하여 생성하고, 최적의 정답을 상기 지식 생성 장치(300)로 송신한다. 이때, 정답 생성 모듈(140)은 가장 높은 유사도가 기설정된 임계값 미만인 경우, 정답 유형에 대해 가장 높은 유사도를 갖는 정답 후보를 최적의 정답으로 생성하지 않을 수 있다.
한편, 도 1에서는 지식 베이스(400)가 질의 응답 장치(400)의 외부에 구비된 것으로 도시하고 있으나, 질의 응답 장치(400)의 내부에 구비될 수 있다. 예를 들면, 질의 응답 장치(400)의 내부 저장 유닛에 저장될 수 있다.
검증용 질문-정답 생성 장치(200)
검증용 질문-정답 생성 장치(200)는 질의 응답 장치(100)의 성능을 평가하기 위한 검증용 질문과 검증용 정답을 생성하는 장치일 수 있다.
이를 위해, 검증용 질문-정답 생성 장치(200)는 파싱부(210), 필터링 모듈(220) 및 질문-정답 생성 모듈(230)을 포함할 수 있다.
파싱 모듈(210)은 자연어 텍스트를 문당 단위 또는 문서 단위로 파싱(parsing)하여 자연어 텍스트에서 문장 또는 문서를 분리(segmentation)하는 작업을 처리하는 모듈일 수 있다. 설명의 편의를 위해, 이하의 실시 예에서는, 파싱 모듈(210)이 자연어 텍스트를 문장 단위로 분리하는 작업을 처리하는 것으로 가정한다.
이러한 분리(segmentation) 작업은 기계 학습의 시퀀스 라벨링(sequence labeling) 기법에 따라 수행될 수 있다. 파싱 모듈(210)에서 파싱하는 자연어 텍스트는 사전에 수집된 뉴스, 백과사전, SNS데이터 등을 예로 들 수 있다.
필터링 모듈(220)은 파싱 모듈(210)에 의해 자연어 텍스트로부터 분리(segmentation)된 문장이 검증용 질문과 검증용 정답을 생성하기 위해 적절한 지식 데이터를 포함하고 있는 지를 판별하는 모듈일 수 있다.
예를 들면, 필터링 모듈(220)은 문장이 완전한 문장 구조로 구성되어 있는지를 판별하고, 의미 있는 개체명(named-entity)을 포함하고 있는지를 판별한다.
이를 위해, 질의응답 장치(100) 내의 질문 분석 모듈(110)에서 사용하는 자연어 처리 기법이 이용될 수 있다. 즉, 필터링 모듈(220)은 자연어 처리 기법에 따라 파싱 모듈(210)에서 분리한 문장들 중에서 불완전한 문장 구조로 이루어진 문장과 의미 있는 개체명을 포함하고 있지 않은 문장을 필터링한다.
필터링 모듈(220)은 파싱 모듈(210)에서 분리한 문장이 완전한 문장 구조로 이루어져 있지 않거나, 또는 의미 있는 개체명을 포함하고 있지 않은 것으로 판별하면, 파싱 모듈(210)에서 분리한 다른 문장에 대한 필터링 작업을 수행한다.
질문-정답 생성 모듈(230)은 필터링 모듈(220)에 의해 필터링된 문장으로부터 검증용 질문과 검증용 정답을 생성하는 모듈일 수 있다.
질문-정답 생성 모듈(230)은 자연어 처리 기법에 포함된 어휘의미분석(semantic analysis) 및 의미역 인식(semantic role labeling) 기법을 기반으로 필터링된 문장에 포함된 개체명을 포함하는 검증용 질문을 생성할 수 있다.
다르게, 질문-정답 생성 모듈(230)은 사전에 구축된 질문 생성 규칙에 따라 필터링된 문장에 포함된 개체명에 대응하는 의문사 및 동사를 생성하고, 생성된 의문사 및 동사를 포함하도록 검증용 질문을 생성할 수 있다. 질문 생성 규칙은 개체명과 의문사의 관계 및 개체명과 동사의 관계를 학습한 규칙일 수 있다. 질문-정답 생성 모듈(230)은 생성한 검증용 질문을 질의응답 장치(100)로 송신한다.
질문-정답 생성 모듈(230)은 필터링 모듈(220)에 의해 필터링된 문장에서 개체명에 대응하는 단어를 추출하고, 추출된 단어를 검증용 정답으로서 생성하고, 이를 지식 생성 장치(300)로 송신한다. 이때, 질문-정답 생성 모듈(230)은 검증용 정답과 함께 필터링된 문장을 지식 생성 장치(300)로 송신한다.
지식 생성 장치(300)
지식 생성 장치(300)는 질의응답 장치(100)에서 제공하는 검증용 질문에 대한 정답이 오답인 경우, 질의응답 장치(100)에서 정확한 정답을 제공하도록 지식 데이터를 생성하고, 생성된 지식 데이터로 지식 베이스(400)를 업데이트하는 장치일 수 있다.
이를 위해, 지식 생성 장치(300)는 검증 모듈(310), 정보 수집 모듈(320) 및 지식 추출 모듈(330)을 포함할 수 있다.
검증 모듈(310)은 질문-정답 생성 장치(200)로부터 수신된 검증용 정답과 질의응답 장치로부터 수신된 검증용 질문에 대한 정답을 비교하여 검증용 질문에 대한 정답의 오답 여부를 검증하는 모듈일 수 있다.
정보 수집 모듈(320)은 검증 모듈(310)로부터의 검증 결과에 따라 검증용 질문에 대한 지식 정보를 수집하는 모듈일 수 있다.
검증용 질문에 대한 지식 정보를 수집하기 위해, 정보 수집 모듈(320)은 질문-정답 생성 장치(200)로부터 수신된 검증용 정답과 질문-정답 생성 장치(200) 내의 필터링 모듈(220)에서 필터링된 문장 내에서 검증용 정답을 제약하는 단어를 키워드로 검색하여 웹(400)으로부터 정보를 수집할 수 있다. 여기서, 웹(400)으로부터 수집되는 정보는 검증용 정답과 검증용 정답을 제약하는 단서어를 포함하는 뉴스 정보, 백과사전 정보, SNS 정보 등을 포함할 수 있다. 여기서, 검증용 정답을 제약하는 단어는 정답을 나타내는 단어를 수식하는 형용사, 정답을 나타내는 단어에 대응하는 동사, 부사 등을 포함할 수 있다.
지식 추출 모듈(330)은 정보 수집 모듈(320)에 의해 수집된 정보로부터 신규 지식 데이터를 추출하고, 추출된 지식 데이터로 지식 베이스(400)를 업데이트하는 모듈일 수 있다.
지식 추출 모듈(330)은 수집된 정보에서 검증용 정답과 검증용 정답을 제약하는 단서어를 포함하는 문서 또는 문장을 추출하고, 추출된 문서 또는 문장을 지식 베이스(400)의 스키마 정보를 포함하는 신규 지식 데이터로 변환한다.
상기 수집된 정보에서 검증용 정답과 검증용 정답을 제약하는 단서어를 포함하는 문서 또는 문장을 추출하기 위해, 기계학습의 시퀀스 라벨링 기법이 이용될 수 있다.
스키마 정보는 질의응답 장치(100)에서 정답 후보를 추출하는 과정에서 사용되는 정보 검색을 위한 색인 데이터베이스의 스키마 정보와 질의응답 장치(100)에서 정답 후보를 추론하는 과정에서 사용되는 온톨로지 데이터베이스의 스키마 정보를 포함할 수 있다.
따라서, 지식 추출 모듈(330)에 의해 추출된 신규 지식 데이터는 지식 베이스(400) 내에 구축된 정보 검색을 위한 색인 데이터베이스와 온톨로지 데이터베이스를 업데이트하도록 구성될 수 있다.
지식 베이스의 업데이트가 완료되면, 질의응답 장치(100)에서 검증용 질문에 대한 검증용 정답을 출력하는지를 다시 검증하는 과정이 수행될 수 있다. 즉, 질의 정답 생성장치(200)는 동일한 검증용 질문을 질의응답 장치(100)에게 다시 송신하고, 지식 생성 장치(300)는 질의응답 장치(100)에서 제공하는 동일한 검증용 질문에 대한 정답을 검증하는 작업을 다시 수행할 수 있다. 이러한 작업은 질의응답 장치(100)에서 검증용 정답을 제공할 때까지 반복 수행된다. 즉, 지식 생성 장치(300)에 의한 지식 베이스(400)의 업데이트 작업이 반복 수행된다.
이상 설명한 바와 같이, 본 발명의 자연어 질의응답 시스템은, 질문에 대한 부족한 지식을 스스로 판단하고, 필요한 지식을 스스로 증식함으로써, 전문가가 수작업으로 지식 베이스를 업데이트하는 작업에 의해 증가하는 비용 및 시간을 크게 줄일 수 있다.
한편, 본 발명의 일 실시 예에 따른 자연어 질의응답 시스템에 포함된 질의 응답 장치(100), 질문 정답 쌍 생성 장치(200) 및 지식 생성 장치(300) 각각은 통신 기능을 갖는 전자 장치로 구현될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치는, 통신 기능이 포함된 장치일 수 있다. 예를 들면, 사용자 단말 또는 서버일 수 있다. 사용자 단말은, 예를 들면, 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 비디오 전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
도 3은 도 1에 도시한 질의 응답 장치, 질문-정답 생성 장치 및 지식 생성 장치에 공통적으로 구비된 전자 장치의 구성도이다.
도 3을 참조하면, 전자 장치(500)는 프로세서(510), 메모리(520), 입력 장치(530), 출력 장치(540), 저장 유닛(550), 네트워크 인터페이스(560) 및 이들(510~560)을 전기적으로 연결하는 시스템 버스(770)를 포함할 수 있다.
프로세서(510)는 연산 기능을 갖는 적어도 하나의 범용 프로세서를 포함할 수 있다. 범용 프로세서는 다양한 알고리즘을 실행하고, 실행에 따라 생성된 데이터, 정보 등을 가공할 수 있다.
또한, 프로세서(510)는 다수의 하드웨어 모듈을 포함할 수 있다. 예를 들면, 질의응답 장치(100)에 포함된 질문분석 모듈(110), 정답 후보 추출 모듈(120), 정답 후보 추론 모듈(130) 및 정답 생성 모듈(140)이 하드웨어 모듈로 구현된 경우, 질의응답 장치(100) 내의 프로세서(510)는 질문분석 모듈(110), 정답 후보 추출 모듈(120), 정답 후보 추론 모듈(130) 및 정답 생성 모듈(140)를 포함하도록 구성될 수 있다. 또한, 질문-정답 생성 장치(200)에 포함된 파싱 모듈(210), 필터링 모듈(220) 및 질문-정답 생성 모듈(230)이 하드웨어 모듈을 구현된 경우, 질문-정답 생성 장치(510) 내의 프로세서(510)는 파싱 모듈(210), 필터링 모듈(220) 및 질문-정답 생성 모듈(230)을 포함하도록 구성될 수 있다. 또한, 지식 생성 장치(300)에 포함된 검증 모듈(310), 정보 수집 모듈(320) 및 지식 추출 모듈(330)이 하드웨어 모듈로 구현된 경우, 지식 생성 장치(300) 내의 프로세서(510)는 검증 모듈(310), 정보 수집 모듈(320) 및 지식 추출 모듈(330)을 포함하도록 구성될 수 있다.
메모리(520)는 다양한 알고리즘이 실행될 수 있는 실행 공간을 제공할 수 있다. 또한 메모리(520)는 알고리즘의 실행에 따라 생성된 데이터 또는 정보가 다른 데이터 또는 다른 정보로 변환되기 위해 일시적으로 저장되는 저장 공간을 제공한다. 메모리(520)는 비휘발성 메모리 및 휘발성 메모리를 포함할 수 있다.
입력 장치(530)는 키입력, 마우스 입력, 터치 입력, 음성 입력 등과 같은 사용자 입력을 수신하는 장치로, 키보드, 마우스, 터치 패널, 마이크 등을 포함할 수 있다. 마이크 등을 통해 입력되는 음성 입력은 텍스트 형태의 질문으로 변환될 수 있다. 이를 위해, 프로세서(510)는 음성을 인식하고, 인식된 음성을 텍스트 형태로 변환하는 음성 인식 모듈을 포함할 수 있다.
출력 장치(540)는 정답에 대한 음성을 출력하는 스피커, 질문 및 정답을 텍스트 형태로 출력하는 표시 장치를 포함할 수 있다.
저장 유닛(550)은 운영 체제, 알고리즘, 데이터베이스 등을 저장할 수 있다. 저장 유닛(550)에 저장된 알고리즘은 자연어 처리 기법과 관련된 알고리즘들을, 예를 들면, 형태소 분석(Morphological analysis), 구문분석(syntax analysis 또는 parsing), 개체명 인식(named-entity recognition), 어휘의미분석(semantic analysis), 의미역 인식(semantic role labeling)과 관련된 알고리즘을 저장할 수 있다. 저장 유닛(550)에 저장된 데이터베이스는 지식 베이스(400) 내에 구축된 정보 검색을 위한 색인 데이터베이스, 지식 베이스(400) 내에 구축된 온톨로지 데이터베이스, 형태소 분석(Morphological analysis)에서 사용되는 형태소 사전, 구문분석(syntax analysis 또는 parsing)에서 사용될 수 있는 구문 사전, 개체명 인식에서 사용될 수 있는 개체명 사전, 어휘의미분석(semantic analysis)에서 사용될 수 있는 어휘 의미 사전 등을 포함할 수 있다. 그 밖에 저장 유닛(550)은 시퀀스 라벨링(sequence labeling) 기법과 관련된 알고리즘, 질문-정답 생성모듈(230)에서 사용하는 질문 생성 규칙, 질문 생성 규칙과 관련된 규칙 모델, 코드가 부여된 데이터를 지식 베이스의 스키마로 변환하기 위한 규칙과 모델, 정답 후보 추론에 사용될 수 있는 모든 종류의 공지된 알고리즘들을 더 저장할 수 있다.
네트워크 인터페이스(560)는 웹(400)에 접속하도록 유선 또는 무선 통신 기능을 가지며, 웹(400)으로부터 수집된 데이터를 내부에 처리 가능한 데이터로 가공하는 통신 인터페이스일 수 있다.
또한, 네트워크 인터페이스(560)는 질의응답 장치(100), 질문-정답 생성 장치(200) 및 지식 생성 장치(300)들 간의 인터페이싱 기능을 갖는 통신 인터페이스일 수 있다.
도 4는 본 발명의 일 실시 예에 따른 자연어 질의응답 시스템의 학습방법을 나타내는 흐름도이다. 설명의 이해를 돕기 위해, 도 1을 함께 참조할 수 있다.
도 4를 참조하면, 단계 S411에서, 질문-정답 생성 장치(200)가, 자연어 텍스트를 파싱하여 문장 단위로 분리하는 과정이 수행된다. 다르게, 자연어 텍스트는 문서 단위로 분리될 수도 있다. 설명의 편의를 위해, 본 명세서에서는 자연어 텍스트가 문장 단위로 분리되는 것으로 가정한다. 자연어 텍스트는 질문-정답 생성 장치(200)에서 사전에 수집한 데이터로서, 뉴스, 백과사전, SNS와 같은 비정형 데이터를 포함할 수 있다. 자연어 텍스트에 대한 파싱 처리를 위해, 기계학습의 시퀀스 라벨링(sequence labeling) 알고리즘이 사용될 수 있다. 설명의 편의를 위해, 본 명세서에서는 자연어 텍스트가 문서 단위로 분리할 수 있다.
이어, 단계 S413에서, 질문-정답 생성 장치(200)가, 전 단계 S411의 수행결과에 따라 분리된 다수의 문장을 필터링하는 과정이 수행된다. 이 과정은 상기 다수의 문장을 상기 자연어 처리 알고리즘에 따라 분석하여, 상기 다수의 문장에서 의미 있는 개체명을 포함하지 않는 문장을 제거하는 과정이다. 자연어 처리 알고리즘은 형태소 사전에 기반한 형태소 분석(Morphological analysis) 알고리즘, 구문 사전에 기반한 구문분석(syntax analysis 또는 parsing) 알고리즘, 개체명 사전에 기반한 개체명 인식(named-entity recognition) 알고리즘, 어휘의미사전에 기반한 어휘의미분석(semantic analysis) 알고리즘, 의미역 인식(semantic role labeling) 알고리즘을 포함할 수 있다. 전술한 바와 같이, 이러한 알고리즘의 설명은 본 발명의 요지를 벗어나는 것이므로, 이에 대한 설명은 공지 기술로 대신한다.
이어, 단계 S415에서, 질문-정답 생성 장치(200)가, 필터링된 문장, 즉, 상기 의미있는 개체명을 포함하는 문장에서 상기 개체명을 포함하는 상기 검증용 질문과 상기 개체명을 나타내는 단어를 상기 검증용 정답으로서 생성하는 과정이 수행된다. 여기서, 상기 개체명을 포함하는 검증용 질문을 생성하는 것은 사전에 구축된 질문 생성 규칙에 따라 상기 개체명에 대응하는 의문사 및 동사를 생성하고, 상기 생성된 의문사 및 동사를 포함하도록 검증용 질문을 생성하는 것일 수 있다. 다르게, 상기 개체명을 포함하는 검증용 질문을 생성하는 것은 상기 자연어 처리 기법에 포함된 어휘의미분석(semantic analysis) 및 의미역 인식(semantic role labeling) 기법을 기반으로 상기 개체명을 포함하는 검증용 질문을 생성하는 것일 수도 있다. 이어, 생성된 검증용 질문은 질의 응답 장치(100)로 송신되고, 생성된 검증용 정답은 지식 생성 장치(300)로 송신된다. 이때, 검증용 정답을 지식 생성 장치(300)에 송신하는 과정에서, 전술한 단계 S413에서 필터링된 문장 즉, 상기 의미있는 개체명을 포함하는 문장이 상기 검증용 정답과 함께 지식 생성 장치(300)로 송신될 수 있다.
이어, 단계 S417에서, 질의 응답 장치(100)가, 질문-정답 생성 장치(200)로부터 수신된 검증용 질문에 대한 정답 유형을 인식하기 위해, 검증용 질문을 분석하는 과정이 수행된다. 질문 분석은 형태소 사전에 기반한 형태소 분석(Morphological analysis) 알고리즘, 구문 사전에 기반한 구문분석(syntax analysis 또는 parsing) 알고리즘, 개체명 사전에 기반한 개체명 인식(named-entity recognition) 알고리즘, 어휘의미사전에 기반한 어휘의미분석(semantic analysis) 알고리즘 및 의미역 인식(semantic role labeling) 알고리즘 중 적어도 하나를 포함하는 자연어 처리 알고리즘을 기반으로 수행될 수 있다.
이어, 단계 S419에서, 질의 응답 장치(100)가 지식베이스(400)에 구축된 색인 데이터베이스를 검색하여, 전단계에서 인식된 정답 유형에 대응하는 다수의 정답 후보를 생성하는 과정이 수행된다.
이어, 단계 S421에서, 질의 응답 장치(100)가, 지식베이스(400)에 구축된 온톨로지 데이터베이스를 활용하여, 다수의 정답 후보를 추론하는 과정이 수행된다. 이 과정은 각 정답 후보와 검증용 질문에 포함된 어휘 간의 유사도를 계산하는 과정을 포함할 수 있다. 또한, 이 과정은 유사도가 높은 순서로 정답 후보를 순위화하는 과정을 포함할 수 있다.
이어, 단계 S423에서, 다수의 정답 후보를 추론한 결과를 기반으로 최종 정답을 생성하는 과정이 수행될 수 있다. 이 과정은, 예를 들면, 유사도가 가장 높은 정답 후보를 최종 정답으로 생성하는 과정일 수 있다. 이어, 생성된 최종 정답은 지식 생성 장치(300)로 송신될 수 있다.
이어, 단계 S425에서, 지식 생성 장치(300)가 질문-정답 생성 장치(200)로부터 수신한 검증용 정답을 기반으로 질의 응답 장치(100)로부터 수신한 정답을 검증하는 과정이 수행될 수 있다. 이 과정은, 예를 들면, 검증용 정답과 정답을 비교하는 과정 또는 검증용 정답과 정답 간의 유사도를 판단하는 과정을 포함할 수 있다. 유사도는 검증용 정답과 정답 간의 관계를 3차원 벡터 공간에서 표현하는 벡터 공간 모델을 기반으로 계산될 수 있다. 예를 들면, 유사도는 3차원 벡터 공간에서 검증용 정답을 표현하는 벡터와 정답을 표현하는 벡터 간의 코사인 각도값 또는 거리값으로부터 계산될 수 있다.
검증 결과, 검증용 정답과 정답이 일치하지 않은 경우, 또는 검증용 정답과 정답 간의 유사도가 허용 임계치를 초과하는 경우, 지식 생성 장치(300)는 질의 응답 장치(100)가 검증용 질문에 대한 충분한 지식을 보유하고 있지 않은 것으로 판단하고, 단계 S427에서, 정보를 수집하는 과정을 수행한다. 정보 수집을 위해, 지식 생성 장치(300)는 검증용 정답을 키워드로 구성하여 웹(400)으로부터 검증용 정답과 관련된 정보를 수집할 수 있다. 이때, 지식 생성 장치(300)가 질문-정답 생성 장치로부터 검증용 정답의 소스에 해당하는 문장, 즉, 질문-정답 생성 장치(210) 내의 필터링 모듈(220)에 의해 필터링된 문장을 수신하는 경우, 상기 문장 내에서 상기 검증용 정답을 제약하는 단어를 키워드로 더 구성할 수 있다.
이어, S429에서, 지식 생성 장치(300)가 수집된 정보로부터 신규 지식 데이터를 추출하는 과정이 수행된다. 수집된 정보로 지식 베이스(400)를 업데이트 하기 위해서는, 수집된 정보를 지식 베이스(400)의 스키마, 즉, 데이터 구조로 재가공할 필요가 있다. 따라서, 이 과정은 수집된 정보로부터 검증용 정답과 관련된 문장을 추출하고, 추출된 문장을 지식 베이스(400)의 스키마 정보가 포함되도록 신규 지식 데이터로 변환하는 과정일 수 있다.
이어, 단계 S431에서, 지식 생성 장치(300)가 상기 추출된 신규 지식 데이터를 지식 베이스(400)에 업데이트 하는 과정이 수행된다.
이어, 업데이트 결과를 확인하기 위해, 질의 응답 장치(100)가 검증용 질문에 대해 정확한 정답을 출력하는지를 다시 검증하는 과정이 수행될 수 있다. 즉, 업데이트된 지식 베이스를 기반으로 전술한 단계 S417 내지 S425가 반복 수행된다.
도 4에서는 도시하지 않았으나, 다시 검증한 결과, 질의 응답 장치(100)가 검증용 정답과 동일한 정답을 출력하면, 전술한 단계 S411에서 자연어 텍스트에서 분리된 다음 문장에 대해 단계 S413 내지 S431를 반복 수행한다.
이상의 학습과정은, 전문가의 개입 없이, 각 장치(100, 200, 300)에 포함된 컴퓨터 프로세서(510)가 스스로 수행하는 학습이 때문에, 본 발명의 자연어 질의 응답 시스템은 사용자가 질의응답 서비스를 사용하는 중에도 스스로 학습하여 진화하는 견고한 시스템으로 구현될 수 있다.
이상에서 본 발명에 대하여 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 본 발명의 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (15)

  1. 전자장치로 구현되는 질의 응답 장치, 질문-정답 생성 장치 및 지식 생성장치를 포함하는 자연어 질의응답 시스템의 학습 방법에서,
    상기 질문-정답 생성 장치가, 자연어 텍스트를 파싱하여 검증용 질문과 검증용 정답을 생성하는 단계;
    상기 질의 응답 장치가, 상기 질문-정답 생성 장치로부터의 상기 검증용 질문을 자연어 처리 알고리즘에 따라 분석하여 정답 유형을 인식하고, 지식 베이스에서 상기 인식한 정답 유형에 대응하는 정답을 생성하는 단계; 및
    상기 지식 생성 장치가, 상기 질문-정답 생성 장치로부터의 상기 검증용 정답과 상기 질의 응답 장치로부터의 정답을 비교 검증하고, 상기 정답이 오답인 경우, 웹으로부터 상기 검증용 정답을 포함하는 정보를 수집하고, 상기 웹으로부터 수집된 정보로 상기 지식 베이스를 업데이트 하는 단계를 포함하고,
    상기 웹으로부터 수집된 정보는,
    상기 검증용 정답을 제약하는 단어를 더 포함하고, 상기 검증용 정답을 제약하는 단어는 상기 정답을 나타내는 단어를 수식하는 형용사, 상기 정답을 나타내는 단어에 대응하는 동사와 부사를 포함하는 자연어 질의응답 시스템의 학습방법.
  2. 제1항에서, 상기 검증용 질문과 검증용 정답을 생성하는 단계는,
    상기 자연어 텍스트를 문장 단위로 파싱하여 상기 자연어 텍스트로부터 다수의 문장을 분리하는 단계;
    상기 다수의 문장을 상기 자연어 처리 알고리즘에 따라 분석하여, 상기 다수의 문장에서 의미 있는 개체명을 포함하지 않는 문장을 필터링하는 단계;
    상기 의미있는 개체명을 포함하는 문장에서 상기 개체명을 포함하는 상기 검증용 질문과 상기 개체명을 나타내는 단어를 상기 검증용 정답으로서 생성하는 단계;
    를 포함하는 자연어 질의응답 시스템의 학습방법.
  3. 제2항에서, 상기 개체명을 포함하는 검증용 질문을 생성하는 단계는,
    사전에 구축된 질문 생성 규칙에 따라 상기 개체명에 대응하는 의문사 및 동사를 생성하는 단계; 및
    상기 의문사 및 동사를 포함하도록 검증용 질문을 생성하는 단계
    를 포함하는 자연어 질의응답 시스템의 학습방법.
  4. 제2항에서, 상기 개체명을 포함하는 검증용 질문을 생성하는 단계는,
    상기 자연어 처리 기법에 포함된 어휘의미분석(semantic analysis) 및 의미역 인식(semantic role labeling) 기법을 기반으로 상기 개체명을 포함하는 검증용 질문을 생성하는 단계
    인 것인 자연어 질의응답 시스템의 학습방법.
  5. 제2항에서, 상기 자연어 텍스트로부터 다수의 문장을 분리하는 단계는,
    기계 학습의 시퀀스 라벨링(sequence labeling) 기법에 따라, 상기 자연어 텍스트로부터 다수의 문장을 분리하는 단계
    인 것인 자연어 질의응답 시스템의 학습방법.
  6. 제2항에서, 상기 검증용 질문을 상기 질의 응답 장치로 송신하고, 상기 검증용 정답과 상기 의미있는 개체명을 포함하는 문장을 상기 지식 생성 장치로 송신하는 단계를 더 포함하는 것인 자연어 질의응답 시스템의 학습방법.
  7. 제6항에서, 상기 지식 베이스를 업데이트 하는 단계는,
    상기 검증용 정답과 상기 의미있는 개체명을 포함하는 문장 내에서 상기 검증용 정답을 제약하는 단어를 키워드로 이용하여 상기 웹으로부터 지식 데이터를 수집하고, 수집된 지식 데이터로 상기 지식 베이스를 업데이트 하는 단계인 것인 자연어 질의응답 시스템의 학습방법.
  8. 제2항에서, 상기 필터링하는 단계는,
    상기 자연어 처리 알고리즘을 이용하여, 상기 자연어 텍스트로부터 분리된 다수의 문장에서 불완전한 문장 구조로 이루어진 문장을 필터링하는 단계를 더 포함하는 것인 자연어 질의응답 시스템의 학습방법.
  9. 제1항에서, 상기 지식 베이스를 업데이트 하는 단계는,
    상기 검증용 정답을 키워드로 구성하여 상기 웹으로부터 상기 검증용 정답과 관련된 정보를 수집하는 단계;
    상기 수집한 정보로부터 상기 검증용 정답을 포함하는 문장을 추출하는 단계;
    상기 추출된 문장을 신규 지식 데이터로 변환하는 단계;
    상기 신규 지식 데이터로 상기 지식 베이스를 업데이트 하는 단계
    를 포함하는 것인 자연어 질의응답 시스템의 학습방법.
  10. 제9항에서, 상기 변환하는 단계는,
    상기 추출된 문장을 상기 지식 베이스의 스키마 정보가 포함되도록 상기 신규 지식 데이터로 변환하는 단계
    인 것인 자연어 질의응답 시스템의 학습방법.
  11. 자연어 텍스트를 파싱하여 검증용 질문과 검증용 정답을 생성하는 컴퓨터 프로세서를 포함하는 질문-정답 생성 장치;
    상기 질문-정답 생성 장치로부터 상기 검증용 질문을 수신하는 통신 인터페이스와, 상기 검증용 질문을 자연어 처리 알고리즘에 따라 분석하여 정답 유형을 인식하고, 지식 베이스에서 상기 인식한 정답 유형에 대응하는 정답을 검색하여 생성하는 컴퓨터 프로세서를 포함하는 질의 응답 장치; 및
    상기 질문-정답 생성 장치로부터의 상기 검증용 정답과 상기 질의 응답 장치로부터의 정답을 수신하는 네트워크 인터페이스와, 상기 검증용 정답과 상기 정답을 비교 검증하고, 상기 정답이 오답인 경우, 상기네트워크 인터페이스를 통해 웹에 접속하여, 상기 웹으로부터 상기 검증용 정답을 포함하는 정보를 수집하고, 상기 웹으로부터 수집된 정보로 상기 지식 베이스를 업데이트 하는 컴퓨터 프로세서를 포함하고,
    상기 웹으로부터 수집된 정보는,
    상기 검증용 정답을 제약하는 단어를 더 포함하고, 상기 검증용 정답을 제약하는 단어는 정답을 나타내는 단어를 수식하는 형용사, 정답을 나타내는 단어에 대응하는 동사와 부사를 포함하는 지식 생성 장치
    를 포함하는 자연어 질의응답 시스템.
  12. 제11항에서, 상기 질문-정답 생성 장치의 컴퓨터 프로세서는,
    상기 자연어 텍스트를 문장 단위로 파싱하여 상기 자연어 텍스트로부터 다수의 문장을 분리하고, 상기 다수의 문장을 상기 자연어 처리 알고리즘에 따라 분석하여, 상기 다수의 문장에서 의미 있는 개체명을 포함하지 않는 문장을 필터링하고, 상기 의미있는 개체명을 포함하는 문장에서 상기 개체명을 포함하는 상기 검증용 질문과 상기 개체명을 나타내는 단어를 상기 검증용 정답으로서 생성하는 작업을 처리하는 것인 자연어 질의응답 시스템.
  13. 제12항에서, 상기 질문-정답 생성 장치의 컴퓨터 프로세서는,
    사전에 구축된 질문 생성 규칙에 따라 상기 개체명에 대응하는 의문사 및 동사를 생성하고, 상기 의문사 및 동사를 포함하도록 검증용 질문을 생성하는 작업을 처리하는 것인 자연어 질의응답 시스템.
  14. 제11항에서, 상기 지식 생성 장치의 컴퓨터 프로세서는,
    상기 검증용 정답을 키워드로 구성하여 상기 웹으로부터 상기 검증용 정답과 관련된 정보를 수집하고, 상기 수집한 정보로부터 상기 검증용 정답을 포함하는 문장을 추출하고, 상기 추출된 문장을 신규 지식 데이터로 변환하고, 상기 신규 지식 데이터로 상기 지식 베이스를 업데이트 하는 작업을 처리하는 것인 자연어 질의응답 시스템.
  15. 제14항에서, 상기 지식 생성 장치의 컴퓨터 프로세서는,
    상기 추출된 문장을 상기 지식 베이스의 스키마 정보가 포함되도록 상기 신규 지식 데이터로 변환하는 작업을 처리하는 것인 자연어 질의응답 시스템.
KR1020170156671A 2017-11-22 2017-11-22 자연어 질의응답 시스템 및 그 학습 방법 KR102491172B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170156671A KR102491172B1 (ko) 2017-11-22 2017-11-22 자연어 질의응답 시스템 및 그 학습 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170156671A KR102491172B1 (ko) 2017-11-22 2017-11-22 자연어 질의응답 시스템 및 그 학습 방법

Publications (2)

Publication Number Publication Date
KR20190059084A KR20190059084A (ko) 2019-05-30
KR102491172B1 true KR102491172B1 (ko) 2023-01-25

Family

ID=66675454

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170156671A KR102491172B1 (ko) 2017-11-22 2017-11-22 자연어 질의응답 시스템 및 그 학습 방법

Country Status (1)

Country Link
KR (1) KR102491172B1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732877B (zh) * 2019-10-14 2024-05-17 阿里巴巴集团控股有限公司 数据处理的方法、装置和系统
WO2021195133A1 (en) 2020-03-23 2021-09-30 Sorcero, Inc. Cross-class ontology integration for language modeling
KR102197945B1 (ko) * 2020-05-01 2021-01-05 호서대학교 산학협력단 윅수퍼비전 방법론에 기초하여 정보검색모델을 학습시키는 방법 및 이에 의하여 학습된 정보검색모델을 이용하여 검색결과를 제공하는 방법
KR102216066B1 (ko) * 2020-05-04 2021-02-18 호서대학교 산학협력단 문장형 쿼리에 대해 검색결과를 제공하는 방법
CN111783428B (zh) * 2020-07-07 2024-01-23 杭州叙简科技股份有限公司 基于深度学习的应急管理类客观题自动生成系统
KR102584452B1 (ko) * 2020-10-07 2023-10-05 한국전자통신연구원 기계 독해 학습 데이터 자동 생성 장치 및 그 방법
KR102445841B1 (ko) * 2020-10-16 2022-09-22 성균관대학교산학협력단 다중 검색 방식을 이용한 의료 챗봇 시스템
KR102587265B1 (ko) * 2020-12-03 2023-10-11 주식회사 포티투마루 적대적 학습 기법 기반의 선다형 qa 모델의 강화 방법 및 장치
KR102552401B1 (ko) * 2023-01-26 2023-07-06 (주)액션파워 Asr 기반의 질의응답 방법
CN117909484B (zh) * 2024-03-19 2024-05-28 华中科技大学 用于施工信息查询的问答Term-BERT模型的构建方法与问答系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101739539B1 (ko) * 2016-01-26 2017-05-25 주식회사 솔트룩스 지식 베이스의 검증 및 교정 시스템 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11327910A (ja) * 1998-05-07 1999-11-30 Victor Co Of Japan Ltd 知識ベースシステム
KR100546743B1 (ko) * 2003-10-02 2006-01-26 한국전자통신연구원 언어분석 기반 자동 질문/정답 색인 방법과 그 질의응답방법 및 시스템
KR101709055B1 (ko) * 2010-12-09 2017-02-23 한국전자통신연구원 오픈 웹 질의응답을 위한 질문분석 장치 및 방법
KR101545050B1 (ko) * 2013-10-10 2015-08-17 포항공과대학교 산학협력단 정답 유형 자동 분류 방법 및 장치, 이를 이용한 질의 응답 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101739539B1 (ko) * 2016-01-26 2017-05-25 주식회사 솔트룩스 지식 베이스의 검증 및 교정 시스템 및 방법

Also Published As

Publication number Publication date
KR20190059084A (ko) 2019-05-30

Similar Documents

Publication Publication Date Title
KR102491172B1 (ko) 자연어 질의응답 시스템 및 그 학습 방법
US11379548B2 (en) Analyzing concepts over time
US10503828B2 (en) System and method for answering natural language question
US9652719B2 (en) Authoring system for bayesian networks automatically extracted from text
CN110276071B (zh) 一种文本匹配方法、装置、计算机设备及存储介质
US20150154286A1 (en) Method for disambiguated features in unstructured text
US20220405484A1 (en) Methods for Reinforcement Document Transformer for Multimodal Conversations and Devices Thereof
WO2019116253A1 (en) Supporting evidence retrieval for complex answers
CN111460090A (zh) 基于向量的文档检索方法、装置、计算机设备及存储介质
CN110096599B (zh) 知识图谱的生成方法及装置
CN112115232A (zh) 一种数据纠错方法、装置及服务器
CN109522396B (zh) 一种面向国防科技领域的知识处理方法及系统
WO2016121048A1 (ja) 文章生成装置及び方法
CN116561538A (zh) 问答评分方法、问答评分装置、电子设备及存储介质
CN112507089A (zh) 一种基于知识图谱的智能问答引擎及其实现方法
CN117271736A (zh) 一种问答对的生成方法和系统、电子设备及存储介质
US20220229990A1 (en) System and method for lookup source segmentation scoring in a natural language understanding (nlu) framework
US20220229986A1 (en) System and method for compiling and using taxonomy lookup sources in a natural language understanding (nlu) framework
KR102454261B1 (ko) 사용자 정보 기반 협업 파트너 추천 시스템 및 그 방법
CN114722174A (zh) 提词方法和装置、电子设备及存储介质
CN114391142A (zh) 使用结构化和非结构化数据的解析查询
Zouaoui et al. Ontological Approach Based on Multi-Agent System for Indexing and Filtering Arabic Docu-ments
CN113886535B (zh) 基于知识图谱的问答方法、装置、存储介质及电子设备
CN117609438A (zh) 基于文档的答案生成方法和装置、电子设备及存储介质
CN117520550A (zh) 意图分类方法、意图分类装置、电子设备及存储介质

Legal Events

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