KR102231365B1 - 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법, 서버, 및 기록매체 - Google Patents

특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법, 서버, 및 기록매체 Download PDF

Info

Publication number
KR102231365B1
KR102231365B1 KR1020190149493A KR20190149493A KR102231365B1 KR 102231365 B1 KR102231365 B1 KR 102231365B1 KR 1020190149493 A KR1020190149493 A KR 1020190149493A KR 20190149493 A KR20190149493 A KR 20190149493A KR 102231365 B1 KR102231365 B1 KR 102231365B1
Authority
KR
South Korea
Prior art keywords
query
learning
data
machine reading
model
Prior art date
Application number
KR1020190149493A
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 KR1020190149493A priority Critical patent/KR102231365B1/ko
Application granted granted Critical
Publication of KR102231365B1 publication Critical patent/KR102231365B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3337Translation of the query language, e.g. Chinese to English
    • 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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법이 제공되며, 적어도 하나의 학습 데이터 및 특허분야 말뭉치(Corpus)를 사전학습, 최적화, 및 미세조정을 통하여 기계독해 모델(Machine Reading Comprehension Technology)을 모델링하는 단계, 사용자 단말로부터 질의를 입력받는 단계, 입력된 질의에 대한 해석정보를 포함하는 문단을 탐색하는 단계, 기계독해 모델에, 탐색된 문단 및 질의를 입력 데이터로 입력하여, 해석정보를 포함한 문단에서 정답의 위치를 추론하는 단계, 및 입력 데이터에 대한 추론 결과를 출력 데이터로 사용자 단말로 전송하는 단계를 포함한다.

Description

