KR102582744B1 - Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램 - Google Patents
Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR102582744B1 KR102582744B1 KR1020200152710A KR20200152710A KR102582744B1 KR 102582744 B1 KR102582744 B1 KR 102582744B1 KR 1020200152710 A KR1020200152710 A KR 1020200152710A KR 20200152710 A KR20200152710 A KR 20200152710A KR 102582744 B1 KR102582744 B1 KR 102582744B1
- Authority
- KR
- South Korea
- Prior art keywords
- answer
- question
- context
- knowledge graph
- latent variable
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 32
- 238000004590 computer program Methods 0.000 title 1
- 238000013528 artificial neural network Methods 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims description 13
- 238000010276 construction Methods 0.000 claims description 12
- 230000001419 dependent effect Effects 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000002474 experimental method Methods 0.000 description 13
- 230000004044 response Effects 0.000 description 9
- 238000012795 verification Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 230000001537 neural effect Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000003306 harvesting Methods 0.000 description 3
- 238000002679 ablation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004451 qualitative analysis Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008904 neural response Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9038—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 임의의 컨텍스트에 대한 지식 그래프를 구축하는 서버에 대한 것으로, 임의의 컨텍스트에 대한 하나 이상의 질의 응답 쌍을 생성하는 질의 응답 생성 모듈; 및 임의의 컨텍스트로부터 추출한 지식을 이용하여 멀티 레이어 구조의 지식 그래프를 작성하는 지식 그래프 생성 모듈을 포함하며, 상기 질의 응답 생성 모듈은, 적어도 하나의 인코더 및 인공신경망(MLP)을 포함하여, 제1 컨텍스트, 제1 질문 및 제1 답변을 이용하여 상기 인공신경망을 학습하고, 제2 컨텍스트에 상기 학습된 인공신경망을 적용하여 제2 질문 잠재 변수 및 제2 답변 잠재 변수를 생성하는 잠재 변수 생성 네트워크; 상기 잠재 변수 생성 네트워크와 분리되며, 제2 답변 잠재 변수를 디코딩하여 제2 답변을 생성하는 답변 생성 네트워크 및 제2 컨텍스트 및 상기 제2 답변을 기반으로 제2 질문을 생성하는 질문 생성 네트워크를 포함한다.
Description
본 발명은 임의의 컨텍스트로부터 트리플 형태의 지식을 추출하여 지식 그래프를 구축하고 이를 이용하여 질의에 대한 응답을 추론하는 방법 및 시스템에 대한 것이다.
QA(Question Answering)은 자연어 이해를 위한 가장 기본적인 작업 중 하나로, 심층 신경망의 복잡성이 증가하고 대규모 말뭉치에 대해 사전 훈련된 언어 모델의 지식 이전으로 인해 최첨단 QA 모델은 인간 수준의 성능을 달성하였다. 이러한 QA 모델을 실제 어플리케이션에 배포하기 위해서는 대량의 QA 쌍으로 고품질 데이터 세트를 구성 및 학습하여야 하는데, 일반적으로 학습 데이터 수집에 많은 비용과 시간이 요구된다.
본 발명은 전술한 문제점을 해결하기 위한 것으로서, 임의의 컨텍스트로부터 트리플 형태의 지식을 추출하여 지식 그래프를 구축하고 이를 이용하여 질의에 대한 응답을 추론하는 방법을 제공하는 것을 일 목으로 한다.
또한 본 발명은 컨텍스트로부터 최대량의 지식을 추출하기 위하여 컨텍스트로부터 다양한 질문(Question) 과 응답(Answer) 페어(pair) 즉, QA 쌍을 생성하는 모델을 생성하는 것을 일 목적으로 한다.
또한 본 발명은 새로운 확률론적 심층 모델을 이용하여 단일 컨텍스트에서 다양한 QA 쌍을 생성하는 것을 일 목적으로 한다.
본 발명의 실시예에 따른 지식 그래프 구축 서버는, 임의의 컨텍스트에 대한 하나 이상의 질의 응답 쌍을 생성하는 질의 응답 생성 모듈; 및 임의의 컨텍스트로부터 추출한 지식을 이용하여 멀티 레이어 구조의 지식 그래프를 작성하는 지식 그래프 생성 모듈을 포함하며, 상기 질의 응답 생성 모듈은, 적어도 하나의 인코더 및 인공신경망(MLP)을 포함하여, 제1 컨텍스트, 제1 질문 및 제1 답변을 이용하여 상기 인공신경망을 학습하고, 제2 컨텍스트에 상기 학습된 인공신경망을 적용하여 제2 질문 잠재 변수 및 제2 답변 잠재 변수를 생성하는 잠재 변수 생성 네트워크; 상기 잠재 변수 생성 네트워크와 분리되며, 제2 답변 잠재 변수를 디코딩하여 제2 답변을 생성하는 답변 생성 네트워크; 및 제2 컨텍스트 및 상기 제2 답변을 기반으로 제2 질문을 생성하는 질문 생성 네트워크를 포함한다.
본 발명의 실시예에 따른 지식 그래프 구축 방법은, 질의 응답 생성 모듈이 임의의 컨텍스트에 대한 하나 이상의 질의 응답 쌍을 생성하는 단계; 및 지식 그래프 생성 모듈이 임의의 컨텍스트로부터 추출한 지식을 이용하여 멀티 레이어 구조의 지식 그래프를 작성하는 단계;를 포함하며, 상기 하나 이상의 질의 응답 쌍을 생성하는 단계는, 적어도 하나의 인코더 및 인공신경망(MLP)을 포함하는 잠재 변수 생성 네트워크가 제1 컨텍스트, 제1 질문 및 제1 답변을 이용하여 상기 인공신경망을 학습하고, 제2 컨텍스트에 상기 학습된 인공신경망을 적용하여 제2 질문 잠재 변수 및 제2 답변 잠재 변수를 생성하는 단계; 상기 잠재 변수 생성 네트워크와 분리된 답변 생성 네트워크가 제2 답변 잠재 변수를 디코딩하여 제2 답변을 생성하는 단계; 및 질문 생성 네트워크가 제2 컨텍스트 및 상기 제2 답변을 기반으로 제2 질문을 생성하는 단계;를 포함한다.
본 발명의 실시예에 따른 지식 그래프 구축 방법은, 질의 응답 생성 모듈이 임의의 컨텍스트에 대한 하나 이상의 질의 응답 쌍을 생성하는 단계; 및 지식 그래프 생성 모듈이 임의의 컨텍스트로부터 추출한 지식을 이용하여 멀티 레이어 구조의 지식 그래프를 작성하는 단계;를 포함하며, 상기 하나 이상의 질의 응답 쌍을 생성하는 단계는, 적어도 하나의 인코더 및 인공신경망(MLP)을 포함하는 잠재 변수 생성 네트워크가 제1 컨텍스트, 제1 질문 및 제1 답변을 이용하여 상기 인공신경망을 학습하고, 제2 컨텍스트에 상기 학습된 인공신경망을 적용하여 제2 질문 잠재 변수 및 제2 답변 잠재 변수를 생성하는 단계; 상기 잠재 변수 생성 네트워크와 분리된 답변 생성 네트워크가 제2 답변 잠재 변수를 디코딩하여 제2 답변을 생성하는 단계; 및 질문 생성 네트워크가 제2 컨텍스트 및 상기 제2 답변을 기반으로 제2 질문을 생성하는 단계;를 포함한다.
전술한 바와 같은 본 발명에 의하면, 임의의 컨텍스트로부터 지식 그래프를 구축할 수 있어 분산된 정보들의 관계를 효과적으로 추론할 수 있는 효과가 있다.
나아가 본 발명에 의하여 단일 컨텍스트에서 다양한 QA 쌍을 생성하고, 질문 및 답변의 상호 정보를 최대화하 QA 쌍 간의 일관성을 효과적으로 강화할 수 있기 때문에 동일한 컨텐츠에 대한 최대량의 정보를 지식 그래프에 기록할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 의한 지식 그래프를 구축하고 이를 이용하여 질의에 대한 응답을 추론하는 방법을 도시한 도면
도 2은 본 발명의 일 실시 예에 의한 문맥 기반 질의응답 생성 모델의 아키텍처를 설명하기 위한 도시한 도면,
도 3a는 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 데이터 세트 별 QAE, R-QAE 값을 나타낸 표,
도 3b은 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 SQuAD 데이터 세트에 대한 QA 쌍을 생성하는 함수의 정확성을 도시한 그래프,
도 4는 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 상호 정보 측정 결과를 나타낸 표,
도 5는 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 SQuAD 데이터 세트를 이용한 기준 모델에 잠재 변수를 추가했을 때의 QAE, R-QAE 값을 나타낸 표,
도 6은 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 QA의 품질, 다양성, 일관성 측면에서 사람이 평가한 결과를 나타낸 표,
도 7은 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 1:N 맵핑의 예시를 나타낸 도면,
도 8은 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 QA 쌍의 잠재성 확장을 나타낸 도면,
도 9는 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 비지도 QA에 따른 EM 및 F1 결과 값을 나타낸 표,
도 10은 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 NQ 및 Trivia QA 데이터 세트의 비지도 QA 모델의 성능을 나타낸 표이다.
도 2은 본 발명의 일 실시 예에 의한 문맥 기반 질의응답 생성 모델의 아키텍처를 설명하기 위한 도시한 도면,
도 3a는 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 데이터 세트 별 QAE, R-QAE 값을 나타낸 표,
도 3b은 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 SQuAD 데이터 세트에 대한 QA 쌍을 생성하는 함수의 정확성을 도시한 그래프,
도 4는 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 상호 정보 측정 결과를 나타낸 표,
도 5는 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 SQuAD 데이터 세트를 이용한 기준 모델에 잠재 변수를 추가했을 때의 QAE, R-QAE 값을 나타낸 표,
도 6은 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 QA의 품질, 다양성, 일관성 측면에서 사람이 평가한 결과를 나타낸 표,
도 7은 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 1:N 맵핑의 예시를 나타낸 도면,
도 8은 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 QA 쌍의 잠재성 확장을 나타낸 도면,
도 9는 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 비지도 QA에 따른 EM 및 F1 결과 값을 나타낸 표,
도 10은 본 발명의 일 실시 예에 의한 HCVAE의 성능 검증 실험에 따른 NQ 및 Trivia QA 데이터 세트의 비지도 QA 모델의 성능을 나타낸 표이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용되며, 명세서 및 특허청구의 범위에 기재된 모든 조합은 임의의 방식으로 조합될 수 있다. 그리고 다른 식으로 규정하지 않는 한, 단수에 대한 언급은 하나 이상을 포함할 수 있고, 단수 표현에 대한 언급은 또한 복수 표현을 포함할 수 있음이 이해되어야 한다.
본 명세서에서 사용되는 용어는 단지 특정 예시적 실시 예들을 설명할 목적을 가지고 있으며 한정할 의도로 사용되는 것이 아니다. 본 명세서에서 사용된 바와 같은 단수적 표현들은 또한, 해당 문장에서 명확하게 달리 표시하지 않는 한, 복수의 의미를 포함하도록 의도될 수 있다. 용어 "및/또는," "그리고/또는"은 그 관련되어 나열되는 항목들의 모든 조합들 및 어느 하나를 포함한다. 용어 "포함한다", "포함하는", "포함하고 있는", "구비하는", "갖는", "가지고 있는" 등은 내포적 의미를 갖는 바, 이에 따라 이러한 용어들은 그 기재된 특징, 정수, 단계, 동작, 요소, 및/또는 컴포넌트를 특정하며, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹의 존재 혹은 추가를 배제하지 않는다. 본 명세서에서 설명되는 방법의 단계들, 프로세스들, 동작들은, 구체적으로 그 수행 순서가 확정되는 경우가 아니라면, 이들의 수행을 논의된 혹은 예시된 그러한 특정 순서로 반드시 해야 하는 것으로 해석돼서는 안 된다. 추가적인 혹은 대안적인 단계들이 사용될 수 있음을 또한 이해해야 한다.
또한, 각각의 구성요소는 각각 하드웨어 프로세서로 구현될 수 있고, 위 구성요소들이 통합되어 하나의 하드웨어 프로세서로 구현될 수 있으며, 또는 위 구성요소들이 서로 조합되어 복수 개의 하드웨어 프로세서로 구현될 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
본 발명의 QA 모델은 컨텍스트, 질문 또는 답변 중 적어도 하나에 대응하는 벡터(잠재 변수)를 생성하는 잠재 변수 생성 네트워크, 질문을 생성하는 질문 생성 네트워크, 답변을 생성하는 답변 생성 네트워크를 포함하며, 그 아키텍처는 계층적 조건부 자동 인코더(HCVAE, Hierarchical Conditional Variational Autoencoder)라고 할 수 있다, 이때, 잠재 변수 생성 네트워크는 잠재 변수를 생성함에 있어서 제약조건을 더 포함할 것이다. 이하에서 설명의 편의성을 위해 본 발명의 QA 모델의 아키텍처를 HCVAE라 명명한다.
본 발명의 일 실시 예에 의한 HCVAE는 주어진 컨텍스트에 대한 답변을 생성한 후, 질문 생성 네트워크에서 생성된 답변을 샘플링하여 답변과 컨텍스트에 대한 질문을 생성할 것이다. 주어진 컨텍스트에서 답변을 먼저 생성한 후 질문을 생성하는 것은 답변과 무관한 질문을 생성하는 것을 방지하기 위함이다.
이러한 방식을 통해 본 발명의 HCVAE는 매번 컨텍스트의 다른 부분에 초점을 맞춘 다양한 QA 쌍을 생성할 수 있다.
또한 본 발명의 일 실시 예에 의한 HCVAE는 질문이 주어진 답변과 맥락 상 일치할 수 있도록 의미론적으로 서로 의존하며, 이에 따라 질문과 답변의 일관성을 보장할 수 있다. 본 발명의 HCVAE는 QA 쌍의 상호 정보(Mutual Information)을 최대화하여 일관성을 보장할 수 있는데, 이 때 상호 정보는 질문과 답변의 두 변수가 얼마나 의존적인지를 수치화한 데이터를 의미한다. 이를 통해 본 발명은 짧은 컨텍스트에서도 다양하고 일관성 있는 QA 쌍을 생성할 수 있다.
도 1은 본 발명의 일 실시예에 의한 지식 그래프를 구축하고 이를 이용하여 질의에 대한 응답을 추론하는 방법을 도시한 도면이다.
도 1의 방법을 수행하는 컴퓨터 리소스, 예를 들어 지식 그래프 구축 서버는 컨텍스트에서 질의와 응답을 생성하는 QA 모델을 생성할 수 있다. (단계 100)
본 발명의 실시예를 따르는 QA 모델은 하나의 컨텍스트로부터 최대량의 지식을 추출하기 위하여 다양한 QA 쌍을 생성하는 특징이 있다. 이때 상기 QA 쌍은 질문 및 답변의 상호 정보를 최대화하여 추출되기 때문에 QA 쌍 간의 일관성이 강화되는 특징이 있다. 본 발명의 실시예를 따르는 QA 모델의 학습 방법, 아키텍처 및 성능에 대한 보다 자세한 설명은 첨부된 도 2 내지 10를 참고하여 후술된다.
단계 200에서, 상기 서버는 임의의 컨텍스트로부터 지식을 추출할 수 있다. 본 발명의 실시예를 따르면, 지식은 <제 1 인스턴스, 제 2 인스턴스 및 제 1 인스턴스와 제 2 인스턴스의 관계>에 대한 형태의 트리플 구조로 추출될 수 있다.
본 발명의 실시예를 따르면, 상기 트리플 구조의 지식은 단계 100에서 구축한 QA 모델을 이용하여 임의의 컨텍스트에서 추출할 수 있다. 예를 들어 QA 모델은 컨텍스트로부터 질의를 <A의 남편은?> 의 형태로 생성할 수 있으며, 응답을 <B>라고 생성할 수 있다. 이경우, 서버는 제 1 인스턴스는 <A>, 제 2 인스턴스는 <B>, 제 1 인스턴스와 제 2 인스턴스의 관계는 <남편>의 트리플 구조로 형성할 수 있다. 또 다른 예로 QA 모델은 컨텍스트로부터 질의를 <B의 직업은?>의 형태로 생성할 수 있으며, 응답을 <C>라고 생성할 수 있다. 이경우, 서버는 제 2 인스턴스는 <B>, 제 3 인스턴스는 <C> 제 2 인스턴스와 제 3 인스턴스의 관계는 <직업>의 트리플 구조로 형성할 수 있다.
단계 300에서 서버는 컨텍스트에서 추출된 지식을 이용하여 지식 그래프를 구축할 수 있다.
가상 세계에는 방대한 데이터가 존재하지만 데이터의 형태가 정형화되어 있지 않으며, 각각의 정보가 개별적으로 존재하여 정보들의 연관성을 파악하거나 연관된 정보의 의미를 분석하는 것이 쉽지 않다. 지식 그래프는 이러한 문제를 해결하기 위한 것이다. 지식 그래프는 정보들을 구조화한 것으로, 개별적으로 존재하는 정보들의 관계, 연관성을 파악하는데 사용될 수 있으며, 보다 스마트한 검색 결과를 제공하기 위한 검색 엔진의 일 구성요소로 기능할 수도 있다.
본 발명의 실시예를 따르는 지식 그래프는 노드와 엣지로 구성될 수 있다. 엣지는 노드의 관계에 대한 것이며, 방향성을 가질 수 있다. <A의 남편은 B>, <B의 직업은 C>인 앞의 예에서 서버는 노드는 A, B, C로 생성하고, A노드와 B 노드의 엣지에 남편을 기록하고, B 노드와 C 노드의 엣지에 직업을 기록하는 방식으로 지식 그래프를 구축할 수 있다.
이때 지식 그래프는 멀티 레이어 구조를 가질 수 있으며, 각 레이어에 형성된 지식그래프는 다른 레이어에 형성된 지식 그래프와 연결될 수 있다. 레이어별 지식 그래프는 서로 다른 카테고리 또는 도메인에 속한 것일 수 있다. <A의 남편은 B>, <B의 직업은 C>인 앞의 예에서, 가족관계에 대한 제 1 지식 그래프와 직업 정보에 대한 제 2 지식 그래프는 별개의 레이어에 형성될 수 있으며 노드 <B>를 통해 제 1 지식 그래프와 제 2 지식 그래프가 연결될 수 있다.
멀티 레이어 형태의 지식 그래프가 완성되면, 서버는 이를 이용하여 질의에 대한 응답을 추론할 수 있다. (단계 400)
다중 레이어 구조의 상호 매핑된 지식 그래프를 이용하면, 제 1 지식 그래프의 구성요소를 제 2 지식 그래프의 구성요소를 통해 해석하는 작업이 가능하다. 또한, 직접적으로 연결되지 않은 노드들에 대한 관계 추론도 가능하다. 본 발명의 실시예를 따르면, 지식 그래프를 이용하여 쿼리의 의미를 보다 명확하게 추론할 수 있으며, 동시에 쿼리에 대한 검색 결과를 도출할 수도 있다.
도 2은 본 발명의 일 실시 예에 의한 Q1 모델의 구성을 도시한 도면으로, (a)는 잠재 변수 생성 네트워크를, (b)는 답변 생성 네트워크를, (c)는 질문 생성 네트워크를 의미한다.
도 2의 (a)를 참조하면, 잠재 변수(latent variable) 생성 네트워크는 3개의 Bi-LSTM 인코더와 2개의 MLP(다층 퍼셉트론, Multi-Layer Perceptron)을 포함할 수 있다.
3개의 Bi-LSTM 인코더는 컨텍스트, 질문, 그리고 답변에 대한 데이터 처리를 위해 각각에 할당될 수 있다. 컨텍스트에 할당된 Bi-LSTM 인코더는 컨텍스트에 대한 인코딩 만을 수행할 것이다.
Bi-LSTM 인코더는 LSTM 알고리즘에 역방향으로 데이터를 처리하는 LSTM 알고리즘을 추가해 두 LSTM 알고리즘의 은닉 상태를 연결한 벡터를 출력하는 것으로 QA 모델의 임베딩에 사용될 수 있다. Bi-LSTM은 출력 값에 대한 로스를 최소화하는 과정에서 모든 파라미터를 동시에 학습할 수 있으며, 단어와 구(Phrase) 간의 유사성을 입력벡터에 내재화하여 성능을 개선할 수 있고, 데이터 길이가 길어도 성능이 저하되지 않는다는 장점이 있다.
MLP는 일련의 입력에서 일련의 출력을 생성하는 피드 포워드 인공 신경 네트워크로, 입력 계층과 출력 계층 사이에 지시된 그래프로 연결된 여러 입력 노드의 계층을 포함하는 것을 특징으로 한다.
본 발명은 컨텍스트 만으로 질의응답을 생성할 수 있게 잠재 변수 생성 네트워크, 질문 생성 네트워크 및 답변 생성 네트워크를 학습시킬 수 있다. 본 발명은 사용자로부터 수신된 학습 데이터를 이용하여 잠재 변수 생성 네트워크, 질문 생성 네트워크 및 답변 생성 네트워크를 학습시킬 수 있는데, 이 때 학습 데이터는 제1 컨텍스트, 제1 컨텍스트에 대응되며 사용자로부터 레이블링된 제1 질문 및 제1 답변을 포함할 것이다.
잠재 변수 생성 네트워크는 사용자로부터 수신한 제1 컨텍스트, 제1 질문 및 제1 답변 각각을 Bi-LSTM 인코더의 입력 데이터로 설정하고, 각 Bi-LSTM 인코더를 통해 제1 컨텍스트, 제1 질문 및 제1 답변에 대한 제1 컨텍스트 벡터, 제1 질문 벡터 및 제1 답변 벡터를 생성할 수 있다.
잠재 변수 생성 네트워크는 제1 컨텍스트 벡터와 제1 질문 벡터를 제1 MLP의 입력 데이터로 하여 제1 파라미터()와 제2 파라미터()를 생성할 수 있다. 제1 파라미터 및 제2 파라미터는 제1 질문 잠재 변수()를 생성하는 데 사용될 것이다.
잠재 변수 생성 네트워크는 제1 질문 잠재 변수와 제1 답변 벡터를 제2 MLP의 입력 데이터로 하여 제3 파라미터()를 생성할 수 있다. 제3 파라미터는 제1 답변 잠재 변수()를 생성하는 데 사용될 것이다.
잠재 변수 생성 네트워크는 제1 MLP 및 제2 MLP의 출력 데이터를 이용하여 제1 질문 잠재 변수() 및 제1 답변 잠재 변수()를 생성할 것이다.
구체적으로, 잠재 변수 생성 네트워크는 제1 파라미터 및 제2 파라미터를 등방성 가우시안 분포의 파라미터로 사용하여 제1 질문 잠재 변수()를 생성할 수 있다.
잠재 변수 생성 네트워크는 제3 파라미터를 카테고리 분포(Categorical Distribution)의 파라미터로 사용하여 제2 답변 잠재 변수()를 생성할 수 있다.
질문 잠재 변수 및 답변 잠재 변수 는 확률에 따라 생성된 것으로, 미분이 불가능함에 따라 본 발명은 역전파(backpropagation)를 이용하여 적절한 제1 질문 잠재 변수 와 제1 답변 변수 를 생성할 수 있도록 잠재 변수 생성 네트워크를 학습시킬 수 있다.
이는 분포를 통해 잠재 변수에 제약 조건을 줌으로써, 이후 질문 생성 네트워크 및 답변 생성 네트워크에서 잠재 변수를 디코딩한 결과 데이터와 잠재 변수 생성 네트워크의 입력 데이터인 기존 컨텍스트, 질문 및 답변의 유사성이 향상되도록 본 발명의 실시예를 따르는 HCVAE 아키텍처를 구성하기 위함이다.
나아가 질문 생성 네트워크 및 답변 생성 네트워크는 종래의 방식에 따라 제1 질문 잠재 변수 및 제1 답변 잠재 변수를 기반으로 학습할 수 있는 데, 이 때 질문 생성 네트워크 및 답변 생성 네트워크의 학습 과정은 종래의 방식을 따른다.
상기 과정과 같이 잠재 변수 생성 네트워크, 질문 생성 네트워크 및 답변 생성 네트워크의 학습이 완료되면, 본 발명의 HCVAE는 사용자로부터 제2 컨텍스트를 수신하여 다양하고 일관된 QA 쌍을 생성할 수 있다. 구체적으로 사용자로부터 수신한 제2 컨텍스트(c)는 m개의 토큰을 포함()하여, HCVAE는 제2 컨텍스트를 기반으로 n개의 토큰을 포함하는 제2 질문과 l개의 토큰을 포함하는 답변에 대한 QA 쌍()을 생성할 수 있다.
제2 컨텍스트에 포함된 토큰을 BERT의 이진 토큰 타입 ID를 사용하는 경우, 1로 인코딩되는 답변 범위의 일부인 m개의 토큰을 제외하고 모든 컨텍스트의 토큰을 0으로 인코딩할 것이다. 그 후 단어 토큰 ID, 토큰 유형 ID, 위치 ID의 시퀀스를 임베딩 계층에 입력할 수 있다.
본 발명은 QA 쌍을 샘플링할 수 있는 컨텍스트가 주어지면, 상기 학습 과정을 거쳐 OAG 작업을 처리하는 것을 목적으로 하여 이하에서 설명할 HCVAE를 기반으로 를 생성할 것이다.
본 발명의 HCVAE는 질문과 답변 각각의 잠재 공간, 즉 생성 네트워크를 포함하는 계층적 조건부 VAE(Variational Auto-Encoder) 프레임워크를 이용하여 조건부 분포인 를 근사화할 수 있다. 본 과정은 수학식 1을 통해 이루어질 것인데, 수학식 1에서 와 는 질문 및 답변에 대한 잠재 변수를, 와 는 등방성 가우시안 분포 및 카테고리 분포를 따르는 질문 및 답변에 대한 잠재 변수를 의미한다.
본 발명의 HCVAE는 질문 생성 네트워크와 답변 생성 네트워크를 분리하는데, 답변의 경우 카테고리 분포에 의해 모델링된 컨텍스트의 유한한 범위 내에 존재하나, 질문의 경우 하나의 컨텍스트에서 무한한 질문을 생성할 수 있기 때문이다.
본 발명은 질문 생성 네트워크와 답변 생성 네트워크의 계층 구조를 활용하여 답변 잠재 변수가 의 질문 잠재 변수에 종속되도록 강제하고, 질문 를 샘플링하여 역으로 종속되게 한 후, 수학식 2와 같이 가변 사후확률 를 이용하여 ELBO(Evidence Lower Bound)를 최대화할 것이다. 수학식 2에서, 는 질문 및 답변 생성 네트워크의 파라미터, 는 잠재 변수 생성 네트워크의 사후 네트워크의 파라미터, 는 잠재 변수 생성 네트워크의 사전 네트워크의 파라미터를 의미한다.
이하에서는 HCVAE의 아키텍처에 따른 동작 메커니즘을 보다 상세하게 설명한다.
잠재 변수 생성 네트워크는 제2 컨텍스트를 컨텍스트에 할당된 Bi-LSTM 인코더의 입력 데이터로 설정하여 Bi-LSTM 인코더를 통해 제2 컨텍스트 벡터를 생성할 수 있다. 컨텍스트에 할당된 Bi-LSTM 인코더는 제2 컨텍스트 벡터를 생성한 후 제1 및 제2 MLP의 입력 데이터로 설정할 것이다.
제1 MLP는 제2 컨텍스트 벡터를 기반으로 제2 질문 잠재 변수()를 생성하여 제2 MLP에 전송할 것이다. 제2 MLP는 제2 컨텍스트 벡터 및 제2 질문 잠재 변수를 기반으로 제2 답변 잠재 변수()를 생성할 수 있다. 이 때 생성된 제2 질문 잠재 변수는 가우시안 분포()에 따라, 제2 답변 잠재 변수는 카테고리 분포()에 따라 매칭될 것이다.
잠재 변수 생성 네트워크는 분포에 따라 맵핑된 제2 답변 잠재 변수를 답변 생성 네트워크(도 2의 (b))에 전송할 수 있다.
답변 생성 네트워크는 Bi-LSTM 디코더를 포함하여, 잠재 변수 생성 네트워크로부터 수신한 제2 답변 잠재 변수를 디코딩할 수 있다. 답변 생성 네트워크는 제2 답변 잠재 변수를 디코딩함으로써 제2 답변을 생성할 수 있다.
구체적으로 답변 생성 네트워크는 제2 컨텍스트의 문맥 정보와 제2 답변 잠재 변수를 기반으로 정답 스팬의 시작과 종료 지점을 예측하여 제2 답변을 생성할 수 있다. 보다 구체적으로 답변 생성 네트워크는 를 답변 범위의 시작 위치인 와 답변 범위의 끝 위치인 로 분리한 후, 와 를 예측하여 제2 답변을 생성할 수 있다.
답변 생성 네트워크는 제2 답변을 생성함에 있어서 Heuristic 매칭 알고리즘을 적용하여 제2 컨텍스트와 제2 답변 잠재 변수를 이용해 더 정확한 답변을 생성할 수 있다.
답변 생성 네트워크는 생성한 제2 답변을 질문 생성 네트워크(도 2의 (c))에 전송할 수 있다.
질문 생성 네트워크는 기존에 많이 사용되는 구조를 채택하여 Bi-LSTM 인코더 및 LSTM 디코더를 포함할 수 있다.
질문 생성 네트워크는 사전에 훈련된 BERT를 기반으로 제2 답변과 제2 컨텍스트를 Bi-LSTM 인코더를 통해 단어 임베딩으로 인코딩하여 제3 답변 벡터 및 제3 컨텍스트 벡터를 생성할 수 있다.
LSTM 디코더는 제3 답변 벡터 및 제3 컨텍스트 벡터를 초기 상태로 변환하는 2개의 계층을 포함한 것으로, LSTM 디코더는 질문 생성 네트워크의 Bi-LSTM 인코더에서 생성된 제3 답변 벡터와 제3 컨텍스트 벡터를 기반으로 제2 질문을 생성할 것이다.
나아가 질문 생성 네트워크는 attention 매커니즘을 활용해 디코딩 과정에서 발생하는 로스를 최소화하여 질문을 생성할 수 있다.
상기 과정에 따라 본 발명의 HCVAE에 의해 생성된 제2 컨텍스트에 대한 제2 질문 및 제2 답변은 QA 모델을 학습하기 위한 트레이닝 데이터 세트로 활용될 것이다.
나아가 QAG 모델의 가장 중요한 과제 중 하나는 생성된 질문과 답변 간의 일관성을 강화하는 것으로, 질문과 맥락을 통해 답변을 예측할 수 있도록 질문과 답변은 의미상 일관성을 가져야 한다. 그러나 신경 QG 또는 QAG 모델은 일관성을 강화하기 위한 메커니즘을 포함하고 있지 않기 때문에, 컨텍스트 및 답변과 전혀 무관한 질문을 생성하는 경우가 빈번하다.
따라서 응답 가능한 QA 쌍이 높은 상호 정보(MI)를 가질 것이라고 가정하고, 본 발명의 HCVAE는 생성된 QA 쌍의 상호 정보를 최대화하여 상기 문제를 해결한다. 이 때, 상호 정보의 정확한 계산은 다소 까다로움에 따라 수학식 3과 같이 신경 추정 값을 사용한다. 수학식 3에서 와 은 긍정적, 부정적인 예시에 대한 기대 값을 의미한다.
Mini-batch에서 QA 쌍을 섞어 부정적인 예시를 생성하여 질문과 답변이 무작위로 연결되게 할 것이고, 함수는 QA 쌍이 공동 분포에서 오는 지의 여부를 판단하는 이진 분류기와 같이 작동하게 하여, 수학식 4와 같이 g(·) 함수가 일관성과 관련된 QAG 목표를 효과적으로 달성하게 할 것이다. 수학식 4에서, 와 는 질문과 답변의 요약된 표현을 의미하며, ELBO와 결합된 Info-HCVAE의 최종 목표는 수학식 5와 같다. 수학식 5에서, 는 항상 1의 값을 가질 것이다.
본 발명의 일 실시 예에 의한 HCVAE를 검증하기 위한 실험을 수행하였다. 이하에서는 HCVAE를 검증하기 위한 실험 조건을 설명한다.
데이터 세트
본 발명의 HCVAE를 검증하기 위해 4가지 데이터 세트를 활용하였다.
Stanford Question Answering Dataset v1.1(SQuAD): SQuAD 데이터 세트는 위키피디아 기사 데이터에서 클라우드 소싱된 질문을 포함하는 데이터 세트로, 모든 질문에 대한 답변이 구절의 텍스트이다.
Natural Questions(NQ): NQ 데이터 세트는 현실적인 질문을 포함한다. 구체적으로 NQ 데이터 세트는 위키피디아 기사를 컨텍스트로 사용하되, 사용자 쿼리에서 서치 엔진까지의 다양한 질문을 포함한다. 본 발명은 MRQA 공유 작업을 통해 제공된 데이터를 QA 데이터로 변환하여 실험 데이터 세트로 사용한다.
Trivia QA: QA evidence 트리플을 포함하는 데이터 세트로, Trivia QA 쌍과 컨텍스트는 사용자로부터 업로드되며 본 발명은 답변이 컨텍스트에 종속되는 QA 쌍만 채택하여 사용한다.
Harvesting QA: 상위 10K 위키피디아 기사와 1M 합성 QA 쌍이 포함된 데이터 세트로, 비지도 학습을 위해 활용한다.
기본 설정
본 발명은 BERT(d=768)을 QA 모델로 하여 하이퍼 파라미터를 설정한 후, 잠재 변수 생성 네트워크, 질문 생성 네트워크 및 답변 생성 네트워크에 대해 숨겨진 차원을 300으로 설정하고, 질문 생성 네트워크의 인코더 및 디코더의 차원을 450, 900으로 설정한다. 또한 의 차원을 50으로, 를 10-way 카테고리 변수의 집합()으로 정의한다. 또한 심화 모델을 학습 과정에 있어서 epoch를 2로 설정한다.
본 발명은 QA 모델 및 Info-HCVAE를 학습시키기 위해 배치 크기가 32이고, 초기 학습률이 각각 , 인 Adam optimizer를 사용할 것이다. 비지도 학습의 경우, 본 발명은 epoch 2에 따라 BERT를 미리 학습한 후, 데이터 세트를 조정할 수 있다. 또한 사후 붕괴를 방지하기 위해 질문 및 답변의 KLD(Kullback-Leibler divergence, 쿨백-라이블러 발산)에 0.1을 곱할 것이다.
기준 모델
본 발명의 HCVAE의 성능을 검증하기 위해 여러 기준 모델에 대해 두 가지 변형을 더 실험한다. 기준 모델의 경우 답변 생성 네트워크에서 추출한 동일한 답변 범위를 사용한다.
1. Harvest-QG: 신경 응답 추출 시스템을 갖춘 attention 기반 신경 QG 모델.
2. Maxout-QG: BERT를 단어 임베딩으로 사용하는 게이트 된 셀프 attention이 있는 maxout 복사 메커니즘을 기반으로하는 신경 QG 모델.
3. Semantic-QG: 의미가 강화된 강화 학습이있는 Maxout-QG를 기반으로 하는 신경 QG 모델.
4. HCVAE: Info-Max 정규화기가 없는 본 발명의 HCVAE 모델.
5. Info-HCVAE: InfoMax 정규화를 사용한 본 발명의 전체 모델.
정량 분석
본 발명의 QA 모델의 성능을 측정하기 위해 QAE(QA-based Evaluation) 메트릭을 사용한다. QAE 메트릭은 합성 데이터를 이용해 QA 모델을 학습한 다음, 라벨링된 테스트 데이터로 QA 모델을 평가하여 성능을 측정할 수 있다. 그러나 QAE 메트릭은 합성 QA 쌍의 분포가 GT QA 쌍의 분포와 얼마나 잘 일치하는 지만을 측정할 뿐, QA 쌍의 다양성은 고려하지 않는다는 단점이 있다.
따라서 사람이 레이블링한 QA 쌍을 포함하는 QA 모델의 정확도를 검증하는 R-QAE(Reverse QA-based Evaluation)를 이용하여 생성된 QA 쌍을 평가할 것이다. 합성 데이터가 사람이 레이블링한 QA 쌍을 포함하는 학습 데이터보다 분포가 큰 경우, R-QAE 값이 낮게 측정될 것이다. 그러나 작은 오류가 있는 질문에 대해서도 R-QAE 값이 낮게 측정될 것임에 따라 QAE가 충분히 높은 경우에만 낮은 R-QAE 값이 의미를 가질 것이다.
결과
HCVAE 및 Info-HCVAE를 SQuAD, NQ 및 TriviaQA의 기준 모델과 비교하였다. 또한 QA 쌍의 평가를 위해 HarvestingQA 데이터 세트의 위키피디아 단락의 10%를 사용한다. 도 3a를 참고하면, HCVAE와 Info-HCVAE는 모두 SQuAD, NQ 및 TriviaQA 데이터 세트의 QAE가 모든 기준 모델보다 큰 값을 나타내고 있음에 따라 본 발명의 HCVAE이 주어진 컨텍스트에서 다양하고 고품질의 QA 쌍을 생성했음을 알 수 있다. 또한 Info-HCVAE가 QA 쌍의 일관성을 강화하기 위한 InfoMAX 정규화 프로그램의 효율성을 보여주는 HCVAE보다 훨씬 뛰어난 성능을 가짐을 알 수 있다.
도 3b은 QA 쌍의 수에 따른 HCVAE의 정확도를 도시한 그래프로, Info-HCVAE는 더 적은 수의 QA 쌍을 이용하여 높은 마진을 보이고 있다. 예를 들어, Info-HCVAE는 12K OA 쌍을 사용해 61.38 포인트를 달성하여, 10배 더 많은 QA 쌍을 사용하는 Semantic-QG의 성능을 능가하였다. 또한 도 4를 참조하면, 의 점수를 각 기준 모델에 의해 생성된 QA 쌍 간의 상호 정보(MI)에 대한 대략적인 추정치로 사용하며, Info-HCVAE는 상호 정보 추정에서 가장 큰 값을 가짐에 따라 생성된 QA 쌍의 일관성이 우수함을 알 수 있다.
Ablation 실험
또한 각 모델의 구성 요소의 효과를 확인하기 위해 Ablation 실험을 추가로 수행하였다. 먼저 잠재 변수가 없는 Seq2Seq 모델, +Q 잠재 변수를 추가한 모델, +A 잠재 변수를 추가한 모델 각각에 대해 모델링의 효과를 확인하였는데, 도 5를 참조하면, 생성된 QA 쌍의 품질 및 다양성을 개선함에 있어서 잠재 변수가 필수 요소임을 알 수 있다. 또한 InfoMAX가 추가된 모델에서 생성된 QA 쌍의 일관성이 더욱 향상된 것도 확인할 수 있다.
정성 분석
정성 분석을 위해 먼저 사람이 무작위로 선택된 100개의 단락에서 Info-HCVAE 및 Maxout-QG에서 생성된 QA 쌍에 대한 평가를 수행하였다. 구체적으로 20명의 사람은 무작위로 선택된 두 세트(1 세트=2~5개의 QA 쌍)의 QA 쌍을, QA 쌍과 컨텍스트 간의 전반적인 품질, 다양성 및 일관성 측면에서 평가하였다. 도 6을 참조하면, Info-HCVAE에서 생성된 QA 쌍이 기존 모델에서 생성된 QA 쌍과 비교하였을 때 더 다양하고 일관성이 있는 것을 알 수 있다.
1:N QG
컨텍스트로부터 주어진 질문과 SQuAD 유효성 검사 세트에 포함된 답변을 분석함으로써 Info-HCVAE가 질문 생성을 위해 1:N 맵핑 문제를 효과적으로 해결할 수 있음을 증명할 수 있다. 구체적으로 잠재 변수 생성 네트워크 중 에서 질문 잠재 변수를 여러 번 샘플링 한 후, 답변과 함께 질문 생성 네트워크 에 피드한다. 도 7을 참조하면, Info-HCVAE는 답변이 주어지면 의미가 일관성있고 다양한 질문을 생성하는 것을 알 수 있다.
잠재 공간의 보간
Info-HCVAE가 QA 쌍의 생성 네트워크가 의미 있는지를 학습하는 지 확인하기 위해, SQuAD 학습 데이터 세트에서 두 잠재 코드 사이를 보간하여 QA 쌍을 분석한다. 먼저 잠재 변수 생성 네트워크 중 에서 두 QA 쌍의 를 인코딩한 후, 잠재 변수 생성 네트워크 중 를 이용하여 보간된 에서 를 샘플링해 QA 쌍을 생성할 것이다. 도 8을 참조하면, 생성된 QA 쌍의 잠재 변수가 다른 잠재 변수로 바뀌어 갈 때마다, 그에 대응되는 QA 쌍이 의미있으며 다양한 것을 확인할 수 있다.
비지도 QA
사용자가 레이블링한 QA 쌍과 생성된 QA 쌍을 기반으로 QA 모델의 성능이 개선되었는 지를 확인하기 위해 비지도 설정을 이용한다. 생성된 QA 쌍으로 구성된 합성 데이터 세트는 필연적으로 노이즈가 포함될 수 있으므로 사람이 레이블링한 QA 데이터 세트로 훈련된 QA 모델의 예측에 대한 F1 점수가 설정된 임계 값 보다 낮은 답변을 생성하는 것을 대체하기 위해 휴리스틱을 사용하여 QA 쌍을 더욱 세분화할 수 있다.
SQuAD 데이터 세트에 대한 교차 검증을 통해 QA 쌍의 구체화 모델에 대해 임계 값 40.0을 선택하여 실험하였다.
- SQuAD
먼저 모델에서 생성된 합성 QA 쌍을 사용하여 SQuAD에 대해 비지도 QA 실험을 수행한다. 컨텍스트의 경우 기존 SQuAD(S) 데이터 세트의 단락과 Harvesting QA(H) 데이터 세트의 새 단락을 모두 사용한다. Info-HCVAE를 사용하여 잠재 네트워크(Sx10)에서 샘플링하여 10개의 서로 다른 QA 쌍을 생성한다. 기준 모델의 경우 빔 검색 크기가 10 인 Semantic-QG를 사용하여 동일한 수의 QA 쌍을 얻고, Harvesting QA (Hx10%-Hx100%)의 단락 중 다른 부분을 사용해 컨텍스트 당 하나의 잠재 변수를 샘플링하여 새로운 QA 쌍을 생성한다. 도 9는 본 발명의 HCVAE의 프레임워크가 BERT 기반 모델의 정확도를 2.12(EM) 및 1.59(F1) 포인트만큼 향상시킴으로써, Semantic-QG를 크게 능가한다는 것을 보여준다.
- NQ/Trivia QA
본 발명의 HCVAE는 대상 데이터 세트에 대해 레이블이 지정된 데이터가 없을 때 가장 유용한데, 이러한 환경에서 QAG 모델이 얼마나 잘 수행되는지 보여주기 위하여 SQuAD에서 학습된 모델에서 생성된 QA 쌍을 사용하여 QA 모델을 훈련하고 대상 데이터 세트(NQ 및 TriviaQA)에서 테스트하였다. 대상 데이터 세트의 각 컨텍스트에서 여러 QA 쌍을 생성하고 잠복 공간에서 1~10 회 샘플링(N1~10, T1~10)한 후, 생성된 QA 쌍을 사용하여 SQuAD 데이터 세트로 사전 학습된 QA 모델을 미세 조정하였다. 도 10은 더 많은 수의 합성 QA 쌍으로 훈련 데이터를 늘릴수록 QA 모델의 성능이 크게 증가하여 SQuAD 데이터 세트만으로 훈련된 QA 모델을 크게 능가한다는 것을 보여준다. 또한 QAG로 훈련된 모델은 소스와 대상 데이터 세트 간의 분포가 불일치하여 사람이 레이블링한 데이터 세트로 훈련된 모델보다 성능이 크게 떨어지는 것을 알 수 있다.
본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
Claims (21)
- 임의의 컨텍스트에 대한 지식 그래프를 구축하는 서버에 있어서,
임의의 컨텍스트에 대한 하나 이상의 질의 응답 쌍을 생성하는 질의 응답 생성 모듈; 및
임의의 컨텍스트로부터 추출한 지식을 이용하여 멀티 레이어 구조의 지식 그래프를 작성하는 지식 그래프 생성 모듈을 포함하며,
상기 질의 응답 생성 모듈은,
적어도 하나의 인코더 및 인공신경망(MLP)을 포함하여, 제1 컨텍스트, 제1 질문 및 제1 답변을 이용하여 상기 인공신경망을 학습하고, 제2 컨텍스트에 상기 학습된 인공신경망을 적용하여 제2 질문 잠재 변수 및 제2 답변 잠재 변수를 생성하는 잠재 변수 생성 네트워크;
상기 잠재 변수 생성 네트워크와 분리되며, 제2 답변 잠재 변수를 디코딩하여 제2 답변을 생성하는 답변 생성 네트워크; 및
제2 컨텍스트 및 상기 제2 답변을 기반으로 제2 질문을 생성하는 질문 생성 네트워크를 포함하는 지식 그래프 구축 서버.
- 제1항에 있어서, 상기 잠재 변수 생성 네트워크는,
제1 컨텍스트 및 제1 질문을 인코딩하여 제1 컨텍스트 벡터 및 제1 질문 벡터를 각각 생성하고,
제1 컨텍스트 벡터 및 제1 질문 벡터를 기반으로 제1 질문 잠재 변수를 생성하고,
제1 질문 잠재 변수 및 제1 답변 벡터를 기반으로 제1 답변 잠재 변수를 생성하는 지식 그래프 구축 서버.
- 제2항에 있어서,
제1 컨텍스트, 제1 질문 잠재 변수 및 제1 답변 잠재 변수를 기반으로 상기 인공신경망을 학습하는 지식 그래프 구축 서버.
- 제2항에 있어서,
제1 질문 잠재 변수 및 제1 답변 잠재 변수는 분포에 따라 제약 조건을 포함하는 지식 그래프 구축 서버.
- 제1항에 있어서, 상기 답변 생성 네트워크는,
제2 답변 잠재 변수를 디코딩하여 제2 컨텍스트를 획득하고, 제2 컨텍스트의 문맥 정보와 제2 답변 잠재 변수를 기반으로 제2 답변을 생성하는 지식 그래프 구축 서버.
- 제1항에 있어서, 상기 질문 생성 네트워크는,
제2 컨텍스트 및 제2 답변을 더 인코딩하여 제3 컨텍스트 벡터 및 제3 답변 벡터를 생성하고,
제3 컨텍스트 벡터 및 제3 답변 벡터를 기반으로 제2 질문을 생성하는 지식 그래프 구축 서버.
- 제6항에 있어서,
attention 매커니즘을 활용해 제3 컨텍스트 벡터 및 제3 답변 벡터의 디코딩 과정에서 발생하는 로스를 최소화하는 지식 그래프 구축 서버. - 제1항에 있어서,
상기 멀티 레이어 구조의 지식 그래프에서, 제1 레이어에 형성된 제1 지식 그래프와 제2 레이어에 형성된 제2 지식 그래프는, 상기 제1 지식 그래프와 상기 제2 지식 그래프에 공통적으로 포함되는 노드를 통해 서로 연결되는, 지식 그래프 구축 서버.
- 제8항에 있어서,
상기 제1 지식 그래프와 상기 제2 지식 그래프는 서로 다른 카테고리 또는 서로 다른 도메인에 속하는, 지식 그래프 구축 서버.
- 제1항에 있어서,
상기 질의 응답 생성 모듈은,
상기 제2 질문과 상기 제2 답변의 상호 정보(Mutual Information)를 최대화하여 질의 응답 쌍 간의 일관성을 강화하는 것을 특징으로 하며,
상기 상호 정보는 상기 제2 질문과 상기 제2 답변이 얼마나 의존적인지를 수치화한 데이터인, 지식 그래프 구축 서버.
- 임의의 컨텍스트에 대한 지식 그래프를 구축하는 방법에 있어서,
질의 응답 생성 모듈이 임의의 컨텍스트에 대한 하나 이상의 질의 응답 쌍을 생성하는 단계; 및
지식 그래프 생성 모듈이 임의의 컨텍스트로부터 추출한 지식을 이용하여 멀티 레이어 구조의 지식 그래프를 작성하는 단계;를 포함하며,
상기 하나 이상의 질의 응답 쌍을 생성하는 단계는,
적어도 하나의 인코더 및 인공신경망(MLP)을 포함하는 잠재 변수 생성 네트워크가 제1 컨텍스트, 제1 질문 및 제1 답변을 이용하여 상기 인공신경망을 학습하고, 제2 컨텍스트에 상기 학습된 인공신경망을 적용하여 제2 질문 잠재 변수 및 제2 답변 잠재 변수를 생성하는 단계;
상기 잠재 변수 생성 네트워크와 분리된 답변 생성 네트워크가 제2 답변 잠재 변수를 디코딩하여 제2 답변을 생성하는 단계; 및
질문 생성 네트워크가 제2 컨텍스트 및 상기 제2 답변을 기반으로 제2 질문을 생성하는 단계;를 포함하는, 지식 그래프 구축 방법.
- 제11항에 있어서,
상기 제2 질문 잠재 변수 및 상기 제2 답변 잠재 변수를 생성하는 단계는,
제1 컨텍스트 및 제1 질문을 인코딩하여 제1 컨텍스트 벡터 및 제1 질문 벡터를 각각 생성하는 단계;
제1 컨텍스트 벡터 및 제1 질문 벡터를 기반으로 제1 질문 잠재 변수를 생성하는 단계; 및
제1 질문 잠재 변수 및 제1 답변 벡터를 기반으로 제1 답변 잠재 변수를 생성하는 단계를 포함하는, 지식 그래프 구축 방법.
- 제12항에 있어서,
제1 컨텍스트, 제1 질문 잠재 변수 및 제1 답변 잠재 변수를 기반으로 상기 인공신경망을 학습하는 단계를 더 포함하는, 지식 그래프 구축 방법.
- 제12항에 있어서,
제1 질문 잠재 변수 및 제1 답변 잠재 변수는 분포에 따라 제약 조건을 포함하는, 지식 그래프 구축 방법.
- 제11항에 있어서,
상기 제2 답변을 생성하는 단계는,
제2 답변 잠재 변수를 디코딩하여 제2 컨텍스트를 획득하는 단계; 및
제2 컨텍스트의 문맥 정보와 제2 답변 잠재 변수를 기반으로 제2 답변을 생성하는 단계;를 포함하는, 지식 그래프 구축 방법.
- 제11항에 있어서,
상기 제2 질문을 생성하는 단계는,
제2 컨텍스트 및 제2 답변을 더 인코딩하여 제3 컨텍스트 벡터 및 제3 답변 벡터를 생성하는 단계; 및
제3 컨텍스트 벡터 및 제3 답변 벡터를 기반으로 제2 질문을 생성하는 단계;를 포함하는, 지식 그래프 구축 방법.
- 제16항에 있어서,
상기 제3 컨텍스트 벡터 및 제3 답변 벡터를 기반으로 제2 질문을 생성하는 단계는,
attention 매커니즘을 활용해 제3 컨텍스트 벡터 및 제3 답변 벡터의 디코딩 과정에서 발생하는 로스를 최소화하여 상기 제2 질문을 생성하는 단계를 포함하는, 지식 그래프 구축 방법.
- 제11항에 있어서,
상기 멀티 레이어 구조의 지식 그래프에서,
상기 멀티 레이어 구조의 지식 그래프에서, 제1 레이어에 형성된 제1 지식 그래프와 제2 레이어에 형성된 제2 지식 그래프는, 상기 제1 지식 그래프와 상기 제2 지식 그래프에 공통적으로 포함되는 노드를 통해 서로 연결되는, 지식 그래프 구축 방법.
- 제18항에 있어서,
상기 제1 지식 그래프와 상기 제2 지식 그래프는 서로 다른 카테고리 또는 서로 다른 도메인에 속하는, 지식 그래프 구축 방법.
- 제11항에 있어서,
상기 질의 응답 생성 모듈이 상기 제2 질문과 상기 제2 답변의 상호 정보(Mutual Information)를 최대화하여 질의 응답 쌍 간의 일관성을 강화하는 단계를 더 포함하고,
상기 상호 정보는 상기 제2 질문과 상기 제2 답변이 얼마나 의존적인지를 수치화한 데이터인, 지식 그래프 구축 방법.
- 제11항 내지 제20항 중 어느 한 항에 기재된 지식 그래프 구축 방법의 각 단계를 실행시키기 위한 명령어를 포함하는 프로그램이 기록된, 비일시적인 컴퓨터 판독 가능한 기록 매체.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200152710A KR102582744B1 (ko) | 2020-11-16 | 2020-11-16 | Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램 |
KR1020230125942A KR102697095B1 (ko) | 2020-11-16 | 2023-09-20 | Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램 |
KR1020240109502A KR20240128645A (ko) | 2020-11-16 | 2024-08-16 | Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200152710A KR102582744B1 (ko) | 2020-11-16 | 2020-11-16 | Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230125942A Division KR102697095B1 (ko) | 2020-11-16 | 2023-09-20 | Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220066554A KR20220066554A (ko) | 2022-05-24 |
KR102582744B1 true KR102582744B1 (ko) | 2023-09-25 |
Family
ID=81807382
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200152710A KR102582744B1 (ko) | 2020-11-16 | 2020-11-16 | Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램 |
KR1020230125942A KR102697095B1 (ko) | 2020-11-16 | 2023-09-20 | Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램 |
KR1020240109502A KR20240128645A (ko) | 2020-11-16 | 2024-08-16 | Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230125942A KR102697095B1 (ko) | 2020-11-16 | 2023-09-20 | Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램 |
KR1020240109502A KR20240128645A (ko) | 2020-11-16 | 2024-08-16 | Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램 |
Country Status (1)
Country | Link |
---|---|
KR (3) | KR102582744B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102641137B1 (ko) | 2023-12-14 | 2024-02-28 | 주식회사 예랑 | 인공지능 모델 기반 우주 기술의 산출 데이터에 대한 질의 응답 제공 방법, 장치 및 시스템 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117807252B (zh) * | 2024-02-29 | 2024-04-30 | 创意信息技术股份有限公司 | 一种基于知识图谱的数据处理方法、装置、系统及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102090237B1 (ko) * | 2018-07-31 | 2020-03-17 | 주식회사 포티투마루 | 시맨틱 트리플 기반의 지식 확장 시스템, 방법 및 컴퓨터 프로그램 |
KR20200042739A (ko) * | 2018-10-16 | 2020-04-24 | 삼성전자주식회사 | 지식 그래프에 기초하여 콘텐트를 제공하는 시스템 및 방법 |
KR20200052448A (ko) * | 2018-10-30 | 2020-05-15 | 삼성전자주식회사 | 지식 그래프에 기초하여 데이터베이스들을 통합하는 시스템 및 방법 |
-
2020
- 2020-11-16 KR KR1020200152710A patent/KR102582744B1/ko active IP Right Grant
-
2023
- 2023-09-20 KR KR1020230125942A patent/KR102697095B1/ko active IP Right Grant
-
2024
- 2024-08-16 KR KR1020240109502A patent/KR20240128645A/ko active Application Filing
Non-Patent Citations (3)
Title |
---|
Guo et al. "Interpretable deep graph generation with node-edge co-disentanglement." Proceedings of the 26th ACM SIGKDD. (2020) |
Lee et al. 'Generating diverse and consistent QA pairs from contexts with information-maximizing hierarchical conditional VAEs.' arXiv preprint arXiv:2005.13837 (2020).* |
Shinoda et al. "Improving the robustness of qa models to challenge sets with variational question-answer pair generation." arXiv preprint arXiv:2004.03238 (2020). |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102641137B1 (ko) | 2023-12-14 | 2024-02-28 | 주식회사 예랑 | 인공지능 모델 기반 우주 기술의 산출 데이터에 대한 질의 응답 제공 방법, 장치 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR20230141683A (ko) | 2023-10-10 |
KR102697095B1 (ko) | 2024-08-21 |
KR20240128645A (ko) | 2024-08-26 |
KR20220066554A (ko) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319686B (zh) | 基于受限文本空间的对抗性跨媒体检索方法 | |
Gan et al. | Sparse attention based separable dilated convolutional neural network for targeted sentiment analysis | |
KR20230128492A (ko) | 설명 가능 트랜스듀서 변환기 | |
KR102697095B1 (ko) | Qa 모델을 이용하여 지식 그래프를 구축하는 방법, 장치 및 컴퓨터 프로그램 | |
CN114565104A (zh) | 语言模型的预训练方法、结果推荐方法及相关装置 | |
Lyons et al. | Signature methods in machine learning | |
CN110457718B (zh) | 一种文本生成方法、装置、计算机设备及存储介质 | |
US20240143940A1 (en) | Architecture for generating qa pairs from contexts | |
CN112183881A (zh) | 一种基于社交网络的舆情事件预测方法、设备及存储介质 | |
Chien et al. | Hierarchical and self-attended sequence autoencoder | |
Valle | Hands-On Generative Adversarial Networks with Keras: Your guide to implementing next-generation generative adversarial networks | |
Lotfian et al. | Over-sampling emotional speech data based on subjective evaluations provided by multiple individuals | |
CN112560440A (zh) | 一种基于深度学习的面向方面级情感分析的句法依赖方法 | |
Wang et al. | Knowledge base question answering system based on knowledge graph representation learning | |
Sekiyama et al. | Automated proof synthesis for the minimal propositional logic with deep neural networks | |
Alhazmi et al. | Learning-Related Sentiment Detection, Classification, and Application for a Quality Education Using Artificial Intelligence Techniques. | |
CN114997155A (zh) | 一种基于表格检索和实体图推理的事实验证方法与装置 | |
Han et al. | Graph matching based reasoner: A symbolic approach to question answering | |
M'Charrak | Deep learning for natural language processing (nlp) using variational autoencoders (vae) | |
Kim et al. | COVID-19 outbreak prediction using Seq2Seq+ Attention and Word2Vec keyword time series data | |
Maharaj | Generalizing in the Real World with Representation Learning | |
Ganea | Non-Euclidean Neural Representation Learning of Words, Entities and Hierarchies | |
Yang et al. | Improving Opinion-based Question Answering Systems Through Label Error Detection and Overwrite | |
Subramanian | On representation learning for generative models of text | |
CN117828072B (zh) | 一种基于异构图神经网络的对话分类方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |