KR102540564B1 - 자연어 처리를 위한 데이터 증강을 위한 방법 - Google Patents

자연어 처리를 위한 데이터 증강을 위한 방법 Download PDF

Info

Publication number
KR102540564B1
KR102540564B1 KR1020200182207A KR20200182207A KR102540564B1 KR 102540564 B1 KR102540564 B1 KR 102540564B1 KR 1020200182207 A KR1020200182207 A KR 1020200182207A KR 20200182207 A KR20200182207 A KR 20200182207A KR 102540564 B1 KR102540564 B1 KR 102540564B1
Authority
KR
South Korea
Prior art keywords
sentence
information
label information
segment
present disclosure
Prior art date
Application number
KR1020200182207A
Other languages
English (en)
Other versions
KR20220091067A (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 KR1020200182207A priority Critical patent/KR102540564B1/ko
Publication of KR20220091067A publication Critical patent/KR20220091067A/ko
Application granted granted Critical
Publication of KR102540564B1 publication Critical patent/KR102540564B1/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/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/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • 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)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)

Abstract

컴퓨팅 장치에 의해 수행되는 자연어 처리를 위한 데이터 증강 방법이 개시된다. 상기 방법은: 제 1 문장을 획득하는 단계; 형태소 분석 방법을 이용하여 상기 제 1 문장의 통사 정보를 획득하는 단계; 상기 제 1 문장의 레이블 정보 및 상기 통사 정보에 기초하여 상기 제 1 문장의 고정 분절을 결정하는 단계; 및 언어 모델에 의해, 상기 고정 분절을 유지하면서 상기 제 1 문장을 제 2 문장으로 변형시키는 단계; 를 포함할 수 있다. 또한, 상기 방법은 제 1 문장을 획득하는 단계; 의존성 분석 방법을 이용하여 상기 제 1 문장의 통사 정보를 획득하는 단계; 상기 제 1 문장의 레이블 정보 및 상기 통사 정보에 기초하여 상기 제 1 문장의 고정 분절을 결정하는 단계; 및 언어 모델에 의해, 상기 고정 분절을 유지하면서 상기 제 1 문장을 제 2 문장으로 변형시키는 단계; 를 포함할 수 있다.

Description

자연어 처리를 위한 데이터 증강을 위한 방법{METHOD FOR DATA AUGMENTATION FOR NATURAL LANGUAGE PROCESSING}
본 발명은 데이터 증강 방법에 관한 것으로, 특히 자연어 처리에 사용되는 학습 데이터에 대한 데이터 증강 방법에 관한 것이다.
대부분의 자연어 처리의 분류 과제는 지도 학습(supervised learning) 방법에 의해 해결될 수 있다. 그러나 지도 학습 방법은 <데이터, 레이블> 쌍 형태의 데이터 집합을 전제로 하며, 이러한 데이터 집합의 구축은 사람의 직접적인 개입과 상당한 노력을 필요로 한다. 이러한 문제를 해결하기 위해 사람의 개입을 필요로 하지 않는 데이터 증강 방법론(DATA AUGMENTATION METHODS)들이 개발되었다.
이런 방법들 중 일부는 단어 임베딩 벡터(word embedding vectors)나 BERT와 같은 맥락적(contextual) 임베딩 벡터 모형을 이용하여 단어를 대치 및 변형하는 방법을 통해 데이터를 증강한다. 그러나 <텍스트, 레이블> 쌍의 데이터를 생성하는 방식은 레이블의 성격에 따라 텍스트의 특정 부분에 대하여 변이가 발생함에 따라 레이블의 정확도가 훼손될 수 있다는 문제점을 가진다.
감정 분석을 예로 들면, <이 영화는 참 좋다, 긍정>의 데이터 쌍에서, 데이터 증강 과정에서 텍스트의 “좋다”가 “별로다” 또는 “보통이다”라는 표현으로 변형될 수 있다. 이 경우에, “별로다” 또는 “보통이다”라는 표현은 “긍정”이라는 레이블에 배치되므로, 증강된 데이터는 유용성을 잃게 된다.
따라서, 레이블을 유지하면서 다양한 표현의 문장을 확보할 수 있는 데이터 증강법에 대한 수요가 존재한다.
본 개시는 전술한 배경기술에 대응하여 안출 된 것으로, 컴퓨팅 장치에 의해 수행되는 자연어 처리를 위한 데이터 증강 방법을 제공하는 것이다.
전술한 과제를 해결하기 위한, 일 양상의 컴퓨팅 장치에 의해 수행되는 자연어 처리를 위한 데이터 증강 방법이 개시된다. 상기 방법은 제 1 문장을 획득하는 단계; 형태소 분석 방법을 이용하여 상기 제 1 문장의 통사 정보를 획득하는 단계; 상기 제 1 문장의 레이블 정보 및 상기 통사 정보에 기초하여 상기 제 1 문장의 고정 분절을 결정하는 단계; 및 언어 모델에 의해, 상기 고정 분절을 유지하면서 상기 제 1 문장을 제 2 문장으로 변형시키는 단계; 를 포함할 수 있다.
또한, 상기 제 1 문장의 고정 분절을 결정하는 단계는: 상기 제 1 문장의 상기 레이블 정보를 이용하여 제약 조건을 결정하는 단계; 및 상기 제약 조건에 기초하여 상기 제 1 문장의 형태소 중 하나 이상을 상기 고정 분절로 결정하는 단계; 를 포함할 수 있다.
또한, 상기 제 1 문장의 레이블 정보를 이용하여 제약 조건을 결정하는 단계는: 사용자 조건을 추가로 이용하여 상기 제약 조건을 결정하는 단계: 를 더 포함할 수 있다.
또한, 상기 방법은 상기 제 2 문장의 레이블 정보를 상기 제약 조건에 기초하여 업데이트하는 단계를 포함할 수 있다.
전술한 과제를 해결하기 위한, 다른 양상의 컴퓨팅 장치에 의해 수행되는 자연어 처리를 위한 데이터 증강 방법이 개시된다. 상기 방법은: 제 1 문장을 획득하는 단계; 의존성 분석 방법을 이용하여 상기 제 1 문장의 통사 정보를 획득하는 단계; 상기 제 1 문장의 레이블 정보 및 상기 통사 정보에 기초하여 상기 제 1 문장의 고정 분절을 결정하는 단계; 및 언어 모델에 의해, 상기 고정 분절을 유지하면서 상기 제 1 문장을 제 2 문장으로 변형시키는 단계; 를 포함할 수 있다.
또한, 상기 제 1 문장의 고정 분절을 결정하는 단계는: 상기 제 1 문장의 상기 레이블 정보를 이용하여 제약 조건을 결정하는 단계; 및 상기 제약 조건에 기초하여 상기 제 1 문장의 분절 중 하나 이상을 상기 고정 분절로 결정하는 단계; 를 포함할 수 있다.
또한, 상기 제 1 문장의 레이블 정보를 이용하여 제약 조건을 결정하는 단계는: 추가 조건을 추가로 이용하여 상기 제약 조건을 결정하는 단계: 를 더 포함할 수 있다.
또한, 상기 방법은 상기 제 2 문장의 레이블 정보를 상기 제약 조건에 기초하여 업데이트하는 단계; 를 더 포함할 수 있다.
본 개시는 컴퓨팅 장치에 의해 수행되는 자연어 처리를 위한 데이터 증강 방법을 제공할 수 있다.
도 1은 본 개시의 몇몇 실시예에 따른 자연어 처리를 위한 데이터 증강 방법을 수행하기 위한 컴퓨팅 장치의 블록 구성도이다.
도 2는 본 개시의 몇몇 실시예에 따른 형태소 분석을 이용하는 자연어 처리를 위한 데이터 증강 방법을 설명하기 위한 순서도이다.
도 3은 본 개시의 몇몇 실시예에 따른, 형태소 분석을 이용하는 자연어 처리를 위한 데이터 증강 방법의 예시를 설명하기 위한 도면이다.
도 4는 본 개시의 몇몇 실시예에 따른 의존성 분석을 이용하는 자연어 처리를 위한 데이터 증강 방법을 설명하기 위한 순서도이다.
도 5는 본 개시의 몇몇 실시예에 따른 의존성 분석을 이용하는 자연어 처리를 위한 데이터 증강 방법의 예시를 설명하기 위한 도면이다.
도 6은 본 개시의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도이다.
다양한 실시예들이 이제 도면을 참조하여 설명된다. 본 명세서에서, 다양한 설명들이 본 개시의 이해를 제공하기 위해서 제시된다. 그러나, 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다.
본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다.
용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는"이라는 용어는, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.
도 1은 본 개시의 몇몇 실시예에 따른 자연어 처리를 위한 데이터 증강 방법을 수행하기 위한 컴퓨팅 장치의 블록 구성도이다.
도 1에 도시된 컴퓨팅 장치(100)의 구성은 간략화 하여 나타낸 예시일 뿐이다. 본 개시의 몇몇 실시예에서 컴퓨팅 장치(100)는 컴퓨팅 장치(100)의 컴퓨팅 환경을 수행하기 위한 다른 구성들이 포함될 수 있고, 개시된 구성들 중 일부만이 컴퓨팅 장치(100)를 구성할 수도 있다.
컴퓨팅 장치(100)는 챗봇 시스템 또는 그 일부일 수 있다. 다른 예로, 컴퓨팅 장치(100)는 챗봇 시스템과 통신하는 외부 장치일 수 있다.
컴퓨팅 장치(100)는 프로세서(110), 메모리(120), 네트워크부(미도시)를 포함할 수 있다.
프로세서(110)는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치 (GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등의 데이터 분석, 딥러닝을 위한 프로세서를 포함할 수 있다. 프로세서(110)는 메모리에 저장된 컴퓨터 프로그램을 판독하여 본 개시의 몇몇 실시예에 따른 자연어 처리를 위한 데이터 증강 방법을 위한 데이터 처리를 수행할 수 있다.
또한, 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치에서 수행되는 컴퓨터 프로그램은 CPU, GPGPU 또는 TPU 실행가능 프로그램일 수 있다.
본 개시의 몇몇 실시예에 따르면, 메모리(120)는 프로세서(110)가 생성하거나 결정한 임의의 형태의 정보 및 네트워크부가 수신한 임의의 형태의 정보를 저장할 수 있다.
본 개시의 몇몇 실시예에 따르면, 메모리(120)는 임의의 유형의 저장매체를 포함할 수 있다. 컴퓨팅 장치(100)는 인터넷(internet) 상에서 상기 메모리(120)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다. 전술한 메모리에 대한 기재는 예시일 뿐, 본 개시는 이에 제한되지 않는다.
본 개시의 몇몇 실시예에 따르면, 메모리(120)는 본 개시의 몇몇 실시예에 따른 자연어 처리를 위한 데이터 증강 방법을 수행하기 위한 임의의 정보를 저장할 수 있다. 또한, 메모리(120)는 문장 데이터베이스 또는 그 일부일 수 있다.
본 개시의 몇몇 실시예에 따른 네트워크부는 임의의 형태의 공지된 유선 또는 무선 네트워크들을 사용할 수 있다.
본 개시에서 네트워크부는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, PAN, LAN, WAN 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 네트워크는 공지의 월드와이드웹(WWW: World Wide Web)일 수 있으며, 적외선 또는 블루투스와 같이 단거리 통신에 이용되는 무선 전송 기술을 이용할 수도 있다.
본 개시에서 네트워크부는 본 개시의 몇몇 실시예에 따른 자연어 처리를 위한 데이터 증강 방법을 수행하기 위해 외부의 챗봇 시스템과 통신하여 데이터를 송수신할 수 있다.
본 명세서에서 설명된 기술들은 위에서 언급된 네트워크들 뿐만 아니라, 다른 네트워크들에서도 사용될 수 있다.
도 2는 본 개시의 몇몇 실시예에 따른 형태소 분석을 이용하는 자연어 처리를 위한 데이터 증강 방법을 설명하기 위한 순서도이다. 도 3은 본 개시의 몇몇 실시예에 따른 형태소 분석을 이용하는 자연어 처리를 위한 데이터 증강 방법의 예시를 설명하기 위한 도면이다.
본 개시의 몇몇 실시예에 따라, 일 양상의 자연어 처리를 위한 데이터 증강 방법에 의하면, 자연어 처리 기술 중 하나인 형태소 분석(morphological analysis)을 이용하여 문장의 통사 정보를 획득할 수 있다. 획득된 통사 정보는 문장의 레이블을 훼손하지 않기 위해 문장 중에서 변형되지 않을 부분을 결정하는데 사용될 수 있다. 따라서, 레이블의 정확도를 훼손하지 않는 데이터 증강이 수행될 수 있다. 또한, 본 개시의 자연어 처리를 위한 데이터 증강 방법은 형태소 분석 및 의존성 분석을 이용하여 수행될 수 있다.
본 개시의 몇몇의 실시예에 따라, 형태소 분석을 이용하는 본 개시의 자연어 처리를 위한 데이터 증강 방법은 아래에서 설명되는 단계(s100 내지 s130)을 포함할 수 있다. 다만, 이러한 단계들은 단지 예시의 목적으로 설명되며, 일부의 단계가 변경 또는 생략되거나, 추가적인 단계가 부가될 수 있다. 또한, 이러한 단계들은 임의의 순서로 수행될 수 있으며, 반드시 아래에서 설명되는 순서로 수행되는 것은 아니다.
본 개시의 몇몇 실시예에 따라, 자연어 처리를 위한 데이터 증강 방법은 제 1 문장을 획득하는 단계(s100)를 포함할 수 있다.
구체적으로 설명하면, 제 1 문장은 데이터 증강을 위해 새로이 생성되는 문장의 기준이 되는 문장을 의미할 수 있다. 예를 들어, 제 1 문장은 사용자에 의해 입력된 문장이거나 또는 복수의 문장이 저장되어 있는 문장 데이터베이스(예를 들어, 챗봇용 문장 데이터베이스)에 저장된 문장일 수 있다. 문장 데이터베이스에 저장된 데이터는 학습 데이터로서 다양한 언어 모델 또는 네트워크 구조를 학습시키는데 사용될 수 있다.
본 개시의 몇몇 실시예에 따라, 자연어 처리를 위한 데이터 증강 방법은 형태소 분석 방법을 이용하여 상기 제 1 문장의 통사 정보를 획득하는 단계(s110)를 포함할 수 있다.
구체적으로, 프로세서(110)는 형태소 분석 방법을 이용하여 통사 정보를 획득할 수 있다. 통사 정보란 문장의 의미적/맥락적으로 추출되는 정보 뿐만 아니라 형태소, 단어 단위의 문법 구조에 의해 추출되는 정보를 포함할 수 있다. 형태소 분석 방법을 통해 획득되는 통사 정보는 제 1 문장의 형태소에 대한 정보를 포함할 수 있다. 예를 들어, 프로세서(110)는 형태소 분석 방법에 따라 제 1 문장에 포함되는 형태소 및 형태소와 연계된 품사 정보를 획득할 수 있다. 형태소(morpheme)는 일정한 의미가 있는 가장 작은 말의 단위로 발화체 내에서 따로 떼어낼 수 있는 것을 의미할 수 있다. 즉, 형태소는 더 분석하면 뜻이 없어지는 말의 단위일 수 있다.
예를 들어, 도 3을 참조하면, 형태소 분석을 통해 획득되는 통사 정보는 제 1 문장인 "봉준호 감독의 영화는 항상 좋다"(300)가 고유명사인 형태소 "봉준호", 일반명사인 형태소 "감독", 형태소 "감독"에 대한 조사(또는 의존 형태소)인 "의",일반명사인 형태소 "영화", 형태소 "영화"에 대한 조사인 "는", 부사인 형태소 "항상", 및 형용사인 형태소 "좋다"를 포함한다는 정보를 포함할 수 있다(도 3의 310 참조). 획득된 통사 정보는 다음과 같이 제 1 문장의 고정 분절을 결정하는데 사용될 수 있다.
본 개시의 몇몇 실시예에 따라, 자연어 처리를 위한 데이터 증강 방법은 제 1 문장의 레이블 정보 및 통사 정보에 기초하여 제 1 문장의 고정 분절을 결정하는 단계 (s120)를 포함할 수 있다.
구체적으로 설명하면, 제 1 문장은 복수의 분절을 포함할 수 있다. 분절(token)은 자연어 처리를 위해 사용되는 자연어 단위를 포함할 수 있다. 분절은 예를 들어 글자 단위, 단어, 보조단어, 형태소 단위, 어절 단위, 구 단위 등을 포함할 수 있다. 본 실시예에서, 분절은 형태소 및 형태소와 연결된 품사를 의미할 수 있다. 도 3을 참조하면, 제 1 문장은 복수의 분절 "봉준호", "감독의", "영화는", "항상", 좋다"를 포함할 수 있다. 다만, 분절 중에서 조사인 "의" 및 "는" 은 의존 관계에 있는 형태소에 따라 적절하게 변형될 수 있으므로, 고정 분절을 결정하는데 고려되지 않을 수 있다. 따라서, 본 명세서에서 용어 "형태소"는 용어 "분절"에 포함되거나, 또는 용어 "분절"과 동일한 의미로 사용될 수도 있다.
본 개시의 몇몇 실시예에 따라, 데이터 증강을 위해, 제 1 문장의 분절(또는 형태소)를 치환/변형함으로써 제 1 문장과 표현이 상이한, 변형된 문장이 생성될 수 있다. 여기서, 제 1 문장과 표현이 상이한, 변형된 문장은 제 2 문장으로 지칭될 수 있다.
제 2 문장을 생성하기 위해, 제 1 문장 중에서 치환/변형되는 분절이 선택될 필요가 있다. 다만, 제 1 문장 중에서 레이블을 나타내는 분절을 변경하는 경우에, 생성된 문장은 기존의 레이블에 상응하지 않는 문장이 될 수 있다. 예를 들어, 제 1 문장이 "이 영화는 참 좋다"이고 레이블이 "긍정"인 경우에, "좋다"라는 분절이 치환/변형되는 분절로 결정되었다고 가정한다. 이 경우에, "좋다"라는 분절이 "싫다"라는 분절로 변형되는 경우에, 생성되는 제 2 문장은 "이 영화는 참 싫다"가 될 수 있다. 이 경우에, 제 2 문장은 "긍정평"이라는 레이블과 상충되게 된다. 따라서, 제 1 문장 중에서 변형되는 분절을 선택하는데 있어서, 제 1 문장의 레이블 및 문장의 통사적/문법적 정보(즉, 통사 정보)를 이용하는 것이 필요할 수 있다. 예를 들어, 형태소 분석 방법을 통해 획득되는 통사 정보를 사용하여 제 1 문장 중에서 변형되지 않는 부분(즉, 고정 분절)을 결정함으로써 레이블을 유지하는 데이터 증강 방법이 제공될 수 있다.
형태소 분석 방법을 통해 제 1 문장의 고정 분절을 결정하는 구체적인 방법이 이하에서 설명된다.
본 개시의 몇몇 실시예에 따라, 제 1 문장의 고정 분절을 결정하는 단계는 제 1 문장의 레이블 정보를 이용하여 제약 조건을 결정하는 단계 및 제약 조건에 기초하여 제 1 문장의 형태소 중 하나 이상을 상기 고정 분절로 결정하는 단계를 포함할 수 있다.
상술한 바와 같이, 데이터 증강을 위해 레이블 정보를 훼손하지 않으면서 제 1 문장을 제 2 문장으로 변경할 필요가 있다. 따라서, 제 1 문장의 분절 중에서 레이블 정보를 나타내는 분절이 고정 분절로 결정될 필요가 있다. 여기서 고정 분절은 제 1 문장의 분절 중에서 변형되지 않는 부분(분절)을 의미할 수 있다. 레이블 정보는 지도 학습 과정에서 데이터에 매칭되는 정답을 의미하는 정보를 포함할 수 있다.
예를 들어, 도 3을 참조하면, 제 1 문장 "봉준호 감독의 영화는 항상 좋다"에 대한 레이블 정보는 "긍정평"일 수 있다. 이 경우에, 레이블 정보를 나타내는 분절은 문장 중에서 형용사인 형태소일 수 있다. 따라서, 제약 조건은 레이블 정보 "긍정평"에 따라 형용사인 형태소를 변경하지 않는다는 정보로 결정될 수 있다. 이 경우에, 형용사인 형태소를 변경하지 않는다는 제약 조건에 따라, 제 1 문장의 형태소 중 형용사인 형태소 "좋다"가 고정 분절로 결정될 수 있다. 다만 이에 한정되지 않고, 다양한 방법으로 제약 조건 및 고정 분절이 결정될 수 있다.
추가적으로, 본 개시의 몇몇 실시예에 따라, 제 1 문장의 레이블 정보를 이용하여 제약 조건을 결정하는 단계는 추가 조건을 추가로 이용하여 제약 조건을 결정하는 단계를 더 포함할 수 있다.
추가 조건은 제 1 문장의 분절 중에서 고정 분절이 될 수 있는 분절에 대한 지정 정보를 포함할 수 있다. 추가 조건은 사용자에 의해 결정될 수 있으며, 필요에 따라 다양하게 변경될 수 있다. 추가 조건은 레이블 정보를 유지하면서 데이터 증강되는 문장의 성격을 한정하는데 사용될 수 있다. 예를 들어, 레이블 정보가 "긍정평"인 경우 추가 조건은 긍정평의 대상, 긍정평의 정도 등을 한정하는 정보를 포함할 수 있다.
예를 들어, 도 3을 참조하면, 추가 조건은 고유 명사인 형태소 "봉준호", 부사인 "항상"을 고정 분절로 지정하는 정보를 포함할 수 있다. 이 경우에, 제 1 문장의 고정 분절은 제약 조건에 따라 레이블 정보에 의해 결정되는 "좋다" 이외에, 추가 조건에 의해 결정되는 "봉준호" 및 "항상"을 포함하도록 결정될 수 있다. 따라서, 레이블 정보 "긍정평"을 보존하면서, 추가 조건에 의해 "봉준호" 및 "항상"을 포함하는 다양한 제 2 문장이 생성되는 방향으로 데이터 증강이 이루어 질 수 있다. 다만 이에 한정되지 않고, 다양한 방식으로 추가 조건을 추가로 이용하여 고정 분절이 결정될 수 있다.
본 개시의 몇몇 실시예에 따라, 자연어 처리를 위한 데이터 증강 방법은 제약 조건이 결정되는 경우에, 제 2 문장의 레이블 정보를 제약 조건에 기초하여 업데이트하는 단계를 더 포함할 수 있다.
상술한 바와 같이, 제 1 문자의 레이블 정보를 보존하면서 제 2 문장을 생성하는 데이트 증강이 이루어지므로, 일반적으로 제 2 문장의 레이블 정보는 제 1 문장의 레이블 정보를 이용하여 생성될 수 있다. 예를 들어, 제 2 문장의 레이블 정보는 제 1 문장의 레이블 정보와 동일할 수 있다.
추가적으로, 제 2 문장의 레이블 정보는 제약 조건을 이용하여 추가적인 정보를 포함하도록 업데이트될 수 있다. 예를 들어, 제 2 문장의 레이블 정보는 제약 조건에 의해 결정된 고정 분절에 대한 정보를 포함하도록 업데이트될 수 있다. 예를 들어, 도 3을 참조하면, 제 1 문장 "봉준호 감독의 영화는 항상 좋다"(300) 중 고정 분절로 결정된 "봉준호", "항상" 및 "좋다" 이외의 분절이 변형되어 제 2 문장 "봉준호 선생님의 연출은 항상 좋다" (340)가 생성될 수 있다. 이 경우에, 본 개시의 몇몇 실시예에 따라, 제 2 문장의 레이블 정보는 제약 조건에 의해 결정된 고정 분절을 포함하도록 업데이트될 수 있다. 이 경우에, 업데이트된 제 2 문장의 레이블 정보는 "긍정평, 봉준호, 항상, 좋다"가 될 수 있다. 본 개시의 몇몇 실시예에 따라, 업데이트된 제 2 문장의 레이블 정보는 제약 조건에 의해 결정되는 고정 분절의 형태소의 품사 정보를 포함할 수 있다. 이 경우에, 업데이트된 제 2 문장의 레이블 정보는 "긍정평, 고유명사, 부사, 형용사"가 될 수 있다. 또한, 본 개시의 몇몇 실시예에 따라, 업데이트된 제 2 문장의 레이블 정보는 제약 조건에 의해 결정되는 고정 분절의 형태소의 품사 정보 및 대응하는 분절에 기초하여 업데이트될 수 있다. 이 경우에, 업데이트된 제 2 문장의 레이블 정보는 "긍정평, 봉준호(고유명사), 항상(부사), 좋다(형용사)"가 될 수 있다. 다만 이에 한정되지 않고 제 2 문장의 레이블 정보는 다양한 방식으로 업데이트될 수 있다. 예를 들어, 제약 조건 중 레이블 정보에 의해 결정되는 고정 분절에 대한 정보에 의해서 제 2 문장의 레이블 정보가 업데이트되거나, 또는 제약 조건 중 추가 조건에 의해 결정되는 고정 분절에 대한 정보에 의해서 제 2 문장의 레이블 정보가 업데이트될 수 있다.
다른 예로, 제 2 문장의 레이블 정보는 제약 조건에 의해 결정된 고정 분절이 아닌 분절에 대한 정보를 포함하도록 업데이트될 수 있다. 예를 들어, 도 3을 참조하면, 상술한 바와 같이 제 1 문장 "봉준호 감독의 영화는 항상 좋다"(300) 중 고정 분절로 결정된 "봉준호", "항상" 및 "좋다" 이외의 분절이 변형되어 제 2 문장 "봉준호 선생님의 연출은 항상 좋다"(340)가 생성될 수 있다. 이 경우에, 본 개시의 몇몇 실시예에 따라, 제 2 문장의 레이블 정보는 제약 조건에 의해 결정된 고정 분절 이외의 분절을 포함하도록 업데이트될 수 있다. 이 경우에, 업데이트된 제 2 문장의 레이블 정보는 "긍정평, 선생님, 연출"이 될 수 있다. 본 개시의 몇몇 실시예에 따라, 업데이트된 제 2 문장의 레이블 정보는 제약 조건에 의해 결정되는 고정 분절의 이외의 형태소의 품사 정보를 포함할 수 있다. 이 경우에, 업데이트된 제 2 문장의 레이블 정보는 "긍정평, 일반명사, 일반명사"가 될 수 있다. 또한, 본 개시의 몇몇 실시예에 따라, 업데이트된 제 2 문장의 레이블 정보는 제약 조건에 의해 결정되는 고정 분절 이외의 분절의 형태소의 품사 정보 및 대응하는 분절에 기초하여 업데이트될 수 있다. 이 경우에, 업데이트된 제 2 문장의 레이블 정보는 "긍정평, 선생님(일반명사), 연출(일반 명사)"가 될 수 있다. 다만 이에 한정되지 않고 제 2 문장의 레이블 정보는 다양한 방식으로 업데이트될 수 있다.
업데이트된 제 2 문장의 레이블 정보는 다양한 관점에서 생성된 문장의 데이터셋을 다양한 레이블로 분류할 수 있도록 하여, 본 개시의 데이터 증강 방법에 의해 생성된 데이터셋이 다양한 방식으로 사용될 수 있도록 할 수 있다.
이하에서, 제 1 문장의 고정 분절이 결정된 이후에, 제 1 문장이 제 2 문장으로 변형되는 단계에 대하여 구체적으로 설명한다.
본 개시의 몇몇 실시예에 따라, 자연어 처리를 위한 데이터 증강 방법은 언어 모델에 의해, 고정 분절을 유지하면서 제 1 문장을 제 2 문장으로 변형시키는 단계(s130)를 포함할 수 있다.
예를 들어, 도 3을 참조하면, 상술한 바와 같이, 제약 조건에 의해 제 1 문장의 고정 분절이 "봉준호", "항상", "좋다"로 결정될 수 있다. 이 경우에, 고정 분절인 "봉준호", "항상", "좋다"를 변경하지 않고, 제 1 문장의 다른 분절 "감독" "영화"가 제 2 문장을 생성하기 위해 변경될 수 있다. 예를 들어, 고정 분절을 유지하고 제 1 문장의 "감독"및 "영화"가 마스킹 될 수 있다(도 3의 330 참조).
이 경우에, 언어 모델은 마스킹된 부분에 적절한 분절을 선택(언마스킹으로 지칭될 수 있음)함으로써 제 2 문장을 생성할 수 있다. 예를 들어, 언어 모델은 "감독"에 대하여 "선생님", "영화"에 대하여 "연출"이라는 분절을 선택함으로써 "봉준호 선생님의 연출은 항상 좋다"라는 제 2 문장을 생성할 수 있다(도 3의 340 참조). 언마스킹은 상술한 예시에서와 같이 모든 마스킹된 분절에 대해서 이루어질 수 있으나, 일부 분절에 대해서만 수행될 수도 있다. 또한, 언마스킹된 분절에 포함되는 조사인 "의" 및 "는"은 본 예시에서 변형되지 않으나, 변형된 분절에 포함되는 조사는 문법에 따라 적절하게 변형될 수 있다. 다만, 이는 단지 예시에 불과하며, 다양한 방식으로 제 2 문장이 생성될 수 있다.
생성된 제 2 문장은 예를 들어, 문장 데이터베이스 상에 저장될 수 있다. 문장 데이터베이스에 저장된 데이터는 학습 데이터로서 다양한 언어 모델 또는 네트워크 구조를 학습시키는데 사용될 수 있다.
본 개시의 몇몇 실시예에 따라, 언어 모델은 단어 임베딩 벡터(word embedding vector) 모델 또는 맥락적 임베딩 벡터(contextual embedding vector) 모델 중 적어도 하나일 수 있다.
단어 임베딩 벡터 모델은 단어 간의 유사도를 나타낼 수 있는 벡터값을 계산하고, 유사한 벡터값을 가진 유사한 단어를 선택할 수 있는 언어 모델일 수 있다. 예를 들어, 단어 임베딩 벡터 모델은 Word2vec, GloVe, GN-GloVe 등을 포함할 수 있다. Word2vec에 대한 설명은 본 출원에서 전체가 참조로서 통합되는 논문 Efficient Estimation of Word Representations in Vector Space (공개일: 2013.01.16, 작성자: Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean)에서 구체적으로 논의된다.
맥락적 임베딩 벡터 모델은 단어를 저차원(일반적으로 100~500 차원) 공간에서 표현하고, 동일한 단어에 대하여 문맥에 따라 그 표현 방법을 달리 선택할 수 있는 언어 모델일 수 있다. 예를 들어, 맥락적 임베딩 벡터 모델은 ELMo, BERT 등을 포함할 수 있다. BERT 모델에 대한 설명은 본 출원에서 전체가 참조로서 통합되는 논문 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (공개일: 2019.05.24, 작성자: Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, Google AI Language)에서 구체적으로 논의된다. 다만 이에 한정되지 않고, 언어 모델은 다양한 모델을 포함할 수 있다.
상술한 바와 같이, 본 개시의 자연어 처리를 위한 데이터 증강 방법에 의하면, 자연어 처리 기술 중 하나인 형태소 분석을 이용하여 문장의 통사 정보를 획득할 수 있다. 획득된 통사 정보는 문장의 레이블을 훼손하지 않기 위해 문장 중에서 변형되지 않을 부분을 결정하는데 사용될 수 있다. 따라서, 레이블의 정확도를 훼손하지 않는 데이터 증강이 수행될 수 있다.
도 4는 본 개시의 몇몇 실시예에 따른 의존성 분석을 이용하는 자연어 처리를 위한 데이터 증강 방법을 설명하기 위한 순서도이다. 도 5는 본 개시의 몇몇 실시예에 따른 의존성 분석을 이용하는 자연어 처리를 위한 데이터 증강 방법의 예시를 설명하기 위한 도면이다.
본 개시의 몇몇 실시예에 따라, 다른 양상의 자연어 처리를 위한 데이터 증강 방법에 의하면, 자연어 처리 기술 중 하나인 의존성 분석(dependency analysis)을 이용하여 문장의 통사 정보를 획득할 수 있다. 획득된 통사 정보는 문장의 레이블을 훼손하지 않기 위해 문장 중에서 변형되지 않을 부분을 결정하는데 사용될 수 있다. 따라서, 레이블의 정확도를 훼손하지 않는 데이터 증강이 수행될 수 있다. 또한, 본 개시의 자연어 처리를 위한 데이터 증강 방법은 형태소 분석 및 의존성 분석을 이용하여 수행될 수 있다.
본 개시의 몇몇의 실시예에 따라, 의존성 분석 방법을 이용하는 자연어 처리를 위한 데이터 증강 방법은 아래에서 설명되는 단계(s200 내지 s230)를 포함할 수 있다. 다만, 이러한 단계들은 단지 예시의 목적으로 설명되며, 일부의 단계가 변경 또는 생략되거나, 추가적인 단계가 부가될 수 있다. 또한, 이러한 단계들은 임의의 순서로 수행될 수 있으며, 반드시 아래에서 설명되는 순서로 수행되는 것은 아니다.
본 개시의 몇몇 실시예에 따라, 자연어 처리를 위한 데이터 증강 방법은 제 1 문장을 획득하는 단계(s200)를 포함할 수 있다.
구체적으로 설명하면, 상술한 바와 같이, 제 1 문장은 데이터 증강을 위해 새로이 생성되는 문장의 기준이 되는 문장을 의미할 수 있다. 예를 들어, 제 1 문장은 사용자에 의해 입력된 문장이거나 또는 복수의 문장이 저장되어 있는 문장 데이터베이스(예를 들어, 챗봇용 문장 데이터베이스)에 저장된 문장일 수 있다. 문장 데이터베이스에 저장된 데이터는 학습 데이터로서 다양한 언어 모델 또는 네트워크 구조를 학습시키는데 사용될 수 있다.
본 개시의 몇몇 실시예에 따라, 자연어 처리를 위한 데이터 증강 방법은 의존성 분석 방법을 이용하여 상기 제 1 문장의 통사 정보를 획득하는 단계(s210)를 포함할 수 있다.
구체적으로, 프로세서(110)는 의존성 분석 방법을 이용하여 통사 정보를 획득할 수 있다. 상술한 바와 같이, 통사 정보란 문장의 의미적/맥락적으로 추출되는 정보 뿐만 아니라 형태소, 단어 단위의 문법 구조에 의해 추출되는 정보를 포함할 수 있다. 의존성 분석에 의해 획득되는 통사 정보는 제 1 문장을 구성하는 문법 구조에 따라 분절 간의 관계(예를 들어, 분절 간의 의존성, 문장이 나타내는 의미를 구성하는 분절의 집합 등)를 나타내는 정보일 수 있다. 상술한 바와 같이, 통사 정보는 의존성 분석과 함께 형태소 분석을 통해 획득될 수도 있다.
예를 들어, 의존성 분석을 통해 획득되는 통사 정보는 제 1 문장의 문법 구조를 통해 획득되는 제 1 문장의 주어, 술어, 보어, 목적어, 조사 등 문자 성분에 대한 정보 및 그 의존 관계에 대한 정보를 포함할 수 있다. 구체적으로, 도 5를 참조하면, 의존성 분석을 통해 획득되는 통사 정보는 제 1 문장인 "나는 집에 가는 중입니다"(400)가 주어인 "나는", 부사어인 "집에", 부사 서술어인 "가는", 주어 술어부인 "중입니다"를 포함한다는 정보와, 주어인 "나는"과 주어 서술어인 "중입니다"가 의존 관계에 있고, 부사어인 "집에"와 주어 술어부인"중입니다"가 의존 관계에 있다는 정보를 포함할 수 있다. 획득된 통사 정보는 다음과 같이 제 1 문장의 고정 분절을 결정하는데 사용될 수 있다.
본 개시의 몇몇 실시예에 따라, 자연어 처리를 위한 데이터 증강 방법은 제 1 문장의 레이블 정보 및 통사 정보에 기초하여 제 1 문장의 고정 분절을 결정하는 단계 (s220)를 포함할 수 있다.
구체적으로 설명하면, 상술한 바와 같이, 제 1 문장은 복수의 분절을 포함할 수 있다. 분절(token)은 자연어 처리를 위해 사용되는 자연어 단위를 포함할 수 있다. 분절은 예를 들어 글자 단위, 단어, 보조단어, 형태소 단위, 어절 단위, 구 단위 등을 포함할 수 있다. 본 개시의 일 실시예에 따라, 분절 처리는 문장을 원하는 단위로 자르는 것을 포함할 수 있다. 본 실시예에서, 분절은 문법 구조를 이루는 문장 성분을 의미할 수 있다. 도 5를 참조하면, 제 1 문장은 복수의 분절 "그녀는", "집에", "가는", "중입니다"를 포함할 수 있다(도 5의 410 참조).
본 개시의 몇몇 실시예에 따라, 데이터 증강을 위해, 제 1 문장의 분절(또는 형태소)를 치환/변형함으로써 제 1 문장과 표현이 상이한, 변형된 문장이 생성될 수 있다. 상술한 바와 같이, 여기서, 제 1 문장과 표현이 상이한, 변형된 문장은 제 2 문장으로 지칭될 수 있다.
상술한 바와 같이, 제 2 문장을 생성하기 위해, 제 1 문장 중에서 치환/변형되는 분절이 선택될 필요가 있다. 다만, 제 1 문장 중에서 레이블을 나타내는 분절을 변경하는 경우에, 생성된 문장은 기존의 레이블에 상응하지 않는 문장이 될 수 있다. 예를 들어, 제 1 문장이 "이 영화는 참 좋다"이고 레이블이 "긍정"인 경우에, "좋다"라는 분절이 치환/변형되는 분절로 결정되었다고 가정한다. 이 경우에, "좋다"라는 분절이 "싫다"라는 분절로 변형되는 경우에, 생성되는 제 2 문장은 "이 영화는 참 싫다"가 될 수 있다. 이 경우에, 제 2 문장은 "긍정평"이라는 레이블과 상충되게 된다. 따라서, 제 1 문장 중에서 변형되는 분절을 선택하는데 있어서, 제 1 문장의 레이블 및 문장의 통사적/문법적 정보(즉, 통사 정보)를 이용하는 것이 필요할 수 있다. 예를 들어, 의존성 분석 방법을 통해 획득되는 통사 정보를 사용하여 제 1 문장 중에서 변형되지 않는 부분(즉, 고정 분절)을 결정함으로써 레이블이 유지하는 데이터 증강 방법이 제공될 수 있다.
의존성 분석 방법을 통해 제 1 문장의 고정 분절을 결정하는 구체적인 방법이 이하에서 설명된다.
본 개시의 몇몇 실시예에 따라, 제 1 문장의 고정 분절을 결정하는 단계는 제 1 문장의 레이블 정보를 이용하여 제약 조건을 결정하는 단계 및 제약 조건에 기초하여 제 1 문장의 분절 중 하나 이상을 상기 고정 분절로 결정하는 단계를 포함할 수 있다.
상술한 바와 같이, 데이터 증강을 위해 레이블 정보를 훼손하지 않으면서 제 1 문장이 제 2 문장으로 변경될 필요가 있다. 따라서, 제 1 문장의 분절 중에서 레이블 정보에 나타내는 분절이 고정 분절로 결정될 필요가 있다. 여기서 고정 분절은 제 1 문장의 분절 중에서 변형되지 않는 부분(분절)을 의미할 수 있다. 레이블 정보는 지도 학습 과정에서 데이터에 매칭되는 정답을 의미하는 정보를 포함할 수 있다.
예를 들어, 도 5를 참조하면, 제 1 문장 "나는 집에 가는 중입니다"(400)에 대한 레이블 정보는 "집에 가다"일 수 있다. 이 경우에, 레이블 정보를 나타내는 분절은 문장 중에서 부사인 "집에"와 부사 서술어인 "가는"일 수 있다. 따라서, 제약 조건은 레이블 정보에 따라 "부사인 분절 및 부사 서술어인 분절을 변경하지 않는다는 정보로 결정될 수 있다. 이 경우에, 제약 조건에 따라, 제 1 문장의 분절 중 부사인 "집에"와 부사 서술어인 "가는"이 고정 분절로 결정될 수 있다. 다만 이에 한정되지 않고, 다양한 방법으로 제약 조건 및 고정 분절이 결정될 수 있다.
추가적으로, 본 개시의 몇몇 실시예에 따라, 제 1 문장의 레이블 정보를 이용하여 제약 조건을 결정하는 단계는 추가 조건을 추가로 이용하여 제약 조건을 결정하는 단계를 더 포함할 수 있다.
상술한 바와 같이, 추가 조건은 제 1 문장의 분절 중에서 고정 분절이 될 수 있는 분절에 대한 지정 정보를 포함할 수 있다. 추가 조건은 사용자에 의해 결정될 수 있으며, 필요에 따라 다양하게 변경될 수 있다. 추가 조건은 레이블 정보를 유지하면서 데이터 증강되는 문장의 성격을 한정하는데 사용될 수 있다. 예를 들어, 레이블 정보가 "집에 가다"인 경우 추가 조건은 문장의 다른 문장 성분(예를 들어, 주어, 주어 술어부 등), 시점 등을 한정하는 정보를 포함할 수 있다.
도 5에 도시되지 않으나, 예를 들어, 추가 조건은 주어인 "나는"을 고정 분절로 지정하는 정보를 포함할 수 있다. 이 경우에, 제 1 문장의 고정 분절은 레이블 정보에 의해 결정되는 "집에" 이외에, 추가 조건에 의해 결정되는 주어인 분절 "나는"을 포함할 수 있다. 다른 예로, 추가 조건이 주어 술어부인 "중입니다"를 고정 분절로 지정하는 정보를 포함할 수 있다. 이 경우에, 제 1 문장의 고정 분절은 레이블 정보에 의해 결정되는 "집에" 이외에, 추가 조건에 의해 결정되는 주어인 분절 "중입니다"를 포함할 수 있다.
따라서, 레이블 정보 "집에 가다"를 보존하면서, 추가 조건에 의해 "나는" 또는 "중입니다"를 포함하는 다양한 제 2 문장이 생성되는 방향으로 데이터 증강이 이루어 질 수 있다. 다만 이에 한정되지 않고, 다양한 방식으로 추가 조건을 추가로 이용하여 고정 분절이 결정될 수 있다.
본 개시의 몇몇 실시예에 따라, 자연어 처리를 위한 데이터 증강 방법은 제약 조건이 결정되는 경우에, 제 2 문장의 레이블 정보를 제약 조건에 기초하여 업데이트하는 단계를 더 포함할 수 있다.
상술한 바와 같이, 제 1 문자의 레이블 정보를 보존하면서 제 2 문장을 생성하는 데이트 증강이 이루어지므로, 일반적으로 제 2 문장의 레이블 정보는 제 1 문장의 레이블 정보를 이용하여 생성될 수 있다. 예를 들어, 제 2 문장의 레이블 정보는 제 1 문장의 레이블 정보와 동일할 수 있다. 다만, 제 2 문장의 레이블 정보는 제약 조건을 이용하여 추가적인 정보를 포함하도록 업데이트될 수 있다.
추가적으로, 제 2 문장의 레이블 정보는 제약 조건을 이용하여 추가적인 정보를 포함하도록 업데이트될 수 있다. 예를 들어, 제 2 문장의 레이블 정보는 제약 조건에 의해 결정된 고정 분절에 대한 정보를 포함하도록 업데이트될 수 있다. 예를 들어, 도 5를 참조하면, 제 1 문장 "나는 집에 가는 중입니다"(400) 중 고정 분절로 결정된 "집에" 및 "가는" 이외의 분절이 변형되어 제 2 문장 "그녀는 집에 가는 중입니다" (440)가 생성될 수 있다. 이 경우에, 본 개시의 몇몇 실시예에 따라, 제 2 문장의 레이블 정보는 제약 조건에 의해 결정된 고정 분절을 포함하도록 업데이트될 수 있다. 이 경우에, 업데이트된 제 2 문장의 레이블 정보는 "집에 가다, 집에, 가는"이 될 수 있다. 본 개시의 몇몇 실시예에 따라, 업데이트된 제 2 문장의 레이블 정보는 제약 조건에 의해 결정되는 고정 분절의 문장 성분의 유형 정보를 포함할 수 있다. 이 경우에, 업데이트된 제 2 문장의 레이블 정보는 "집에 가다, 부사, 부사 서술어"가 될 수 있다. 또한, 본 개시의 몇몇 실시예에 따라, 업데이트된 제 2 문장의 레이블 정보는 제약 조건에 의해 결정되는 고정 분절의 문장 성분의 유형 정보 및 대응하는 분절에 기초하여 업데이트될 수 있다. 이 경우에, 업데이트된 제 2 문장의 레이블 정보는 "집에 가다, 집에(부사), 가는(부사 서술어),"가 될 수 있다. 다만 이에 한정되지 않고 제 2 문장의 레이블 정보는 다양한 방식으로 업데이트될 수 있다. 예를 들어, 제약 조건 중 레이블 정보에 의해 결정되는 고정 분절에 대한 정보에 의해서만 제 2 문장의 레이블 정보가 업데이트되거나, 또는 제약 조건 중 추가 조건에 의해 결정되는 고정 분절에 대한 정보에 의해서만 제 2 문장의 레이블 정보가 업데이트될 수 있다.
다른 예로, 제 2 문장의 레이블 정보는 제약 조건에 의해 결정된 고정 분절이 아닌 분절에 대한 정보를 포함하도록 업데이트될 수 있다. 예를 들어, 도 5를 참조하면, 상술한 바와 같이 제 1 문장 "나는 집에 가는 중입니다"(400) 중 고정 분절로 결정된 "집에" 및 "가는" 이외의 분절이 변형되어 제 2 문장 "그녀는 집에 가는 중입니다"(440)가 생성될 수 있다. 이 경우에, 본 개시의 몇몇 실시예에 따라, 제 2 문장의 레이블 정보는 제약 조건에 의해 결정된 고정 분절 이외의 분절을 포함하도록 업데이트될 수 있다. 이 경우에, 업데이트된 제 2 문장의 레이블 정보는 "집에 가다, 그녀는, 중입니다"가 될 수 있다. 본 개시의 몇몇 실시예에 따라, 업데이트된 제 2 문장의 레이블 정보는 제약 조건에 의해 결정되는 고정 분절의 이외의 분절의 문장 성분의 유형 정보를 포함할 수 있다. 이 경우에, 업데이트된 제 2 문장의 레이블 정보는 "집에 가다, 주어, 주어 술어부"가 될 수 있다. 또한, 본 개시의 몇몇 실시예에 따라, 업데이트된 제 2 문장의 레이블 정보는 제약 조건에 의해 결정되는 고정 분절 이외의 분절의 문장 성분의 유형 정보 및 대응하는 분절에 기초하여 업데이트될 수 있다. 이 경우에, 업데이트된 제 2 문장의 레이블 정보는 "집에 가다, 그녀는(주어), 중입니다(주어 술어부)"가 될 수 있다. 다만 이에 한정되지 않고 제 2 문장의 레이블 정보는 다양한 방식으로 업데이트될 수 있다.
업데이트된 제 2 문장의 레이블 정보는 다양한 관점에서 생성된 문장의 데이터셋을 다양한 레이블로 분류할 수 있도록 하여, 보다 효율적인 데이터 증강 방법이 수행될 수 있다.
이하에서, 제 1 문장의 고정 분절이 결정된 이후에, 제 1 문장이 제 2 문장으로 변형되는 단계에 대하여 구체적으로 설명한다.
본 개시의 몇몇 실시예에 따라, 자연어 처리를 위한 데이터 증강 방법은 언어 모델에 의해, 고정 분절을 유지하면서 제 1 문장을 제 2 문장으로 변형시키는 단계(s230)를 포함할 수 있다.
예를 들어, 도 5를 참조하면, 상술한 바와 같이, 제 1 문장의 고정 분절은 "집에", "가는"일 수 있다. 이 경우에, 고정 분절인 "집에" 및 "가는"을 변경하지 않고, 제 1 문장의 다른 분절 "나는" 및 "중입니다"가 제 2 문장을 생성하기 위해 변경될 수 있다. 예를 들어, 고정 분절을 유지하고 제 1 문장의 "나는" 및 "중입니다"가 마스킹 될 수 있다(도 5의 430 참조).
이 경우에, 언어 모델은 마스킹된 부분에 적절한 분절(또는 단어)을 선택(언마스킹으로 지칭될 수 있음)함으로써 제 2 문장을 생성할 수 있다. 예를 들어, 언어 모델은 "나는"에 대하여 "그녀는"이라는 분절을 선택하고, "중입니다"에 대하여 기존의 분절을 다시 선택함으로써 "그녀는 집에 가는 중입니다"라는 제 2 문장을 생성할 수 있다(도 5의 340 참조). 언마스킹은 상술한 예시에서와 같이 마스킹된 분절 중 일부에 대해서 이루어질 수 있으나, 모든 마스킹된 분절에 대해서 수행될 수도 있다. 또한, 언마스킹된 분절에 포함되는 조사인 형용사 "는"은 본 예시에서 변형되지 않으나, 변형된 분절에 포함되는 조사는 문법에 따라 적절하게 변형될 수 있다. 다만, 이는 단지 예시에 불과하며, 다양한 방식으로 제 2 문장이 생성될 수 있다.
생성된 제 2 문장은 문장 데이터베이스 상에 저장될 수 있다. 문장 데이터베이스에 저장된 데이터는 학습 데이터로서 다양한 언어 모델 또는 네트워크 구조를 학습시키는데 사용될 수 있다.
본 개시의 몇몇 실시예에 따라, 상술한 바와 같이, 언어 모델은 단어 임베딩 벡터(word embedding vector) 모델 또는 맥락적 임베딩 벡터(contextual embedding vector) 모델 중 적어도 하나일 수 있다.
단어 임베딩 벡터 모델은 단어 간의 유사도를 나타낼 수 있는 벡터값을 계산하고, 유사한 벡터값을 가진 유사한 단어를 선택할 수 있는 언어 모델일 수 있다. 예를 들어, 단어 임베딩 벡터 모델은 Word2vec, GloVe, GN-GloVe 등을 포함할 수 있다. Word2vec에 대한 설명은 본 출원에서 전체가 참조로서 통합되는 논문 Efficient Estimation of Word Representations in Vector Space (공개일: 2013.01.16, 작성자: Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean)에서 구체적으로 논의된다.
맥락적 임베딩 벡터 모델은 단어를 저차원(일반적으로 100~500 차원) 공간에서 표현하고, 동일한 단어에 대하여 문맥에 따라 그 표현 방법을 달리 선택할 수 있는 언어 모델일 수 있다. 예를 들어, 맥락적 임베딩 벡터 모델은 ELMo, BERT 등을 포함할 수 있다. BERT 모델에 대한 설명은 본 출원에서 전체가 참조로서 통합되는 논문 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (공개일: 2019.05.24, 작성자: Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, Google AI Language)에서 구체적으로 논의된다. 다만 이에 한정되지 않고, 언어 모델은 다양한 모델을 포함할 수 있다.
상술한 바와 같이, 본 개시의 자연어 처리를 위한 데이터 증강 방법에 의하면, 자연어 처리 기술 중 하나인 의존성 분석을 이용하여 문장의 통사 정보를 획득할 수 있다. 획득된 통사 정보는 문장의 레이블을 훼손하지 않기 위해 문장 중에서 변형되지 않을 부분을 결정하는데 사용될 수 있다. 따라서, 레이블의 정확도를 훼손하지 않는 데이터 증강이 수행될 수 있다.
도 6은 본 개시의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도이다.
본 개시가 일반적으로 컴퓨팅 장치에 의해 구현될 수 있는 것으로 전술되었지만, 당업자라면 본 개시가 하나 이상의 컴퓨터 상에서 실행될 수 있는 컴퓨터 실행가능 명령어 및/또는 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로써 구현될 수 있다는 것을 잘 알 것이다. 여기서 컴퓨팅 장치는 본 개시에 따른 문장을 생성 및 검증하기 위한 방법을 수행할 수 있다.
컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다. 컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 판독가능 저장 매체는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함할 수 있다. 컴퓨터 판독가능 저장 매체는 본 개시에 따라 하나 이상의 프로세서로 하여금 문장을 생성 및 검증하기 위한 방법을 수행하도록 하는 명령을 포함하는 컴퓨터 프로그램을 저장할 수 있다.
컴퓨터 판독가능 전송 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다.
컴퓨터(1102)를 포함하는 본 개시의 여러가지 측면들을 구현하는 예시적인 환경(1100)이 나타내어져 있으며, 컴퓨터(1102)는 처리 장치(1104), 시스템 메모리(1106) 및 시스템 버스(1108)를 포함한다. 시스템 버스(1108)는 시스템 메모리(1106)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(1104)에 연결시킨다. 처리 장치(1104)는 다양한 상용 프로세서들 중 임의의 프로세서일 수 있다.
시스템 버스(1108)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇 가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(1106)는 판독 전용 메모리(ROM)(1110) 및 랜덤 액세스 메모리(RAM)(1112)를 포함한다. 기본 입/출력 시스템(BIOS)은 비휘발성 메모리(1110)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(1102) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다.
컴퓨터(1102)는 또한 내장형 하드 디스크 드라이브(HDD)(1114), 자기 플로피 디스크 드라이브(FDD)(1116), 및 광 디스크 드라이브(1120)를 포함한다. 이들은 각각의 인터페이스(1124, 1126, 1128)에 의해 시스템 버스(1108)에 연결될 수 있다.
이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(1102)의 경우, 드라이브 및 매체는 임의의 데이터를 적당한 디지털 형식으로 저장하는 것에 대응한다.
운영 체제(1130), 하나 이상의 애플리케이션 프로그램(1132), 기타 프로그램 모듈(1134) 및 프로그램 데이터(1136)를 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(1112)에 저장 및 캐싱될 수 있다.
사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(1138) 및 마우스(1140) 등의 포인팅 장치를 통해 컴퓨터(1102)에 명령 및 정보를 입력할 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(1108)에 연결되어 있는 입력 장치 인터페이스(1142)를 통해 처리 장치(1104)에 연결되지만, 임의의 다른 인터페이스에 의해 연결될 수 있다.
모니터(1144) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(1146) 등의 인터페이스를 통해 시스템 버스(1108)에 연결된다. 모니터(1144)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.
컴퓨터(1102)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(1148) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1148)는 임의의 통상적인 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(1102)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(1150)만이 도시되어 있다.
본 개시의 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다.
본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 소프트웨어로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 제조 물품은 임의의 컴퓨터-판독가능 저장장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다
제시된 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.