특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법, 서버, 및 기록매체{METHOD, SERVER, AND MEDIUM FOR PROVIDING QUESTION ANSWERING SERVICE FOR PATENT AREA BASED ON MACHINE READING COMPREHENSION TECHNOLOGY}
본 발명은 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법에 관한 것으로, 한국어로 전문분야를 상담하기 위한 정교화 및 최적화된 기계독해 모델을 제공한다.
기계독해(Machine Reading Comprehension)는 기계가 문서를 읽고 이해하는 능력을 질문을 통해 학습하고 새로운 질문이 주어졌을 때 문서 내에 존재하는 적절한 응답을 이해를 바탕으로 추론하여 출력하는 방법이다. 최근 자연어처리 분야에서 공개된 기술로 사전학습(Pre-training)된 언어모델인 BERT(Pre-training of deep Bidirectional Transformers for Language Understanding)을 이용하여 많은 발전을 이루었고, 영어와 달리 굴절어인 한국어의 말뭉치를 이용하여 BERT만으로는 부족한 정보를 추가적인 모델을 결합함으로써 질의응답분야에서 최고의 성능을 보여주고 있다.
이때, 한국어 기반 기계독해의 성능을 높이기 위한 방법이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 한국등록특허 제10-1986345호(2019년06월10일 공고) 및 한국공개특허 제2019-0056184호(2019년05월24일 공개)에는, 텍스트를 메타 문장으로 변환하여 문장 데이터 셋을 생성하고, 메타 문장을 기계독해를 수행하는구성과, 학습 대상 본문과 관련된 질문 및 정답 세트를 수신하고, 본문 내 질문과 관련된 문장의 위치와 정답과 관련된 문장의 위치를 특정하며, 두 문장의 위치 차가 기 설정된 값 이상인지의 여부를 기초로 하여, 질문 및 정답 세트의 유효성을 검증하는 방법이 각각 개시되어 있다.
다만, 상술한 방법을 이용한다고 할지라도 전문분야의 질의응답은, 질의를 처리하는 과정의 알고리즘이나 모델링 방법을 변형한다고 하여 해결되는 문제가 아니다. 즉, 아무리 좋은 기계가 존재한다고 할지라도 이를 구동하는 컨트롤러나 인프라의 구축이 제대로 되어 있지 않거나 소스에서부터 오류가 발생하는 경우, 기계는 제 성능을 내기 어렵다. 마찬가지로, BERT 모델을 이용한다고 할지라도 한국어, 특히 한국어로 질의응답을 해야 하는 전문상담분야에 적용하기 위해서는, 전문분야에 적응적으로 정교화 및 최적화하는 작업이 요구된다. 이에, 전문분야에 특화된 최적화 방법의 연구 및 개발이 필요하다.
본 발명의 일 실시예는, 질의응답을 수집하여 전처리를 수행하고, 사전학습을 위한 문맥질의응답 데이터 셋을 구축하여 구조화하며, 전문분야에 특화된 말뭉치를 함께 학습시키되, 최적화 파라미터로 질의에 대응하는 응답이 정답과 다른 불일치율에 기반하여 재토큰화를 진행하고, 재토큰화된 학습 데이터를 형태소 분석, 옵티마이저, 및 하이퍼 파라미터를 이용하여 미세조정과정까지 거침으로써 기계독해 모델을 모델링 및 생성하며, 무수히 많은 유형의 질의에 유연하게 대응할 수 있는 질의응답 플랫폼을 제공할 수 있는, 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 적어도 하나의 학습 데이터 및 특허분야 말뭉치(Corpus)를 사전학습, 최적화, 및 미세조정을 통하여 기계독해 모델(Machine Reading Comprehension Technology)을 모델링하는 단계, 사용자 단말로부터 질의를 입력받는 단계, 입력된 질의에 대한 해석정보를 포함하는 문단을 탐색하는 단계, 기계독해 모델에, 탐색된 문단 및 질의를 입력 데이터로 입력하여, 해석정보를 포함한 문단에서 정답의 위치를 추론하는 단계, 및 입력 데이터에 대한 추론 결과를 출력 데이터로 사용자 단말로 전송하는 단계를 포함한다.
본 발명의 다른 실시예는, 적어도 하나의 학습 데이터 및 특허분야 말뭉치(Corpus)를 사전학습, 최적화, 및 미세조정을 통하여 기계독해 모델(Machine Reading Comprehension Technology)을 모델링하는 모델링부, 사용자 단말로부터 질의를 입력받는 입력부, 입력된 질의에 대한 해석정보를 포함하는 문단을 탐색하는 문단 탐색부, 기계독해 모델에, 탐색된 문단 및 질의를 입력 데이터로 입력하여, 해석정보를 포함한 문단에서 정답의 위치를 추론하는 MRC 모델부, 및 입력 데이터에 대한 추론 결과를 출력 데이터로 사용자 단말로 전송하는 출력부를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 질의응답을 수집하여 전처리를 수행하고, 사전학습을 위한 문맥질의응답 데이터 셋을 구축하여 구조화하며, 전문분야에 특화된 말뭉치를 함께 학습시키되, 최적화 파라미터로 질의에 대응하는 응답이 정답과 다른 불일치율에 기반하여 재토큰화를 진행하고, 재토큰화된 학습 데이터를 형태소 분석, 옵티마이저, 및 하이퍼 파라미터를 이용하여 미세조정과정까지 거침으로써 기계독해 모델을 모델링 및 생성하며, 무수히 많은 유형의 질의에 유연하게 대응할 수 있는 질의응답 플랫폼을 제공함으로써, 자연어로 전문분야까지 상담이 가능한 서비스를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 질의응답 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 특허분야를 위한 기계독해기술 기반 질의응답 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1개의 유닛이 2개 이상의 하드웨어를 이용하여 실현되어도 되고, 2개 이상의 유닛이 1개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 특허분야 최적화를 위한 기계독해기술 기반 질의응답 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 시스템(1)은, 적어도 하나의 사용자 단말(100), 질의응답 서비스 제공 서버(300), 및 적어도 하나의 정보제공 서버(400)를 포함할 수 있다. 다만, 이러한 도 1의 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.
이때, 도 1의 각 구성요소들은 일반적으로 네트워크(network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 사용자 단말(100)은 네트워크(200)를 통하여 질의응답 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 질의응답 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100), 적어도 하나의 정보제공 서버(400)와 연결될 수 있다. 또한, 적어도 하나의 정보제공 서버(400)는, 네트워크(200)를 통하여 질의응답 서비스 제공 서버(300)와 연결될 수 있다.
여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 RF, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5GPP(5th Generation Partnership Project) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, NFC 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.
적어도 하나의 사용자 단말(100)은, 특허분야를 위한 기계독해기술 기반 질의응답 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 특허분야의 질의를 입력하고 응답을 수신하는 단말일 수 있다. 이때, 특허분야라고 지칭했지만, 기타 전문분야를 포함하는 개념으로 정의한다.
여기서, 적어도 하나의 사용자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트 패드(smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
질의응답 서비스 제공 서버(300)는, 특허분야를 위한 기계독해기술 기반 질의응답 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 질의응답 서비스 제공 서버(300)는, 사용자 단말(100)로부터 질의가 입력되는 경우, 질의에 대한 해석정보를 포함하는 문단을 탐색하고, 탐색된 문단에서 정답의 위치를 추론하며, 추론 결과를 출력 데이터로 전송하는 서버일 수 있다. 이를 위하여, 질의응답 서비스 제공 서버(300)는, 적어도 하나의 학습 데이터 및 특허분야 말뭉치(Corpus)를 사전학습, 최적화, 및 미세조정을 통하여 기계독해 모델(Machine Reading Comprehension Technology)을 모델링하는 서버일 수 있다.
여기서, 질의응답 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
적어도 하나의 정보제공 서버(400)는, 특허분야를 위한 기계독해기술 기반 질의응답 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하거나 이용하지 않고 특허분야의 질의응답 데이터를 질의응답 서비스 제공 서버(300)로 전송하는 서버일 수 있다.
여기서, 적어도 하나의 정보제공 서버(400)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 정보제공 서버(400)는, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 정보제공 서버(400)는, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트 패드(smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
도 2는 도 1의 시스템에 포함된 질의응답 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3 및 도 4는 본 발명의 일 실시예에 따른 특허분야를 위한 기계독해기술 기반 질의응답 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 2를 참조하면, 질의응답 서비스 제공 서버(300)는, 모델링부(310), 입력부(320), 문단탐색부(330), MRC(Machine Reading Comprehension) 모델부(340), 출력부(350), 및 저장부(360)를 포함할 수 있다.
본 발명의 일 실시예에 따른 질의응답 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100), 및 적어도 하나의 정보제공 서버(400)로 특허분야를 위한 기계독해기술 기반 질의응답 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100), 및 적어도 하나의 정보제공 서버(400)는, 특허분야를 위한 기계독해기술 기반 질의응답 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 사용자 단말(100), 및 적어도 하나의 정보제공 서버(400)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: world wide web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(hyper text mark-up language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(app)을 포함한다.
도 2를 참조하면, 모델링부(310)는, 적어도 하나의 학습 데이터 및 특허분야 말뭉치(Corpus)를 사전학습, 최적화, 및 미세조정을 통하여 기계독해 모델(Machine Reading Comprehension Technology)을 모델링할 수 있다. 모델링부(310)는, 사용자의 질의가 입력되면 정확도 높은 응답을 생성하기 위하여 기 누적된 질의응답 데이터를 이용함으로써 학습을 진행하고, MRC 모델을 모델링할 수 있다. 이때, 모델링부(310)는, 크게 세 가지의 단계를 거쳐 모델링을 수행하게 되는데, 첫 번째는, 사전학습 단계, 두 번째는 최적화 단계, 세 번째는 미세조정 단계이다. 모델링부(310)의 모델링을 수행하기 이전에 질의응답 데이터를 수집하고 전처리하는 과정도 포함되어야 하는데, 이는 이하의 저장부(360)를 통하여 후술한다.
첫 번째 사전학습 단계에서, 모델링부(310)는 적어도 하나의 특허분야 말뭉치에 사전학습(Pre-traning)을 실시할 수 있다. 이때, 사전학습은 BERT를 기반으로 하는데, 다른 플랫폼을 기반으로 하는 것을 배제하는 것은 아니다. BERT는, 언어 모델을 학습하는 딥러닝 모델이며, 양방향성을 가진 트랜스포머(transformer)의 인코더를 이용하는데, 입력 텍스트 중 임의의 토큰에 마스크를 씌우는 마스킹 작업을 수행하고, 주변 문맥을 파악하여 마스킹된 단어를 출력하는 것으로 언어 모델을 학습한다. 사전 학습된 BERT를 다른 자연어 처리 태스크에 사용하는 경우에는 BERT 모델에 해당 태스크를 위한 출력층을 추가하여 미세조정(Fine-Tuning)을 하게 된다. BERT는 입력된 두 문장의 관계를 학습하기 위하여 연결된 두 문장이 실제 쌍인지를 판별하는 다음 문장 예측 방법도 함께 적용할 수 있다. BERT의 학습 데이터는, 주어진 입력열(Input Sequence)의 첫 번째 토큰으로 [CLS]가 주어지며, 두 입력열의 마지막 위치에는 [SEP]가 주어진다.
입력열은 형태소 분석 후에 BPE(Byte Pair Encoding)를 적용하여 토큰 단위로 나누고, 이에 기반하여 단어 표현(Word Embedding)과 포지션 임베딩(Position Embedding), 분할 임베딩(Segment Embedding)을 만든다. 각 임베딩을 토큰별로 서로 더하여 BERT의 입력으로 넘겨주고, 트랜스포머 모델에 따라 선형 레이어를 적용하여 질의(Q: Query), 키(K:Key), 값(V:Value)를 만든다. 이후, 멀티 헤드 어텐션(Multi-Head Attention)이 수행되며, 이를 위하여 Q, K, V의 차원 수는 헤드(Head)로 나뉘줄 수 있다. BERT는 트랜스포머의 인코더를 기반으로 하기 때문에 Q, K, V는 모두 같은 값을 갖게 되며, 셀프 어텐션 매커니즘(SelfAttention Mechanism)으로 모델링된다. Q, K, V에 대하여 Scaled-Dot-Production 어텐션을 기반으로 자기 자신에 대한 얼라인먼트 스코어(Alignment Score)가 반영된 문맥 벡터(Context Vector)를 만든다. 생성된 문맥 벡터에 대하여 비선형 연산을 수행하여 결과를 출력한다. 그 이후, 헤드를 모두 연결하고 가중치를 곱하여 멀티 헤드 어텐션을 출력한다.
이때, 모델링부(310)는, 사전학습 단계에서 특허 말뭉치를 대상으로 학습을 진행하게 되는데, 특허 말뭉치의 양이 부족한 경우에는, 사전학습된 사전학습 모델(Pre-trained Model) 상에 추가로 추가 데이터를 부가할 수 있다. 이에 따라, 모델링부(310)는, 사전학습 모델의 성질에 추가 데이터의 성질이 합성되도록 전이학습(Transfer Learning)을 진행할 수 있다. 여기서, 전이학습을, 일반적인 기계학습과 차이를 통해 설명하면, 기계학습은, 주어진 데이터에 대해서 각각의 모델이 독립적으로 구현되기 때문에 서로 다른 모델간의 연관관계는 없다. 즉, 특정 데이터를 이용하여 구현된 모델은 다른 유형의 데이터를 적용하였을 때 성능을 보장할 수 없다. 이에 반하여, 전이학습은, 대상 데이터와 다른 유형의 학습 데이터를 이용하여 모델의 선행학습을 수행하고, 지식 이전(Knowledge Transfer)을 통해서 새로운 모델을 구현하는 방식이 적용된다는 점이 가장 큰 차이점이다. 전이학습을 이용하여 딥러닝 모델을 구현하는 방법은 대상 데이터의 보유량과 선행학습을 위해 사용된 데이터와의 유사도를 통해서 네 가지 유형으로 분류할 수 있다.
첫 번째는, 대상 데이터의 보유량이 적고 선행학습 데이터와 유사도가 높은 경우, 두 번째는, 대상 데이터의 보유량이 많고 선행학습 데이터와 유사도가 높은 경우, 세 번째는, 대상 데이터의 보유량이 적고 선행학습 데이터와 유사도가 낮은 경우, 네 번째는, 대상 데이터의 보유량이 많고 선행학습 데이터와 유사도가 낮은 경우이다. 첫 번째 유형은, 대상 데이터의 보유량이 적기 때문에 선행학습이 수행된 모델의 전반적인 미세 조정(Fine Tuning)을 수행할 경우 과학습(Overfitting)이 발생할 수 있기 때문에, 출력에 가까운 계층만 학습을 수행하여 모델을 구현할 수 있다. 두 번째 유형은, 대상 데이터의 보유량이 많기 때문에 과학습의 위험성이 적어 전체 계층에 대해 미세 조정을 수행한다. 세 번째 유형은, 대상 데이터의 보유량도 적고 선행학습 데이터와의 유사도도 낮기 때문에 첫 번째 유형과는 달리 출력에 가까운 계층을 포함하여 앞선 계층의 결과도 고려하여 학습을 수행한다. 네 번째 유형은, 대상 데이터가 많기 때문에 효율적인 모델 구현을 위하여 전체 딥러닝 모델에 대해서 미세 조정을 수행하는 형태로 학습을 수행한다. 이때, 본 발명의 일 실시예에 따라 4 가지의 유형 중 어느 하나가 선택될 수 있으며 적어도 하나가 조합되어 사용되는 것도 배제하지는 않는다.
이때, 특허 말뭉치는, 특허 사례집을 이용하지만 이에 한정되지는 않는다. 이때, 특허 말뭉치를 구축할 때에는, 특허 사례집 내에 포함된 적어도 하나의 상담사례의 타이틀(제목 등)을 제외한 최하위 레벨의 문맥(Context, 내용)만을 추출하여 한 줄(Line)에 한 문장을 구성하고, 복수의 문장이 모여 문단을 이루고 나서 문단이 끝나면, 빈 줄을 삽입하는 방식으로 말뭉치를 구축하게 된다. 또, 최적의 사전학습을 위해서는 최적 파라미터를 지정해야 하는데, 이는 말뭉치의 양과 성질에 따라 달라진다. 여기서, masked_lm_accuracy, next_sentence_accuracy 두 가지 모두를 예를 들어 90% 이상의 정확도를 가지도록 파라미터를 설정할 수 있으며, 파라미터 설정을 위해서는 데이터 생성((Pre-generation) 단계와 사전학습 단계를 진행하게 된다. 또, 최적의 하이퍼 파라미터는, 데이터 생성 단계에서 do_lower_case=False, max_seq_length=128, max_predictions_per_seq=20, masked_lm_prob=0.15, - random_seed=12345, dupe_factor=5, 사전학습 단계에서는, train_batch_size=16, max_seq_length=128, max_predictions_per_seq=20, num_train_steps=300000, num_warmup_steps=10, learning_rate=3e-5, do_lower_case=False일 수 있다. 상술한 최적의 하이퍼 파라미터로 학습한 결과, 특허 데이터에 대한 masked_lm_accuracy, next_sentence_accuracy 두 가지 모두 90% 이상의 정확도를 가지는 모델 파일을 적용하게 된다.
모델링의 두 번째 단계로, 최적화 단계가 실행되는데, 모델링부(310)는, 사전학습 모델의 학습을 위하여 질의 텍스트를 추출할 수 있고, 사전학습 모델로 질의 텍스트를 입력한 후, 사전학습 모델에서 출력된 응답 텍스트를 토큰화(Tokenizing)할 수 있다. 또한, 모델링부(310)는, 토큰화된 응답 텍스트 토큰과, 기 저장된 정답 텍스트 토큰을 비교하여 일치율이 기 설정된 기준값을 초과하지 못하는 경우, 불일치한 토큰을 어절단위로 비교할 수 있고, 응답 텍스트 토큰을 왼쪽 토큰부터 일치하는 토큰까지를 좌단어(Left Word), 불일치가 종료되는 토큰부터 다음 토큰까지를 우단어(Right Word)으로 지정할 수 있다. 여기서, 응답 텍스트는 사전학습 모델에서 출력된 응답이고, 정답 텍스트는 질의 텍스트에 기 저장된 맞는 답(Right Answer), 즉 정답 텍스트이며, 이 둘은 서로 다르다. 또한, 모델링부(310)는, 좌단어 및 우단어를 재토큰화(Re-Tokenizing)하고, 토큰, 세그먼트(Segment), 및 포지션(Position)의 임베딩 값을 재할당하여 최적화를 수행할 수 있다. 이에 따라, 심층신경망 네트워크의 셀프 어텐션 점수를 더 높게 획득가능하다.
세 번째로 미세조정 단계는, 문맥 내에서 정답의 위치를 추론하기 위하여, 정답을 포함하고 있는 문단과, 사용자의 질의, 및 질의에 대한 정답 위치 정보를 학습하여 심층신경망의 최적 가중치를 찾아, 사전학습 모델을 조정함으로써 최종적으로 기계독해 모델을 생성하게 된다. 그리고, 이후 질의가 입력되는 경우, 기계독해 모델에 문단 및 질의를 함께 입력하는 경우, 정답률에 따라 정답 후보 리스트를 추출하고, 그 중 가장 높은 점수를 가진 정답을 출력할 수 있게 된다. 이를 위하여, 모델링부(310)는, 두 번째 단계에서, 좌단어 및 우단어를 재토큰화(Re-Tokenizing)하고, 토큰, 세그먼트(Segment), 및 포지션(Position)의 임베딩 값을 재할당하여 최적화를 수행한 후, 최적화가 수행된 학습 데이터에 기 지정된 하이퍼파라미터, 형태소 분석기, 및 활성화 함수를 이용하여 미세조정을 수행하고, 질의응답이 최적화된 기계독해모델을 모델링할 수 있다. 여기서, 최적의 하이퍼 파라미터는, 첫 번째 단계에서 최적의 하이퍼 파라미터를 이용하게 되는데, 튜닝 알고리즘을 반복하면서 첫 번째 단계의 최적의 하이퍼 파라미터를 조정하게 된다.
이때, Mecab 형태소 분석기, BERT adam 옵티마이저, 학습률(Learning Rate), 배치 사이즈(Batch Size) 등을 사용함으로써 최적의 하이퍼 파라미터를 찾으면서 조정을 하게 되는데, 상술한 프로그램에 한정되지 않고 상술한 구성을 수행할 수 있는 방법이라면 어느 것이든 사용가능하다 할 것이다. 이때, 최적의 하이퍼 파라미터는 max_seq_length=128, context_stride=128, max_question_length=64, 형태소 분석기=mecab, 활성화함수=bert_adam, learning_rate=5e-5일 수 있다. 이렇게 미세조정까지 완료되어 기계독해 모델이 생성되면, 사용자의 질의를 처리할 준비가 완료된다.
입력부(320)는, 사용자 단말(100)로부터 질의를 입력받을 수 있다. 여기서, 입력부(320)는, 사용자 단말(100)로부터 질의를 입력받고, 입력된 질의에 대한 용어 단위를 토큰화(Tokenization)할 수 있다. 이때, 입력된 질의 텍스트를 단순히 입력만 받는 것이 아니라, 용어 단위를 확정하기 위하여, 의문문 형태를 토크나이저(Tokenizer)를 이용하여 용어 단위로 토큰화한다. 그리고, 토큰화된 질문 용어는, 실제 질의에 대한 해석정보를 가지고 있는 문단 탐색부(330)를 지나게 된다.
문단 탐색부(330)는, 입력된 질의에 대한 해석정보를 포함하는 문단을 탐색할 수 있다. 여기서, 문단 탐색부(330)는, 사전에 벡터화된 해석정보를 이용하여 빠르게 문단을 탐색하게 된다. 이때, 후술될 저장부(360)에서 미리 학습한 문단과, 특허정보 데이터가 저장된 데이터를 대상으로, 문단 탐색부(330)는, 사용자의 질의와, 탐색된 문단을 붙여서 벡터 정보를 생성하게 된다. 그리고, 문단 탐색부(330)는, 추가로 학습된 학습 데이터 및 특허정보 데이터에 대하여 스케줄 작업으로 벡터 정보 생성을 자동화할 수 있다. 또, 문단 탐색부(330)는, 토큰화된 질의 용어와, 기 생성된 벡터 정보를 이용하여 가장 유사한 해석정보를 포함하는 문단을 찾게 된다.
MRC 모델부(340)는, 기계독해 모델에, 탐색된 문단 및 질의를 입력 데이터로 입력하여, 해석정보를 포함한 문단에서 정답의 위치를 추론할 수 있다. 이때, MRC 모델부(340)는, 탐색된 문단, 즉 문단 탐색부(330)에서 탐색한 가장 유사한 해석정보를 포함한 문단과, 사용자의 질의를 입력으로 하여, 모델링부(310)에서 생성한 기계독해 모델을 이용하여 응답 텍스트를 추론하는 과정을 진행하게 된다. 이때, MRC 모델부(340)는, 모델링부(310)에서 학습한 결과를 사용하지만, 추론하는데 많은 자원이 요구되므로, 질의응답 프로세스를 시작할 때, 질의응답 서비스 제공 서버(300)의 메모리 활성화를 먼저 진행할 수 있다. 이는, 문단 탐색부(330)에서 벡터 정보를 미리 생성하고 이용한 것과 같은 원리로, 추론 속도를 높일 수 있다.
출력부(350)는, 입력 데이터에 대한 추론 결과를 출력 데이터로 사용자 단말(100)로 전송할 수 있다. 이때, 출력부(350)는, 사용자가 문의한 질의에 대하여 추론한 결과를 사용자 단말(100)로 제공하게 되는데, 여기서 추론한 결과 뿐만 아니라, 정답이 포함된 문장이나 문단까지 함께 출력함으로써 정답 주변 정보 제공을 통하여 더 많은 힌트를 얻을 수 있도록 할 수 있다.
저장부(360)는, 모델링부(310)에서 적어도 하나의 학습 데이터 및 특허분야 말뭉치를 사전학습, 최적화, 및 미세조정을 통하여 기계독해 모델을 모델링하기 이전에, 적어도 하나의 질의응답 데이터 셋을 수집하여 누적하여 전처리를 수행할 수 있다. 그리고, 저장부(360)는, 전처리가 완료된 적어도 하나의 질의응답 데이터 셋으로부터 문맥(Context) 및 타이틀(Title)을 분석하여 문맥질의응답 데이터 셋(Context-Question-Answer Dataset)을 생성할 수 있고, 문맥과 동일한 계층에 카테고리 속성을 추가하여 구조화할 수 있다. 또한, 저장부(360)는, 문맥질의응답 데이터 셋을 트레이닝 셋(Training Set) 및 디벨롭 셋(Development set)으로 분할할 수 있다. 이때, 타이틀은 문맥의 키워드를 포함할 수 있다.
또, 적어도 하나의 문맥질의응답 데이터 셋은, 기계독해 모델을 모델링하기 위한 학습 데이터이고, 적어도 하나의 문맥질의응답 데이터 셋은, 타이틀, 카테고리, 문맥, 질의, 및 응답이 컬럼(Column) 구조를 이루는 데이터 집합일 수 있으며, 적어도 하나의 문맥질의응답 데이터 셋은, 질의 텍스트와 응답 텍스트를 포함하고, 적어도 하나의 문맥질의응답 데이터 셋의 문맥에는 질의 텍스트에 대한 정답 텍스트가 포함될 수 있다.
이는 이하 표 1과 같을 수 있으나, 이하에 나열된 것들로 한정되는 것은 아니다.
구성 구분 내용
타이틀
(분류)
내용 -문맥의 내용을 대표하는 제목
-정형화된 명칭
-질의가 빈번하고 응답이 명확한 대상을 우선순위로 분류하여 타이틀을 지정
글자길이 1~50자(공백포함)
카테고리
(절차)
내용 -업무분류에 따른 구조적인 카테고리로 구성
-정형화된 명칭 및 카테고리
-응답에 대한 부가정보로 사용자에게 시각적 표현 가능
-시나리오 기반 또는 챗봇 이용가능
글자길이 1~100자(공백포함)
예시 출원절차-출원공통업무-공시송달
문맥
(지문)
내용 -일반적인 문장 형태로, 질의와 응답이 지문을 통해 해석되는 지문
-일관된 문맥 유지
- 통일된 특수문자 사용 및 응답에 포함되어 기계가 학습가능하도록 데이터 생성
글자길이 300~3000자
질의
내용 -문맥 내용에서 답변을 찾을 수 있는 질의
-질의의 핵심 주제어가 문맥 내 포함
-질의를 보고 배경지식이 없는 다른 사람이 지문 내에서 답변을 찾을 수 있는 정도의 수준의 내용
-동일한 질의를 다르게 표현 가능한 질의
-한 지문 당 최소 1 내지 20개의 질의 필요
-다른 문맥에 동일한 질의 추가
글자길이 5~110자
응답 내용 -단답형 또는 간단한 서술형
-응답은 반드시 문맥 내에 포함(띄어쓰기 일치 필요)
글자길이 1~45자
예시 《해리 포터》(Harry Potter)는 1997년부터 2007년까지 연재된 영국의 작가 J.K. 롤링의 판타지 소설 시리즈다
- 답변 (O) - 판타지 소설
- 답변 (X) - 영국의 판타지 소설
상술한 표 1과 같은 가이드라인을 따라 데이터 셋을 구성하기 위하여, 우선 저장부(360)는, 특허 질의응답 데이터를 적재한 테이블과, 사용자 질의응답과 피드백 이력 정보가 있는 테이블을 포함하여 저장할 수 있다. 이때, KorQuAD의 데이터 셋은 위키피디아 기사(Wikipedia Article) 문단의 일부 하위 영역으로 구축된 일반상식분야에 대한 내용이므로, 본 발명의 일 실시예에서는, 특허분야에 대한 기계독해를 위해서 특허분야의 데이터 셋 마련이 필요하다. 특허 데이터 셋은, 한국어 특허 기계독해 테스크를 위한 질의응답 데이터 셋으로 이루어져 있으며, SQuAD 및 KorQuAD를 따라 표준성을 확보할 수 있다. 본 발명의 일 실시예에서는, KorQuAD에서 구성한 문맥(Context), 질의(Question), 및 응답(Answer)에 대한 문자 길이를 분석함으로써, 예를 들어, 193개의 문맥, 5,871건의 질의응답 데이터 셋을 이용하였지만, 해당 숫자에 한정되는 것은 아니다. 또, KorQuAD와 마찬가지로 기계독해 테스트를 위해 9대 1의 비율로 훈련 데이터 셋과 디벨롭 데이터 셋으로 분할할 수 있다. 그리고, 저장부(310)의 특허분야의 데이터 셋은, 이후 특허분야가 아닌 다른 전문분야로 쉽게 전환할 수 있도록 구성될 수 있다.또, 저장부(360)는, 학습 데이터를 자동으로 생성할 수 있는데, 사용자의 질의로 인한 응답이 생성되었으면, 이를 기준으로 기존에 구축된 질의-응답 데이터 셋이 잘못된 경우, 새로운 질의에 대한 응답이 옳은 경우, 새로운 질의에 대한 응답이 틀린 경우 등과 같이 틀린 응답에 대한 교정 피드백을 이용하여 자동으로 학습 데이터로 변환하고, 모델링부(310)에서 재학습을 실시할 수 있도록 준비할 수 있다. 이때, 기 학습된 학습 데이터와, 피드백으로 생성된 학습 데이터는 구분하여 저장할 수 있는데, 이를 위해 ID를 새로 할당할 수 있다. 그리고, 저장부(310)는, 이렇게 누적된 학습 데이터를 상술한 바와 같이 모델링부(310)에서 학습을 시작할 때 제공할 수 있다.
<실험예>
상술한 기계독해 모델을 이용하여 실험을 한 결과를 이하의 표 2를 통하여 설명한다. 표 2를 보면, 일반적인 BERT(BERT Basic Model)와, 본 발명의 일 실시예에 재토큰화 및 미세조정을 수행한 경우를 비교한 결과이다. 본 발명의 일 실시예에서는, 특허 전문성을 추가할 때, WPM(Word Piece Model) 방식으로 특허 어휘를 적용하고, 불일치된 토큰과 정답을 일치시키기 위해 불일치한 토큰에 대한 좌단어 및 우단어로 구분하고, 이를 대조하여 전체 토큰을 재구성하는 재토큰화(Re-Tokenization) 기법을 적용했다. 또, 미세조정한 결과를 KorQuAD 데이터 기준으로, 불일치된 토큰을 37,125개에서 472건으로 줄였다. 이에 대한 결과는, 표 2에 도시되는데, 일반적인 BERT에, ReTK 기법을 추가적으로 사용하여 미세조정한 결과로, KorQuAD 데이터 셋으로 평가한 결과, EM 스코어는 82.42%에서 84.55%로 2.13%p가 올랐고, F1 스코어는 87.43%에서 92.90%로 5.47%p가 올랐다. 특허 데이터 셋으로 평가한 결과는, EM 스코어는, 44.03%에서 63.16%로 19.13%p가 증가했고, F1 스코어는, 74.71%에서 82.27%로 7.56%p가 증가했다.
모델 평가 데이터 EM(%) FI(%)
BERT Basic Model KorQuAD 82.42 87.43
Patent 44.03 74.71
BERT Basic Model + ReTK KorQuAD 84.55 92.90
Patent 63.16 82.27
표 3은, 일반적인 BERT에, 특허 자질을 추가하고, 이에 더하여 ReTK 기법을 추가적으로 사용하여 미세조정한 결과이다. 이때, 특허 자질을 추가하기 위해, 특허 말뭉치를 이용하는데, BERT 모델 위에 특허 말뭉치를 추가하여 학습하였다. 시퀀스 길이는 128, 학습률은 3e-5으로 설정한 결과, 300,000 스텝에서 최적의 학습률에 도달하여 기계독해 모델이 생성했다. 이에 따라, 표 1에 따른 최적의 하이퍼 파라미터로, 특허 언어처리기법을 추가하여 미세조정을 한 결과는 표 3에 도시되며, 표 2의 결과보다 더 성능이 향상된 것을 알 수 있다.
모델 미세조정 평가데이터 EM(%) FI(%)
PATENT BERT Basic Model + ReTK KorQuAD Patent 68.57 89.93
Patent Patent 71.43 86.34
KorQuad+Patent Patent 80.00 91.30
이하, 상술한 도 2의 질의응답 서비스 제공 서버의 구성에 따른 동작 과정을 도 3 및 도 4를 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.
도 3을 참조하면, 출원인인 사용자가 "변경출원의 심사청구기간 및 존속기간은 어떻게 되나요?"라는 질의를 입력했다고 가정하자. 이를 위해서는, 도 4와 같은 기계독해 모델링 과정이 선행되어야 한다. 그리고 나서, 도 3과 같이, 질의응답 서비스 제공 서버(300)는, 기 구축된 기계독해 모델을 이용하여 사용자의 질의를 분석한 후, 질의의 의도를 파악하여 질의의 응답이 되는 문단을 탐색하게 된다. "변경출원", "심사청구기간", "존속기간"이 포함된 질의 연관문서를 탐색하게 되는데, "특허 심사청구기간은 출원일로부터 5년, 실용신안은 출원일로부터 3년입니다. 변경출원이 적법하게 이뤄진 경우 변경출원의 출원일이 원출원일로 소급되므로 특허에서 실용신안으로 변경출원 했다면 실용신안의 심사청구 기간은 원출원일(특허출원일)로부터 3년 이내 심사 청구해야 합니다. 만일 실용신안 출원 후 특허로 변경출원한 경우라면 원출원일(실용신안 출원일)로부터 5년 이내 심사청구를 해야 합니다"라는 문맥 내에서, "변경출원"과 "심사청구기간"을 포함하는 문장별 의도를 파악함으로써 답변 위치를 탐색하게 된다. 그리고, 이를 포함하는 문장, 즉 "특허 심사청구기간은 출원일로부터 5년, 실용신안은 출원일로부터 3년입니다"라는 문장을 추출하여 사용자에게 제공하게 된다.
또, 그 다음 질문, 즉 "변경출원의 존속기간은 어떻게 되나요"라는 질문에 대해서는, "변경출원", "존속기간"도 상술한 바와 같이 탐색하게 되는데, 문맥이 "특허 존속기간은 설정등록 후 출원일로부터 20년, 실용신안은 설정등록 후 출원일로부터 10년입니다. 변경출원이 인정되면 출원일이 원출원일로 소급되므로 특허에서 실용신안으로 변경출원된 경우에 실용신안의 존속기간은 설정등록 후 원출원일(특허 출원일)로부터 10년입니다. 만일 실용신안에서 특허로 변경출원된 경우라면 특허의 존속기간은 설정등록 후 원출원일(실용신안 출원일)로부터 20년입니다."라면, 응답은 "특허 존속기간은 설정등록 후 출원일로부터 20년, 실용신안은 설정등록 후 출원일로부터 10년입니다"가 될 수 있고, 앞의 문장, 즉 변경출원을 고려하여, "특허에서 실용신안으로 변경출원된 경우에 실용신안의 존속기간은 설정등록 후 원출원일(특허 출원일)로부터 10년입니다. 만일 실용신안에서 특허로 변경출원된 경우라면 특허의 존속기간은 설정등록 후 원출원일(실용신안 출원일)로부터 20년입니다"가 답변으로 출력될 수 있다.
이와 같은 도 2 내지 도 4의 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5는 본 발명의 일 실시예에 따른 도 1의 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 5를 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 5에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.
도 5를 참조하면, 질의응답 서비스 제공 서버는, 적어도 하나의 학습 데이터 및 특허분야 말뭉치(Corpus)를 사전학습, 최적화, 및 미세조정을 통하여 기계독해 모델(Machine Reading Comprehension Technology)을 모델링한다(S5100).
그리고, 질의응답 서비스 제공 서버는, 사용자 단말로부터 질의를 입력받고(S5200), 입력된 질의에 대한 해석정보를 포함하는 문단을 탐색한다(S5300).
또한, 질의응답 서비스 제공 서버는, 기계독해 모델에, 탐색된 문단 및 질의를 입력 데이터로 입력하여, 해석정보를 포함한 문단에서 정답의 위치를 추론하고(S5400), 입력 데이터에 대한 추론 결과를 출력 데이터로 사용자 단말로 전송한다(S5500).
상술한 단계들(S5100~S5500)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S5100~S5500)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.
이와 같은 도 5의 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 4를 통해 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5를 통해 설명된 일 실시예에 따른 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 일 실시예에 따른 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (10)

  1. 질의응답 서비스 제공 서버에서 실행되는 질의응답 서비스 제공 방법에 있어서,
    적어도 하나의 질의응답 데이터 셋을 수집하여 누적하여 전처리를 수행하는 단계;
    상기 전처리가 완료된 상기 적어도 하나의 질의응답 데이터 셋으로부터 문맥(Context) 및 타이틀(Title)을 분석하여 문맥질의응답 데이터 셋(Context-Question-Answer Dataset)을 생성하는 단계;
    상기 문맥과 동일한 계층에 카테고리 속성을 추가하여 구조화하는 단계;
    상기 문맥질의응답 데이터 셋을 트레이닝 셋(Training Set) 및 디벨롭 셋(Development set)으로 분할하는 단계;
    적어도 하나의 학습 데이터 및 특허분야 말뭉치(Corpus)를 사전학습, 최적화, 및 미세조정을 통하여 기계독해 모델(Machine Reading Comprehension Technology)을 모델링하는 단계;
    사용자 단말로부터 질의를 입력받는 단계;
    상기 입력된 질의에 대한 해석정보를 포함하는 문단을 탐색하는 단계;
    상기 기계독해 모델에, 상기 탐색된 문단 및 상기 질의를 입력 데이터로 입력하여, 상기 해석정보를 포함한 문단에서 정답의 위치를 추론하는 단계; 및
    상기 입력 데이터에 대한 추론 결과를 출력 데이터로 상기 사용자 단말로 전송하는 단계를 포함하며,
    상기 타이틀은,
    상기 문맥의 키워드를 포함하는 것을 특징으로 하는 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법.
  2. 제 1 항에 있어서,
    상기 사용자 단말로부터 질의를 입력받는 단계는,
    상기 입력된 질의에 대한 용어 단위를 토큰화(Tokenization)하는 단계;
    를 포함하는 것인, 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 적어도 하나의 문맥질의응답 데이터 셋은, 상기 기계독해 모델을 모델링하기 위한 학습 데이터이고,
    상기 적어도 하나의 문맥질의응답 데이터 셋은, 타이틀, 카테고리, 문맥, 질의, 및 응답이 컬럼(Column) 구조를 이루는 데이터 집합인 것인, 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법.
  5. 제 1 항에 있어서,
    상기 적어도 하나의 문맥질의응답 데이터 셋은, 질의 텍스트와 응답 텍스트를 포함하고,
    상기 적어도 하나의 문맥질의응답 데이터 셋의 문맥에는 질의 텍스트에 대한 정답 텍스트가 포함되는 것인, 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법.
  6. 적어도 하나의 학습 데이터 및 특허분야 말뭉치를 사전학습, 최적화, 및 미세조정을 통하여 기계독해 모델을 모델링하는 단계;
    사용자 단말로부터 질의를 입력받는 단계;
    상기 입력된 질의에 대한 해석정보를 포함하는 문단을 탐색하는 단계;
    상기 기계독해 모델에, 상기 탐색된 문단 및 상기 질의를 입력 데이터로 입력하여, 상기 해석정보를 포함한 문단에서 정답의 위치를 추론하는 단계; 및
    상기 입력 데이터에 대한 추론 결과를 출력 데이터로 상기 사용자 단말로 전송하는 단계를 포함하며,
    상기 적어도 하나의 학습 데이터 및 특허분야 말뭉치를 사전학습, 최적화, 및 미세조정을 통하여 기계독해 모델을 모델링하는 단계는,
    상기 적어도 하나의 특허분야 말뭉치에 사전학습(Pre-traning)을 실시하는 단계;
    상기 사전학습된 사전학습 모델(Pre-trained Model) 상에 추가로 추가 데이터를 부가하는 단계; 및
    상기 사전학습 모델의 성질에 상기 추가 데이터의 성질이 합성되도록 전이학습(Transfer Learning)을 진행하는 단계;
    를 수행함으로써 실행되는 것인, 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법.
  7. 제 6 항에 있어서,
    상기 사전학습 모델의 성질에 상기 추가 데이터의 성질이 합성되도록 전이학습(Transfer Learning)을 진행하는 단계 이후에,
    상기 사전학습 모델의 학습을 위하여 질의 텍스트를 추출하는 단계;
    상기 사전학습 모델로 상기 질의 텍스트를 입력한 후, 상기 사전학습 모델에서 출력된 응답 텍스트를 토큰화(Tokenizing)하는 단계;
    상기 토큰화된 응답 텍스트 토큰과, 기 저장된 정답 텍스트 토큰을 비교하여 일치율이 기 설정된 기준값을 초과하지 못하는 경우, 불일치한 토큰을 어절단위로 비교하는 단계;
    상기 응답 텍스트 토큰을 왼쪽 토큰부터 일치하는 토큰까지를 좌단어(Left Word), 상기 불일치가 종료되는 토큰부터 미리 설정된 토큰까지를 우단어(Right Word)으로 지정하는 단계;
    상기 좌단어 및 우단어를 재토큰화(Re-Tokenizing)하고, 토큰, 세그먼트(Segment), 및 포지션(Position)의 임베딩 값을 재할당하여 최적화를 수행하는 단계;
    를 더 포함하는 것인, 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법.
  8. 제 7 항에 있어서,
    상기 좌단어 및 우단어를 재토큰화(Re-Tokenizing)하고, 토큰, 세그먼트(Segment), 및 포지션(Position)의 임베딩 값을 재할당하여 최적화를 수행하는 단계 이후에,
    상기 최적화가 수행된 학습 데이터에 기 지정된 하이퍼파라미터, 형태소 분석기, 및 활성화 함수를 이용하여 미세조정을 수행하고, 질의응답이 최적화된 상기 기계독해모델을 모델링하는 단계;
    더 포함하는 것인, 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법.
  9. 적어도 하나의 학습 데이터 및 특허분야 말뭉치(Corpus)를 사전학습, 최적화, 및 미세조정을 통하여 기계독해 모델(Machine Reading Comprehension Technology)을 모델링하는 모델링부;
    사용자 단말로부터 질의를 입력받는 입력부;
    상기 입력된 질의에 대한 해석정보를 포함하는 문단을 탐색하는 문단 탐색부;
    상기 기계독해 모델에, 상기 탐색된 문단 및 상기 질의를 입력 데이터로 입력하여, 상기 해석정보를 포함한 문단에서 정답의 위치를 추론하는 MRC 모델부; 및
    상기 입력 데이터에 대한 추론 결과를 출력 데이터로 상기 사용자 단말로 전송하는 출력부를 포함하며,
    상기 모델링부는,
    상기 적어도 하나의 특허분야 말뭉치에 사전학습을 실시하고, 상기 사전학습된 사전학습 모델 상에 추가로 추가 데이터를 부가하고, 상기 사전학습 모델의 성질에 상기 추가 데이터의 성질이 합성되도록 전이학습을 진행하는 것을 특징으로 하는 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 서버.
  10. 제 1 항 내지 제 2 항 및 제 4 항 내지 제 8 항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
KR1020190149493A 2019-11-20 2019-11-20 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법, 서버, 및 기록매체 KR102231365B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190149493A KR102231365B1 (ko) 2019-11-20 2019-11-20 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법, 서버, 및 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190149493A KR102231365B1 (ko) 2019-11-20 2019-11-20 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법, 서버, 및 기록매체

Publications (1)

Publication Number Publication Date
KR102231365B1 true KR102231365B1 (ko) 2021-03-24

Family

ID=75257046

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190149493A KR102231365B1 (ko) 2019-11-20 2019-11-20 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법, 서버, 및 기록매체

Country Status (1)

Country Link
KR (1) KR102231365B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016528583A (ja) * 2013-06-06 2016-09-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 質問応答のための方法、システム、およびコンピュータ読取可能な記憶媒体
KR20190056184A (ko) * 2017-11-16 2019-05-24 주식회사 마인즈랩 기계 독해를 위한 질의응답 데이터 생성 시스템
KR20190101567A (ko) * 2018-02-23 2019-09-02 주식회사 마인즈랩 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법
WO2019195042A1 (en) * 2018-04-07 2019-10-10 Microsoft Technology Licensing, Llc Intelligent question answering using machine reading comprehension

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016528583A (ja) * 2013-06-06 2016-09-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 質問応答のための方法、システム、およびコンピュータ読取可能な記憶媒体
KR20190056184A (ko) * 2017-11-16 2019-05-24 주식회사 마인즈랩 기계 독해를 위한 질의응답 데이터 생성 시스템
KR20190101567A (ko) * 2018-02-23 2019-09-02 주식회사 마인즈랩 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법
WO2019195042A1 (en) * 2018-04-07 2019-10-10 Microsoft Technology Licensing, Llc Intelligent question answering using machine reading comprehension

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
임승영 외 2인, KorQuAD: 기계독해를 위한 한국어 질의응답 데이터셋, 한국정보과학회 학술발표논문집, 2018.12, 539-541페이지. *

Similar Documents

Publication Publication Date Title
Kumar et al. Automating reading comprehension by generating question and answer pairs
Haug et al. Neural multi-step reasoning for question answering on semi-structured tables
Sanyal et al. Resume parser with natural language processing
US11687826B2 (en) Artificial intelligence (AI) based innovation data processing system
JP2020191075A (ja) Web APIおよび関連エンドポイントの推薦
Sherkat et al. Vector embedding of wikipedia concepts and entities
Zhang et al. Attention-based knowledge tracing with heterogeneous information network embedding
Bazaga et al. Translating synthetic natural language to database queries with a polyglot deep learning framework
US20170235835A1 (en) Information identification and extraction
Sathyendra et al. Helping users understand privacy notices with automated query answering functionality: An exploratory study
Daswani et al. CollegeBot: A conversational AI approach to help students navigate college
KR102148451B1 (ko) 멀티 쇼핑몰의 통합 관리 및 연동을 위한 쇼핑몰 질의응답 동기화 서비스 제공 방법, 서버, 및 시스템
CN117473034A (zh) 交互文本处理方法、装置、电子设备及存储介质
KR102256007B1 (ko) 자연어 질의를 통한 문서 검색 및 응답 제공 시스템 및 방법
KR102231365B1 (ko) 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법, 서버, 및 기록매체
KR102626714B1 (ko) 자연어이해 학습 모델을 위한 학습데이터의 이중 증강 방법 및 장치
CN114942981A (zh) 问答查询方法、装置、电子设备及计算机可读存储介质
CN114154496A (zh) 基于深度学习bert模型的煤监类案对比方法及装置
CN114297353A (zh) 数据处理方法、装置、存储介质及设备
Lokman et al. A conceptual IR chatbot framework with automated keywords-based vector representation generation
Madjarov et al. Web genre classification via hierarchical multi-label classification
Panditharathna et al. Question and answering system for investment promotion based on nlp
KR102640798B1 (ko) 기업용 챗봇 서비스 제공 방법 및 장치
Alreshedy et al. Predicting the programming language of questions and snippets of StackOverflow using natural language processing
Wang et al. Question answering system of discipline inspection laws and regulations based on knowledge graph

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant