KR102620871B1 - 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치 - Google Patents

번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치 Download PDF

Info

Publication number
KR102620871B1
KR102620871B1 KR1020200171891A KR20200171891A KR102620871B1 KR 102620871 B1 KR102620871 B1 KR 102620871B1 KR 1020200171891 A KR1020200171891 A KR 1020200171891A KR 20200171891 A KR20200171891 A KR 20200171891A KR 102620871 B1 KR102620871 B1 KR 102620871B1
Authority
KR
South Korea
Prior art keywords
sentence
modified
label
original
deep learning
Prior art date
Application number
KR1020200171891A
Other languages
English (en)
Other versions
KR20220082224A (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 KR1020200171891A priority Critical patent/KR102620871B1/ko
Publication of KR20220082224A publication Critical patent/KR20220082224A/ko
Application granted granted Critical
Publication of KR102620871B1 publication Critical patent/KR102620871B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data

Landscapes

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

Abstract

번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치가 제시된다. 일 실시예에 따른 컴퓨터 장치를 통해 구현되는 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법은, 원본 문장을 번역기에 입력하여 변형 문장을 생성하는 단계; 상기 변형 문장을 학습된 딥러닝 모델에 입력하여 변형 문장 라벨을 예측하는 단계; 상기 원본 문장의 라벨과 상기 변형 문장 라벨을 비교하는 단계; 및 상기 원본 문장의 라벨과 상기 변형 문장 라벨이 일치하는 경우, 상기 변형 문장 라벨을 증강 문장으로 추가하는 단계를 포함하여 이루어질 수 있다.

Description

번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치{METHOD AND APPARATUS FOR ENHANCING TEXT CLASSIFICATION DATA USING TRANSLATION-BASED TEXT DATA TRANSFORMATION AND DEEP LEARNING CORRECTION}
아래의 실시예들은 문장 분류 데이터 증강 방법 및 장치에 관한 것으로, 더욱 상세하게는 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치에 관한 것이다.
최근에는 빅데이터(big data) 시대라고 불릴 만큼 데이터가 중요한 시대가 되었다. 많은 양의 데이터를 모아 인공지능을 학습시켜 인류가 더 편안한 생활을 할 수 있도록 한다. 하지만 데이터를 얻기 힘든 여러 가지 경우가 있다. 적은 데이터로 인공지능을 학습시키기엔 분명 한계가 있으며, 데이터가 부족한 경우 확보한 데이터를 더욱 효율적으로 사용할 수 있어야 한다.
이러한 방법 중 하나는 데이터 증강이다. 확보한 원본 데이터를 데이터 증강 기법을 통해 늘리고 학습하여 더 좋은 인공지능을 만들 수 있다.
한국공개특허 10-2020-0071877호는 이러한 자율 증강형 반복 학습을 이용한 정보 추출 방법 및 시스템에 관한 기술을 기재하고 있다.
한국공개특허 10-2020-0071877호
실시예들은 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치에 관하여 기술하며, 보다 구체적으로 딥러닝을 이용하여 데이터의 라벨을 예측하는 보정 방식을 통해 데이터를 증강시키는 기술을 제공한다.
실시예들은 번역기가 반복적으로 실행되며 원본 문장이 심하게 왜곡된 변형 문장이 생성하더라도, 원본 문장과 변형 문장의 라벨이 동일한 경우만 남게 됨으로써 학습에 좋은 영향을 주는 문장만 남게 되는 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치를 제공하는데 있다.
일 실시예에 따른 컴퓨터 장치를 통해 구현되는 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법은, 원본 문장을 번역기에 입력하여 변형 문장을 생성하는 단계; 상기 변형 문장을 학습된 딥러닝 모델에 입력하여 변형 문장 라벨을 예측하는 단계; 상기 원본 문장의 라벨과 상기 변형 문장 라벨을 비교하는 단계; 및 상기 원본 문장의 라벨과 상기 변형 문장 라벨이 일치하는 경우, 상기 변형 문장 라벨을 증강 문장으로 추가하는 단계를 포함하여 이루어질 수 있다.
상기 원본 문장을 딥러닝 모델에 입력하여 학습하는 단계를 더 포함할 수 있다.
상기 딥러닝 모델은, CNN(Convolutional Neural Network) 및 RNN(Recurrent Neural Network)을 병렬로 사용하여, 입력된 상기 원본 문장 또는 상기 변형 문장의 라벨을 출력할 수 있다.
다른 실시예에 따른 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 장치는, 원본 문장을 번역기에 입력하여 변형 문장을 생성하는 변형 문장 생성부; 상기 변형 문장을 학습된 딥러닝 모델에 입력하여 변형 문장 라벨을 예측하는 변형 문장 라벨 예측부; 상기 원본 문장의 라벨과 상기 변형 문장 라벨을 비교하는 판단부; 및 상기 원본 문장의 라벨과 상기 변형 문장 라벨이 일치하는 경우, 상기 변형 문장 라벨을 증강 문장으로 추가하는 증강 문장부를 포함하여 이루어질 수 있다.
상기 원본 문장을 딥러닝 모델에 입력하여 학습하는 딥러닝 모델 학습부를 더 포함할 수 있다.
실시예들에 따르면 문장 데이터를 여러 번의 번역을 통해 원본 데이터와 의미는 비슷하지만 단어나 형태가 다른 변형 문장을 만들고, 딥러닝을 이용하여 데이터의 라벨을 예측하는 보정 방식을 통해 데이터를 증강시키는 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치를 제공할 수 있다.
실시예들에 따르면 번역기가 반복적으로 실행되며 원본 문장이 심하게 왜곡된 변형 문장이 생성하더라도, 원본 문장과 변형 문장의 라벨이 동일한 경우만 남게 됨으로써 학습에 좋은 영향을 주는 문장만 남게 되는 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치를 제공할 수 있다.
도 1은 일 실시예에 따른 구글 번역기를 활용한 변형 문장 생성을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 컴퓨터 장치의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 문장 분류 데이터 증강 장치를 나타내는 블록도이다.
도 4는 일 실시예에 따른 문장 분류 데이터 증강 방법을 나타내는 흐름도이다.
도 5는 일 실시예에 따른 CNN-RNN 딥러닝 모델 구조를 나타내는 도면이다.
도 6은 일 실시예에 따른 번역기와 딥러닝을 활용한 변형 문장 증강 예시를 나타내는 도면이다.
이하, 첨부된 도면을 참조하여 실시예들을 설명한다. 그러나, 기술되는 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명되는 실시예들에 의하여 한정되는 것은 아니다. 또한, 여러 실시예들은 당해 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해서 제공되는 것이다. 도면에서 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
아래의 실시예들은 딥러닝을 이용하여 데이터의 라벨을 예측하는 보정 방식을 통해 데이터를 증강시키는 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치를 제공한다. 실시예들은 번역기가 반복적으로 실행되며 원본 문장이 심하게 왜곡된 변형 문장이 생성하더라도, 원본 문장과 변형 문장의 라벨이 동일한 경우만 남게 됨으로써, 학습에 좋은 영향을 주는 문장만 남게 된다.
문장 분류 데이터란 입력으로 문장이 주어지면 출력으로 입력에 맞는 라벨(클래스)이 주어지는 데이터 셋을 말한다.
표 1은 한국어 의도파악 데이터셋 문장 예시 및 개수를 나타낸다.
[표 1]
표 1은 문장 분류 데이터 중 하나인 한국어 의도파악 데이터셋의 예시이다. 문장이 입력으로 주어지면 7개의 라벨(Fragment, Statements, Qustions, Command, Rhetorical question, Rhetorical command, Intonation-dependent utterance) 중 한가지로 분류하는 문제의 학습 데이터로 사용된다.
도 1은 일 실시예에 따른 구글 번역기를 활용한 변형 문장 생성을 설명하기 위한 도면이다.
본 실시예에서는 번역기의 하나의 예시로써, 현재 가장 많은 데이터와 신뢰성, 그리고 지원언어를 가지는 구글 번역기를 사용하여 데이터를 증강시킬 수 있다. 도 1에 도시된 바와 같이, 원본 문장(110)을 랜덤 언어로 번역하여 다른 언어 문장(120)으로 나타낼 수 있고, 랜덤 언어로 번역하는 것을 n번 반복(130)하여 수행한 후 획득한 다른 언어 문장(140)을 한국어(또는 한글)로 번역함으로써, 변형 문장(150)을 획득할 수 있다.
보다 구체적으로, 만약 원본 문장(110) 데이터가 한국어인 경우, 구글 번역기를 활용하여 원본 문장(110) 데이터를 원본 문장(110)의 언어(한국어)가 아닌 다른 언어로 번역하여 다른 언어 문장(120)으로 나타낼 수 있다. 여기서, 다른 언어란 구글 번역기가 지원하는 109개 언어 중 한국어를 제외한 108개 언어에서 랜덤으로 선택되는 언어를 의미한다. 이 때, 이러한 랜덤 언어로 번역하는 과정을 n번 반복(130) 수행할 수 있다. n번의 번역을 마치면 마지막으로 한국어로 번역할 수 있다. n번 번역 후, 나오는 다른 언어 문장(140)은 원본 문장(110)과 형태나 단어는 다르지만, 높은 확률로 의미는 비슷한 문장이 된다. 본 실시예에서는 이것을 변형 문장(150)이라 한다.
하지만, 이러한 변형 문장(150)은 종종 기존의 문장에서 많이 벗어난 형태를 가지거나 기존과 다른 의미를 가지는 문장이 된다. 이러한 좋지 않은 변형 문장(150)을 학습 데이터로 사용하면 오히려 성능이 떨어지는 경우가 생길 수 있다. 이것을 보완하기 위하여 딥러닝을 활용하여 좋지 않은 변형 문장들(150)을 제거할 수 있다.
도 2는 일 실시예에 따른 컴퓨터 장치의 내부 구성의 일례를 설명하기 위한 블록도이다. 예를 들어, 일 실시예들에 따른 문장 분류 데이터 증강 장치가 도 2의 컴퓨터 장치(200)을 통해 구현될 수 있다. 도 2에 도시한 바와 같이, 컴퓨터 장치(200)은 문장 분류 데이터 증강 방법을 실행하기 위한 구성요소로서 프로세서(210), 메모리(220), 영구 저장 장치(230), 버스(240), 입출력 인터페이스(250) 및 네트워크 인터페이스(260)를 포함할 수 있다.
프로세서(210)는 명령어들의 임의의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(210)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(210)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼, 이동 컴퓨팅 장치, 스마트폰, 태블릿, 셋톱 박스, 미디어 플레이어 등에 포함될 수 있다. 프로세서(210)는 버스(240)를 통해 메모리(220)에 접속될 수 있다.
메모리(220)는 컴퓨터 장치(200)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 메모리(220)는 예를 들어 랜덤 액세스 메모리(RAM: random access memory) 및/또는 동적 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(220)는 컴퓨터 장치(200)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(220)는 예를 들어 문장 분류 데이터 증강을 위한 명령어들을 포함하는 컴퓨터 장치(200)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 장치(200)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(210)를 포함할 수 있다.
버스(240)는 컴퓨터 장치(200)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(240)는 예를 들어 컴퓨터 장치(200)의 컴포넌트들 사이에, 예를 들어 프로세서(210)와 메모리(220) 사이에 데이터를 운반할 수 있다. 버스(240)는 컴퓨터 장치(200)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.
영구 저장 장치(230)는 (예를 들어, 메모리(220)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 장치(200)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(230)는 컴퓨터 장치(200) 내의 프로세서(210)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 영구 저장 장치(230)는 예를 들어 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.
입출력 인터페이스(250)는 키보드, 마우스, 음성 명령 입력, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 문장 분류 데이터 증강을 위한 정보가 입출력 인터페이스(250)를 통해 수신될 수 있다.
네트워크 인터페이스(260)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(260)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 문장 분류 데이터 증강을 위한 정보는 네트워크 인터페이스(260)를 통해 수신될 수 있다.
또한, 다른 실시예들에서 컴퓨터 장치(200)은 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(200)은 상술한 입출력 인터페이스(250)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
도 3은 일 실시예에 따른 문장 분류 데이터 증강 장치를 나타내는 블록도이다.
도 3을 참조하면, 도 2의 일 실시예에 따른 컴퓨터 장치의 프로세서(210)가 포함할 수 있는 구성요소의 예를 도시한 도면이다. 여기서, 컴퓨터 장치(200)의 프로세서(210)는 일 실시예에 따른 문장 분류 데이터 증강 장치(300)를 포함할 수 있다. 일 실시예에 따른 문장 분류 데이터 증강 장치(300)는 변형 문장 생성부(310), 변형 문장 라벨 예측부(330), 판단부(340) 및 증강 문장부(350)를 포함하여 이루어질 수 있고, 실시예에 따라 문장 분류 데이터 증강 장치(300)는 학습하는 딥러닝 모델 학습부(320)를 더 포함할 수 있다.
프로세서(210) 및 프로세서(210)의 구성요소들은 도 4의 문장 분류 데이터 증강 방법이 포함하는 단계들(S110 내지 S150)을 수행할 수 있다. 예를 들어, 프로세서(210) 및 프로세서(210)의 구성요소들은 메모리(220)가 포함하는 운영체제의 코드와 상술한 적어도 하나의 프로그램 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 적어도 하나의 프로그램 코드는 문장 분류 데이터 증강 방법을 처리하기 위해 구현된 프로그램의 코드에 대응될 수 있다.
문장 분류 데이터 증강 방법은 도시된 순서대로 발생하지 않을 수 있으며, 단계들 중 일부가 생략되거나 추가의 과정이 더 포함될 수 있다.
도 4는 일 실시예에 따른 문장 분류 데이터 증강 방법을 나타내는 흐름도이다.
도 4를 참조하면, 일 실시예에 따른 컴퓨터 장치를 통해 구현되는 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법은, 원본 문장을 번역기에 입력하여 변형 문장을 생성하는 단계(S110), 변형 문장을 학습된 딥러닝 모델에 입력하여 변형 문장 라벨을 예측하는 단계(S130), 원본 문장의 라벨과 변형 문장 라벨을 비교하는 단계(S140), 및 원본 문장의 라벨과 변형 문장 라벨이 일치하는 경우, 변형 문장 라벨을 증강 문장으로 추가하는 단계(S150)를 포함하여 이루어질 수 있다.
또한, 원본 문장을 딥러닝 모델에 입력하여 학습하는 단계(S120)를 더 포함할 수 있다.
아래에서 일 실시예에 따른 문장 분류 데이터 증강 방법의 각 단계를 도 3에서 설명한 문장 분류 데이터 증강 장치(300)를 예를 들어 보다 구체적으로 설명한다.
단계(S110)에서, 변형 문장 생성부(310)는 원본 문장을 번역기에 입력하여 변형 문장을 생성할 수 있다.
변형 문장 생성부(310)는 원본 문장을 번역기에 입력하여 n번의 번역 과정을 반복 수행하여 변형 문장을 생성할 수 있다. 보다 구체적으로, 도 1에서 설명한 바와 같이, 변형 문장 생성부(310)는 원본 문장을 기 설정된 언어로 n번 반복하여 번역하여 다른 언어 문장으로 나타낼 수 있고, 획득한 다른 언어 문장을 다시 한국어로 번역함으로써 변형 문장을 생성할 수 있다. 이 때, 변형 문장은 원본 문장이 심하게 왜곡된 형태로 생성될 수 있다.
이에 따라 번역기로 만들어낸 변형 문장 중에서 학습에 방해되는 데이터를 제거하고 학습에 도움이 되는 좋은 품질의 데이터만 남기기 위하여 딥러닝 모델을 사용할 수 있다.
단계(S120)에서, 딥러닝 모델 학습부(320)는 원본 문장을 딥러닝 모델에 입력하여 학습할 수 있다. 여기서, 딥러닝 모델은 CNN(Convolutional Neural Network) 및 RNN(Recurrent Neural Network)을 병렬로 사용하여, 입력된 원본 문장 또는 변형 문장의 라벨을 출력할 수 있다. 딥러닝 모델은 CNN과 RNN이 병렬로 이루어져 각각에서 추출한 특징을 둘 다 활용할 수 있다. 입력된 문장이 CNN과 RNN으로 각각 전달되어 특징을 추출하며, CNN과 RNN을 통해 추출한 특징들을 연결 층(Concatenate layer)을 통해 연결하고, 덴스 층(Dense layer)을 지나 출력될 수 있다. 이 때, 입력된 문장의 라벨이 출력될 수 있다.
단계(S130)에서, 변형 문장 라벨 예측부(330)는 변형 문장을 학습된 딥러닝 모델에 입력하여 변형 문장 라벨을 예측할 수 있다.
단계(S140)에서, 판단부(340)는 원본 문장의 라벨과 변형 문장 라벨을 비교하여 일치 여부를 확인할 수 있다.
단계(S150)에서, 증강 문장부(350)는 원본 문장의 라벨과 변형 문장 라벨이 일치하는 경우, 변형 문장 라벨을 증강 문장으로 추가할 수 있다. 이러한 증강 문장은 딥러닝 또는 머신러닝을 학습할 때 원본 문장에 추가하여 사용하면 보다 좋은 학습 효과를 기대할 수 있다.
아래에서는 딥러닝을 활용하여 변형 문장을 보정하는 방법을 보다 상세히 설명한다.
도 5는 일 실시예에 따른 CNN-RNN 딥러닝 모델 구조를 나타내는 도면이다.
도 5를 참조하면, 본 실시예에서는 번역기로 만들어낸 변형 문장 중에서 학습에 방해되는 데이터를 제거하고 학습에 도움이 되는 좋은 품질의 데이터만 남기기 위하여 딥러닝을 사용할 수 있다.
여기서 사용되는 딥러닝 모델은 분류 문제에 좋은 성능을 보이는 CNN(Convolutional Neural Network)과 RNN(Recurrent Neural Network)을 병렬로 사용할 수 있다. 이 중 RNN의 경우 LSTM, GRU 등 여러 가지 기법이 있는데, 본 기법에서는 최근 좋은 성능과 범용성으로 많이 사용하는 Bi-LSTM(Bidirectional Long Short-Term Memory)를 사용할 수 있다.
일 실시예에 따른 CNN-RNN 딥러닝 모델 구조에서, 입력(510)은 자연어를 벡터로 만드는 임베딩 기법 중 하나인 FastText를 사용하여 변형 문장을 벡터로 만들어 사용할 수 있다. 또한, CNN과 RNN이 병렬로 이루어져 CNN block(520)에서 추출한 특징(feature)과 RNN block(530)에서 추출한 특징을 둘 다 활용할 수 있도록 할 수 있다. 이 때, CNN block(520)에서는 RNN block(530)의 출력과 형태(shape)를 맞추기 위해 Flatten layer를 사용할 수 있다. CNN block(520)과 RNN block(530)을 통과한 특징들은 연결 층(Concatenate layer)(540)을 지나며 이어 붙이고, 덴스 층(Dense layer)(550)을 지나 최종 출력(560)이 나오게 된다. 최종 출력(560)은 입력 문장의 라벨이 될 수 있다.
도 6은 일 실시예에 따른 번역기와 딥러닝을 활용한 변형 문장 증강 예시를 나타내는 도면이다.
도 6에 도시된 바와 같이, 전체적인 문장 증강의 과정의 예시를 표현할 수 있다. 먼저, 원본 문장(610)으로 번역기(620)를 통해 변형 문장(630)을 만들 수 있다. 동시에, 원본 문장(610)으로 도 5에서 설명한 딥러닝 모델(640)을 학습할 수 있다. 학습이 완료된 딥러닝 모델(650)을 이용하여 변형 문장 라벨(660)을 예측할 수 있다. 그 후, 원본 문장(610)의 라벨과 예측한 변형 문장 라벨(660)을 비교(670)하여, 원본 문장(610)의 라벨과 예측한 변형 문장 라벨(660)이 일치하는 경우 변형 문장 라벨(660)을 증강 문장(680)으로 활용할 수 있다.
이러한 방식으로 증강 문장을 만들게 되면, 만약 도 1에서 번역기가 반복적으로 실행되며 원본 문장이 심하게 왜곡된 변형 문장이 생성되었더라도, 도 6의 과정을 거치며 원본 문장과 변형 문장의 라벨이 같은 경우만 남게 되어 학습에 좋은 영향을 주는 문장만 남게 된다.
따라서 본 실시예들에 따른 방식으로 만들어지는 증강 문장은 딥러닝 또는 머신러닝을 학습할 때 원본 문장에 추가하여 사용하면 보다 좋은 학습 효과를 기대할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 장치 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (5)

  1. 컴퓨터 장치를 통해 구현되는 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법에 있어서,
    원본 문장을 번역기에 입력하여 번역이 완료된 변형 문장을 생성하는 단계;
    상기 원본 문장을 딥러닝 모델에 입력하여 학습하는 단계;
    상기 번역이 완료된 변형 문장을 학습된 딥러닝 모델에 입력하여 변형 문장 라벨을 예측하는 단계;
    상기 원본 문장의 라벨과 상기 변형 문장 라벨을 비교하는 단계; 및
    상기 원본 문장의 라벨과 상기 변형 문장 라벨이 일치하는 경우, 상기 변형 문장 라벨을 증강 문장으로 추가하는 단계
    를 포함하고,
    상기 딥러닝 모델은,
    CNN(Convolutional Neural Network) 및 RNN(Recurrent Neural Network)을 병렬로 사용하여, 입력된 상기 원본 문장 또는 상기 변형 문장의 라벨을 출력하고,
    상기 원본 문장을 번역기에 입력하여 번역이 완료된 변형 문장을 생성하는 단계는,
    상기 번역기가 지원하는 복수의 언어 중 서로 다른 복수의 언어를 랜덤으로 선택하여 상기 선택된 서로 다른 복수의 언어의 수만큼 변형 문장의 생성을 반복 수행하고,
    상기 원본 문장의 라벨과 상기 변형 문장 라벨이 일치하는 경우, 상기 변형 문장 라벨을 증강 문장으로 추가하는 단계는,
    상기 변형 문장을 생성하는 단계에서 상기 원본 문장으로부터 왜곡된 변형 문장이 생성되더라도 상기 번역기가 반복적으로 수행됨으로써 원본 문장과 변형 문장의 라벨이 동일한 경우만 남게 되어 해당 변형 문장 라벨을 증강 문장으로 추가하는
    문장 분류 데이터 증강 방법.
  2. 삭제
  3. 삭제
  4. 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 장치에 있어서,
    원본 문장을 번역기에 입력하여 번역이 완료된 변형 문장을 생성하는 변형 문장 생성부;
    상기 원본 문장을 딥러닝 모델에 입력하여 학습하는 딥러닝 모델 학습부;
    상기 번역이 완료된 변형 문장을 학습된 딥러닝 모델에 입력하여 변형 문장 라벨을 예측하는 변형 문장 라벨 예측부;
    상기 원본 문장의 라벨과 상기 변형 문장 라벨을 비교하는 판단부; 및
    상기 원본 문장의 라벨과 상기 변형 문장 라벨이 일치하는 경우, 상기 변형 문장 라벨을 증강 문장으로 추가하는 증강 문장부
    를 포함하고,
    상기 딥러닝 모델은,
    CNN(Convolutional Neural Network) 및 RNN(Recurrent Neural Network)을 병렬로 사용하여, 입력된 상기 원본 문장 또는 상기 변형 문장의 라벨을 출력하고,
    상기 변형 문장 생성부는,
    상기 번역기가 지원하는 복수의 언어 중 서로 다른 복수의 언어를 랜덤으로 선택하여 상기 선택된 서로 다른 복수의 언어의 수만큼 변형 문장의 생성을 반복 수행하고,
    상기 증강 문장부는,
    상기 변형 문장을 생성하는 단계에서 상기 원본 문장으로부터 왜곡된 변형 문장이 생성되더라도 상기 번역기가 반복적으로 수행됨으로써 원본 문장과 변형 문장의 라벨이 동일한 경우만 남게 되어 해당 변형 문장 라벨을 증강 문장으로 추가하는
    문장 분류 데이터 증강 장치.
  5. 삭제
KR1020200171891A 2020-12-10 2020-12-10 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치 KR102620871B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200171891A KR102620871B1 (ko) 2020-12-10 2020-12-10 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200171891A KR102620871B1 (ko) 2020-12-10 2020-12-10 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220082224A KR20220082224A (ko) 2022-06-17
KR102620871B1 true KR102620871B1 (ko) 2024-01-04

Family

ID=82269131

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200171891A KR102620871B1 (ko) 2020-12-10 2020-12-10 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102620871B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190392038A1 (en) * 2018-06-20 2019-12-26 Vade Secure, Inc. Methods, devices and systems for data augmentation to improve fraud detection

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUE055483T2 (hu) 2015-03-03 2021-11-29 Epro Development Ltd Villamosan vezetõ textilelem, valamint eljárás annak elõállítására

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190392038A1 (en) * 2018-06-20 2019-12-26 Vade Secure, Inc. Methods, devices and systems for data augmentation to improve fraud detection

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Kunfu Wang et al., "A Text Classification Method Based on the Merge- LSTM-CNN Model," 6th Annual International Conference on Network and Information Systems for Computers (2020.08.14.)*
Qizhe Xie et al., "Unsupervised Data Augmentation for Consistency Training," arXiv:1904.12848v6 [cs.LG] 5 Nov 2020 (2020.11.05.)*

Also Published As

Publication number Publication date
KR20220082224A (ko) 2022-06-17

Similar Documents

Publication Publication Date Title
KR102184278B1 (ko) 메타학습에 기반한 임의의 목표 데이터셋과 모델 구조로의 전이학습 방법 및 시스템
US20210390271A1 (en) Neural machine translation systems
US11062179B2 (en) Method and device for generative adversarial network training
US11113599B2 (en) Image captioning utilizing semantic text modeling and adversarial learning
KR102565275B1 (ko) 병렬 처리에 기초한 번역 방법 및 장치
CN107590168B (zh) 用于关系推断的系统和方法
WO2023160472A1 (zh) 一种模型训练方法及相关设备
CN107688803B (zh) 字符识别中识别结果的校验方法和装置
WO2021258479A1 (zh) 一种基于图神经网络的网络攻击检测方法、系统及装置
CN109697451B (zh) 相似图像聚类方法及装置、存储介质、电子设备
CN108604311B (zh) 利用层级式外部存储器的增强神经网络
JP2023544336A (ja) 多言語発話認識フレームワークのためのシステム及び方法
WO2023202197A1 (zh) 文本识别方法及相关装置
US11398227B1 (en) Compression for translation systems
US20230177089A1 (en) Identifying similar content in a multi-item embedding space
US11507744B2 (en) Information processing apparatus, information processing method, and computer-readable recording medium
US11687712B2 (en) Lexical analysis training of convolutional neural network by windows of different lengths with matrix of semantic vectors
KR20210065076A (ko) 문서 레이아웃의 분석 방법, 장치, 전자기기 및 저장매체
CN113434683A (zh) 文本分类方法、装置、介质及电子设备
CN112084301A (zh) 文本修正模型的训练方法及装置、文本修正方法及装置
KR102620871B1 (ko) 번역 기반 문장 데이터 변형과 딥러닝 보정을 이용한 문장 분류 데이터 증강 방법 및 장치
US20230153085A1 (en) Systems and methods for source code understanding using spatial representations
KR20210044003A (ko) 단어 임베딩 방법 및 장치와 단어 검색 방법
US11755671B2 (en) Projecting queries into a content item embedding space
KR102674542B1 (ko) 번역 기반 문장 데이터 변형과 Word2Vec 보정을 이용한 문장 데이터 증강 방법 및 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right