Claims (8)

  1. 컴퓨팅 장치에 의해 수행되는 자연어 처리를 위한 데이터 증강 방법에 있어서,
    제 1 문장을 획득하는 단계;
    형태소 분석 방법을 이용하여 상기 제 1 문장의 통사 정보를 획득하는 단계;
    상기 제 1 문장의 레이블 정보 및 상기 통사 정보에 기초하여 상기 제 1 문장의 고정 분절을 결정하는 단계; 및
    언어 모델에 의해, 상기 고정 분절을 유지하면서 상기 제 1 문장을 제 2 문장으로 변형시키는 단계;
    를 포함하고,
    상기 제 1 문장의 고정 분절을 결정하는 단계는:
    상기 제 1 문장의 레이블 정보를 이용하여 제약 조건을 결정하는 단계; 및
    상기 제약 조건에 기초하여 상기 제 1 문장의 형태소 중 하나 이상을 상기 고정 분절로 결정하는 단계;
    를 포함하고,
    상기 제 1 문장의 레이블 정보를 이용하여 제약 조건을 결정하는 단계는:
    사용자 조건을 추가로 이용하여 상기 제약 조건을 결정하는 단계:
    를 포함하는,
    방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 제 2 문장의 레이블 정보를 상기 제약 조건에 기초하여 업데이트하는 단계;
    를 더 포함하는,
    방법.
  5. 컴퓨팅 장치에 의해 수행되는 자연어 처리를 위한 데이터 증강 방법에 있어서,
    제 1 문장을 획득하는 단계;
    의존성 분석 방법을 이용하여 상기 제 1 문장의 통사 정보를 획득하는 단계;
    상기 제 1 문장의 레이블 정보 및 상기 통사 정보에 기초하여 상기 제 1 문장의 고정 분절을 결정하는 단계; 및
    언어 모델에 의해, 상기 고정 분절을 유지하면서 상기 제 1 문장을 제 2 문장으로 변형시키는 단계;
    를 포함하고,
    상기 제 1 문장의 고정 분절을 결정하는 단계는:
    상기 제 1 문장의 레이블 정보를 이용하여 제약 조건을 결정하는 단계; 및
    상기 제약 조건에 기초하여 상기 제 1 문장의 분절 중 하나 이상을 상기 고정 분절로 결정하는 단계;
    를 포함하고,
    상기 제 1 문장의 레이블 정보를 이용하여 제약 조건을 결정하는 단계는:
    사용자 조건을 추가로 이용하여 상기 제약 조건을 결정하는 단계:
    를 포함하는,
    방법.
  6. 삭제
  7. 삭제
  8. 제 5 항에 있어서,
    상기 제 2 문장의 레이블 정보를 상기 제약 조건에 기초하여 업데이트하는 단계;
    를 더 포함하는,
    방법.
KR1020200182207A 2020-12-23 2020-12-23 자연어 처리를 위한 데이터 증강을 위한 방법 KR102540564B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200182207A KR102540564B1 (ko) 2020-12-23 2020-12-23 자연어 처리를 위한 데이터 증강을 위한 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200182207A KR102540564B1 (ko) 2020-12-23 2020-12-23 자연어 처리를 위한 데이터 증강을 위한 방법

Publications (2)

Publication Number Publication Date
KR20220091067A KR20220091067A (ko) 2022-06-30
KR102540564B1 true KR102540564B1 (ko) 2023-06-05

Family

ID=82215274

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200182207A KR102540564B1 (ko) 2020-12-23 2020-12-23 자연어 처리를 위한 데이터 증강을 위한 방법

Country Status (1)

Country Link
KR (1) KR102540564B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102699122B1 (ko) * 2022-10-19 2024-08-27 한국전자기술연구원 범죄 분석용 문장 데이터 증식 시스템 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137722A (ja) 2013-01-17 2014-07-28 Kddi Corp 規則生成装置及び抽出装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101962113B1 (ko) * 2017-03-28 2019-07-19 (주)아크릴 자연어 문장을 확장하는 장치와 상기 자연어 문장을 확장하는 방법
KR20190004525A (ko) * 2017-07-04 2019-01-14 주식회사 마인즈랩 문장 학습 시스템 및 문장 학습 방법
KR102102388B1 (ko) * 2017-11-20 2020-04-21 주식회사 마인즈랩 학습 문장 생성 시스템 및 이를 이용한 유사 문장 생성 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137722A (ja) 2013-01-17 2014-07-28 Kddi Corp 規則生成装置及び抽出装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Wu et al. "Conditional bert contextual augmentation." arXiv preprint arXiv:1812.06705v1 (2018).*

Also Published As

Publication number Publication date
KR20220091067A (ko) 2022-06-30

Similar Documents

Publication Publication Date Title
Gallegos et al. Bias and fairness in large language models: A survey
US11636264B2 (en) Stylistic text rewriting for a target author
Qi et al. Openhownet: An open sememe-based lexical knowledge base
US10706084B2 (en) Method and device for parsing question in knowledge base
US11106873B2 (en) Context-based translation retrieval via multilingual space
US10719668B2 (en) System for machine translation
US20150120738A1 (en) System and method for document classification based on semantic analysis of the document
US10460028B1 (en) Syntactic graph traversal for recognition of inferred clauses within natural language inputs
US12073181B2 (en) Systems and methods for natural language processing (NLP) model robustness determination
EP2915068A2 (en) Natural language processing system and method
US11386270B2 (en) Automatically identifying multi-word expressions
US20220108076A1 (en) Apparatus and method for automatic generation of machine reading comprehension training data
JP2018165949A (ja) 判定プログラム、判定装置および判定方法
US20220229994A1 (en) Operational modeling and optimization system for a natural language understanding (nlu) framework
US20240265041A1 (en) Methods and Systems for Improved Document Processing and Information Retrieval
US20220238103A1 (en) Domain-aware vector encoding (dave) system for a natural language understanding (nlu) framework
US20220237383A1 (en) Concept system for a natural language understanding (nlu) framework
KR102540564B1 (ko) 자연어 처리를 위한 데이터 증강을 위한 방법
WO2021234610A1 (en) Method of and system for training machine learning algorithm to generate text summary
US20220229986A1 (en) System and method for compiling and using taxonomy lookup sources in a natural language understanding (nlu) framework
US11664010B2 (en) Natural language domain corpus data set creation based on enhanced root utterances
JP5528376B2 (ja) 文書平易化装置およびプログラム
KR102540563B1 (ko) 챗봇 시스템의 문장 생성 및 검증 방법
RU2812301C2 (ru) Способ и сервер для выполнения контекстно-зависимого перевода
US20230177282A1 (en) Method and server for performing domain-specific translation

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