KR20240052511A - 숫자 연산이 가능한 기계독해기반 질의응답 장치 및 방법 - Google Patents

숫자 연산이 가능한 기계독해기반 질의응답 장치 및 방법 Download PDF

Info

Publication number
KR20240052511A
KR20240052511A KR1020220132670A KR20220132670A KR20240052511A KR 20240052511 A KR20240052511 A KR 20240052511A KR 1020220132670 A KR1020220132670 A KR 1020220132670A KR 20220132670 A KR20220132670 A KR 20220132670A KR 20240052511 A KR20240052511 A KR 20240052511A
Authority
KR
South Korea
Prior art keywords
paragraph
question
query
response
model
Prior art date
Application number
KR1020220132670A
Other languages
English (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 KR1020220132670A priority Critical patent/KR20240052511A/ko
Publication of KR20240052511A publication Critical patent/KR20240052511A/ko

Links

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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24547Optimisations to support specific applications; Extensibility of optimisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • 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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • 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
    • 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

Landscapes

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

Abstract

질의 응답 장치 및 방법이 개시된다. 상기 질의 응답 방법은 컴퓨팅 장치에 의해 수행되고, 학습 데이터를 구축하는 단계, 상기 학습 데이터를 이용하여 사전학습된 언어모델을 학습시켜 질의응답 모델을 생성하는 단계, 및 타겟 단락과 타겟 질의를 수신하고, 상기 질의응답 모델을 이용하여 상기 타겟 질의에 대한 정답을 예측하는 단계를 포함한다.

Description

숫자 연산이 가능한 기계독해기반 질의응답 장치 및 방법{DEVICE AND METHOD FOR NUMERICALLY-AWAER MACHINE READING COMPREHENSION QUESTION AND ANSWER}
본 발명은 질의(question)에 대해 단락(passage)으로부터 숫자 정보를 추출하여 숫자 간의 사칙연산, 비교, 정렬 등의 연산을 통해 응답이 가능한 기계독해(Machine Reading Comprehension, MRC) 모델에 관한 것이다.
MRC(Machine Reading Comprehension)는 모델의 독해력을 평가하기 위한 자연어 처리(Latural Language Processing, NLP) 태스크 중 하나로, 단락과 질의가 주어졌을 때 기계가 해당 단락 및 질의를 이해하여 정답을 찾는 태스크이다.
대표적인 데이터셋으로는 기계의 언어 이해 정도를 인간의 독해력과 동등하거나 그 이상으로 가능하게 한 SQuAD(Stanford Question Answering Dataset)가 있고, 한국어의 기계 독해 분야에서는 KorQuAD(Korean QA Dataset for Machine Comprehension)가 있으며, 이는 다양한 모델의 성능 평가를 위한 객관적인 지표로 활용된다. 기존에 공개된 한국어 데이터셋은 단락과 질의에서 범위(span)를 추출하거나, 단락과 질의에 존재하지 않는 정답을 추출해 내는 방법이 있다. 그러나 실제 질의응답에서는 단순히 단락과 질의를 근거로 하여 범위를 요구하는 정답만을 요구하는 것이 아닌, 단락과 질의에서 유의미한 숫자 정보를 추출하여, 해당 숫자 간 연산을 통해 결과를 도출해 내는 더욱더 현실적이고 고급화된 정답을 요구한다.
다음의 단락을 예로 들면, "6 차전은 5 차전이 열리고 나서 며칠 후에 열립니까?"와 같은 질의에 올바른 대답을 위해서는 단순히 단락과 질의의 에비던스(evidence)를 통해 이해하는 것 뿐만이 아닌 숫자 연산을 통해 추론해야 하므로 더욱더 현실적인 질의응답을 요구하는 기계 독해라 할 수 있다.
"5 차전 승리, 82%의 우승 확률을 잡았다. NC 다이노스는 23 일 서울 고척스카이돔에서 열린 2020 KBO 리그 한국시리즈 5 차전에서 두산 베이스에...24 일 열리는 6 차전에서 NC 다이노스는 루친스키, 두산은 알칸타리를 선발 투수로 예고했다."
LRLs(Low-Resource Languages)는 자연어 처리(NLP) 분야에서 비교적 연구가 덜된 언어로 고려될 수 있으며, 이러한 LRLs를 위해 최근 전이학습 기반 연구가 수행되고 있으나 이 또한 실질적인 해결을 제공하기엔 더 많은 연구가 필요하다.
따라서 본 발명에서는 MRC에서 실제 숫자 연산이 가능한 QA 모델을 만들기 위해 한국어 데이터셋을 구축하고, QA 모델의 효과성을 검증하고자 한다. 이를 위해 한국어 숫자 연산이 가능한 데이터셋을 구축하고, 사전학습된 한국어 언어모델을 토대로 숫자 연산이 가능한 모델 아키텍처로 학습하여 그 효과성을 증명하고자 한다.
대한민국 등록특허 제2271361호 (2021.06.30. 공고) 대한민국 공개특허 제2022-0030088호 (2022.03.10. 공개) 대한민국 등록특허 제2116518호 (2020.05.28. 공고)
본 발명이 이루고자 하는 기술적인 과제는 숫자 연산이 가능한 기계독해 기반 질의응답 장치 및 방법을 제공하는 것이다.
본 발명의 일 실시예에 질의 응답 방법은 컴퓨팅 장치에 의해 수행되는 질의 응답 방법으로써, 학습 데이터를 구축하는 단계, 상기 학습 데이터를 이용하여 사전학습된 언어모델을 학습시켜 질의응답 모델을 생성하는 단계, 및 타겟 단락과 타겟 질의를 수신하고, 상기 질의응답 모델을 이용하여 상기 타겟 질의에 대한 정답을 예측하는 단계를 포함한다.
본 발명의 실시예들에 의할 경우, 숫자 연산, 예컨대 사칙연산, 비교, 정렬에 대한 질의에 대해 응답을 생성할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 데이터셋의 구축 과정을 설명하기 위한 도면이다.
도 2는 숫자 추론이 가능한 언어 모델의 동작 흐름을 설명하기 위한 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시예들을 상세히 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
또한, 이하에서 설명되는 방법에 포함되는 적어도 일부의 단계는 적어도 프로세서(processor) 및/또는 메모리(memory)를 포함하는 적어도 하나의 컴퓨팅 장치에 의해 수행될 수 있다. 즉, 각 단계의 일부는 어느 하나의 컴퓨팅 장치에서 수행되고, 각 단계의 다른 일부는 다른 하나의 컴퓨팅 장치에서 수행될 수도 있다. 컴퓨팅 장치는 PC(Personal Computer), 랩탑 컴퓨터, 태블릿 PC, 서버(server) 등으로 구현될 수 있다.
우선, 한국어 숫자 연산 데이터셋의 어노테이션 프로세스(annotation process)와 한국어 언어모델의 미세조정(finetuning)에 관해 설명한다.
1. 한국어 숫자 데이터의 상세와 어노테이션 과정(Korean Numerical Data description & Annotation procedure)
(1) 숫자 데이터의 수집(Numerical data Collection)
본 발명에서 숫자 연산을 요구하는 KBO 뉴스 데이터(https://www.koreabaseball.com)와 한국민족문화대백과사전(Encyclopedia of Korean Culture, http://encykorea.aks.ac.kr)의 역사 데이터의 문단을 각각 크롤링하였다. 다시 말하면, 컴퓨팅 장치는 유무선 통신망을 통하여 텍스트 데이터를 크롤링할 수 있다. 하나의 텍스트 데이터는 적어도 하나의 문단을 포함할 수 있고, 각각의 텍스트 데이터에서 적어도 하나의 숫자를 포함하는 단락만이 추출될 수 있다. 다만, 본 발명이 크롤링의 대상 데이터에 제한되는 것은 아니다.
전체 (텍스트) 데이터에서 단락 내 숫자를 포함하고 있는 각 도메인 별 600 개의 문단을 임의로 추출하여 전체 1200 개의 단락을 train, dev, test의 비율이 8:1:1이 되도록 분할하였다. 즉, 컴퓨팅 장치는 숫집된 텍스트 데이터로부터 복수의 단락들을 추출할 수 있다. 추출되는 단락들은 적어도 단락 내에 숫자를 포함하고 있는 단락들 중에서 임의로 선택될 수 있다.
표 1은 단락과 질의의 개수(Number of Passages, Number of Questions), 질의의 타입(type of questions), 평균적인 질의와 지문의 비율(Avg. questions/passage)을 보여준다. 학습 데이터셋의 질의는 숫자(Number)형 72.01%, 날짜(Date)형 0.69%, 범위(Span)형 26.30%로 구성하였으며, Dev와 Test는 따로 구분하지 않았다.
[표 1]
(2) 어노테이션 가이드라인(Annotation Guidelines)
어노테이터들(Annotators)에게 각각 야구와 역사 데이터를 절반씩 할당하였다. 즉, 컴퓨팅 장치는 추출된 단락들을 어노테이터들 각각의 단말(PC, 태블릿 PC, 랩탑 컴퓨터 등을 의미할 수 있음)로 전송할 수 있고, 각각의 단말로부터 단락, 단락에 대응하는 적어도 하나의 질의, 각 질의에 대한 정답을 다시 수신할 수 있다. 이때, 단락은 컴퓨팅 장치에 미리 저장되어 있을 수 있으므로, 단락을 식별할 수 있는 식별 정보, 질의, 및 정답만이 수신될 수도 있다.
질의의 경우, '단락'에서 직접 식별될 수 있거나, 추론할 수 있는 내용이어야 하며, 직접 식별할 수 없는 경우는 정답에 대응하는 범위(span)을 구체적으로 식별할 수 있는 경우이다. 이외에도, 답변(answer)이 문자가 아닌 숫자 표현일 경우에는 Number에, 날짜일 경우에는 Date에 정답 표현을 기재해야 한다. 따라서, 각 질의는 질의 자체 뿐만 아니라 질의의 유형(숫자, 날짜, 범위)에 관한 정보도 함께 포함하는 것으로 이해될 수 있다.
어노테이터는 단락을 읽고 이해하여 질의 쌍을 생성할 수 있는 대학교 4 학년 또는 석사과정 8 명이 수행하였다. 모든 어노테이터들은 일주일 간 훈련을 받았으며, 그들 각각은 어노테이터 가이드라인에 친숙해지고 수행하기 위한 테스트 샘플(test sample)을 받았다. 어노테이터 팀(annotator team)은 일주일에 한번씩 리뷰하면서 어노테이션 절차에 대해 각 멤버의 워크를 토론하였다. 모든 질의 및 정답 쌍은 8명을 두 파트로 나누어 서로 반대의 4명의 크로스 체크에 의해 검토되었으며, 두 명의 전문가 수퍼바이저에 의해 추가적으로 검토되었다. 이러한 데이터 태깅 절차를 통해 학습 데이터의 신뢰성 및 가치성을 향상시킬 수 있었다.
(3) 자동 인터-어노테이션 프로세스(Automatic Inter-annotation Process)
어노테이터들이 단락을 이해하여 질의를 생성하는 과정에서, 특히 범위(span)에 관한 정답을 생성하는 과정에서, 자동 인터-어노테이션 툴(automatic inter-annotation tool)을 활용함으로써 보다 효율적인 데이터 구축을 수행하였다. 자동 인터-어노테이션 툴은 기존에 인간의 성능과 비슷하거나 혹은 뛰어넘는 언어모델(예컨대, 사전학습된 언어 모델)로 대체함으로써 비용을 절감시킬 뿐만 아니라, 어노테이터들의 의도를 파악하는 데이터셋이 품질을 향상시킬 수 있다는 이점을 갖는다.
데이터셋의 구축 과정을 도시하는 도 1을 참조하면, 어노테이터들이 범위(span) 타입 및/또는 날짜(date) 타입에 해당하는 데이터셋을 만들 경우, 어노테이터들은 주어진 단락에 대응하는 질의 및 응답 쌍을 생성하여야 한다. 하나의 단락에 대한 질의와 응답의 쌍은 복수개일 수 있다. 여기서, (사전학습된) 언어모델은 주어진 단락에 정답이 이미 있는지 여부를 평가한다. 이 툴은 생성된 질의가 언어모델이 응답할 수 없는 경우, 어노테이터에게 알려서, 필요한 경우 주어진 단락에 따라 재수정하도록 유도한다. 이는 오류의 확률을 가진 인간의 부정확성과 오류의 가능성을 효과적으로 줄이기 위한 추가적인 자동화 툴로, 기존의 한계를 극복하여 고품질 데이터셋을 구축할 수 있도록 한다.
예컨대, 어노테이터는 주어진 단락과 연과된 질의로 "Who scored the first touchdown of the game?(게임에서 누가 첫번째 터치다운을 기록하였나?)"를 생성하길 원할 수 있다. 그러면, 질의는 인터-어노테이션 툴로 입력된다. 피드백 프로세스로, BERT로부터의 첫번째 정답(응답)이 "Anna"이고 ELECTRA로부터의 두번째 정답이 "Tom Brady"일 경우, 어노테이터는 정답이 단락 내에 존재하는지 여부를 체크하여야 한다. 그리고, 체크가 완료된 질의 응답 쌍은 DB에 저장될 수 있다.
상술한 바와 같이, 어노테이터 단말로부터 질의와 응답 쌍을 수신한 컴퓨팅 장치는 적어도 하나의 언어모델에 단락과 질의를 입력하여 언어모델의 출력과 수신된 응답의 일치 여부를 판단한다. 여기서, 사전학습된 언어모델은 종래에 알려진 적어도 하나의 언어모델로써, 예시적인 언어모델은 BERT와 ELECTRA일 수 있다. 언어모델의 출력과 어노테이터가 작성한 정답이 상이할 경우, 컴퓨팅 장치는 언어모델의 출력이 수신된 정답과 일치하지 않음을 알리는 메시지를 어노테이터의 단말로 송신할 수 있고, 이에 따라 어노테이터에 의해 수정된 질의 응답 쌍을 다시 수신할 수 있다. 결국, 컴퓨팅 장치는 수신된 질의 응답 쌍에 포함된 응답이 (사전학습된) 언어모델의 출력과 일치할 경우에만, 어노테이터에 의해 작성된 질의 응답 쌍을 학습 데이터 등으로 포함시킬 수 있다. 즉, 수신된 질의 응답 쌍을 DB에 저장함으로써 추후에 모델의 학습에 이용할 수 있다.
2. 데이터 구축 과정에서의 제약사항(Contraints in Data construction process)
데이터 구축 과정에서 제약사항을 정하는 것은 매우 중요하다. 소스에서 일괄적으로 체크 가능한 것은 다음과 같다.
① 응답 타입(number, span, date)에 빈 값이 없는지
② 응답에 숫자 타입, 범위 타입에 해당하는 알맞은 정보가 적절히 들어갔는지
③ 숫자 타입의 경우 숫자가 알맞게 들어갔는지
④ 불필요한 공백이 없는지
상술한 제약사항은 컴퓨팅 장치에 의해 자동적으로 검토될 수 있다. 즉, 컴퓨팅 장치는 수신된 질의 응답 쌍에서 응답의 타입(또는 질의의 타입)에 관한 정보가 포함되어 있는지 여부를 판단하고, 응답의 타입에 관한 정보가 누락되어 있는 경우, 이를 알리는 메시지를 어노테이터의 단말로 전송하고, 수정된 질의 응답 쌍을 수신할 수 있다.
또한, 응답에 숫자 타임, 범위 타입에 해당하는 알맞은 정보가 기재되어 있는지 여부는 앞서 설명한 것과 같이, (사전학습된) 언어모델의 출력과 비교함으로서, 수신된 질의 응답 쌍을 데이터로 구축하던지 이를 어노테이터에게 알려 수정된 질의 응답 쌍을 다시 수신할 수 있다.
또한, 컴퓨팅 장치는 수신된 질의 응답 쌍에 연속되는 공백의 존재 여부를 판단하고, 연속되는 공백이 있는 경우, 이를 알리는 메시지를 어노테이터의 단말로 송신함으로써 수정된 질의 응답 쌍을 다시 수신할 수 있다.
그러나, 다음의 제약조건은 반드시 사람이 직접 검수해야 한다.
① 모든 범위, 날짜 타입은 문자 그대로 단락에 반드시 존재해야 한다.
② 숫자 타입이 경우, 소수점은 두 자리 수까지 기입하고, 정수의 경우 소수점을 고려하지 않는다.
③ 지문 외의 정보를 활용한 추론은 본 데이터 구축의 범위를 벗어나므로 고려하지 않으며, 숫자 추론(numerical reasoning)에 중점을 둔다.
④ 생성된 응답 타입의 경우, 뺄셈(subtraction), 비교(comparison), 선택(selection), 덧셈(addition), 카운트 및 분류(count and sort), 및 기타(other) 중 적어도 하나로 분류한다.
⑤ 단순히 단락과 질의에 정답이 있는 것이 아니라, 특정 연산을 통해서 정답이 생성된 것인지, 그리고 그 답이 맞는지 반드시 숫자에 기재해야 한다.
⑥ 질의의 모호성을 낮추기 위해, 특정 단위로 대답할 때에는 그 단위가 반드시 질의에 포함되어 있어야 한다.
3. 숫자 추론 언어 모델(Numerical reasoning Language Model)
본 발명에서 사용한 한국어 언어모델은 KoELECTRA(Clark et al., 2020; Park, 2020)로, 대용량 데이터로 사전학습된 언어모델이다.
ELECTRA는 RTD(Replaced Token Detection)를 수행하기 위해 생성자(Generator) G와 판별자(Discriminator) D의 두 신경망을 훈련시킨다. 두 네트워크는 본질적으로 트랜스포머(Transformer, Vaswani et al., 2017)의 인코더로 구성되어 있으며, 일련의 토큰들(sequence of tokens)을 입력으로 받아 문맥 정보(contextual information)를 반영한 히든 시퀀스(hidden sequence)로 매핑시키는 방식으로 학습한다.
본 발명에서 제안하는 모델은 숫자-인지(numerically-aware) 그래프 신경망(graph neural network) 모델들, 즉 인코딩 모듈에서 단락과 질의에 대해 그래프로 표현하는 NumNet(Q. Ran, Y. Lin, P. Li, J. Zhou, and Z. Liu, "NumNet: Machine reading comprehension with numerical reasoning," Proceedings of the 2019 conference on Empirical Methods in Natural Language Processing and the 9th International Joint conference on Natureal Language Processing (EMNLP-IJCNLP), pp. 2474-2484, Nov. 2019.)과 NumNet의 개선된 버전인 NumNet+의 구조가 숫자 추론 언어 모델을 만들기 위해 사용하였다. 정보를 비교하고, 임베딩(embedding), 인코딩(encoding), 단락과 질의 사이의 어텐션(attention), 및 출력 층들(output layers)로 구성되는 숫자 추론 동작이 고려되어야 한다.
단락 내에서의 정답 확률을 예측하기 위해서, 제안 모델은 PLMs(Pre-trained Language Models)로 질의와 단락을 인코딩하기 위해 크로스-어텐션 임베딩(cross-attention embeddings)을 이용한다. 그런 다음, 단락과 질의 내의 숫자들에 대응하는 노드들과 숫자들 간의 대수적 관계(numerical relationships)를 인코딩하는 엣지를 갖는 그래프가 생성될 수 있다. 이를 위해 NumNet이나 NumNet+가 이용될 수 있다. 제안 모델은 예측 단계에서 3가지 타입의 정답을 출력하여야 한다. 이는, 범위(spans), 카운트(count), 대수적인 표현(arithmetic expression, AE)을 의미한다. 특히, AE를 위한 추론 스킬들은 숫자들로부터의 덧셈(addition), 뺄셈(subtraction), 카운팅(counting), 및 소팅(sorting)을 나타낼 수 있다.
본 발명에서 고려하는 또다른 모델은, 미리 정의된 연산자(numerical operator)를 의미 태그(semantic tag)로 정의하여 최적의(또는 필요한) 연산자(most optimal operator)를 찾는 숫자-인지(numerically aware) BERT(NABERT, http://github.com/raylin1000/drop-bert)이다. 도 2에 도시된 바와 같이, 사전학습된 한국어 언어모델은 숫자 추론이 가능하도록 추론 스킬(reasoning skill)을 학습하여, 입력된 문장에 해당하는 최적의 정답을 찾기 위한 확률값을 최대화한다. 이후, 입력된 단락 및 질의는 최상의 답변 예측을 위해 이용된다.
결국, 구축된 학습 데이터를 이용하여 (사전학습된 한국어) 언어모델을 학습함으로써, 숫자 연산이 가능한 질의응답 모델을 생성할 수 있다. 학습 데이터는 단락, 질의, 및 정답으로 구성되어 있으며, 질의는 질의(또는 정답)의 타입에 관한 정보를 포함할 수 있다.
사전학습된 언어모델은 KoELECTRA일 수 있으며, 숫자 연산을 가능하게 하기 위하여 단락에 포함된 숫자들을 노드로, 각 숫자들과의 관계를 엣지로 표현하는 그래프를 생성하기 위하여 NumNet이나 NumNet+이 이용될 수 있고, 최적의 연산자를 찾기 위하여 NABERT가 사용될 수 있다. 결국, 컴퓨팅 장치는 생성된(또는 구축된) 학습 데이터를 통해 소정의 언어모델을 학습함으로써, 숫자 연산이 가능한 질의응답 모델을 생성할 수 있다. 또한, 컴퓨팅 장치는 생성된 질의응답 모델을 이용하여 소정의 단락과 질의를 수신하고 이에 대한 정답을 예측하여 출력할 수 있다.
이하에서는, 실험 결과를 설명한다.
1. 실험 설정(Experimental Setup)
실험 환경은 다음과 같다. 본 발명은 LRLs인 한국어에서의 숫자 연산이 가능한 MRC 모델의 효과성을 검증하기 위해, 학습데이터셋을 직접 구축하여 모델을 학습하였다. 사용된 하이퍼파라미터을 보여주는 표 2를 참조하면, learning rate는 1e-5, optimizer는 Adam, Max epochs는 10, Max sequence length는 512, Weight decay는 0.1, Batch size는 16이다. 또한, GPU RTX 8000*2 환경에서 구동하였다.
[표 2]
2. 실험 결과
표 3은 한국어 숫자연산 데이터로 학습한 언어모델의 실험 결과를 보여준다. 여기서 사용한 모델 구조는 크게 3가지로, 기본적인 numnet에 한국어 Glove-100d를 적용한 것과 NAQANET(Yu et al., 2018; Dua et al., 2019)의 모델 구조를 KoELECTRA에 적용한 NAKolelectra, 및 numnet+ 구조에 KoELECTRA를 적용한 모델이다.
[표 3]
사전학습된 한국어 BERT, ELECTRA를 활용하여 미세조정(finetuning)하였다. NumNet은 기학습된 한국어 Glove-100d embedding feature로 학습하였고, NABERT와 NumNet+는 KoELECTR로 학습한 결과이다. 성능 평가 측정으로는 EM(Exact Match)와 F1 score를 사용하였다.
실험 결과, 단순히 Ko-Glove 100d를 사용한 numnet은 train과 test, valid에서 모두 가장 낮은 성능을 기록했으며 이는 단순히 단어 단위로 학습된 glove feature embedding은 대용량 데이터로 사전학습된 언어모델에 비해 제대로 학습되지 않은 것을 확인할 수 있었다.
NaKoELECTRA와 numnet+ 구조에 KoELECTRA를 적용한 모델의 결과에서 train과 test, valid에서의 성능 차이는 early stopping을 적용하여 최적의 loss를 찾았음에도 불구하고 낮은 성능을 기록했는데, 이는 모델의 학습부족, 학습 데이터 부족, 데이터 오류 등 다양한 요소가 원인이 될 수 있다.
본 발명에서는 모델의 성능을 높이는 것이 아닌, 한국어에서의 숫자 연산이 가능한 언어모델을 만드는 것으로, LRLs인 한국어의 연구 가능성을 높이고자 함이다.
이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 집합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성 요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(Digital Signal Processor), 마이크로컴퓨터, FPA(Field Programmable array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(Operation System, OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술 분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(Processing Element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(Parallel Processor)와 같은, 다른 처리 구성(Processing Configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(Computer Program), 코드(Code), 명령(Instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(Collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성 요소(Component), 물리적 장치, 가상 장치(Virtual Equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(Signal Wave)에 영구적으로, 또는 일시적으로 구체화(Embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-optical Media), 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성 요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (5)

  1. 컴퓨팅 장치에 의해 수행되는 질의 응답 방법에 있어서,
    학습 데이터를 구축하는 단계;
    상기 학습 데이터를 이용하여 사전학습된 언어모델을 학습시켜 질의응답 모델을 생성하는 단계; 및
    타겟 단락과 타겟 질의를 수신하고, 상기 질의응답 모델을 이용하여 상기 타겟 질의에 대한 정답을 예측하는 단계를 포함하는 질의 응답 방법
  2. 제1항에 있어서,
    상기 학습 데이터를 구축하는 단계는,
    텍스트 데이터를 크롤링하는 단계;
    상기 텍스트 데이터로부터 숫자를 포함하는 단락을 추출하는 단계;
    추출된 단락을 어노테이터(annotator)의 단말로 송신하는 단계; 및
    상기 단말로부터 단락에 대한 질의와 응답을 수신하는 단계를 포함하는,
    질의 응답 방법.
  3. 제2항에 있어서,
    상기 학습 데이터를 구축하는 단계는, 수신된 질의가 범위(span) 타입의 응답을 요구하는 질의인 경우,
    사전학습된 적어도 하나의 다른 언어모델에 수신된 질의와 단락을 입력하여 응답을 도출하는 단계; 및
    도출된 응답이 수신된 응답과 상이한 경우, 상기 단말로 질의와 응답에 대한 수정을 요청하는 단계를 더 포함하는,
    질의 응답 방법.
  4. 제1항에 있어서,
    상기 사전학습된 언어모델은 KoELECTRA인,
    질의 응답 방법.
  5. 제1항에 있어서,
    상기 질의응답 모델은 단락에 포함된 숫자를 노드로 하고 숫자들 사이의 관계를 엣지로 하는 그래프를 생성하는 NumNet 또는 NumNet+를 이용하고,
    응답을 예측하는 과정에서 이용되는 연산자를 결정하기 위해 NABERT(Numerically-aware BERT)를 이용하는,
    질의 응답 방법.
KR1020220132670A 2022-10-14 2022-10-14 숫자 연산이 가능한 기계독해기반 질의응답 장치 및 방법 KR20240052511A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220132670A KR20240052511A (ko) 2022-10-14 2022-10-14 숫자 연산이 가능한 기계독해기반 질의응답 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220132670A KR20240052511A (ko) 2022-10-14 2022-10-14 숫자 연산이 가능한 기계독해기반 질의응답 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20240052511A true KR20240052511A (ko) 2024-04-23

Family

ID=90880896

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220132670A KR20240052511A (ko) 2022-10-14 2022-10-14 숫자 연산이 가능한 기계독해기반 질의응답 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20240052511A (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102116518B1 (ko) 2018-02-23 2020-05-28 주식회사 마인즈랩 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법
KR102271361B1 (ko) 2019-11-08 2021-06-30 고려대학교 산학협력단 자동 질의응답 장치
KR20220030088A (ko) 2020-09-02 2022-03-10 고려대학교 산학협력단 질의에 대한 응답 결정 장치, 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102116518B1 (ko) 2018-02-23 2020-05-28 주식회사 마인즈랩 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법
KR102271361B1 (ko) 2019-11-08 2021-06-30 고려대학교 산학협력단 자동 질의응답 장치
KR20220030088A (ko) 2020-09-02 2022-03-10 고려대학교 산학협력단 질의에 대한 응답 결정 장치, 방법 및 시스템

Similar Documents

Publication Publication Date Title
Yu et al. What's inside the black box? AI challenges for lawyers and researchers
Chen et al. Question directed graph attention network for numerical reasoning over text
Al Emran et al. A survey of intelligent language tutoring systems
Lan et al. Mathematical language processing: Automatic grading and feedback for open response mathematical questions
US11631338B2 (en) Deep knowledge tracing with transformers
Lai et al. A gated self-attention memory network for answer selection
Killawala et al. Computational intelligence framework for automatic quiz question generation
EP4209956A1 (en) Idiom blank-filling question answer selection method and apparatus, and computer device
Ndukwe et al. Automatic grading system using sentence-BERT network
Hughes et al. Machine learning for holistic evaluation of scientific essays
Daull et al. Complex QA and language models hybrid architectures, Survey
Zacharis et al. AiCEF: an AI-assisted cyber exercise content generation framework using named entity recognition
Blšták et al. Machine learning approach to the process of question generation
Chandrasekaran et al. Domain specific complex sentence (DCSC) semantic similarity dataset
KR20240052511A (ko) 숫자 연산이 가능한 기계독해기반 질의응답 장치 및 방법
Tang A simple introduction to programming and statistics with decision trees in R
Mendjoge et al. Review of knowledge representation techniques for Intelligent Tutoring System
Wang Genetic Algorithm and BP Neural Network for College Physical Education Teaching Evaluation
Alrdahi et al. Learning to play chess from textbooks (LEAP): a corpus for evaluating chess moves based on sentiment analysis
Zhou et al. Nested causality extraction on traffic accident texts as question answering
JP5828438B2 (ja) 自律型知識体系構築機
Zaib et al. Learning to Select the Relevant History Turns in Conversational Question Answering
Zahir et al. Transformer vs. RASA model: A thorough attempt to develop conversational Artificial Intelligence to provide automated services to university disciples
Li et al. Learning When to Defer to Humans for Short Answer Grading
Yordanova et al. Knowledge extraction from task narratives