KR102655809B1 - 문단입력에 기초한 질의응답 데이터셋 생성 방법 및 장치 - Google Patents

문단입력에 기초한 질의응답 데이터셋 생성 방법 및 장치 Download PDF

Info

Publication number
KR102655809B1
KR102655809B1 KR1020220133034A KR20220133034A KR102655809B1 KR 102655809 B1 KR102655809 B1 KR 102655809B1 KR 1020220133034 A KR1020220133034 A KR 1020220133034A KR 20220133034 A KR20220133034 A KR 20220133034A KR 102655809 B1 KR102655809 B1 KR 102655809B1
Authority
KR
South Korea
Prior art keywords
question
answer
paragraph
data
input
Prior art date
Application number
KR1020220133034A
Other languages
English (en)
Other versions
KR20220143804A (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 주식회사 포티투마루
Publication of KR20220143804A publication Critical patent/KR20220143804A/ko
Priority to KR1020240045399A priority Critical patent/KR20240049528A/ko
Application granted granted Critical
Publication of KR102655809B1 publication Critical patent/KR102655809B1/ko

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/51Translation evaluation
    • 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
    • G06N20/00Machine learning
    • 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/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)

Abstract

본 발명의 실시예를 따르는 복수의 문장이 포함된 문단의 입력에 기초한 질의응답 데이터셋 생성방법은, 상기 입력된 문단으로부터 신경망 네트워크를 통해 기계가 판독가능한 데이터 표현을 생성하여 메모리에 저장하는 단계; 상기 데이터 표현에서 샘플링을 수행하는 단계; 상기 샘플링된 데이터를 쿼리로 하여, 상기 메모리의 상기 데이터 표현에서 상기 쿼리와 연관이 있는 데이터 표현의 유사도를 계산하는 단계; 상기 유사도를 기초로 응답을 생성하는 단계; 및 상기 응답과 상기 유사도를 기초로 질의를 생성하는 단계를 포함하는 것을 특징으로 한다.

Description

문단입력에 기초한 질의응답 데이터셋 생성 방법 및 장치 {METHOD AND APPARATUS FOR GENERATING QUESTION AND ANSWER DATASET BASED ON INPUT PARAGRAPH}
본 발명은 하나의 문단에서 발생할 수 있는 질의와 정답 쌍을 동시에 생성하여 샘플링 함으로써, 다양한 데이터 셋을 생성할 수 있는 방법 및 장치를 개시한다.
최근 기술의 발달로 인해 딥러닝 기술을 응용한 다양한 질의응답 시스템이 개발되어 왔다. 최근에는, 사용자가 자연어로 질의를 시스템에 부여하면 질의응답(QA) 모델을 이용하여 질의에 맞는 응답이 자동으로 이루어 지도록 하는 시스템이 시연되기도 하고 있다. 그런데 이러한 딥러닝 기반의 질의응답(QA) 모델은 결국은 많은 양의 학습 데이터를 필요하므로, 일부 특정된 분야나 주제에 대한 응답을 자동으로 하도록 할 수밖에 없었다. 나아가 이러한 학습데이터를 수작업으로 구축하기에는 상당히 많은 시간과 비용이 필요한 문제가 있었다.
등록특허공보 제10-1605430호, 2016.03.22.
본 발명이 해결하고자 하는 과제는 질의와 응답 쌍의 결합 분포를 사용자가 수작업으로 수집하여 학습시켜야 했던 기존의 질의응답(QA) 모델과는 다르게, 응답 후보 군이 주어지지 않아도 입력된 문단을 기초로 나올 수 있는 질의응답 데이터 셋을 동시에 생성하는 질의응답 생성모델 및 이를 이용하여 자동으로 학습 가능한 질의응답 학습모델을 생성하는 방법 및 장치를 제공하는 것이다.
본 발명의 실시예를 따르는 복수의 문장이 포함된 문단의 입력에 기초한 질의응답 데이터셋 생성방법은, 상기 입력된 문단으로부터 신경망 네트워크를 통해 기계가 판독가능한 데이터 표현을 생성하여 메모리에 저장하는 단계; 상기 데이터 표현에서 샘플링을 수행하는 단계; 상기 샘플링된 데이터를 쿼리로 하여, 상기 메모리의 상기 데이터 표현에서 상기 쿼리와 연관이 있는 데이터 표현의 유사도를 계산하는 단계; 상기 유사도를 기초로 응답을 생성하는 단계; 및 상기 응답과 상기 유사도를 기초로 질의를 생성하는 단계를 포함하는 것을 특징으로 한다.
본 발명은 일 실시 예에 따라 입력된 문단에서 질의와 응답의 데이터셋을 자동으로 생성하기 때문에, 하나의 문단 입력 만으로도 여러 쌍의 질의 응답의 쌍을 샘플링 할 수 있어, 이전의 모델보다 더 다양한 데이터를 구축할 수 있다.
또한, 기존의 웹사이트에서 정형화된 형태로 제공하는 정보박스 또는 테이블 형태로 제공하는 데이터 집합에서 다양한 질의와 응답의 데이터셋을 구축할 수 있다.
나아가, 일 실시 예에 따른 질의응답 데이터셋 생성 방법은 학습 또는 기계 번역이 완료된 데이터에서 질의와 응답 데이터 셋을 추출하기 때문에, 질의에 대응하는 응답의 정확도를 평가하여, 학습 또는 번역의 품질을 검증하는데 활용할 수도 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 문단입력에 기초한 질의응답 데이터셋 생성모델을 개략적으로 설명하기 위한 개념도이다.
도 2는 일 실시예에 따른 문단입력에 기초한 질의응답 데이터셋을 생성하는 방법을 설명하는 순서도이다.
도 3은 일 실시예에 따른 단락에서 질의응답 데이터셋을 생성하는 방법의 일 예를 설명하는 도이다.
도 4는 일 실시예에 따라 정형화된 인포박스에서 질의응답 데이터셋을 생성하는 방법을 설명하기 위한 도이다.
도 5는 일 실시예에 따라 비정형화된 페이지에서 질의응답 데이터셋을 생성하는 방법을 설명하기 위한 도이다.
도 6은 일 실시예에 따른 적대적 학습을 통해 질의 응답 모델의 성능이 향상되는 방법을 설명하기 위한 도이다.
도 7은 일 실시예에 따른 질의응답 데이터셋 생성장치의 내부 구성을 개략적으로 나타낸 블록 도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시 예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작 시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여 질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다.
도 1은 일 실시예에 따른 문단입력에 기초한 질의응답 데이터셋 생성모델을 개략적으로 설명하기 위한 개념도이다.
도 1을 참조하면, 일 실시예에 따른 질의응답 데이터셋 생성모델은, 메모리(110), 인코더(120), 어텐션(130), 응답디코더(140) 및 질의디코더(150)를 포함할 수 있다.
일 실시예에 따른 질의응답 데이터셋 생성방법에 따라 여러 문장이 포함된 문단(passage, 101)이 그대로 인코더(120)로 입력된다. 여기서, 문단(101)은 구절, 대목, 단락 등을 포함할 수 있다.
인코더(120)는 입력된 문단(101)에서 각 단어에 대한 은닉표현(Hidden representation)을 생성하여 메모리(110)에 저장한다. 여기서, 인코더(120)는 입력으로부터 신경망 네트워크를 통해 은닉표현을 구성할 수 있다. 따라서, 은닉표현은 신경망 네트워크의 은닉레이어(Hidden Layer)에서 학습된, 기계가 판독가능한 데이터 표현을 의미할 수 있으며, 키(Key)와 값(value)이라는 두 개의 쌍으로 구성될 수 있다. 예를 들면, 인코더(120)는 문장의 구성요소(예: 단어)가 나타내는 의미에 관한 정보를 은닉표현으로 저장할 수 있다.
다음으로, 인코더(120)는 은닉표현을 기반으로 샘플링(102)을 수행하여, 잠재변수(Latent variable, 103)를 생성하고, 생성된 잠재변수(103)는 응답디코더(140)에 입력한다.
응답디코더(140)는 잠재변수(103)를 쿼리(query)로 하여 어텐션(130)을 통해 메모리(110)의 각 구성요소(component)의 중요도를 계산하여 메모리(110)의 가중합 벡터를 생성한다. 예들 들면, 어텐션(130)을 통해 응답디코더(140)에서 출력 단어를 예측하는 매 시점(time step)마다, 인코더(120)에서의 전체 입력 문장을 다시 한 번 참고할 수 있다. 단, 전체 입력 문장을 전부 다 동일한 비율로 참고하는 것이 아니라, 해당 시점에서 예측 해야 할 단어와 연관이 있는 입력 단어 부분을 좀 더 집중(attention)해서 참고하게 된다. 따라서, 어텐션 함수는 주어진 '쿼리(Query)'에 대해서 모든 은닉표현으로부터 획득한 '키(Key)'와의 유사도를 각각 구한다. 그리고 구해낸 이 유사도를 키와 맵핑되어있는 각각의 '값(Value)'에 반영해준다. 그리고 유사도가 반영된 '값(Value)'을 모두 더해서 가중합 벡터를 구할 수 있다.
응답디코더(140)는 가중합 벡터를 기반으로 응답스팬(104, answer span)을 예측한다. 여기서 응답 스팬은 입력문단에서 응답이 위치하는 시작점과 끝점을 의미할 수 있다.
다음으로, 질의디코더(150)는 앞서 생성된 응답스팬(104)을 입력 받고, 메모리(110)의 어텐션(130) 계산을 수행하여 최종적으로 질의(105)을 생성할 수 있다.
일 실시예에 따라 생성된 질의와 응답의 쌍으로 이루어진 질의응답 데이터셋은 메모리(110)에 저장될 수 있으며, 저장된 질의응답 데이터 셋은 질의응답 학습모델을 기계 학습하는데 이용될 수 있다.
따라서, 일 실시예에 따른 데이터셋 생성모델은, 입력된 문단에서 질의와 응답의 데이터셋을 자동으로 생성하기 때문에, 하나의 문단 입력 만으로도 여러 쌍의 질의 응답의 쌍을 샘플링 할 수 있어, 이전의 수동 입력 모델보다 더욱 다양한 데이터를 구축할 수 있다.
이하, 도 2를 참조하여 일 실시예에 따른 문단입력에 기초한 질의응답 데이터셋 생성 방법에 대해 보다 상세히 설명한다.
도 2는 일 실시예에 따른 문단입력에 기초한 질의응답 데이터셋을 생성하는 방법을 설명하는 순서도이다.
단계 S200에서, 일 실시예에 따른 질의응답 데이터셋 생성 방법은, 입력된 문단에서 각 단어에 대한 은닉표현(Hidden representation)을 생성하여 메모리에 저장한다. 여기서, 상기 입력되는 문단은 웹사이트에서 크롤링된 데이터에서 추출된 인포박스 데이터를 구조화한 것일 수도 있다. 또는 상기 크롤링된 데이터에서 인포박스 데이터가 추출되지 않은 경우, 컬럼인식을 통해 인식된 테이블에서 데이터 빈도를 기반으로 정형화된 단락이 상기 문단으로 입력되도록 할 수도 있다. 나아가, 입력되는 문단이 기계 번역이 완료된 데이터라고 하면, 상기 생성된 질의와 응답 데이터 셋을 기반으로, 응답의 정확도를 평가하여 상기 기계 번역의 품질을 평가할 수도 있다. 구체적인 입력 문단에 대해서는 도 3 내지 도 4를 참조하여 후술한다.
단계 S210에서, 일 실시예에 따른 질의응답 데이터셋 생성 방법은, 은닉표현을 기반으로 잠재변수(Latent variable)를 샘플링 한다.
단계 S220에서, 일 실시예에 따른 질의응답 데이터셋 생성 방법은, 샘플링된 잠재변수를 쿼리로 하는 어텐션(Attention)을 통해 상기 메모리에 저장된 은닉표현의 중요도를 계산하여 가중합 벡터를 생성한다.
단계 S230에서, 일 실시예에 따른 질의응답 데이터셋 생성 방법은, 잠재변수와 상기 가중합 벡터를 기초로 응답 스팬(span)을 생성한다.
단계 S240에서, 일 실시예에 따른 질의응답 데이터셋 생성 방법은, 응답 스팬과 상기 메모리의 은닉표현에 대한 어텐션을 기초로 질의를 생성한다. 여기서 생성된 질의와 응답의 데이터 셋은 메모리에 저장될 수 있다. 나아가 저장된 질의와 응답의 데이터 셋을 이용하여 질의응답 모델을 기계 학습하도록 할 수 있다. 또한 적대적 기계학습을 위한 적대 질의도 입력된 문단에서 자동으로 생성함으로 인해 질의응답 모델이 좀더 현실 경계에 가깝도록 기계학습 되도록 할 수 있다.
보다 구체적으로, 상술한 질의응답 데이터셋 생성 방법은 다음의 수학식 1에 나타난 목적함수(Objective Function)를 통해 구현될 수 있다.
여기서, x,y,c,z는 각각 질의, 응답, 단락(passage) 및 잠재변수에 해당한다. 는 질의응답 학습모델의 인코더, 는 각각 응답디코더, 질의디코더에 이용되는 함수이다. 는 잠재변수의 사전 분포(marginal prior distribution)이며, 는 잠재변수의 사후 분포(marginal posterior distribution)이다. 예를 들면, 는 입력으로부터 생성한 잠재변수의 분포를 생성하고, 는 잠재변수를 이용하여 입력에 가까운 출력을 생성할 수 있다. 한편, 최적화를 위한(상술한 두 분포의 차이를 줄이기 위한) KL(Kullback-Leibler) divergence를 구하는 것은 매우 어려우므로 다음의 수학식 2와 같이 근사할 수 있다.
한편, 문단입력은 어떻게 이루어 지는지 나아가 일 실시예에 따른 질의응답 데이터셋 구축모델이 어떻게 활용될 수 있는지 도 3 및 도 4를 참조하여 설명한다.
도 3은 일 실시예에 따른 단락에서 질의응답 데이터셋을 생성하는 방법의 일 예를 설명하는 도이다.
도 3을 참조하면, 일 실시예에 따른 단락(301)이 입력되면 샘플링(302)을 통해 응답(303)을 먼저 생성한다. 그리고 생성된 응답(303)을 이용하여 응답과 쌍을 이루는 질의(304)을 생성할 수 있다.
예를 들어, 입력 문단에 "이순신 1545년 4월 28일 ~ 1598년 12월 16일 (음력 11월 19일)은 조선 중기의 무신이다." 라는 문장이 있는 경우 샘플링을 통해 "1545년 4월 28일"이라는 응답을 먼저 생성할 수 있다. 그리고, 일 실시예에 따른 질의응답 데이터셋을 생성하는 방법에 따라 생성된 응답을 기초로 하여 "충무공 이순신의 탄신일은" 또는 "이순신은 언제 태어났어?"와 같은 다양한 형태의 질의를 생성할 수 있다. 따라서, 질의응답 생성모델을 이용하면, 질의응답 모델을 기계학습 시키기 위한 다양한 데이터 셋을 구축할 수 있게 된다.
도 4는 일 실시예에 따라 정형화된 인포박스에서 질의응답 데이터셋을 생성하는 방법을 설명하기 위한 도이다.
도 4를 참조하면, 일 실시예에 따른 질의응답 데이터셋 생성모델은 온라인 지식백과 사이트로 유명한 사이트에서 크롤링을 통해 인포박스 데이터(400)를 획득할 수 있다.
특히, 인포박스 데이터(500)는 정형화되어 있기 때문에 질의와 응답의 말뭉치 형태로 쉽게 구조화 할 수 있을 뿐 아니라, 이러한 지식백과 사이트들은 분야나 대상에 대한 상세한 분류 데이터를 제공하기 때문에, 원하는 분야를 타겟 하여 질의 응답을 생성하고, 기계학습 하도록 전처리 단계에서 입력 문단을 생성할 수 있다.
그러나, 모든 웹사이트가 도 4에 도시된 것과 같이 정형화된 인포박스 데이터(500)를 제공하는 것은 아니기 때문에, 일반적으로는 크롤링된 데이터는 비정형화 되어 있다. 따라서 이러한 경우 입력될 문단을 어떻게 생성하는지 살펴본다.
도 5는 일 실시예에 따라 비정형화된 페이지에서 질의응답 데이터셋을 생성하는 방법을 설명하기 위한 도이다.
도 5를 참조하면 단계 S500에서 질의응답 데이터셋 구축모델은 크롤링된 데이터에서 웹페이지의 제목 및 본문을 인식한다. 그리고, 단계 S510에서 본문에서 컬럼인식 기반으로 테이블을 인식한다. 즉, 정형화된 사이트에서 획득 가능한 인포박스와 유사한 형태의 데이터를 획득하기 위해 테이블을 인식한다.
다음으로 S520단계에서 미리설정된 데이터 빈도를 만족하는 단어가 있는지 확인하여 단락을 정형화 한다. 예컨대, "국가명", "수도"와 같이 반복 등장하는 단어를 확인하고, 이를 기초로 단락을 정형화 할 수 있다.
단계 S530에서 일실시예에 따른 질의응답 데이터셋 생성 모델은 정형화된 단락을 입력 받아 질의 및 응답 데이터 셋을 생성함으로써, 기존의 웹사이트에서 정형화된 형태로 제공하는 정보박스 또는 테이블 형태로 제공하는 데이터 집합에서 다양한 질의와 응답의 데이터셋을 구축할 수 있다.
다른 실시예에 따른 상술한 질의응답 데이터셋 생성모델은, 단순히 질의응답 데이터셋을 생성하는 것을 너머 학습 또는 기계 번역이 완료된 데이터에서 질의와 응답 데이터 셋을 추출하여, 질의에 대응하는 응답의 정확도를 평가하고, 평가 결과를 통해 학습 또는 번역의 품질을 검증하는데 활용 할 수도 있다.
예를 들면, 기계번역이 완료된 데이터에서 일 실시예에 따른 질의응답 데이터셋 생성모델이 정확한 질의응답 데이터셋을 생성할 수 있다면, 기계독해가 잘 되고 있는 것으로 평가할 수 있다.
한편, 근래의 질의응답 학습모델의 경우 대량의 말뭉치에서 언어모델객체(language model objective) 등을 이용하여 사전 트레이닝을 수행하기 때문에, 이미 성능이 상당히 높다. 따라서, 단순히 더 많은 데이터를 학습에 사용할수록 선형적으로 질의응답 학습모델의 성능이 비약적으로 향상되는 것은 아니다. 특히, 일 실시예에 따른 질의응답 데이터셋 생성모델을 통하여 자동으로 생성된 질의 정답 쌍의 대부분은 이미 질의응답 학습모델이 맞출 수 있는 것이기에 크게 도움이 되지 않을 수 있어 기계학습 성능을 향상 시키기 위한 방법이 필요하다.
따라서, 다른 실시예에 따른 질의응답 데이터셋 생성모델은 적대적 학습 (adversarial learning)을 통하여 현재의 질의응답 학습모델이 맞추지 못하는 질의응답 데이터셋을 생성하는 방법을 개시한다.
도 6은 일 실시예에 따른 적대적 학습을 통해 질의 응답 모델의 성능이 향상되는 방법을 설명하기 위한 도이다.
도 6을 참조하면, 적대적 학습을 수행하기 위해서는 현재 질의응답 모델의 결정경계 밖에 있으면서 데이터 다양체(data manifold)에 있는 데이터를 샘플링 해야 한다. 구체적으로, 일 실시예에 따른 문단입력에 기초한 질의응답 데이터셋 생성방법은 인코더를 통해 잠재변수를 선택하게 되는데, 샘플링한 잠재변수로부터 생성된 질의응답 데이터 쌍이 질의응답 학습모델을 통해 정답을 맞추지 못하는 것이어야 한다. 그렇다면, 질의응답 학습모델은 정답을 맞추지 못한 질의응답 쌍을 학습하여 결정 경계를 교정하게 되고, 이러한 과정을 반복하게 되면 질의응답학습 모델의 결정경계가 실제 결정 경계(True decision boundary)에 가까워 지며, 성능 또한 향상 될 수 있다.
한편, 도6을 참조하면 이러한 적대적 학습을 위한 질의응답 데이터셋은 질의응답 학습모델의 로스(loss)와 데이터 다양체(manifold)에 위치하게 하기 위한 제약조건(constraints)을 조절하여 결정할 수 있다.
예컨대, 상술한 적대적 방식의 질의응답 학습모델은 다음의 수학식 3의 목적함수를 가질 수 있다.
여기서, x, y, c, z는 각각 질의, 응답, 단락(passage) 및 잠재변수에 해당한다. 는 질의응답 학습모델의 전처리기,는 에이전트, 는 각각 응답디코더, 질의디코더에 이용되는 함수이다.
한편, 인코더는 잠재변수 를 샘플링 하는데, 이로부터 생성된 질문과 정답이 질의응답모델의의 로스()를 높여야 한다. 그러나 이렇게 생성된 질문과 정답 사이에는 관련성이 전혀 없을 수 있기 때문에 를 선택하는 데 있어서 제약조건이 필요하다. 즉, 이전의 학습된 의 분포에서 멀어질수록 유효하지 않은 질문 정답 쌍이 생성되기 때문에, 이를 막기 위해, 두 분포 사이의 거리가 멀어지면 패널티(penalty)를 부여하는 방식으로 값을 조정할 수 있다. (예컨대: KL divergence를 이용).
따라서, 일 실시예에 따른 질의응답 학습 모델은 로스(loss)와 제약조건(constraints)을 조절하여 유효하면서도 상기 질의응답 학습모델이 정답을 맞추지 못하는 잠재변수를 생성하도록 한다.
그리고, 생성된 잠재변수를 이용하여 생성된 적대적 질의와 응답의 데이터 셋을 이용하여 적대적(adversarial) 기계학습을 수행함으로써, 질의응답 학습모델의 성능을 향상 시킬 수 있다.
도 7은 일 실시예에 따른 질의응답 데이터셋 생성장치의 내부 구성을 개략적으로 나타낸 블록 도이다.
도 7을 참조하면 일 실시예에 따른 질의응답 데이터셋 생성 장치(100)는, 하나 이상의 메모리(110)와 프로세서(190)를 포함할 수 있다. 질의 응답 데이터셋 생성 장치(100)의 동작은 메모리(110)에 저장된 프로그램을 프로세서(190)를 통해서 실행시킴으로 수행될 수 있다.
일 실시예에 따른 프로세서(190)에서 수행되는 연산은, 입력되는 문단에서 각 단어에 대한 은닉표현(Hidden representation)을 생성하여 메모리(110)에 저장하는 연산을 수행한다.
또한, 프로세서(190)는, 은닉표현을 기반으로 잠재변수(Latent variable)를 샘플링하고, 샘플링된 잠재변수를 쿼리로 하는 어텐션(Attention)을 통해 상기 메모리에 저장된 은닉표현의 중요도를 계산하여 가중합 벡터를 생성한다.
또한, 프로세서(190)는, 잠재변수와 상기 가중합 벡터를 기초로 응답 스팬(span)을 생성하고, 생성된 응답 스팬과 메모리의 은닉표현에 대한 어텐션을 기초로 질의를 생성하는 연산을 수행할 수 있다.
또한, 프로세서(190)는, 생성된 질의와 응답의 데이터 셋을 메모리(110)에 저장하는 연산 및 저장된 질의와 응답의 데이터 셋을 이용하여 질의응답 학습모델을 기계 학습하는 연산을 더 수행할 수 있다.
또한, 프로세서(19)는, 질의응답 학습모델의 로스(loss)와 제약조건(constraints)을 조절하여 유효하면서도 상기 질의응답 학습모델이 정답을 맞추지 못하는 잠재변수를 생성하는 연산 및 생성된 잠재변수를 이용하여 생성된 질의응답 데이터셋을 이용하여 적대적(adversarial) 기계학습을 수행하는 연산을 더 수행할 수 있다.
한편, 상술한 데이터셋 생성 장치(100)는 하나 이상의 프로세서(190) 및/또는 하나 이상의 메모리(110)를 포함할 수 있다. 또한, 프로세서(190)는 인코더(120), 응답디코더(140) 및 질의 디코더(150)를 포함할 수 있으며, 각 인코더(120), 응답디코더(150) 및 질의디코더(150)에 관하여 도 1내지 도 7에서 상술한 동작을 수행할 수도 있다.
또한, 메모리(110)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 하나 이상의 메모리(110)는, 하나 이상의 프로세서(190)에 의한 실행 시, 하나 이상의 프로세서(190)가 연산을 수행하도록 하는 명령들을 저장할 수 있다. 본 개시에서, 프로그램 내지 명령은 메모리(110)에 저장되는 소프트웨어로서, 서버(100)의 리소스를 제어하기 위한 운영체제, 어플리케이션 및/또는 어플리케이션이 장치의 리소스들을 활용할 수 있도록 다양한 기능을 어플리케이션에 제공하는 미들 웨어 등을 포함할 수 있다.
하나 이상의 프로세서(190)는, 소프트웨어(예: 프로그램, 명령)를 구동하여 프로세서(190)에 연결된 장치(100)의 적어도 하나의 구성요소를 제어할 수 있다. 또한 프로세서(190)는 본 개시와 관련된 다양한 연산, 처리, 데이터 생성, 가공 등의 동작을 수행할 수 있다. 또한 프로세서(190)는 데이터 등을 메모리(110)로부터 로드하거나, 메모리(110)에 저장할 수 있다
일 실시예에서는, 장치(100)의 구성요소들 중 적어도 하나가 생략되거나, 다른 구성요소가 추가될 수 있다. 또한 추가적으로(additionally) 또는 대체적으로(alternatively), 일부의 구성요소들이 통합되어 구현되거나, 단수 또는 복수의 개체로 구현될 수 있다.
한편, 본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 추출가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 질의응답 데이터셋 생성장치
110 : 메모리
120 : 인코더
130 : 어텐션
140 : 응답디코더
150 : 질의디코더

