KR20240102707A - 질의-답변 데이터의 확장 방법 및 그 장치 - Google Patents

질의-답변 데이터의 확장 방법 및 그 장치 Download PDF

Info

Publication number
KR20240102707A
KR20240102707A KR1020220185013A KR20220185013A KR20240102707A KR 20240102707 A KR20240102707 A KR 20240102707A KR 1020220185013 A KR1020220185013 A KR 1020220185013A KR 20220185013 A KR20220185013 A KR 20220185013A KR 20240102707 A KR20240102707 A KR 20240102707A
Authority
KR
South Korea
Prior art keywords
data
data set
question
dataset
answer
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020220185013A
Other languages
English (en)
Other versions
KR102935889B1 (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 KR1020220185013A priority Critical patent/KR102935889B1/ko
Publication of KR20240102707A publication Critical patent/KR20240102707A/ko
Application granted granted Critical
Publication of KR102935889B1 publication Critical patent/KR102935889B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0475Generative networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning

Landscapes

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

Abstract

본 발명의 일 실시예는, 제1 데이터셋 및 제2 데이터셋을 수신하는 단계; 상기 제2 데이터셋을 기준으로 학습된 딥러닝 모델에 상기 제1 데이터셋을 입력한 결과로서, 상기 제1 데이터셋에서 소정의 부분데이터를 추출하는 단계; 상기 추출된 부분데이터를 부분데이터별로 확장하여 확장된 제1 데이터셋을 구축하는 단계; 및 상기 확장된 제1 데이터셋을 상기 제2 데이터셋을 기준으로 학습된 딥러닝 모델에 입력하여, 상기 확장된 제1 데이터셋에서 상기 제2 데이터셋에 대한 학습데이터가 추출되도록 제어하는 단계를 포함하는, 질의-답변 데이터의 확장 방법을 개시한다.

Description

질의-답변 데이터의 확장 방법 및 그 장치 {Method for expanding question and answer and apparatus thereof}
본 발명은 데이터의 확장 방법에 관한 것으로서, 보다 구체적으로는, 질의 그에 대한 답변으로 이루어진 질의-답변 데이터를 폭넓게 확장할 수 있는 방법 및 그 방법을 구현하기 위한 장치에 관한 것이다.
머신러닝(machine learning)은 일련의 과정을 통해서 문제를 해결하기 위한 피처(특징)가 추출되면, 추출된 피처를 기반으로 학습하여 문제를 해결하는 방식의 알고리즘을 통칭한다. 머신러닝을 수행할 때, 피처를 추출하기 위해 자동화된 추출 모델을 사용할 수는 있으나, 신경망(neural network)기반의 딥러닝(deep learning)이 아닌 통상의 머신러닝이라면, 궁극적으로 피처를 추출하는 주체는 학습을 수행하는 머신러닝모델이 아니며, 피처를 정확하게 추출하기 위해서 해당 문제의 기술분야에 정통한 전문가(expert)에 의해 고안된 아이디어를 기준으로 할 수도 있다. 위와 같이, 전문가가 라벨링(labelling)하는 방식으로 추출한 피처는 핸드 크래프티드 피처(수제 특징)라고 호칭되며, 각 피처별 중요도가 가중치(weight)로 적용되어 머신 러닝의 학습효율을 대폭 향상시키는 효과가 있으나, 과도한 비용이 단점으로 지적된다.
한편, 딥러닝은 추출된 피처를 기반으로 학습하여 문제를 해결하는 알고리즘이라는 점에서 머신러닝의 범주에 포함되나, 학습을 수행하는 딥러닝모델이 학습과정에서 특징을 자체적으로 추출하고, 추출된 특징으로 학습까지 수행하는 고유한 동작특성을 갖고 있다. 딥러닝모델은 학습과정에서 학습데이터로 입력된 데이터를 바탕으로 각 신경망들의 가중치를 업데이트하는 과정을 반복하면서 내포되어 있는 손실함수(loss function)의 에러율(error rate)을 일정 미만의 값으로 낮추게 된다.
위와 같이, 딥러닝 모델에는 피처를 추출하는 피처 추출기(feature extractor)가 물리적 또는 논리적으로 포함되어 있으며, 피처 추출기는 딥러닝 모델이 입력된 학습데이터를 학습하고 피처를 추출하기 위해서 필수적인 요소가 된다.
다만, 딥러닝 모델에 입력되는 학습데이터에 문제해결대상에 대한 일반데이터뿐만 아니라 핸드 크래프티드 피처가 포함된 데이터가 포함되어 있을 경우, 딥러닝 모델은 일반데이터 및 핸드 크래프티드 피처가 포함된 데이터를 구분하여 학습할 뿐만 아니라, 학습이 완료된 이후에 추론(inference)과정에서도 핸드 크래프티드 피처에 대한 정보를 그대로 필요로 하는 문제점이 있어서, 학습이 완료된 딥러닝 모델에 특이한 신규 데이터가 입력되면, 딥러닝 모델의 피처 추출기의 성능저하가 발생되면서, 전체적인 모델 성능 저하를 유발하게 되는 한계가 있다.
위와 같은 성능 저하를 회피하기 위해서, 딥러닝 모델을 학습하는 과정에서는 핸드 크래프티드 피처를 포함하는 데이터를 제외하는 것이 일반적이지만, 딥러닝 모델에 의해서 해결되어야 하는 문제에 따라서, 핸드 크래프티드 피처를 포함하는 데이터가 학습데이터로 포함되어야만 하는 상황도 있으므로, 이러한 상황에서 딥러닝 모델의 성능 저하를 방지하기 위한 기술이 필요하다.
또한, 딥러닝 모델을 이용하면, 인간이 작성한 것과 유사한 느낌을 주는 텍스트를 창작할 수 있다. 수십~수백억개의 매개변수를 기초로 하여 동작하는 자연어 처리(NLP: Natural Language Processing) 시스템이 단순히 스크립트에 선언한 내용이나 구조에 따라 동작하던 기존의 시스템이 아닌 딥러닝 모델을 기반으로 구현되면, 각종 언어과 관련된 다양한 문제풀이, 글짓기 등이 가능해지므로, 이를 이용하여, 전문가에게 높은 비용을 지불하고 데이터 처리 및 가공을 하던 업무처리를 자동화하여 비용을 절감하려고 하는 다양한 시도가 늘어나고 있다.
대한민국 등록특허 제10-2436549호 (2022.08.25 공고)
본 발명이 해결하고자 하는 기술적 과제는, 질의-답변 데이터를 효과적으로 적은 비용으로 확장하기 방법 및 그 방법을 구현하기 위한 장치를 제공하는 데에 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 방법은, 제1 데이터셋 및 제2 데이터셋을 수신하는 단계; 상기 제2 데이터셋을 기준으로 학습된 딥러닝 모델에 상기 제1 데이터셋을 입력한 결과로서, 상기 제1 데이터셋에서 소정의 부분데이터를 추출하는 단계; 상기 추출된 부분데이터를 부분데이터별로 확장하여 확장된 제1 데이터셋을 구축하는 단계; 및 상기 확장된 제1 데이터셋을 상기 제2 데이터셋을 기준으로 학습된 딥러닝 모델에 입력하여, 상기 확장된 제1 데이터셋에서 상기 제2 데이터셋에 대한 학습데이터가 추출되도록 제어하는 단계를 포함한다.
상기 방법에 있어서, 상기 제1 데이터셋 및 상기 제2 데이터셋은 서로 다른 단말로부터 수신된 질의-답변 데이터이고, 상기 제2 데이터셋은, 특정 도메인의 질의-답변에 대한 데이터 및 상기 질의와 동일한 답변에 대응되는 확장질의에 대한 데이터를 포함할 수 있다.
상기 방법에 있어서, 상기 제2 데이터셋을 기준으로 학습된 딥러닝 모델은, GPT-3 모델일 수 있다.
상기 방법에 있어서, 상기 확장된 제1 데이터셋을 구축하는 단계는, 상기 부분데이터별로 패러프레이징(paraphrasing)하고, 패러프레이징된 결과에서 중복된 결과를 제거하여, 상기 확장된 제1 데이터셋을 구축할 수 있다.
상기 방법에 있어서, 상기 소정의 부분데이터를 추출하는 단계는, 상기 제1 데이터셋과 상기 제2 데이터셋에 대한 유사도(similarity)에 대한 스코어를 산출하고, 산출된 스코어를 기반으로 미리 정해진 개수의 부분데이터를 추출할 수 있다.
상기 방법에 있어서, 상기 학습데이터가 추출되도록 제어하는 단계는, 상기 확장된 제1데이터셋을 상기 제2 데이터셋에 포함되어 있는 대표질의데이터(main question data)를 기준으로 학습된 딥러닝 모델에 입력하여, 상기 학습데이터가 추출되도록 제어할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 일 실시예에 따른 장치는, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써, 연산을 수행하는 프로세서를 포함하고, 상기 프로세서는, 제1 데이터셋 및 제2 데이터셋을 수신하고, 상기 제2 데이터셋을 기준으로 학습된 딥러닝 모델에 상기 제1 데이터셋을 입력한 결과로서, 상기 제1 데이터셋에서 소정의 부분데이터를 추출하고, 상기 추출된 부분데이터를 부분데이터별로 확장하여 확장된 제1 데이터셋을 구축하고, 상기 확장된 제1 데이터셋을 상기 제2 데이터셋을 기준으로 학습된 딥러닝 모델에 입력하여, 상기 확장된 제1 데이터셋에서 상기 제2 데이터셋에 대한 학습데이터가 추출되도록 제어한다.
본 발명의 일 실시예는, 상기 방법을 실행시키기 위한 프로그램을 저장하고 있는 컴퓨터 판독가능한 기록매체를 제공할 수 있다.
본 발명에 따르면, 전문가에 높은 비용을 지불하지 않고도, 특정 도메인의 대표질문-답변에 대한 데이터를 생성할 수 있게 된다.
도 1은 본 발명에 따른 방법의 일 예를 개념적으로 설명한 개념도이다.
도 2는 도 1에서 설명한 방법을 이어서 설명하기 위한 개념도이다.
도 3은 본 발명에 따른 방법을 흐름도로 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 장치의 블록도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하의 실시 예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다.
이하의 실시 예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 실시 예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징을 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
어떤 실시 예가 달리 구현 가능한 경우에 특정한 공정 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 공정이 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다.
도 1은 본 발명에 따른 방법의 일 예를 개념적으로 설명한 개념도이다.
보다 구체적으로, 도 1은 본 발명에 따른, 질의-답변 데이터 확장 방법의 일부 프로세스를 설명하기 위한 개념도로서, 도 1에는, A데이터 셋(110), B데이터 셋(120) 및 제1 비교프로세스(130)가 각각 도시되어 있다. 이하에서, 사용자(또는, 작업자)는 도메인에 대한 전문적인 지식이 높지 않은 일반인을 의미하고, 전문가(또는, 도메인 전문가)는 사용자와 대비되는 개념으로서, 해당 도메인에 대한 전문적인 지식을 가진 사람을 의미하는 것으로 본다.
A데이터 셋(A data set, 110)은 다양한 방식으로 수집된 질의-답변 데이터를 의미한다. A데이터 셋(110)은 B데이터 셋(120)과 대응되는 개념으로서, 제1 비교프로세스(130) 과정에서 B데이터 셋(120)과 비교되는 데이터이다. A데이터 셋(110)은 복수의 부분데이터(partial data)를 포함할 수 있으며, 각 부분데이터는 질의-답변 데이터일 수 있다. 예를 들어, A데이터 셋(110)에 50개의 부분데이터가 포함되어 있다면, 제1 부분데이터는 제1 질의 및 제1 질의에 대한 답변으로 구성되어 있으며, 제50 부분데이터는 제50 질의 및 제50 질의에 대한 답변으로 구성될 수 있다.
A데이터 셋(110)은 적어도 한 명의 사용자를 통해서 다양한 방식으로 수집된 질의-답변 데이터일 수 있다. 예를 들어, 사용자가 인터넷을 통해서 영상을 시청하면서 브레인스토밍(brainstorming)을 수행하는 과정에서 도출된 다양한 질의 및 그 질의에 대한 답변이 A데이터 셋(110)에 포함될 수 있다. 이때, 사용자가 시청한 영상은 후술하는 도메인 전문가(domain expert)의 도메인에 대한 영상일 수 있으며, 일 예로, 전문가의 전문영역이 자율주행 차량의 안전한 주행에 관련된 영역이라면, 사용자가 시청한 영상은 자율주행 차량의 주행에 대한 영상일 수 있다.
다른 예로서, A데이터 셋(110)은 웹 페이지에서 크롤링(crawling)된 질의-답변 데이터일 수 있다. 예를 들어, 도메인이 전기차로 결정되었다면, A데이터 셋(110)은 전기차 사업을 영위하는 다수의 기업들의 홈페이지의 FAQ(Frequently Asked Questions)를 무작위로 크롤링하여, 질의-답변 순으로 정리한 데이터일 수 있다. 사용자가 사용하는 사용자 단말에는 웹 페이지에 대한 크롤링을 구현하는 크롤링 모듈이 물리적 또는 논리적으로 포함될 수 있으며, 크롤링이 완료되면, 크롤링 결과는 A데이터 셋(110)에 포함되어 본 발명에 따른 질의-답변 데이터 확장 장치에 전달될 수 있다.
위와 같은 방법으로 수집된 A데이터 셋(110)은 사용자가 사용하는 사용자단말로부터 수집되어 본 발명에 따른 장치에 유/무선 통신을 통해서 전달될 수 있다.
B데이터 셋(B data set, 120)은 도메인 전문가가 사전에 정의한 대표질문-답변에 대한 데이터 및 그 데이터를 사용자(작업자)가 수동으로 확장시킨 데이터를 포함할 수 있다. 여기서, 대표질문-답변에 대한 데이터는 도메인 전문가가 특정 도메인에서 가장 높은 빈도로 언급될 가능성이 있거나, 도메인 전문가의 전문적 지식을 통해서만 정확하게 답변을 할 수 있는 질문을 대표질문으로 설정하고, 그 대표질문에 대한 정확한 답변을 대표질문에 매칭시켜놓은 데이터를 의미한다.
예를 들어, "특정회사의 특정모델의 자율주행 차량의 연료 필터의 점검주기는 얼마인가?"라는 대표질문이 있다면, 그 대표질문에 대응되는 답변으로 "48개월 또는 3만 킬로미터가 경과한 시점"이 매칭되어 저장될 수 있다.
또한, 도메인 전문가처럼 해당 도메인에 대한 전문적인 지식이 없더라도 사용자는 통상적인 범주 내에서 대표질문을 다양하게 변형시킬 수 있는데, 이 변형의 결과물이 대표질문에 대한 확장질문이 될 수 있다. 이때, 확장되는 대상은 대표질문이며, 대표질문에 대한 답변은 아니므로, B데이터 셋(120)에서 질문(질의)과 답변 데이터의 비율은 1:n(n은 1보다 큰 정수)이 될 수 있다.
위와 같이, B데이터 셋(120)은 도메인 전문가가 사용하는 단말 및 사용자(작업자)들의 단말로부터 수집되어 완성될 수 있으며, 후술하는 딥러닝 모델을 학습시키기 위한 학습데이터로 활용될 수 있다.
A데이터 셋(110) 및 B데이터 셋(120)은 실시예에 따라서, 제1 데이터 셋(110) 및 제2 데이터 셋(120)으로 별칭될 수 있다.
제1 비교프로세스(130)는 A데이터 셋(110)과 B데이터 셋(120)을 비교한 프로세스를 의미한다. A데이터 셋(110) 및 B데이터 셋(120)이 생성되는 장치는 사용자가 사용하는 사용자단말 또는 전문가가 사용하는 전문가단말이나, 제1 비교프로세스(130)는 본 발명에 따른 질의-답변 데이터 확장 장치에 의해서 실행될 수 있다.
먼저, 신경망(neural network)을 기반으로 구축된 딥러닝 모델은 B데이터 셋(120)에 의해서 1차적으로 학습된 상태에서, A데이터 셋(110)을 입력데이터로 받아들여서, 추론 결과를 출력할 수 있다. B데이터 셋(120)을 기준으로 학습된 딥러닝 모델에 A데이터 셋(110)이 입력되면, A데이터 셋(110)에서 소정의 부분데이터(partial data)가 추출될 수 있다. B데이터 셋(120)에 의해 학습이 완료된 딥러닝 모델은 B데이터 셋(120)의 분포와 유사도(similarity)에 따라서 스코어를 산출하고, 그 산출된 스코어를 기준으로 A데이터 셋(110)에 포함되어 있는 부분데이터들을 순차적으로 정렬시킬 수 있다. 이어서, 딥러닝 모델은 A데이터 셋(110)에 포함되어 있는 부분데이터에서, 스코어가 높은 상위 k개의 부분데이터를 추출하여 새로운 식별정보(ID)를 부여하고, 타깃 클래스(target class)를 확장시킬 수 있다.
선택적 일 실시예로서, 본 발명에서, 1차 비교프로세스(130)를 수행하는 딥러닝 모델은 불확실성점수함수(uncertainty score function)을 손실함수(loss function)로 하여 동작하는 딥러닝 모델인 GPT-3(Generative Pre-trained Transformer-3) 모델일 수 있다. GPT-3 모델은 약 1,750억개의 매개변수를 기반으로 하여, A데이터 셋(110) 및 B데이터 셋(120)에 대한 자연어 처리를 수행할 수 있으며, 특히, 내장된 API중에서 Q&A를 포함하고 있어서, 질의-답변으로 매칭되어 있는 데이터인 A데이터 셋(110) 및 B데이터 셋(120)의 비교를 정확하게 수행할 수 있다. 또한, GPT-3 모델은 사전에 정의되어 있는 다양한 API외에도 커스터마이징 API를 더 포함하고 있어서, 특정한 문장이 주어졌을 때, 그 문장 다음에 나올 가장 적절한 문장을 추론하는 프로세스를 구현하기 위해 최적화된 모델로 동작할 수 있다.
도 2는 도 1에서 설명한 방법을 이어서 설명하기 위한 개념도이다.
도 2에는 제1 비교프로세스(130), 데이터 셋 갱신 프로세스(140), 데이터 셋 확장 프로세스(150), 제2 비교프로세스(160) 및 데이터 셋 정리프로세스(170)가 각각 개념적으로 도시되어 있는 것을 알 수 있다. 도 2에 도시된 각각의 프로세스는 사람의 개입없이 자동으로 이루어지며, 구체적으로, 본 발명에 따른 질의-답변 데이터 확장 장치에 의해 수행될 수 있다. 이하에서는, 도 1을 참조하여 설명하기로 한다.
제1 비교프로세스(130)가 완료되면, 제1 비교프로세스(130)를 통해서, B데이터 셋(120)에 포함되어 있는 대표질문, 대표질문에 대한 답변, 대표질문에 대한 확장질문 데이터와 일정 이상 유사한 질의-답변 데이터는 A데이터 셋(110)에서 추출되어 신규 식별정보를 부여받는 데이터 셋 갱신 프로세스(140)가 수행될 수 있다.
예를 들어, 도 1에서, A데이터 셋(110)이 5000개의 부분데이터를 포함하고, B데이터 셋(120)이 100개의 부분데이터를 포함하고 있는 상태에서, 제1 비교프로세스(130)에서 A데이터 셋(120)의 부분데이터 중 400개의 부분데이터가 추출되었다면, 추출된 400개의 데이터는 갱신된 A데이터 셋(미도시)으로 취급될 수 있다. 전술한 것처럼, 갱신된 A데이터 셋(미도시)에 포함된 400개의 데이터는 질의와 답변이 일대일로 대응되어 있는 질의-답변 데이터이다.
데이터 셋 확장 프로세스(150)는, 데이터 셋 갱신 프로세스(140)에서 갱신된 A데이터 셋(미도시)을 확장하여 확장 질문을 자동으로 증축하는 프로세스를 의미한다. 구체적으로, 인공지능 모델 중에서 T5모델은 text-to-text 프레임워크를 갖고 있어서, 갱신된 A데이터 셋을 효과적으로 패러프레이징(paraphrasing)할 수 있다. 예를 들어, 갱신된 A데이터 셋에 포함된 부분데이터가 400개이고, T5모델의 내부에 설정된 패러프레이징 설정값이 100개라면, 부분데이터별로 100개씩 패러프레이징된 문장이 생성될 수 있다. 패러프레이징된 부분데이터를 포함하는 갱신된 A데이터 셋은 확장된 A데이터 셋(expanded A data set)으로 호칭될 수 있고, 상술한 실시예에 따르면, 확장된 A데이터 셋에는 총 40400개의 부분데이터가 포함될 수 있다.
일 실시예로서, 데이터 셋 확장 프로세스(150)에서는 패러프레이징된 결과에서 중복된 결과를 추가적으로 제거하는 프로세스가 수행될 수도 있다. 이 경우, 확장된 A데이터 셋에는 40400개보다 더 적은 수의 부분데이터가 포함될 수 있다.
선택적 일 실시예로서, 데이터 셋 확장 프로세스(150)에서 사용되는 인공지능 모델은 generative model로서, 도 1의 B데이터 셋(120)으로 파인튜닝(fine-tuning)된 모델일 수 있다. 또한, 할루시네이션(hallucination)을 방지하기 위해서, 개체명 인식(NER: Named-Entity Recognition) 및 의미역 결정(SRL: Semantic Role Labelling)프로세스가 패러프레이징을 수행하기에 앞서 선행될 수 있다. 그 외에도, 다양한 표현의 문장이 생성되도록 블루노이즈 샘플링(Blue noise sampling)이 적용될 수 있다.
이어서, 제2 비교프로세스(160)에서는 확장된 A데이터 셋에 대해서 다시 한번 리랭킹(reranking)이 적용될 수 있다. 구체적으로, 본 발명에 따른 질의-답변 데이터 확장 장치는, B 데이터 셋(120)에 포함되어 있는 대표질문(대표질의) 데이터를 기준으로 학습된 딥러닝 모델에 확장된 A데이터 셋을 입력하여, B 데이터 셋(120)에 대한 학습데이터가 추출되도록 제어할 수 있다.
제2 비교프로세스(160)에서 사용되는 딥러닝 모델은 제1 비교프로세스(130)에서 사용되었던 학습된 GPT-3모델일 수도 있으나, 다른 유형의 딥러닝 모델일 수도 있다. 제2 비교프로세스(160)에서 딥러닝 모델은 B데이터 셋(120)의 대표질문-답변을 확장된 A데이터 셋의 질의 데이터(부분데이터들에 정의되어 있는 질의데이터를 의미)와 비교하고, 각 질의 데이터별로 스코어를 산출할 수 있다. 이때, 스코어를 산출하기 위한 일 방법으로서, 유사도 함수(similarity function)가 사용될 수 있고, 질의 데이터들이 스코어가 높은 순서로 정렬되었을 때, 상위 m개의 질의 데이터가 최종적인 학습데이터로 추출될 수 있다. 예를 들어, 제2 비교프로세스(160)에 대한 결과로서, 40400개의 확장된 A데이터 셋에서 500개의 학습데이터가 추출될 수 있다.
데이터 셋 정리프로세스(170)에서는, 제2 비교프로세스(160)를 통해 추출된 대표질문-답변에 대한 학습데이터를 B데이터 셋(120)의 대표질문-답변 데이터에 통합하는 프로세스가 수행될 수 있다. 위와 같은 프로세스를 통해서 획득된 B데이터 셋(120) 및 B데이터 셋(120)의 학습데이터는 해당 도메인에 대한 FAQ를 생성하거나, 인공지능형 챗봇(chatbot)을 설계하는 데에 효과적으로 활용될 수 있다.
표 1은 도 1 및 도 2를 통해 설명한 본 발명에 따른 방법과 종래 기술을 비교한 결과를 표로 나타낸 것이다. 표 1에서 A는 A데이터 셋, B는 B데이터 셋을 각각 의미하는 것으로 간주하고, A', A", A"'는 본 발명에 따른 방법이 수행되는 과정에서 생성되는 중간 데이터 셋을 상징적으로 나타낸 것으로 간주한다.
종래기술에 따르면, 도메인 전문가는 도메인에 대한 대표질문-답변 데이터인 B를 구축한 후에, 대표질문-답변 데이터에 대한 학습 데이터의 데이터 셋인 B'를 직접 설계해야 했으며, 시간과 비용이 많이 소요되는 문제점이 있었다.
한편, 본 발명에 따르면, 도메인 전문가가 도메인에 대한 대표질문-답변 데이터 B만 구축해놓으면, 전문가가 아닌 사용자들을 통해서 A데이터 셋을 별도로 구축하고, B데이터 셋을 기초로 하여 구축된 A데이터 셋을 A', A", A"'으로 점차 확장시킴으로써, 대표질문-답변 데이터 B의 학습데이터인 B'에 준하는 학습데이터 A"'를 획득할 수 있게 된다.
즉, 본 발명은, 대표질문-답변 데이터의 학습 데이터의 설계를 자동화하고 최적화하는 발명으로서, 본 발명에 따르면, 질의-답변 형태의 대표데이터에 대한 학습데이터를 구축하는 데에 소요되는 시간과 비용을 대폭 절감할 수 있다. 또한, 본 발명에 따르면, 도메인이 설정되었을 때, 그 도메인에 대한 신규한 질의-답변 데이터를 현실적인 상황에서 수집할 수 있게 되고, 도메인 전문가가 새로운 질의-답변 쌍(pair)을 구축해야 하는 어려움을 근본적으로 해소시킬 수 있으며, 전문가가 아닌 다수의 사용자들을 통해서 현실적이고 구어체로 쓰여진 문장들이 기초 데이터(A데이터 셋을 의미)로 확보되어, 전문가가 직접 학습데이터를 설계한 결과보다 더 다양성이 보장된 학습데이터가 획득될 수 있다.
도 3은 본 발명에 따른 방법을 흐름도로 나타낸 도면이다.
도 3에 따른 방법은 도 1 및 도 2에서 설명한 질의-답변 데이터 확장 장치에 의해 구현될 수 있으므로, 이하에서는, 도 1 및 도 2를 참조하여 설명하기로 하고, 이미 설명된 내용과 중복된 설명은 생략하기로 한다.
본 발명에 따른 장치는 제1 데이터셋 및 제2 데이터셋을 수신할 수 있다(S310).
본 발명에 따른 장치는 제2 데이터셋을 기준으로 학습된 딥러닝 모델에 상기 제1 데이터셋을 입력한 결과로서, 제1 데이터셋에서 소정의 부분데이터를 추출할 수 있다(S330).
본 발명에 따른 장치는 추출된 부분데이터를 부분데이터별로 확장하여 확장된 제1 데이터셋을 구축할 수 있다(S350).
본 발명에 따른 장치는, 확장된 제1 데이터셋을 제2 데이터셋을 기준으로 학습된 딥러닝 모델에 입력하여, 확장된 제1 데이터셋에서 제2 데이터셋에 대한 학습데이터가 추출되도록 제어할 수 있다(S370).
도 4는 본 발명의 일 실시예에 따른 장치의 블록도이다.
도 4를 참조하면, 본 발명에 따른 장치(400)는 통신부(410), 프로세서(420) 및 DB(430)를 포함할 수 있다. 도 4의 본 발명에 따른 장치(400)에는 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 4에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
통신부(410)는 외부 서버 또는 외부 장치와 유선/무선 통신을 하게 하는 하나 이상의 구성 요소를 포함할 수 있다. 예를 들어, 통신부(410)는, 근거리 통신부(미도시), 이동 통신부(미도시) 및 방송 수신부(미도시) 중 적어도 하나를 포함할 수 있다. 통신부(410)는 제1 데이터 셋 및 제2 데이터 셋을 외부 장치로부터 수신할 수 있다.
DB(430)는 본 발명에 따른 장치(400)내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 프로세서(420)의 처리 및 제어를 위한 프로그램을 저장할 수 있다.
DB(430)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.
프로세서(420)는 본 발명에 따른 장치(400)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(420)는 DB(430)에 저장된 프로그램들을 실행함으로써, 입력부(미도시), 디스플레이(미도시), 통신부(410), DB(430) 등을 전반적으로 제어할 수 있다. 프로세서(420)는, DB(430)에 저장된 프로그램들을 실행함으로써, 본 발명에 따른 장치(400)의 동작을 제어할 수 있다.
프로세서(420)는 도 1 내지 도 3에서 상술한 장치의 동작 중 적어도 일부를 제어할 수 있다.
일 예로서, 프로세서(420)는 제1 데이터셋 및 제2 데이터셋을 수신하고, 제2 데이터셋을 기준으로 학습된 딥러닝 모델에 제1 데이터셋을 입력한 결과로서, 상기 제1 데이터셋에서 소정의 부분데이터를 추출하고, 추출된 부분데이터를 부분데이터별로 확장하여 확장된 제1 데이터셋을 구축하고, 확장된 제1 데이터셋을 제2 데이터셋을 기준으로 학습된 딥러닝 모델에 입력하여, 확장된 제1 데이터셋에서 제2 데이터셋에 대한 학습데이터가 추출되도록 제어할 수 있다.
프로세서(420)는 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 “상기”의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.

Claims (8)

  1. 제1 데이터셋 및 제2 데이터셋을 수신하는 단계;
    상기 제2 데이터셋을 기준으로 학습된 딥러닝 모델에 상기 제1 데이터셋을 입력한 결과로서, 상기 제1 데이터셋에서 소정의 부분데이터를 추출하는 단계;
    상기 추출된 부분데이터를 부분데이터별로 확장하여 확장된 제1 데이터셋을 구축하는 단계; 및
    상기 확장된 제1 데이터셋을 상기 제2 데이터셋을 기준으로 학습된 딥러닝 모델에 입력하여, 상기 확장된 제1 데이터셋에서 상기 제2 데이터셋에 대한 학습데이터가 추출되도록 제어하는 단계를 포함하는, 질의-답변 데이터의 확장 방법.
  2. 제1항에 있어서,
    상기 제1 데이터셋 및 상기 제2 데이터셋은 서로 다른 단말로부터 수신된 질의-답변 데이터이고,
    상기 제2 데이터셋은,
    특정 도메인의 질의-답변에 대한 데이터 및 상기 질의와 동일한 답변에 대응되는 확장질의에 대한 데이터를 포함하는, 질의-답변 데이터의 확장 방법.
  3. 제1항에 있어서,
    상기 제2 데이터셋을 기준으로 학습된 딥러닝 모델은, GPT-3 모델인, 질의-답변 데이터의 확장 방법.
  4. 제1항에 있어서,
    상기 확장된 제1 데이터셋을 구축하는 단계는,
    상기 부분데이터별로 패러프레이징(paraphrasing)하고, 패러프레이징된 결과에서 중복된 결과를 제거하여, 상기 확장된 제1 데이터셋을 구축하는, 질의-답변 데이터의 확장 방법.
  5. 제1항에 있어서,
    상기 소정의 부분데이터를 추출하는 단계는,
    상기 제1 데이터셋과 상기 제2 데이터셋에 대한 유사도(similarity)에 대한 스코어를 산출하고, 산출된 스코어를 기반으로 미리 정해진 개수의 부분데이터를 추출하는, 질의-답변 데이터의 확장 방법.
  6. 제1항에 있어서,
    상기 학습데이터가 추출되도록 제어하는 단계는,
    상기 확장된 제1데이터셋을 상기 제2 데이터셋에 포함되어 있는 대표질의데이터(main question data)를 기준으로 학습된 딥러닝 모델에 입력하여, 상기 학습데이터가 추출되도록 제어하는, 질의-답변 데이터의 확장 방법.
  7. 제1항에 따른 방법을 실행시키기 위한 프로그램을 저장하고 있는 컴퓨터 판독가능한 기록매체.
  8. 적어도 하나의 프로그램이 저장된 메모리; 및
    상기 적어도 하나의 프로그램을 실행함으로써, 연산을 수행하는 프로세서를 포함하고,
    상기 프로세서는,
    제1 데이터셋 및 제2 데이터셋을 수신하고,
    상기 제2 데이터셋을 기준으로 학습된 딥러닝 모델에 상기 제1 데이터셋을 입력한 결과로서, 상기 제1 데이터셋에서 소정의 부분데이터를 추출하고,
    상기 추출된 부분데이터를 부분데이터별로 확장하여 확장된 제1 데이터셋을 구축하고,
    상기 확장된 제1 데이터셋을 상기 제2 데이터셋을 기준으로 학습된 딥러닝 모델에 입력하여, 상기 확장된 제1 데이터셋에서 상기 제2 데이터셋에 대한 학습데이터가 추출되도록 제어하는, 질의-답변 데이터의 확장 장치.
KR1020220185013A 2022-12-26 2022-12-26 질의-답변 데이터의 확장 방법 및 그 장치 Active KR102935889B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220185013A KR102935889B1 (ko) 2022-12-26 2022-12-26 질의-답변 데이터의 확장 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220185013A KR102935889B1 (ko) 2022-12-26 2022-12-26 질의-답변 데이터의 확장 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20240102707A true KR20240102707A (ko) 2024-07-03
KR102935889B1 KR102935889B1 (ko) 2026-03-09

Family

ID=91900265

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220185013A Active KR102935889B1 (ko) 2022-12-26 2022-12-26 질의-답변 데이터의 확장 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102935889B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102436549B1 (ko) 2022-07-20 2022-08-25 (주) 유비커스 딥러닝을 이용한 자연어처리 기반의 faq 및 챗봇을 위한 학습데이터를 자동으로 생성하기 위한 방법 및 이를 위한 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102436549B1 (ko) 2022-07-20 2022-08-25 (주) 유비커스 딥러닝을 이용한 자연어처리 기반의 faq 및 챗봇을 위한 학습데이터를 자동으로 생성하기 위한 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
KR102935889B1 (ko) 2026-03-09

Similar Documents

Publication Publication Date Title
US11687811B2 (en) Predicting user question in question and answer system
CN108021983A (zh) 神经架构搜索
EP4030355A1 (en) Neural reasoning path retrieval for multi-hop text comprehension
US12282744B2 (en) Statistical language models for simulating communication sessions
CN114254127A (zh) 学生能力画像方法、学习资源推荐方法及装置
CN111563192A (zh) 实体对齐方法、装置、电子设备及存储介质
CN117808946B (zh) 基于大语言模型的二次元角色构建方法及系统
US20190130251A1 (en) Neural question answering system
CN116894080A (zh) 模型训练方法、问题应答方法、装置、设备及介质
US20230013796A1 (en) Method and apparatus for acquiring pre-trained model, electronic device and storage medium
US11501654B2 (en) Automated decision making for selecting scaffolds after a partially correct answer in conversational intelligent tutor systems (ITS)
CN112528045B (zh) 基于开放百科图谱的领域图谱关系的判定方法及系统
CN117371428B (zh) 基于大语言模型的文本处理方法与装置
CN118332084A (zh) 一种基于问答模型的回复信息搜索、问答模型的训练方法、装置、电子设备及存储介质
CN116739003A (zh) 电网管理智能问答实现方法、装置、电子设备及存储介质
CN119782768B (zh) 问题提示词生成方法、系统及电子设备
CN119631077A (zh) 利用受约束样例的对抗性语言模仿
CN115049899A (zh) 模型训练方法、指代表达式生成方法及相关设备
KR102935889B1 (ko) 질의-답변 데이터의 확장 방법 및 그 장치
US20240086768A1 (en) Learning device, inference device, non-transitory computer-readable medium, learning method, and inference method
Mirakyan et al. Natural language inference over interaction space: ICLR 2018 reproducibility report
Paiva et al. A systematic approach for providing personalized pedagogical recommendations based on educational data mining
CN120821823A (zh) 一种基于语言模型的任务处理方法、装置
CN114357183B (zh) 实体关系抽取方法、装置、设备、介质及程序产品
US20230186155A1 (en) Machine learning method and information processing device

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

R18 Changes to party contact information recorded

Free format text: ST27 STATUS EVENT CODE: A-3-3-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

D22 Grant of ip right intended

Free format text: ST27 STATUS EVENT CODE: A-1-2-D10-D22-EXM-PE0701 (AS PROVIDED BY THE NATIONAL OFFICE)

PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

F11 Ip right granted following substantive examination

Free format text: ST27 STATUS EVENT CODE: A-2-4-F10-F11-EXM-PR0701 (AS PROVIDED BY THE NATIONAL OFFICE)

PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

U11 Full renewal or maintenance fee paid

Free format text: ST27 STATUS EVENT CODE: A-2-2-U10-U11-OTH-PR1002 (AS PROVIDED BY THE NATIONAL OFFICE)

Year of fee payment: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

Q13 Ip right document published

Free format text: ST27 STATUS EVENT CODE: A-4-4-Q10-Q13-NAP-PG1601 (AS PROVIDED BY THE NATIONAL OFFICE)