Claims (10)

  1. 복수의 문장이 포함된 문단의 입력에 기초한 질의응답 데이터셋 생성방법에 있어서,
    상기 입력된 문단의 각 단어에 대하여 신경망 네트워크를 통해 기계가 판독가능한 데이터 표현을 생성하여 메모리에 저장하는 단계-상기 데이터 표현은 상기 각 단어가 나타내는 의미에 관한 정보를 포함함-;
    상기 데이터 표현에서 샘플링을 수행하는 단계;
    상기 샘플링된 데이터를 쿼리로 하여, 상기 메모리의 상기 데이터 표현에서 상기 쿼리와 연관이 있는 데이터 표현의 유사도를 계산하는 단계;
    상기 유사도를 기초로 응답을 생성하는 단계;
    상기 응답과 상기 유사도를 기초로 상기 응답과 관련된 다양한 형태의 복수의 질의를 생성하는 단계; 및
    상기 복수의 질의 각각과 상기 응답의 쌍들로 이루어진 질의응답 데이터셋을 저장하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 질의응답 데이터셋을 이용하여 질의응답 학습모델을 기계 학습하는 단계를 더 포함하는, 방법.
  3. 제2항에 있어서,
    상기 질의응답 학습모델의 로스(loss)와 제약조건(constraints)을 조절하여 유효하면서도 상기 질의응답 학습모델이 정답을 맞추지 못하는 잠재변수를 생성하는 단계; 및
    상기 생성된 잠재변수를 이용하여 생성된 질의와 상기 응답의 쌍을 포함하는 상기 질의응답 데이터셋을 이용하여 적대적(adversarial) 기계학습을 수행하는 단계를 더 포함하는, 방법.
  4. 제1항에 있어서,
    상기 입력되는 문단은
    웹사이트에서 크롤링된 데이터에서 추출된 인포박스 데이터를 구조화한 것인, 방법.
  5. 제4항에 있어서,
    상기 크롤링된 데이터에서 인포박스 데이터가 추출되지 않은 경우, 컬럼인식을 통해 인식된 테이블에서 데이터 빈도를 기반으로 정형화된 단락이 상기 문단으로 입력되는 것인, 방법.
  6. 제1항에 있어서,
    상기 입력되는 문단은, 기계 번역이 완료된 데이터이고,
    상기 질의응답 데이터셋을 기반으로, 응답의 정확도를 평가하여 상기 기계 번역의 품질을 평가하는 단계를 더 포함하는, 방법.
  7. 하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의한 실행 시, 상기 하나 이상의 프로세서가 연산을 수행하도록 하는 명령들이 저장된 하나 이상의 메모리를 포함하고,
    상기 하나 이상의 프로세서에 의해 수행되는 상기 연산은,
    복수의 문장이 포함된 문단이 입력되면, 상기 입력되는 문단의 각 단어에 대하여 신경망 네트워크를 통해 기계가 판독가능한 데이터 표현을 생성하여 상기 메모리에 저장하는 연산-상기 데이터 표현은 상기 각 단어가 나타내는 의미에 관한 정보를 포함함-;
    상기 데이터 표현에서 샘플링을 수행하는 연산;
    상기 샘플링된 데이터를 쿼리로 하여, 상기 메모리의 상기 데이터 표현에서 상기 쿼리와 연관이 있는 데이터 표현의 유사도를 계산하는 연산;
    상기 유사도를 기초로 응답을 생성하는 연산;
    상기 응답과 상기 유사도를 기초로 상기 응답과 관련된 다양한 형태의 복수의 질의를 생성하는 연산; 및
    상기 복수의 질의 각각과 상기 응답의 쌍들로 이루어진 질의응답 데이터셋을 저장하는 연산을 포함하는 질의응답 데이터셋 생성 장치.
  8. 제7항에 있어서, 상기 프로세서에서 수행되는 연산은,
    상기 질의응답 데이터셋을 이용하여 질의응답 학습모델을 기계 학습하는 연산을 더 포함하는, 질의응답 데이터셋 생성장치.
  9. 제8항에 있어서, 상기 프로세서에서 수행되는 연산은,
    상기 질의응답 학습모델의 로스(loss)와 제약조건(constraints)을 조절하여 유효하면서도 상기 질의응답 학습모델이 정답을 맞추지 못하는 잠재변수를 생성하는 연산; 및
    상기 생성된 잠재변수를 이용하여 생성된 질의와 상기 응답의 쌍을 포함하는 상기 질의응답 데이터셋을 이용하여 적대적(adversarial) 기계학습을 수행하는 연산을 더 포함하는, 질의응답 데이터셋 생성장치.
  10. 하드웨어인 컴퓨터와 결합되어, 제1항 내지 제6항 중 어느 한 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된, 문단입력에 기초한 질의응답 데이터셋 생성 프로그램.
KR1020220133034A 2019-11-28 2022-10-17 문단입력에 기초한 질의응답 데이터셋 생성 방법 및 장치 KR102655809B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240045399A KR20240049528A (ko) 2019-11-28 2024-04-03 문단입력에 기초한 질의응답 데이터셋 생성 방법 및 장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19212219.0 2019-11-28
EP19212219.0A EP3828781A1 (en) 2019-11-28 2019-11-28 Method and apparatus for generating question and answer dataset based on input paragraph
KR1020200119570A KR102456994B1 (ko) 2019-11-28 2020-09-17 문단입력에 기초한 질의응답 데이터셋 생성 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200119570A Division KR102456994B1 (ko) 2019-11-28 2020-09-17 문단입력에 기초한 질의응답 데이터셋 생성 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020240045399A Division KR20240049528A (ko) 2019-11-28 2024-04-03 문단입력에 기초한 질의응답 데이터셋 생성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220143804A KR20220143804A (ko) 2022-10-25
KR102655809B1 true KR102655809B1 (ko) 2024-04-08

Family

ID=68731904

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020200119570A KR102456994B1 (ko) 2019-11-28 2020-09-17 문단입력에 기초한 질의응답 데이터셋 생성 방법 및 장치
KR1020220133034A KR102655809B1 (ko) 2019-11-28 2022-10-17 문단입력에 기초한 질의응답 데이터셋 생성 방법 및 장치
KR1020240045399A KR20240049528A (ko) 2019-11-28 2024-04-03 문단입력에 기초한 질의응답 데이터셋 생성 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020200119570A KR102456994B1 (ko) 2019-11-28 2020-09-17 문단입력에 기초한 질의응답 데이터셋 생성 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020240045399A KR20240049528A (ko) 2019-11-28 2024-04-03 문단입력에 기초한 질의응답 데이터셋 생성 방법 및 장치

Country Status (2)

Country Link
EP (1) EP3828781A1 (ko)
KR (3) KR102456994B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230056930A (ko) 2021-10-21 2023-04-28 삼성에스디에스 주식회사 다중 도약 질의응답 생성 장치 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150096294A (ko) 2014-02-14 2015-08-24 주식회사 플런티코리아 질문 및 답변 분류 방법, 그리고 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
KR102033435B1 (ko) * 2014-11-19 2019-11-11 한국전자통신연구원 자연어 질의응답 시스템과 방법 및 패러프라이즈 모듈
KR101686068B1 (ko) * 2015-02-24 2016-12-14 한국과학기술원 개념 그래프 매칭을 이용한 질의응답 방법 및 시스템
KR101982345B1 (ko) * 2017-07-21 2019-05-24 주식회사 마인드셋 인공지능을 이용한 음악 생성 장치 및 방법
KR102608469B1 (ko) * 2017-12-22 2023-12-01 삼성전자주식회사 자연어 생성 방법 및 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
V. Kumar et al., A Framework for Automatic Question Generation from Text using Deep Reinforcement Learning, 2019.06.19. <arXiv:1808.04961 [cs.CL]> 1부.*
V. Kumar et al., Automating reading comprehension by generating question and answer pairs, 2018.03.07. <arXiv:1803.03664v1 [cs.CL]> 1부.*
허정 외 4인, 질의응답에서 위키피디아 인포박스에서의 답변추출을 위한 페이지 제목과 인포박스 속성 인식, 정보과학회논문지:소프트웨어 및 응용 40(9), 2013.9. 544-557페이지. 1부.*

Also Published As

Publication number Publication date
EP3828781A1 (en) 2021-06-02
KR102456994B1 (ko) 2022-10-21
KR20240049528A (ko) 2024-04-16
KR20220143804A (ko) 2022-10-25
KR20210066704A (ko) 2021-06-07

Similar Documents

Publication Publication Date Title
US11640515B2 (en) Method and neural network system for human-computer interaction, and user equipment
KR20230141698A (ko) 적대적 학습을 통한 질의응답 학습모델의 생성 방법 및 장치
US20130177893A1 (en) Method and Apparatus for Responding to an Inquiry
KR20240049528A (ko) 문단입력에 기초한 질의응답 데이터셋 생성 방법 및 장치
CN111191002A (zh) 一种基于分层嵌入的神经代码搜索方法及装置
CN109256216A (zh) 医学数据处理方法、装置、计算机设备和存储介质
CN111984766A (zh) 缺失语义补全方法及装置
KR102339149B1 (ko) 기계 번역 모델 트레이닝 방법, 장치 및 기록 매체
US20210201192A1 (en) Method and apparatus of generating question-answer learning model through reinforcement learning
CN115309910B (zh) 语篇要素和要素关系联合抽取方法、知识图谱构建方法
CN110991193A (zh) 一种基于OpenKiWi的翻译矩阵模型选择系统
CN112699675B (zh) 文本处理方法、装置、设备及计算机可读存储介质
CN112732879B (zh) 一种问答任务的下游任务处理方法及模型
Wang et al. Research and implementation of English grammar check and error correction based on Deep Learning
KR102355591B1 (ko) 강화 학습을 통한 질의응답 학습모델의 생성 방법 및 장치
Wang et al. A survey of the evolution of language model-based dialogue systems
CN117271792A (zh) 一种基于大模型构建企业领域知识库的方法
He et al. [Retracted] Application of Grammar Error Detection Method for English Composition Based on Machine Learning
KR20220075807A (ko) 생성적 적대 신경망을 이용한 문맥의존 철자오류 교정 장치 및 방법
EP3846088A1 (en) Method and apparatus of generating question-answer learning model through reinforcement learning
CN111949783A (zh) 知识库中问答结果生成方法及装置
Haertel Practical cost-conscious active learning for data annotation in annotator-initiated environments
KR102231365B1 (ko) 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법, 서버, 및 기록매체
CN117573841B (zh) 基于大语言模型的知识引导问答方法和装置
CN115146617A (zh) 回馈数据生成方法、问答系统、问答设备及冰箱

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant