KR20220021360A - 문서-레벨 자연어 처리 모델들을 훈련시키는 방법 및 시스템 - Google Patents

문서-레벨 자연어 처리 모델들을 훈련시키는 방법 및 시스템 Download PDF

Info

Publication number
KR20220021360A
KR20220021360A KR1020200139569A KR20200139569A KR20220021360A KR 20220021360 A KR20220021360 A KR 20220021360A KR 1020200139569 A KR1020200139569 A KR 1020200139569A KR 20200139569 A KR20200139569 A KR 20200139569A KR 20220021360 A KR20220021360 A KR 20220021360A
Authority
KR
South Korea
Prior art keywords
language
model
training
level
nlg
Prior art date
Application number
KR1020200139569A
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 네이버 주식회사
Publication of KR20220021360A publication Critical patent/KR20220021360A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/47Machine-assisted translation, e.g. using translation memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

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

Abstract

프로세서를 사용하여, 자연어 생성(Natural Language Generation; NLG) 모델을 훈련시키는 방법들에 있어서, 문서-레벨 기계 번역(Machine Translation; MT) 모델이, 입력으로서 제1 언어의 토큰 시퀀스들을 입력으로서 수신하고 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 MT 모델을 훈련시킴으로써 제공된다. 증강된 문서-레벨 MT 모델은, 쌍을 이루는 언어-독립 구조화된 데이터 및 제1 언어의 토큰 시퀀스들을 입력으로서 수신하고 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 문서-레벨 MT 모델을 훈련시킴으로써 제공된다. 증강된 문서-레벨 MT 모델은 언어-독립 구조화된 데이터를 입력으로서 수신하고 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 훈련된다.

Description

문서-레벨 자연어 처리 모델들을 훈련시키는 방법 및 시스템{METHOD AND SYSTEM FOR TRAINING DOCUMENT-LEVEL NATURAL LANGUAGE PROCESSING MODELS}
본원은 그 전체가 참조로서 통합되는 2020년 8월 13일자로 출원된 미국 임시출원 번호 63/065,138에 대한 우선권을 주장한다.
본 개시는 프로세서-기반의 자연어 방법들 및 신경 모델들을 사용하는 머신-기반의 자연어 생성을 위한 시스템들에 관한 것으로, 더 특별하게는 기계 번역(Machine Translation; MT) 모델들을 사용하여 자연어 생성(Training Natural Language; NLG)을 위한 방법들 및 시스템들에 관한 것이다.
최근의 프로세서-기반의 자연어 처리(Natural Language Processing; NLP)에 있어서의 진보는 기계 번역(Machine Translation; MT) 및 자연어 생성(Training Natural Language; NLG)을 위한 신경 모델들을 포함한다. 이러한 신경 모델들은 MT 및 NLG 작업들에 있어서의 중요한 개선으로 이어져 왔다. 그러나, 기존의 신경 NLG 및 MT 모델들은 특정한 NLP 작업들을 수행하기 위해 불충분하거나 차선의(sub-optimal) 것으로 간주된다.
NLG 모델들의 경우, 예컨대, 구조화된 데이터(또는 데이터-투-텍스트)로 조건화된 기술적인 요약들(descriptive summaries)과 같은 텍스트의 생성은 열린 과제로 남아 있다. 기존의 NLG 모델들은 소스 소재에 대한 정확성, 일관성(coherece) 및/또는 적절성이 결여되어 있다.
데이터-투-텍스트 생성 기법들에 있어서 다루기 위한 두 가지의 중요한 측면들은 1) 입력 데이터로부터 가장 중요한 정보를 식별하는 것과, 2) 일관성 있는 문서로서 데이터를 구두화하는 것(verbalizing)이다. 이러한 두 가지 과제들은 파이프라인 시스템들에서 상이한 모듈들로서 별도로 다루어져 왔거나 신경 생성 모델들과 엔드-투-엔드 방식으로 다루어져 왔다.
그러나, 알려진 엔드-투-엔드 NLG 생성 모델들이 유창한 텍스트를 생성할 수 있으나, 이러한 모델들은 최선의 콘텐츠 선택의 측면에서 약하게 성능을 발휘한다. 최근 Puduppully 등(2019)은 로토와이어 데이터 셋에 대해 엔드-투-엔드 데이터-투-문서 생성 모델을 훈련시키는 방법을 공개했다(https://github.com/harvardnlp/boxscore-data; 구조화된 정보를 갖는 농구 게임들의 영문 요약들). 이러한 공개는 그 아키텍처에서 콘텐츠 선택과 계획을 명시적으로 모델링함으로써 엔드-투-엔드 신경 NLG 모델의 단점들을 극복하기 위한 것을 목적으로 하였다.
추가적으로, 대부분의 기존 MT 모델들은, 예컨대, 동일한 문서의 다른 문장들 또는 구조화된 정보로부터 제공될 수 있는 더 큰 문맥(context)에 접근하지 않고, 문장을 독립적으로(즉, 문장-레벨에서) 번역한다. 기존의 MT 시스템들은 여러 언어들에 대해 인상적인 성능을 보고하였으나, 특히, 문장-레벨의 텍스트를 넘어서는 요소(factor)들이 고려될 때 해당 기술분야에서는 여전히 많은 어려움이 존재한다.
본 실시예들에서 제공되는 예시적인 시스템들 및 방법들은 MT 및 NLG 작업들로부터의 데이터를 활용(leverage)할 수 있다. 특히 예시적인 시스템들 및 방법들은 MT 및 NLG 사이의 전이 학습(transfer learning)을 이용할 수 있다.
개시된 실시예들의 일 측면에 따르면, 프로세서를 사용하여 자연어 생성(Natural Language Generation; NLG) 모델을 훈련시키는 방법들이 제공된다. 문서-레벨 기계 번역(Machine Translation; MT) 모델이, 제1 언어의 토큰 시퀀스들을 입력으로서 수신하고 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 MT 모델을 훈련시킴으로써 제공된다. 증강된 문서-레벨 MT 모델은, 쌍을 이루는 언어-독립 구조화된 데이터 및 제1 언어의 토큰 시퀀스들을 입력으로서 수신하고 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 문서-레벨 MT 모델을 훈련시킴으로써 제공된다. 언어-독립 구조화된 데이터는 제1 언어 및 제2 언어로 이해된다. NLG 모델은, 언어-독립 구조화된 데이터를 입력으로서 수신하고(예컨대, 제1 언어의 쌍을 이루는 토큰 시퀀스들 없이) 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 증강된 문서-레벨 MT 모델을 훈련시킴으로써, 제공된다. 방법들은 또한 훈련된 NLG 모델들을 사용하여 새로운 구조화된 데이터로부터 출력 데이터를 생성하기 위해 또한 제공된다.
보완적인 측면에 따르면, 본 개시는 전술한 측면들에 따른 방법을 실행하기 위한 코드 명령들을 포함하는 컴퓨터 프로그램 제품을 제공하며; 전술한 측면들에 따른 방법을 실행하기 위한 코드 명령들을 포함하는 컴퓨터 프로그램 제품이 저장된 컴퓨터-판독 가능 매체를 제공한다.
본 발명의 다른 특징들 및 이점들은 다음의 도면들과 함께 취해지는 다음의 명세서로부터 명백하게 될 것이다.
본 개시는 상세한 설명 및 부수하는 도면들로부터 보다 완전하게 이해될 것이다:
도 1은 본 개시에 따른 예시적인 방법들이 수행될 수 있는 시스템 아키텍처의 예시를 도시한다;
도 2는 도 1에서의 프로세서의 예시적인 아키텍처를 도시한다;
도 3은 본 개시에 따른 자연어 생성(NLG) 모델을 훈련시키는 예시적인 방법을 기재한다;
도 4는 훈련된 문서-레벨 기계 번역 모델을 제공하는 예시적인 방법을 기재한다;
도 5는 문서-레벨 기계 번역 모델을 증강하는 예시적인 방법을 기재한다;
도 6은 구조화된 데이터를 전처리하는 예시적인 방법을 기재한다;
도 7은 자연어 생성 모델(NGL 모델)을 제공하는 증강된 문서-레벨 기계 번역 모델을 훈련시키는 예시적인 방법을 기재한다;
도 8은 도 3에서 기재된 방법에 따라 훈련된 NGL 모델을 위한 예시적인 런타임(runtime)(추론) 방법을 기재한다;
도 9a 내지 도 9c는 실험적인 NLG 훈련 방법으로부터의 데이터 - 도 9a에서 도시되는 NLG 훈련 방법에 있어서 사용되는 예시적인 메타데이터 인코딩(메타데이터); 도 9b에서 도시되는 훈련 셋으로부터의 스토리(참조 스토리); 및 도 9c에서 도시되는 훈련된 영어 NLG 모델의 출력(생성된 스토리) -를 나타낸다;
도 10은 실험적인 영어 NLG 추적(track)을 위해 선택된 선수들의 최대수에 의존하는 (베스트 체크포인트(best checkpoint)에 의한) DGT-유효 BLEU를 나타낸다;
도 11은 제공된 메타데이터(+) 또는 환영(hallucinations)(-)에 명시적으로 있지 않았던 실험적인 NLG 모델로부터 올바르게 예측되는 정보를 나타내며, "REF"는 "참조" 텍스트를 나타내고, "NLG"는 "자연어 생성" 텍스트를 나타낸다.
도면들에 있어서, 참조 번호들은 유사 및/또는 동일한 요소들을 식별하기 위해 재사용될 수 있다.
도입
본 실시예들은 무엇보다도, 상이한 타입의 신경 NLP 모델, 즉, 기계-번역(MT) 모델을 훈련시킴으로써 문서-레벨 자연어 생성(NLG) 모델들을 훈련시키는 방법들, 시스템들 및 프로그램 제품들을 제공한다. 문서-레벨인 MT 모델은 NLG 모델과 출력(선택된 언어의 문서-레벨 텍스트)을 공유할 수 있다. 이는 NLG 모델을 훈련시키기 위해 MT 모델들과 NLG 모델들 사이의 전이 학습의 사용을 가능하게 하고, 따라서, NLG들을 훈련시키기 위해 가용하거나 적합하지 않은 훈련 데이터의 사용을 가능하게 한다. 이는 특히, 가용한 NLG 모델 훈련 데이터가 MT 모델 훈련 데이터에 비해 제한되어 있는 통상적인 경우에 유용하다.
본 예시적인 방법들은 MT 및 NLG 모델들 둘 다로부터의 데이터 셋들을 사용하기 위해 MT 및 NLG 모델들의 다양한 특징들을 활용한다. MT 모델들을 훈련시키는 방법들과 (예컨대, 추론을 위해) 이러한 훈련된 모델들을 사용하는 방법들이 또한 제공된다.
여기에서 사용되는 "모델"은 하나 이상의 신경망 레이어들 및 모델 파라미터들(예컨대, 가중치들)의 대응하는 셋에 기반하여 프로세서 및 메모리에 의해 실행 가능한 알고리즘으로 정의될 수 있다. 자연어 생성(NLG) 모델들과 기계 번역(MT) 모델들을 포함하는 예시적인 자연어 처리(NLP) 모델들은 입력 시퀀스들과 같은 하나 이상의 입력들을 처리하고, 출력 시퀀스들과 같은 하나 이상의 출력들을 생성하기 위해 구성될 수 있다. 모델들은 소스 데이터(예컨대, 제1 언어의 소스 시퀀스들) 및 타겟 데이터(예컨대, 제2 언어의 타겟 시퀀스들)을 갖는 훈련 데이터 셋들을 사용하여 파라미터들을 결정함으로써 훈련될 수 있다. 가용한 데이터 셋들은 특정한 타입들의 모델들을 훈련시키기 위해 알려져 있다. 그러나, 여기에서 개시된 예시적인 방법들에 있어서, 특정한 타입들의 NLP 모델들을 훈련시키기 위해 통상적으로 사용되는 데이터 셋들은 다른 타입들의 NLP 모델들을 훈련시키기 위해 적응될(adapted) 수 있다.
여기에서 사용된 것처럼, "기계 번역 모델" 또는 "MT 모델"은 프로세서 및 제1 언어의 입력 토큰들을 수신하도록 구성되는 메모리에 의해 실행 가능하며 모델에 의한 처리 후 (또는 직접적으로 또는 추가적인 처리 후에) 제2 언어의 출력 토큰들을 생성하는 신경망-기반의 자연어 처리(NLP) 모델이다. 토큰들은, 예컨대, 단어들, 문자들(예컨대, 글자들, 숫자들, 구두점, (문장 종료(end-of-sentence) 문자와 같은) 특수문자들, 또는 기술자에 의해 이해되는 다른 것들을 포함할 수 있다. 입력 토큰들 및 출력 토큰들 둘 다는 토큰들의 시퀀스들(즉, 토큰 시퀀스들)에 의해 제공될 수 있다. 제1 언어 및 제2 언어와 관련되는 "언어"는 여하한 적절한 자연 언어로서 일반적으로 해석되는 것으로 의도된다. 제1 언어 및 제2 언어는 어떤 측면에서 서로 다른 한 (동일한 것의 두 개의 변형들, 더 일반적인 언어를 포함하는) 임의의 2개의 선택된 자연 언어들일 수 있다.
일부 MT 모델들은 일반적으로 "문장-레벨"로 간주될 수 있고, 거기에서 입력 토큰들의 시퀀스들은 MT 모델에 의해 처리되며, 출력 토큰들은 하나 이상의 입력 문장들을 제공하도록 문장 기준(per-sentence basis)(문장들의 종료(end)는 예컨대, 특수한 문장 종료 토큰들에 의해 표시될 수 있음)으로 생성되고, 출력 토큰들의 시퀀스들은 따라서 하나 이상의 대응하는 출력 문장들로서 제공된다. 다른 MT 모델들은 일반적으로 "문서-레벨"로 간주될 수 있고, 거기에서, 입력 토큰들의 시퀀스들은 처리되고, 출력 토큰들은, 최대 완전한 문서가 되고 완전한 문서(예컨대, 토큰들의 완전한 셋, 또는 개별적인 문장들보다 더 큰 시퀀스를 나타내는 토큰들의 셋)를 포함하여, 그 개별적인 문장들보다 더 큰 기준으로 생성된다.
"자연어 생성 모델" 또는 "NLG 모델"은 프로세서 및 구조화된 데이터를 입력으로서 수신하고 출력으로서 선택된 언어의 출력 토큰들의 시퀀스를 생성하도록 구성되는 메모리에 의해 실행되는 신경망-기반의 NLP 모델이다. 언어-독립적인, 구조화된 데이터는, 예컨대, 메타데이터, 테이블 형식의 데이터, 트리 형식의 데이터, 그래프 형식의 데이터, 포맷화된 데이터 등을 포함할 수 있다. 토큰들의 출력 시퀀스(즉, 토큰 시퀀스들)는 예컨대, 생성된 텍스트의 하나 이상의 시퀀스들일 수 있고, 문서-레벨일 수 있으며; 예컨대, 토큰들의 출력 시퀀스들은 입력된 구조화된 데이터에 기반한 문서-레벨 텍스트 시퀀스일 수 있다.
본 개시에서의 몇몇의 예시 실시예들에서, 제1 언어의 입력 토큰 시퀀스들을 수신하고 제2 언어의 출력 토큰 시퀀스들을 생성하기 위해 훈련되는, 문서-레벨 기계 번역(MT) 모델이 제공, 예컨대, 생성된다. 문서-레벨 MT 모델들이 최초로 획득될 수 있거나, 이들은 예컨대, 제1 언어 및 제2 언어의 병렬 문서-레벨 코퍼스 데이터를 사용하여 문장-레벨 MT 모델들을 획득 및 이후 훈련시킴으로써 제공될 수 있다. 문서-레벨 기계 번역 모델들을 제공하는 예시 방법들은 여기에서 더 상세하게 설명된다.
추가적인 예시 방법들은 제1 언어의 입력 토큰들을 수신하고 제2 언어의 출력 토큰들을 생성하기 위한 문서-레벨 MT 모델을 훈련시킨다. MT 모델은 문장-레벨 병렬 코퍼스로부터 랜덤하게 선택된 문장들의 연결된(concatenated) 그룹들인 제1 언어 및 제2 언어의 토큰 시퀀스들을 포함하는 데이터 셋을 사용하여 훈련될 수 있다. 문서-레벨 MT 모델은 대안적으로 또는 추가적으로 제1 언어의 문서-레벨 소스 데이터 및 제2 언어의 문서-레벨 토큰 데이터를 포함하는 하나 이상의 데이터 셋들을 사용하여 훈련될 수 있다. 데이터 셋(들)을 제공하는 예시 방법들이 여기에서 제공된다. 문장들의 연결된 그룹들을 사용하여 문서-레벨 MT 모델을 훈련시키는 것은 가용한 훈련 데이터의 양을 증가시키고 병렬 문서-레벨 코퍼스 데이터가 적거나 존재하지 않을 때 문장-레벨 정보를 넘는 정보를 이용할 수 있다.
문서-레벨 MT 모델을 생성한 후, 증강된 문서-레벨 MT 모델이 문서-레벨 MT 모델을 입력으로서 제1 언어의 토큰 시퀀스들과 쌍을 이루는 언어-독립 구조화된 데이터를 수신하고, 제2 언어의 타겟 토큰 시퀀스들을 출력으로서 생성하도록 훈련(예컨대, MT 훈련)시킴으로써 제공될 수 있다. 이러한 데이터는 적어도 부분적으로, 예컨대, NLG 모델들을 위해 전통적으로(conventionally) 사용되는 하나 이상의 훈련 데이터 셋들에 의해 제공될 수 있다. 언어-독립 구조화된 데이터는 예컨대, 여기에서 제공되는 방법들을 사용하여 훈련 동안(또한, 새로운 구조화된 데이터에 대해, 런타임 동안) 증강된 문서-레벨 MT 모델에 의해 소비될 하나 이상의 텍스트 시퀀스들을 생성하도록 전처리될 수 있다. 몇몇의 예시 방법들에서, 전처리는 언어-종속 구조화된 데이터로부터 언어-무관 구조화된 데이터(비한정적인 예시로서, 기입 날짜(written dates))를 생성하는 것을 포함할 수 있다.
NLG 모델은 증강된 문서-레벨 MT 모델을 언어-독립 구조화된 데이터를 입력으로서 수신하고, 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 훈련시킴으로써 제공될 수 있다. 이는, 예컨대, (예컨대, 입력으로서 제1 언어의 쌍을 이루는 토큰 시퀀스들을 더 포함하지 않고) 언어-독립 구조화된 데이터로부터 생성된 텍스트 시퀀스들을 사용하는 증강된 문서-레벨 MT 모델의 NLG 훈련에 의해 수행될 수 있다.
(예컨대, 런타임 또는 추론 동안) 구조화된 데이터로부터 출력을 생성하는 예시 방법에 있어서, 구조화된 데이터는 훈련된 NLG 모델로 입력된다. 구조화된 데이터는 하나 이상의 텍스트 시퀀스들을 생성하도록 전처리될 수 있다. 이러한 입력에 따라, 훈련된 NLG 모델은 제2 언어의 (예컨대, 문서-레벨) 출력 텍스트를 생성한다.
본 발명은 많은 상이한 형태들에 있어서의 실시예들을 허용할 수 있으나, 본 개시는 발명의 원리들의 예시로서 간주되어야 하며, 설명되는 실시예들로 발명의 넓은 측면들을 제한하도록 의도되는 것이 아니라는 이해와 함께, 도면에서 나타나 있으며 발명의 세부적인 바람직한 실시예들이 여기에서 설명될 것이다.
레퍼런스
다음의 문서들은, 이들 문서들의 어느 것도 종래기술을 구성한다는 인정 없이, 참조로서 그 전부가 여기에 통합된다:
- Alexandre Berard, Calapodescu Iona, and Claude Roux, 2019. NAVER LABS Europe Systems for the WMT19 Machine Translation Robustness Task. In WMT-Shared Task Paper.
- Sergey Edunov, Myle Ott, Michael Auli, and David Grangier, 2018. Understanding Back-Translation at Scale. In EMNLP.
- Marcin Junczys-Dowmunt. 2019. Microsoft Translator at WMT 2019: Towards Large-Scale Document-Level Neural Machine Translation. In WMT-Shared Task Paper.
- Taku Kudo and John Richardson, 2018. Sentence Piece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing. In EMNLP.
- Remi Lebret, David Grangier, and Michael Auli, 2016. Neural Text Generation from Structured Data with Application to the Biography Domain. In EMNLP.
- Marco Lui and Timothy Baldwin, 2012. Langid.py: An off-the-shelf language identification tool. In proceedings of the ACL 2012 System Demonstrations, ACL.
- Kathleen R. McKeown, 1985. Text Generation: Using Discourse Strategies and Focus Constraints to Generate Natural Language Text. Cambridge University Press, New York, NY, USA.
- Hongyuan Mei, Mohit Bansal, and Matthew R Walter, 2016. What to talk about and how? Selective generation using LSTMs with Coarse-to-Fine Alignment. In NAACL-HLT.
- Myle Ott, Sergey Edunov, David Grangier, and Michael Auli, 2018. Scaling Neural Machine Translation. In WMT.
Ratish Puduppully, Li Dong, and Mirella Lapata, 2019. Data-to-Text Generation with Content Selection and Planning. In Proceedings of the AAAI Conference on Artificial Intelligence.
- Ehud Reiter and Robert Dale, 2000. Building Natural Language Generation Systems. Cambridge University Press.
- Rico Sennrich, Barry Haddow, and Alexandra Birch, 2016. Neural Machine Translation of Rare Words with Subword Units. In ACL.
- Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, ukasz Kaiser, and Illia Polosukhin, 2017. Attention is All You Need. In NIPS.
- Sam Wiseman, Stuart Shieber, and Alexander Rush, 2017. Challenges in Data-to-Document Generation. In EMNLP.
시스템 아키텍처
이제 도면들을 참조하여, 아래에서 개시된 예시 방법들은 도 1에서 도시된 아키텍처를 갖는 시스템(100) 내에서 구현될 수 있다. 시스템(100)은, 하나 이상의 신경망들을 사용하여 예시 자연어 처리(NLP) 및 NLP 모델 훈련 작업들을 수행하도록 구성되는, 프로세서(102), 예컨대, 컴퓨팅 디바이스를 포함한다. 프로세서(102)는 예시 모델들을 훈련시키기 위해 사용되는 데이터 셋들을 저장하는 하나 이상의 데이터베이스들(104)과 통신할 수 있다. 프로세서(102)는 단일한 프로세서 혹은 직렬 또는 병렬로 동작하는 복수의 프로세서들을 포함할 수 있고, 데이터베이스(104)는 하나 이상의 데이터베이스들을 포함하는 것으로 이해될 것이다.
기계 번역(MT) 또는 자연어 생성(NLG) 모델들의 훈련, 검증, 시, 및/또는 추론과 같은, NLP 작업들의 동작 동안, 프로세서(102)는 다른 연결된 프로세서(미도시)로부터, 데이터베이스들(104)로부터 또는/추가적으로 네트워크(108)를 통해 연결된 하나 이상의 사용자 단말들(106)로부터, 혹은 그 여하한 조합으로부터 입력 데이터를 수신할 수 있다. 프로세서(102)는 모델을 사용하여 입력 데이터를 처리할 수 있고 추가적인 프로세서(들), 데이터베이스들(104), 및/또는 하나 이상의 사용자 단말들(106a, 106b)로 이러한 처리의 결과들을 출력할 수 있다. 몇몇의 예시 방법들에서, 프로세서(102)는 서버(또는 클라우드 컴퓨팅 디바이스)로서 구성될 수 있고, 추가적인 프로세서들 중 하나 이상 또는 하나 이상의 사용자 단말들(106)은 클라이언트들로서 구성될 수 있다. 데이터베이스(104)는 프로세서에 로컬로 있거나 또는, 예컨대, 네트워크(108)를 통해, 원격으로 연결될 수 있다.
사용자 단말들(106a, 106b)은 개인용 컴퓨터들(106a), 클라이언트 컴퓨터들, 클라이언트 단말들, 모바일 통신 디바이스들(106b) 등 또는 본 개시에서의 방법들에 따른 프로세서(102)에 대해 데이터를 송수신하기 위해 구성될 수 있는 여하한 다른 컴퓨팅 디바이스를 포함하며, 이것으로 제한되지 않는다. 사용자 단말들(106)은 예시 방법들에 따른 프로세서(102)에 의한 처리의 결과들을 표시하기 위한 디스플레이를 포함할 수 있다.
도 2는, 프로세서(102)에서 구현될 수 있는, 예시 프로세서(200)의 컴포넌트들을 나타낸다. 프로세서(200)는 프로세싱부(202) 및 메모리(204)를 포함하고, 이는 랜덤-액세스 메모리, 비-휘발성 메모리 및 저장 매체의 여하한 조합을 포함할 수 있다. 데이터베이스(104)와 같은, 데이터베이스(206)는 프로세싱부(202)와 통신하도록 마련될 수 있다. NLP 모델 구성 데이터(예컨대, 모델들, 파라미터들), (예컨대, 훈련, 시험 및/또는 검증을 위한) 데이터 셋들, 생성된 입력 데이터, 생성된 출력 데이터 또는 다른 데이터는 필요에 따라 메모리(204) 및 데이터베이스(206)의 여하한 조합에 저장되거나 그로부터 검색될 수 있다.
메모리(204)에 저장된 코드를 실행하는, 프로세싱부(202)는 거기에 예시 방법들의 단계들을 수행하기 위한 모듈들을 마련한다. 이러한 모듈들의 예시 동작들은 예시 방법들을 참조하여 아래에서 보다 상세하게 설명된다.
자연어 처리(NLP) 모듈(208)은, 사용되는 특정한 방법에 따라서, 문장-레벨 기계 번역(MT) 모델, 문서-레벨 MT 모델, 증강된 문서-레벨 MT 모델 또는 자연어 생성(NLG) 모델과 같은, NLP 모델에 기반한 신경망을 실행한다. NLP 모듈(208)은 하나 이상의 데이터 셋들(210)로부터 생성된 (예컨대, 메모리(204)에 저장된) 입력 데이터를 수신하고, 출력 데이터를 생성하도록 NLP 모델을 사용하여 입력 데이터를 처리한다.
입력 데이터 처리 모듈(214)은 데이터 셋들(210)로부터 입력 데이터를 수신, 처리 및/또는 생성하여 훈련, 시험, 검증 및/또는 추론에 있어서의 사용을 위해 NLP 모듈(208)에 제공한다. 입력 데이터 처리 모듈(214)은, 토큰 시퀀스 생성 모듈(216), 구조화된 데이터 전처리 모듈(218) 및 연결/집합 모듈(220)과 같은 하나 이상의 데이터 처리 모듈들을 포함할 수 있다.
토큰 시퀀스 생성 모듈(216)은 데이터 셋들(210) 또는 다른 소스들로부터, 예컨대, 텍스트 시퀀스들과 같은, 하나 이상의 소스 및/또는 타겟 토큰 시퀀스들을 제공한다. 병렬 코퍼스로부터 제공되는 데이터 셋에 대해, 예컨대, 토큰 시퀀스 생성 모듈(216)은, 문장-레벨 텍스트 시퀀스들 또는 문서-레벨 텍스트 시퀀스들을 훈련을 위해 (기술자에 의해 이해되는 것처럼, 이러한 텍스트 시퀀스들에 대해 요구되는 여하한 전처리를 포함함) 필요에 따라 제공할 수 있다. 토큰 시퀀스 생성 모듈(216)은, 예컨대, 문서-레벨 텍스트를 제공하기 위해 연결/집합 모듈(220)에 의해 이후 연결될 수 있는, 예컨대, 문장-레벨 텍스트 시퀀스들과 같은 텍스트 시퀀스들의 셋을 랜덤으로 또는 다른 선택 방법들로 선택함에 의해 제공할 수 있다. 런타임 동안, 토큰 시퀀스 생성 모듈은 MT 작업들과 같은, NLP 모델에 대한 입력을 위해 새롭게 수신된 토큰(예컨대, 텍스트) 시퀀스의 여하한 소기의 전처리를 수행할 수 있다.
구조화된 데이터 전처리 모듈(218)은 데이터 셋들(210) 또는 다른 소스들로부터 수신된 구조화된 데이터에 대한 하나 이상의 전처리 단계들을 수행하여 예컨대, 텍스트 또는 토큰 시퀀스와 같은 언어-무관 데이터를 제공한다. 전처리는, 비한정적인 예시로서, 언어-종속 구조화된 데이터로부터의 언어-무관 데이터를 생성하는 것, 구조화된 데이터를 필터링하는 것, 입력 구조화된 데이터로부터 추론될 수 있는 추가적인 구조화된 데이터로 구조화된 데이터를 보충하는 것 및/또는 구조화된 데이터를 순차적인 형태로 배치하는 것을 포함할 수 있다.
연결/집합 모듈(220)은 토큰 시퀀스 생성 모듈(216) 및/또는 구조화된 데이터 전처리 모듈(218)로부터 문서-레벨, 문장-레벨 또는 기타 텍스트 시퀀스들을 연결, 집합화(aggregate) 또는 결합(combined), 또는 그렇지 않으면 조립(assemble)(페어링(pair))하여 NLP 모듈(208)에 의해 실행되는 NLP 모델에 대한 입력 및/또는 출력 텍스트 시퀀스들을 제공한다. 예시 연결 또는 집합 방법들이 여기에서 설명된다.
NLP 훈련 모듈(222)은 여기에서 제공되는 하나 이상의 훈련 방법들에 따라 (예컨대, 입력 데이터 처리 모듈(214)에 의해 처리된 것과 같은) 수신된 입력 데이터를 사용하여 NLP 모듈(208)에 의해 실행되는 NLP 모델을 훈련시킨다. NLP 훈련 모듈(222)은, 문장-레벨 MT 훈련, 문서-레벨 MT 훈련, 증강된 문서-레벨 MT 훈련 또는 NLG 훈련을 포함하여, 복수의 훈련 방법들을 수행할 수 있고, 이들의 예시들이 여기에서 설명된다. NLP 훈련 모듈(222)은 추가적인 입력 데이터를 사용하여 NLP 모델의 시험 및/또는 검증을 위해 구성될 수도 있다.
NLP 추론 모듈(224)은 수신된 데이터 셋들(210) 또는 다른 데이터 소스로부터 NLP 모듈(208)로 새로운 입력 데이터(이러한 입력 데이터는 선택적으로 입력 데이터 처리 모듈(214)에 의해 처리될 수 있음)를 런타임 동안 추론을 수행하기 위해 제공한다. 프로세서(200)는 예컨대, 저장을 위해, 디스플레이 상에서의 표시를 제공하기 위해, 그 밖의 것을 위해, 추론 동안 NLP 모델에 의해 생성된 출력 데이터를 추가로 처리할 수 있다.
NLG 모델 훈련
Figure 3 shows an example method 300 for training a document-level NLG model (an example NLP model) using the processor 102, 200. 도 3은 프로세서(102, 200)를 사용하여 문서-레벨 NLG 모델(예컨대, NLP 모델)을 훈련시키기 위한 예시 방법(300)을 나타낸다.
단계(310)에서, 문서-레벨 MT 모델은, 예컨대, NLP 훈련 모듈(222)을 사용하여, 제1 언어(소스)의 입력 토큰 시퀀스들을 수신하고, 제2 언어(타겟)의 출력 토큰 시퀀스들을 생성하기 위해 MT 모델을 훈련시킴으로써 제공된다. MT 모델을 훈련시키는 것은, 예컨대, 병렬 코퍼스로부터의, 병렬 소스 및 타겟 토큰 시퀀스들을 사용할 수 있다.
문서-레벨 MT 모델은 최초로는 여하한 적절한 (예컨대, 프로세서(200) 내에서(일례로 NLP 모듈(208) 내에서) 이전에 생성되어 저장된 것, 프로세서의 외부에서 이전에 생성 및 저장되고 이후 프로세서(200)에 의해 수신 또는 획득된 것 등과 같은) 방식으로 제공될 수 있다. 일부 예시 방법들에서, 문서-레벨 MT 모델은 예컨대, NLP 훈련 모듈(222)을 사용하여 문장-레벨 MT 모델을 훈련시킴으로써 제공될 수 있다. 대안적으로, 기존의 문서-레벨 MT 모델이 문서-레벨 MT 모델을 제공하도록 훈련될 수 있다.
비한정적인 예시로서, 문서-레벨 MR 모델은 제1언어(L1)(예컨대, 영어)의 텍스트의 시퀀스(예컨대, 단어들)와 같은 입력 토큰들을 번역하고, 제2언어(L2)(예컨대, 프랑스어)의 텍스트의 시퀀스(예컨대, 단어들)와 같은 출력 토큰들을 생성하기 위해 구성(예컨대, 생성 또는 수신 및 훈련)될 수 있다. 입력 및/또는 출력 토큰들은, 기술자에 의해 이해되는 것처럼, 문장 종료를 나타내는 것들과 같은 특수한 토큰들을 더 포함할 수 있다. 이러한 단계(310) 에서 제공되는 MT 모델은 문서-레벨이므로, MT 모델은 NLP 훈련 모듈(222)에 의해 훈련되어 문장-레벨보다 큰 레벨의 시퀀스들을 집합적으로 나타내는 입력 토큰들을 수신하고, 유사하게 문장-레벨보다 큰 레벨의 시퀀스들을 나타내는 출력 토큰들을 생성한다.
단계(312)에서, 예컨대, 입력 데이터 처리 모듈(214)과 조합하여 NLP 훈련 모듈(208)을 사용하여, 프로세서(102)는, 예컨대, 소스 토큰 시퀀스들과 같은, 소스 토큰 데이터와 쌍을 이루는 구조화된 데이터를 사용하여 문서-레벨 MT 모델(일례로, 단계(310)에서 훈련된 것)을 훈련시킴으로써 증강된 문서-레벨 MT 모델을 제공한다. 단계(312)에서의 훈련은 쌍을 이루는 구조화된 데이터와 소스 토큰 시퀀스들일 입력으로서 수신하고 타겟 토큰 시퀀스들을 출력으로서 생성하도록 증강된 문서-레벨 MT 모델을 훈련시키는 것과 관련된다. 증강된 문서-레벨 MT 모델을 제공하기 위한 단계(312)에서의 훈련은 MT 훈련 방법들을 사용하여 수행될 수 있다.
예컨대, 프로세서(200), 예컨대, 입력 데이터 처리 모듈(214)은 다른 하나와 쌍을 이루는 구조화된 데이터 및 소스 토큰 데이터를 갖는 하나 이상의 데이터 셋들을 제공할 수 있고, 이로서 하나 이상의 쌍들이 제공되고, 각 쌍은 언어-독립 형태의 구조화된 데이터 및 제1 언어(L1)의 소스 토큰 데이터를 갖게 된다. 언어-독립 형태는 구조화된 데이터가 소스 언어(L1) 및 타겟 언어(L2) 둘 다로 이해될 수 있는 형태이다. 쌍들은 이러한 단계(312)에서의 훈련을 위한 소스를 제공하고, 타겟 언어(L2)의 텍스트는 타겟을 제공한다.
일부 예시 방법들에서, 구조화된 데이터는 문서와 연관되는 데이터이거나 해당 데이터를 포함한다. 예컨대, 구조화된 데이터는 문서에 관한 개념적이거나(conceptual) 의미적인(semantic) 정보를 나타내는 데이터일 수 있다. 구조화된 데이터는, 비한정적인 예시들로서, 테이블 레코드 데이터, 트리 데이터, 그래프 데이터, 메타데이터, 포맷화된 데이터, 또는 여하한 이들의 조합일 수 있다.
구조화된 데이터의 예시 소스는 자연어 생성(NLG) 모델들을 훈련시키기 위해 통상적으로 사용되는 훈련 셋이며, 그 예시들이 여기에서 제공된다. 그러나, 데이터의 다른 소스들이 사용될 수 있다. 동일한 소스 또는 복수의 소스들로부터의 복수의 데이터 셋들이 쌍을 이루는 구조화된 데이터 및/또는 소스 토큰 데이터를 제공하도록 결합, 예컨대, 연결될 수 있다.
구조화된 데이터는 소스 토큰 시퀀스들과 쌍을 이루기 전에 전처리될 수 있다. 예시 전처리 방법들이 여기에서 제공된다.
소스 토큰 데이터는, 예컨대, 제1 언어(L1)의, 구조화된 데이터와 연관된 문서를 요약하는 텍스트이거나 해당 데이터를 포함할 수 있다. 예컨대, 구조화된 데이터는 이벤트에 대한 사실(fact)들을 나타낼 수 있고, 이벤트는 텍스트에 의해 요약된다. 토큰 타겟 데이터는 프로세서(200)에 의해 토큰 데이터로서 수신될 수 있고, 또는, 예컨대, 훈련 데이터 셋으로부터, 예컨대, 비토큰화된(non-tokenized) 타겟 텍스트를 수신하고 비토큰화된 데이터를 토큰화하는 프로세서에 의해, 제공될 수 있다. 데이터를 토큰화하는 예시 방법들이 여기에서 제공되고, 나머지는 당해 기술 분야에서 통상의 지식을 가진 자에 의해 이해될 것이다.
타겟 토큰 데이터는, 예컨대, 제2 언어(L2)의, 즉, 훈련된 문서-레벨 MT 모델에 의해 생성된 토큰들의 출력 시퀀스의 언어의, 구조화된 데이터와 연관된 문서를 요약하는 텍스트이거나 해당 텍스트를 포함할 수 있다. 다시 말해, 소스 토큰 데이터 및 타겟 토큰 데이터는 언어들(L1 및 L2) 각자의 문서를 요약하는 문서일 수 있으며, 소스 토큰 데이터와 쌍을 이루는 구조화된 데이터는 이러한 문서와 연관된 데이터일 수 있다.
타겟 토큰 데이터는 문서-레벨 데이터로 간주될 수 있다. 본 발명자들에 의해 인식된 것처럼, 이는 증강된 문서-레벨 MT 모델의 출력을 정렬하는 것을 돕고 NLG 모델의 그것이 제2 언어(L2)의 텍스트 요약들을 제공하는 것을 도우며, 언어들(L1 및 L2)의 텍스트 사이의 번역을 위한 입력 텍스트를 처리하는 제1 타입의 NLP 모델(문서-레벨 MT 모델과 같은 것)과 구조화된 데이터를 처리하는 제2 타입의 NLP 모델(NLG 모델과 같은 것) 사이의 전이 학습을 가능하게 하고 제2 언어의 텍스트를 생성한다.
단계(314)에서, NLG 모델은, 타겟 토큰 시퀀스들을 출력으로서 제공하는 한편 쌍을 이루는 소스 토큰 시퀀스들 없이 입력으로서 구조화된 데이터를 수신하도록 단계(312)에서 훈련된 증강된 문서-레벨 MT 모델을 훈련시킴으로써, 제공된다. 증강된 문서-레벨 MT 모델, 따라서, NLG 모델을 훈련시키는 것은, 이러한 훈련 단계(314)에서, 신경 NLG 모델들을 훈련하기 위한 기지의(known) 방법들을 사용하여 NLP 훈련 모듈(222)에 의해 수행될 수 있다. (예시 하이퍼파라미터들을 포함하는) 예시 훈련 방법들이 여기에서 제공된다.
도 4는 단계(310)에 따른 문서-레벨 MT 모델을 훈련시키는 예시 방법(400)을 나타낸다. 단계(402)에서, NLP 모듈(208)을 사용하여 구현될 수 있는, MT 모델은 여하한 적절한 방법을 사용하여 제공된다. 단계(402)에서 제공되는, 제공된 MT 모델은 (문장 단위(sentence-by-sentence basis)로 입력 텍스트를 처리하는) 문장-레벨 MT 모델 또는 (문서 단위로 입력 텍스트를 처리하는) 문서-레벨 MT 모델일 수 있다.
이러한 제공된 MT 모델은 당해 기술 분야에서 통상의 지식을 가진 자에게 분명하게 되는 MT 훈련 방법들을 사용하여 NLP 훈련 모듈(222)에 의해 최초로 훈련될 수 있다. 예시 방법들이 여기에서 제공된다. 예컨대, MT 모델이 문장-레벨 MT 모델이면, 이는 최초로 문장-레벨 데이터를 사용하여 훈련될 수 있는 반면, 문서-레벨 MT 모델은 문서-레벨 데이터를 사용하여 최초로 훈련될 수 있다. 최초 훈련이 문장 기반이면, 텍스트 문장들은 희망하는 바에 따라 문장-레벨 텍스트에 의해 제공되거나 또는/추가로 문서-레벨 텍스트를 세그먼트화 함으로써 제공될 수 있다. 당해 기술 분야에서 통상의 지식을 가진 자에 의해 이해되는 것처럼, 훈련 데이터는 MT 모델들을 훈련하기 위한 데이터 셋들을 수신함으로써 제공될 수 있다. 문장-레벨 토큰 데이터로 추출(예컨대, 세그먼트화)하기 위한 문서-레벨 토큰 데이터는 문서-레벨 MT 모델 훈련 셋들에 의해 제공될 수 있다. 최초 훈련을 위한 문장-레벨 또는 문서-레벨 소스 토큰 데이터는 제1 언어(L1)일 수 있고, 최초 훈련을 위한 문장-레벨 타겟 토큰 데이터는 제2 언어(L2)일 수 있다.
단계(404)에서, 문서-레벨 훈련 데이터(예컨대, 기존의 문서-레벨 훈련 데이터)는 문서-레벨 MT 모델을 훈련시키기 위해 사용되어야 하는지 여부가 판정된다. 문서-레벨 훈련 데이터가 사용되어야 하면(통상적으로 더 높은 레벨의 훈련), 단계(604)에서, 문서-레벨 토큰 시퀀스들(예컨대, 기술자에 의해 이해되는 것과 같은 소기의 전처리와 함께, 텍스트 시퀀스들)이 각각 예컨대, 병렬 코퍼스로부터, 선택되어 소스 및 타겟 데이터를 (즉, L1의 토큰 시퀀스들이 소스로서; L2의 토큰 시퀀스들이 타겟으로서) 제공한다. 이러한 데이터 셋들에 대한 예시 소스들은 기존의 문서-레벨 MT 훈련 데이터 셋들 또는 문장-레벨 MT 훈련 데이터 셋들로부터의 집합화된(aggregated) 문장 데이터를 포함한다. 문서-레벨 토큰 데이터에 대한 추가적인 소스들은 NLG 훈련 셋들로부터의 업샘플링된 및/또는 역-번역된(back-translated) 타겟 데이터를 포함한다. 훈련 데이터의 선택 및/또는 전처리는 입력 데이터 처리 모듈(214)에 의해 제공될 수 있다.
단계(404)에서, 기존의 문서-레벨 훈련 데이터가 사용되지 않아야 하는 것으로 판정되면, 그 다음으로 문서-레벨 데이터가 시뮬레이션될 수 있다. 단계(408)에서, 제1 및 제2 언어들(L1, L2)의 랜덤 문장-레벨 토큰 시퀀스들(예컨대, 기술자에 의해 이해되는 것과 같은 소기의 전처리와 함께, 텍스트 시퀀스들)은, 예컨대, 병렬 코퍼스로부터 선택된다. 예컨대, 제1 언어(L1)의 랜덤으로 선택된 문장-레벨 토큰 시퀀스들과 제2 언어(L2)의 이들의 연관된 문장-레벨 토큰 시퀀스들의 셋이 선택될 수 있다. 대안적으로 또는 추가적으로, 제2 언어(L2)의 랜덤으로 선택된 문장-레벨 토큰 시퀀스들과 제1 언어(L1)의 이들의 연관된 문장-레벨 토큰 시퀀스들이 선택될 수 있다.
단계(408)로부터 계속하여, 단계(410)에서, L1 및 L2의 선택된 문장-레벨 토큰 시퀀스들은 각자, 예컨대, 입력 데이터 처리 모듈(214)에 의해, 시뮬레이션된 문서-레벨 소스 및 타겟 데이터를 제공하도록 연결된다. 예컨대, 소스 시퀀스는 L1의 연결된 랜덤으로 선택된 문장들을 포함할 수 있으며, 타겟 문장은 L1의 연결된 문장들과 연관된(즉, 그 번역인) 각각의 L2의 연결된 문장들을 포함할 수 있다.
단계(412)에서, 단계(402)에서 제공된 MT 모델은, MT 훈련 방법들을 사용하여, 단계들(406, 또는 408/410)로부터의 선택된 데이터에 대해 훈련된다. 문서-레벨 및 시뮬레이션된-훈련-레벨 데이터의 조합이 훈련 단계(412)에서의 MT 모델을 훈련시키기 위해 사용될 수 있다. 훈련 단계(412)의 결과는 제1 언어(L1)의 텍스트의 입력 시퀀스를 수신하고 제2 언어(L2)의 텍스트의 시퀀스를 출력하는 문서-레벨 MT 모델이 된다.
도 5는 단계(312)에서의 문서-레벨 기계 번역 모델을 증강하기 위한 예시 방법(500)을 기재한다. 단계(502)에서, 구조화된 데이터는 프로세서(200), 예컨대, 구조화된 데이터 전처리 모듈(218)에 의해 텍스트 시퀀스들(또는 더 일반적으로는 다른 토큰 시퀀스들)을 제공하도록 전처리된다. 전처리(502)로부터 비롯되는 텍스트 시퀀스들은 앞서 설명한 것처럼 언어-무관하게 될 수 있다.
단계(504)에서, 프로세서(200), 예컨대, 연결/집합 모듈(220)은 전처리(502)로부터의 텍스트 시퀀스들을 제1 언어(L1)의 소스 토큰 데이터(예컨대, 문서-레벨)와 페어링하여 훈련 데이터 셋을 위한 소스 데이터를 제공할 수 있다. 페어링(504)은, 예컨대, 텍스트 시퀀스들을 당해 기술 분야에서 통상의 지식을 가진 자에 의해 이해되는 연결 방법들을 사용하여 소스 토큰 데이터와 연결하는 것을 포함할 수 있다. 예시 연결 방법들이 여기에서 제공된다.
단계(506)에서, 문서-레벨 MT 모델은, 예컨대, 단계(310)에서 훈련된 문서-레벨 MT 모델은 소스 데이터로서 단계(504)로부터의 쌍을 이루는 소스 데이터와, 입력 데이터 처리 모듈(214)에 의해 처리된 것으로서 제2 언어(L2)의 타겟 토큰 데이터를 타겟 데이터로서 사용하여 NLP 훈련 모듈(222)에 의해 훈련된다. 타겟 토큰 데이터는 단계(504)에서 (언어-무관) 구조화된 데이터-기반의 텍스트 시퀀스와 쌍을 이루는 언어(L1)의 소스 토큰 데이터에 대응하는(예컨대, 그 번역인) 제2 언어(L2)의 토큰 시퀀스들(예컨대, 텍스트 시퀀스들) 일 수 있다. 예컨대, 소스 토큰 데이터는 NLG 훈련 셋으로부터 제2 언어(L2)인 역-변역 타겟 텍스트에 의해 제공될 수 있다. 다른 예시로서, 일부 NLG 훈련 세트들은 하나보다 많은 언어의 타겟 텍스트를 포함하고, 이러한 타겟 텍스트는 통상적으로 문서-레벨 데이터이다. 다른 예시로서, 소스 토큰 데이터는 언어들(L1 및 L2)의 텍스트를 갖는 MT 훈련 셋으로부터 제1 언어(L1)의 텍스트를 수신 또는 생성함으로써 제공될 수 있다. 소스 토큰 데이터 및 타겟 토큰 데이터는, 서로 연결되는, MT 훈련 데이터 및 NLG 훈련 데이터 둘 다에 의해 또한 제공될 수 있다.
소스 및/또는 타겟 토큰 시퀀스들을 제공하는 것은, 기술자에 의해 이해되는 것처럼, 예컨대, 토큰 시퀀스 생성 모듈(214) 및/또는 연결/집합 모듈(220)에 의한 토큰 데이터의 전처리를 포함할 수 있다.
단계(506) 동안, (소스 토큰 시퀀스들과는 대조적으로) 구조화된 데이터의 고려를 향상시키기 위해, 단계(504)의 페어링은 선택적으로(optionally) 소스 토큰 시퀀스들 내의 복수의 토큰들을 랜덤으로 마스킹(masking)하는 것과, (랜덤으로 마스킹된 토큰들을 갖는) 이러한 소스 토큰 시퀀스들을 전처리된 텍스트 시퀀스들과 연결하는 것을 포함할 수 있다. 마스킹은 기지의 방법들을 사용하여 수행될 수 있다.
일부 예시 훈련 방법들에서, 단계(506)에서 훈련은 복수의 에포크(epoch)들에 대해 수행될 수 있다. 각 에포크에 대해, 소스 데이터가 단계(504)에서 제공될 때, 상이한(예컨대, 랜덤으로 선택된) 복수의 토큰들이 선택적으로 마스킹될 수 있다. 이는 증강된 문서-레벨 MT 모델이 구조화된 데이터를 고려하여 훈련되는 것을 보장한다.
훈련된 때 증강된 MT 모델은 제1 언어에서 번역될 입력 토큰들(예컨대, 텍스트, 특수 문자 등)과 언어-독립 구조화된 데이터 둘 다를 포함하는 입력 시퀀스를 수신하고, 제2 언어의 문서-레벨 출력 토큰들(예컨대, 텍스트, 특수 문자 등)을 포함하는 출력 시퀀스를 생성하도록 구성된다.
도 6은 구조화된 데이터 전처리 모듈(218)을 사용하여 텍스트 시퀀스들을 제공하도록 구조화된 데이터를 전처리하는 예시 방법(600)을 나타낸다. 통상적으로, 구조화된 데이터는, 전통적인 기계 학습 모델들에 의해 쉽게 처리되지 않는, 테이블 형식, 그래프 형식, 트리 형식 또는 다른 포맷들로 제공된다. 따라서, 예시 전처리 방법(600)은 구조화된 데이터를 텍스트 시퀀스 형식으로 변환하고(제한되지 않는 예시로서, 그래프 데이터를 변환하기 위한 튜플(tuple)들을 사용하여) 따라서 NLP 모델에 의해 출력 텍스트 시퀀스를 생성하도록 소비될 수 있다. 추가적으로, (기입 날짜(written dates)로 한정되지 않는 것과 같은) 언어-종속 구조화된 데이터는 언어-무관하게 만들어질 수 있다.
구조화된 데이터는 단계(602)에서 수신된다. 예컨대, 구조화된 데이터는, 전술된 것처럼, 하나 이상의 수신된 NLG 훈련 세트들의 일부인 데이터 셋의 구조화된 데이터로서 수신될 수 있고, 다른 외부 소스로부터의 데이터 셋으로부터 수신될 수 있고, 또는 프로세서(102) 내 또는 프로세서(102)에 접근 가능한 스토리지 내에 포함된 데이터 셋으로부터 수신될 수 있다. 복수의 NLG 훈련 셋들로부터 구조화된 데이터는 연결될 수 있다.
수신된 구조화된 데이터는 단계(604)에서, 예컨대, 하나 이상의 타입들의 데이터를 선택 및/또는 제거함으로써 필터링될 수 있다. 예시로서, 특정한 타입들의 정보가 소기의 출력 텍스트를 효율적으로 생성하기 위해 더 관련되어 있는 것으로(문서에 대한 요약 텍스트와 같이) 이전에 판단되었을 수 있다. 이러한 타입들의 정보를 나타내는 데이터가 필터링 동안 선택될 수 있고, 다른 타입들의 정보를 나타내는 데이터는 배제하도록 선택(de-selected)될 수 있고(아니면 선택되지 않을 수 있고) 추후의 처리에 대해 배제될 수 있다. 대안적으로 또는 추가적으로, 추가 구조화된 데이터는 직접적으로 존재하지 않을 수 있으나, 수신된 구조화된 데이터를 사용하여 추론될 수 있고, 단계(602)에서 수신된 구조화된 데이터를 보충하도록 생성될 수 있다.
언어-종속적인 구조화된 데이터는 언어-무관 또는 언어-독립 형식으로의 여하한 필터링 또는 보충 전 또는 후에 단계(606)에서 변환 또는 정규화(예컨대, 번역)될 수 있다. 변환의 예시들은 여기에서 제공되지만(예컨대, 언어 종속 형식 "August 1, 2020"으로부터 언어 독립 형식 "2020-08-01"으로의 데이터 변환), 다른 언어-무관 형식들 및/또는 변환들이 가능함이 이해될 것이다.
(필터링, 보충 또는 변환이 이루어지거나 또는 이루어지지 않은) 구조화된 데이터는 단계(608)에서 토큰들을 제공하도록 인코드될 수 있다. 예컨대, 프로세서(102)는 구조화된 데이터를, 더 일관적이고, 명확하고, 혹은/추가로 효율적으로 문서에 대한 특정한 개념들 또는 정보를 표현하도록 결정 또는 선택된, 구조 또는 포맷에 기반하여 인코딩할 수 있다. 구조화된 데이터의 일부는 인코딩 단계(608) 전에 미리 토큰화될 수 있다. 일부 예시 방법들에서, 단계(606)에서의 (선택적인) 번역 및 단계(608)에서의 인코딩이 하나의 단계로 결합될 수 있다(비한정적인 예시로서, 변역은 인코딩에 통합될 수 있음). 단계(604)에서의 필터링 또는 보충 및/또는 단계(606)에서의 번역과 선택적으로 결합된 단계(608)에서의 인코딩은, 구조화된 데이터의 보다 콤팩트한 표현을 제공할 수 있다.
토큰 시퀀스들, 예컨대, 텍스트 시퀀스들은 구조화된 데이터, 예컨대, 단계(606)에서의 토큰들로부터 단계(610)에서 생성될 수 있다. 예컨대, 텍스트 시퀀스들은 당해 기술 분야에서 통상의 기술자들에게 이해되는 토큰 세그먼트화 방법들을 사용하여 세그먼트화 될 수 있다. 비제한적인 예시 세그먼트화 방법은 바이트-페어 인코딩(Byte-Pair Encoding; BPE)을 사용한다.
도 7은 단계(314)에서의 NLG 모델을 제공하도록 증강된 문서-레벨 MT 모델을 훈련시키는 예시 방법(800)을 나타낸다. 단계(702)에서, 예컨대, NLG 훈련 셋 또는 다른 소스로부터의 구조화된 데이터는, 도 6을 참조하여 전술한 방법들과 같이, (언어-무관) 텍스트 시퀀스들을 제공하도록 구조화된 데이터 전처리 모듈(218)에 의해 전처리된다. 단계(704)에서, 예컨대, 단계(312)에서 제공된 것과 같은, 증강된 문서-레벨 MT 모델은 단계(704)로부터의 제공된 텍스트 시퀀스들을 소스 데이터(텍스트)로서 사용하고, 예컨대, NLG 훈련 셋 또는 다른 소스로부터의 제2 언어(L2) 타겟 토큰 데이터를 타겟 데이터로서 사용하여 NLP 훈련 모듈(222)에 의해 NLG를 위해 훈련될 수 있다.
단계(704)에서 NLG 훈련은 증강된 문서-레벨 MT 모델을 제공할 때 (단계(504)에서 언어-독립 구조화된 데이터와 쌍을 이루었던 언어(L1)의 소스 토큰 데이터를 배제(omit)한다(제거 혹은 사용하지 않는다). NLG 모델 훈련 데이터는, 비제한적인 예시로서, NLG 훈련 단계(704)에서 사용될 수 있다.
본 발명자들은, 예컨대, 여기에서 제공되는 것처럼 구조화된 데이터로 증강된, 이전에 훈련된 문서-레벨 MT 모델을 훈련된 NLG 모델을 제공하도록 NLG 모델 훈련 데이터로 훈련시키는 것은, 단지 NLG 훈련 데이터만을 사용하여 NLG 모델을 훈련시키는 것에 대해 비견할만한 결과들을 제공할 수 있다는 점을 발견했다. MT 훈련 데이터는 NLG 훈련 데이터보다 훨씬 더 넓게 이용 가능하므로, 이는 NLG 모델들을 훈련시키기 위해 가용한 NLG 훈련 데이터의 보다 효율적인 사용을 가능하게 한다.
NLG 훈련 단계(314)로부터 비롯되는 훈련된 NLG 모델은, 예컨대, 미세-조정을 위해, 기지의NLG 훈련 방법들을 사용하여 구조화된 데이터 및 타겟 토큰 데이터를 포함하는 하나 이상의 추가적인 데이터 셋들에 대해 더 훈련될 수 있다. 이러한 데이터 셋들은, 예컨대, NLG 모델들을 훈련시키기 위한 전통적인 데이터 셋들을 포함할 수 있다. 추가적으로 또는 대안적으로, 추가적인 훈련은 여기에서 제공되는 것처럼 소스 또는 타겟 토큰 시퀀스들을 사용하기 위해 하나 이상의 방법들을 사용하여 적어도 부분적으로 생성된 데이터 셋을 사용할 수 있다.
런타임에서 훈련된 NLG 모델 사용
도 3에서 제공된 것과 같이 훈련된 NLG 모델은 도 8의 방법(800)을 사용하여 추론을 위해 런타임에서 사용될 수 있다. 훈련된 NLG 모델을 실행하는 프로세서(102)는 단계(802)에서 새로운 구조화된 데이터를, 당해 기술 분야에서 통상의 지식을 가진 자에 의해 이해되는 것처럼, 예컨대, 다른 프로세서(미도시)로부터 또는, 적절한 인터페이스들을 통해, 하나 이상의 사용자 단말들(106)로부터 혹은 여하한 다른 소스로부터 수신한다.
단계(804)에서, 프로세서(200)는 예컨대, 구조화된 데이터 전처리 모듈(218)은 언어-독립 텍스트 시퀀스들을 제공하도록 구조화된 데이터를 전처리한다. 단계(804)에서의 처리는 도 6을 참조하여 설명된 것과 본 개시의 다른 곳에서 개시된 것처럼 제공될 수 있다. (언어-독립) 구조화된 데이터는 추가로 처리될 수 있고, 예컨대, 인코딩, 벡터화 등이 수행될 수 있다.
프로세서(200), 예컨대, NLP 추론 모듈(224)은 단계(806)에서 전처리된 구조화된 데이터를, NLP 모듈(208)에 의해 구현될 수 있는 것과 같은, 단계(314)에서 제공된 NLG 모델과 같은 훈련된 NLG 모델로 입력한다. 입력에 따라, 훈련된 NLG 모델은 출력으로서 타겟 토큰 시퀀스들, 예컨대, 단계(808)에서 제2 언어의 출력 텍스트를 생성한다. 이러한 생성된 출력 텍스트는 단계(810)에서 프로세서(200)에 의해 추가로 처리될 수 있고, 예컨대, 다른 프로세서(들) 또는 하나 이상의 사용자 단말들(106) 상에서의, 디스플레이에서의 표시를 위해 제공되거나, 프로세서(200)에 의해 표시, 저장, 추가 처리, 또는 적용될 수 있다. 생성된 출력 텍스트에 기반한 피드백이 NLG 모델을 훈련시키기 추가로 위해 사용될 수 있다.
예시들
문서-레벨 NLG 모델을 훈련시키는 예시 방법들은 메타데이터로부터 완전한 문서들을 생성할 수 있는 엔드-투-엔드 퓨어(pure) NLG 시스템을 제공하도록 문서-기반의 MT 시스템을 훈련시킬 수 있고; 즉, 메타데이터를 완전한 문서들로 번역할 수 있다. 훈련된 엔드-투-엔드 NLG 시스템은, 데이터 선택 및 계획(planning) 없이, 주지의 NLG 데이터 셋(Rotowire)에 대해 실행되는 실험들에 있어서의 전통적인 방법들에 대해 잘 비교되도록 보여지고 있다. 데이터는 전이 학습을 사용하는 것에 의해 MT 및 NLG 작업들 둘 다로부터 활용되었다(leveraged from).
NLG와 문서-레벨 MT 작업들 둘 다가 동일한 타겟(로토와이어 데이터 셋을 사용하는 비제한적인 예시로서, 영어-언어 스토리들)을 가질 때, 이들은 동일한 디코더를 공유할 수 있다. 또한 데이터 셋으로부터의 구조화된 데이터(이 예시에서는 NLG 메타데이터)가 토큰 시퀀스로서, 즉, 텍스트 시퀀스로서 인코딩되면 NLG와 MT에 대해 동일한 인코더가 사용될 수 있다.
특정한 예시 방법은 비교적 많은 양의 병렬 데이터에 대해 도메인-적응된 문서-레벨 신경 기계-번역(MT) 모델들을 훈련시킨다. 문장-레벨 MT 모델들은 문서-레벨 MT 모델들을 제공하는 예시 방법들을 사용하여 훈련될 수 있다. 문서-레벨 MT 모델들은 비교적 소량의 NLG 데이터에 대해 미세-조정될 수 있고, MT(예컨대, (입력) 텍스트 투 (출력) 텍스트)로부터 NLG(예컨대, (입력) 데이터 투 (출력) 텍스트)로 모델을 전이(transitioning)할 수 있다. 이러한 전이의 일부로서, 문서-레벨 MT 모델들은 구조화된 데이터와 텍스트(예컨대, (입력) 데이터 + 텍스트 투 (출력) 텍스트)의 입력 조합(combination)으로부터 텍스트를 생성하도록 훈련될 수 있다. 이러한 증강된 문서-레벨 MT 모델들은 아래의 예시들에서 조합된 MT+NLG 모델들 또는 간단히(simply) MT+NLG 모델들로서 참조된다. 이러한 모델들에 의해 수행되는 작업들을 여기에서는 문서-레벨 생성 및 번역(Document-level Generation and Translation; DGT) 작업들로 총칭한다.
예시 전처리 방법들은 원래의 데이터베이스에서 가용한 구조화된 데이터를 변환, 정규화, 인코딩 등을 수행하기 위한 콤팩트한 방식을 제공한다. 예시 방법들에 있어서 이러한 전처리된 데이터는 작업의 최소한의 지식으로 쉽게 추론될 수 있는 몇몇의 추가적인 사실(fact)들(예컨대, 현재 게임의 승자 또는 다음 게임들에 관한 정보)을 사용하여 풍부해지게 된다(enriched).
예시 NLG 모델이 문서-레벨로 훈련되어 충분한 정보를 제공받으면, 별도의 데이터 선택 및 순서화(ordering) 단계들은 필요하지 않다. 실험들은 예시 데이터를 사용하여 훈련된 예시 NLG 모델들이 문서-레벨 구조를 캡쳐하고 스스로 정보를 순서(order) 정보를 캡쳐할 수 있음을 입증했다.
예시 작업
예시 문서-레벨 생성 및 번역(DGT) 작업은 농구 게임들의 요약들을, 두 언어들(예컨대, 영어 및 독일어)로, 게임에 관한 구조화된 데이터, 다른 언어의 게임 요약 또는 이 둘의 조합을 사용하여 생성하는 것이다. 이러한 예시 작업은 두 타겟 언어들(영어, 독일어) 각각에 대해 다음의 3개의 트랙들로 분할될 수 있다: NLG (데이터 투 텍스트); MT (텍스트 투 텍스트); 및 MT+NLG (텍스트 + 데이터 투 텍스트). 소기의 출력 텍스트는 문서-레벨(예컨대, 문장-기반의 출력들이 아니라, 완전한 문서들의 생성)이 된다.
아래의 표 1은 예시 실험들에서 사용된 예시 병렬 및 단일 언어 코퍼스들을 설명한다. 표 1에서 영어 측의 DGT-훈련(train), 유효(valid) 및 테스트는 각각 로토와이어-훈련(train), 유효(valid) 및 시험(test)의 서브셋들이다. 더 많은 단일 언어 데이터가 가용하지만, 로토와이어 및 뉴스-크롤만이 예시 실험들에 있어서 사용되었다. WMT19-sent 및 WMT-doc는 각각 영어-독일어 MT 머신 모델들을 훈련시키기 위한 문장-레벨 및 문서-레벨 데이터 셋들이다.
코퍼스 언어(들) 구분(Split) 문서(doc) 문장(sent)
DGT EN-DE train
valid
test
242
240
241
3247
3321
3248
로토와이어 EN train
valid
test
3398
727
728
45.5k
9.9k
10.0k
WMT19-sent
WMT19-doc
EN-DE train -
68.4k
28.5M
3.63M
뉴스-크롤 EN
DE
train 14.6M
25.1M
420M
534M
모든 예시 신경 NLP 모델들(MT, NLG, MT+NLG)은 Vaswani et al., 2017에서 개시된 것처럼 트랜스포머 빅(Transformer Big)에 기반하여 구성되었다. 각 모델을 제공하기 위한 예시 방법이 이제 논의될 것이다.
문장-레벨 MT 모델로부터의 문서-레벨 MT 훈련
문장-레벨 MT 모델들로부터 훈련된 문서-레벨 MT 모델을 제공하는 예시 방법은 다음의 단계들을 포함한다:
1) 모든 WMT19병렬 데이터(문서 및 문장)와 DGT-훈련에 대해 문장-레벨 MT 모델들을 훈련.
2) (예컨대, Edunov et al. 2018에서 개시된 것처럼) 샘플링에 의해 독일어 및 영어 뉴스-크롤을 역-번역(BT).
3) WMT19 병렬 데이터, DGT-훈련 및 역-번역된 데이터(BT)의 연결에 대해 문장-레벨 MT 모델들을 재훈련. 후자는, 각 훈련 에포크에 대해 하나의 부분으로, 20 부분들로 구분되었다. 이는 비-BT 데이터를 20만큼 오버샘플링하고 하나의 에포크의 훈련을 수행하는 것과 거의 동일하다.
4) 문서-레벨 데이터에 대한 (유효 혼잡도(perplexity)에 따른) 최선의 문장-레벨 체크포인트의 미세-조정. 이러한 단계에서, WMT 문서들은, 예컨대, Junczys-Dowmunt (2019)에서 개시된 것처럼 최대 1000개의 (BPE) 토큰들의 시퀀스들로 절두되었다(truncated). 랜덤 문장들이 WMT-sent로부터 문서들로 또한 집합화되고, DGT-훈련 데이터는 업샘플링되었다. 그러나, Junczys-Dowmunt (2019)에 개시된 방법과는 달리, 문장 구분자(separator) 및 문서 경계 태그(boundary tag)들은 예시 방법들에서는 사용되지 않았다.
5) DGT-훈련과 역-번역된 로토와이어-훈련(train) 및 로토와이어-유효(valid)에 대한 최선의 문서-레벨 체크포인트의 미세-조정 훈련.
예시 전처리 및 실험들에 대한 하이퍼파라미터들은 아래에서 더 상세하게 논의된다. 상기 1) 및 3) 단계들에서, 기껏해야 20개의 에포크들에 대해 newtest2014 복잡도에 기반한 조기 중단(early stopping)으로 훈련된다. 단계 4)에서, 기껏해야 5개의 추가적인 에포크들에 대해 DGT-유효 복잡도(문서-레벨)에 따른 조기 중단으로 훈련된다. 단계 5)에서, 100개의 에포크들에 대해 10개의 에포크들 마다 DGT-유효에 대한 BLEU 평가와 함께 훈련된다. 최선의 체크포인트의 BLEU 점수는 또한 DGT-유효 복잡도에 따라 계산되었고, 최고 BLEU 점수를 갖는 체크포인트가 유지되었다.
실험적인 훈련 동작에서, 단계 5)에서의 MT 모델들은 너무 빠르게 과적합되고, 단지 하나 또는 두 개의 에포크 이후에 그 최선의 유효 복잡도에 도달한다. DE-EN에 대해, 최선의 DGT-유효 BLEU는 10개 내지 100개의 에포크들 사이의 어디에서도 달성되었다(때때로 높은 유효 복잡도를 가짐). DE-EN에 대해, 복잡도 및 BLEU는 더 잘 상관되었고, 두 점수들에 따른 최선의 체크포인트는 대개 동일하였다. 아래에서 설명되는 것처럼, NLG 또는 MT+NLG 데이터에 대한 미세-조정 시에 동일한 관찰들이 적용되었다.
모든 예시 MT 모델들은, Berard et al. (2019)에서 개시된 것과 유사한, 코퍼스 태그들을 사용했다. 특히, 각 소스 문장은 그것이 유래한(예컨대, 파라크롤(Paracrawl), 로토와이어, 뉴스-크롤) 코퍼스를 식별하는 특수한 토큰으로 시작했다.
실험에 있어서, 문서-레벨 디코딩은 문장-레벨 디코딩보다 훨씬 더 느렸다. 예컨대, 단일한 V100에 대해, 문장-레벨 DGT-유효는 번역에 1분이 걸린 반면, 문서-레벨 DGT-유소는 6분이 걸렸다. 그러나, 훈련된 문서-레벨 MT 모델을 제공하는 것은 MT 및 NLG를 위해 동한 모델을 사용하는 것을 더 쉽게 만든다.
문서-레벨 MT 모델로부터 NLG 모델 훈련
원본 구조화된 데이터(여기서는, 메타데이터)는 게임당 하나의 JSON (JavaScript Object Notation) 문서로 제공되었다. 이러한 문서는 농구팀들 및 팀들의 선수들에 관한 정보를 포함했다.
훈련된 NLG 모델을 제공하기 위해, 다음의 단계들이 수행되었다:
1) 텍스트 시퀀스들로서 메타데이터의 콤팩트한 표현을 생성함(전처리).
2) 소스측에 대한 전술한 단계1)로부터의 콤팩트한 표현과 타겟 측에 대한 완전한 스토리들을 사용하여 NLG 작업에 대한 (예컨대, 이전의 문서-레벨 MT 훈련 방법의 단계 4)로부터의) 문서-레벨 MT 모델들 미세-조정 훈련.
단계 2)에 따른 예시 NLG 훈련은 DGT-훈련, 로토와이어-훈련 및 로토와이어 유효의 연결에서 수행되었고, 후자는 DGT-유효에서 또한 존재하는 게임들을 제거하도록 필터링된다.
단계 1)에서 사용된 예시 메타데이터는 다음의 구조를 가졌다:
a. 텍스트로서 게임의 날짜.
b. 홈 팀 정보(승자/패자 태그, 팀명 및 도시, 게임에서의 득점(point), 시즌 승리들 및 패배들, 팀-레벨 점수들) 및 팀의 다음 게임에 관한 정보(날짜, 홈/원정 태그, 다음 팀의 이름).
c. 원정 팀 정보 및 원정 팀의 다음 게임에 관한 정보
d. 홈 팀의 N 명의 베스트 선수들(선수명, 고정된 순서(fixed order)에서 0이 아닌 해당 선수의 점수 및 해당 선수의 시작 포지션이 이어짐). 선수들은 득점, 리바운드, 및 어시스트별로 (해당 순서로) 분류된다.
e. 원정 팀의 N 명의 베스트 선수들
모델들이 유용한 정보를 식별하는 것을 돕기 위해, 특수한 토큰들 및 위치 정보의 조합이 사용되었다. 예컨대, 홈 팀이 항상 먼저(first)이지만, <WINNER> 태그가 승리 팀 및 그 선수들에 선행했다. 모든 비-제로 통계들은 무시되었지만, 동일한 위치가 (예컨대, 득점, 그 다음 리바운드, 그 다음 어시스트와 같은) 각 타입의 점수에 대해 사용되었고 특수한 토큰들이 이들을 식별하기 위해 사용되었다(예컨대, <PTS>, 그 다음 <REB>, 그 다음 <AST> 각각). 태그들의 수는 시퀀스들을 가능한 한 짧게 유지하도록 제한되었다(예컨대, 자유투 성공 및 시도와 퍼센테이지: <FT> 3 5 60).
메타데이터 표현의 예시는 도 9a 내지 9c에 도시되고, 도 9a는 NLG 훈련 방법에서 사용된 예시 메타데이터 인코딩을 나타내고, 도 9b는 훈련 셋으로서 사용된 참조 스토리를 나타내고, 도 9c는 훈련된 영어 NLG 모델을 사용하여 생성된 스토리를 나타낸다. 도 9b 및 도 9c에서, 하나의 밑줄 표시된 텍스트의 부분들은 도 9a의 메타데이터 내의 사실들에 기반한 텍스트의 부분들을 식별하고, 이중 밑줄 표시된 텍스트의 부분들은 도 9a의 메타데이터에는 명시적이지 않은 정확한 사실들인 텍스트의 부분들을 식별한다. 도 9c에서, 점선 표시된 텍스트의 부분들은 허구들(hallucinations) 또는 부정확한 사실들을 식별하고, 이텔릭 폰트인 텍스트의 부분들은 반복된 텍스트를 식별한다.
문서-레벨 MT 모델로부터의 조합된 MT+NLG 모델 훈련
조합된 MT+NLG 모델을 훈련시키기 위해, 예시 방법은 MT 소스를 NLG 데이터와 연결했다. 동일한 메타데이터 인코딩 방법이 전술한 예시 NLG 모델 훈련 방법에서처럼 사용되었고, (전술한 단계 4)로부터의) 훈련된 문서-레벨 MT 모델들이 연결된 데이터를 사용하여 미세-조정되었다.
예시 방법은 또한 MT 소스 내의 토큰들을 (이들을 <MASK> 토큰으로 교체함으로써) 랜덤으로, 20% 또는 50% 확률로(에포크 당 하나의 상이한 샘플링으로) 마스킹했다. 이는 훈련 동안 모델이 소스에서 결여하는 정보 때문에 메타데이터를 사용하는 것에 도움이 되었다. 그러나, 시험 시에는, 토큰들이 마스킹되지 않았다.
데이터 전처리
예시 실험들에서, WMT19-sent 병렬 코퍼스는 (예컨대, Lui 및 Baldwin, 2012에서 개시된 것과 같은) langid.py으로 필터링되었다. 175개의 토큰들을 넘는 문장들 또는 1.5보다 큰 길이 비(length ratio)를 갖는 문장들은 제거되었다. 그 다음으로, (자연어 툴킷의(Natural Language toolkit's; NLTK's) 단어_토큰화(word_tokenize) 방법에 기반한) 공식적인(official) DGT 토큰화기(tokenizer)가 비-토큰화된 텍스트(여기서는, DGT 및 로토와이어가 아닌 모든 것)에 적용되었다.
(예컨대, Sennrich et al., 2016에서 개시된 것과 같은) 바이트-페어 인코딩(BPE) 세그먼트화가, WMT+DGT-훈련(영어 + 독일어)에 대해 획득된 32k 병합 연산들(operations)을 사용하여, 조인트 문장피스-유사 모델(Kudo 및 Richardson, 2018)과 함께 적용되었다. 어휘 임계값은 100으로 설정되었고, 인라인 케이싱(inline casing)이 적용되었다(Berard et al., 2019). 동일한 조인된 BPE 모델과 Fairseq 사전이 모든 모델들에 적용되었다.
메타데이터는 (이러한 실험 데이터의 경우, 번역되는 것이 필요한 평일, 월, 선수 포지션들만이) 초기화를 위해 사용되는 MT 모델의 소스 언어로 번역되었고, MT와 NLG 간 전이가 가능하게 되도록 BPE(특수 토큰들 제외)로 세그먼트화 되었다. 그 다음으로, 코퍼스 태그가 각 소스 시퀀스에 대해 추가되었고, 이는 그 출처(로토와이어, 뉴스-크롤 등)를 명시했다.
Juncys-Dowmunt, 2019에서의 예시에 의해 개시된 것처럼, 지나치게 긴 WMT19 문서들은 더 짧은 문서들로 분할되었다(최대 1100 BPE 토큰들). 또한, 문장-레벨 WMT19 데이터는 코퍼스를 셔플링(shuffling)하고 연속하는 문장들을 랜덤 길이의 문서들로 그룹핑함으로써 문서-레벨 데이터로 변환되었다. 최종적으로, 문서-레벨 데이터(WMT19 및 DGT)는 (문장 수의 관점에서) 그 원래의 크기의 8배만큼 업샘플링되었다. 이는 소기의 크기에 도달할 때까지 연속하는 문장들의 랜덤 스팬(span)들을 샘플링함으로써 이루어졌다.
DGT 및 로토와이어 데이터는 이미 토큰화되었고 필터링 또는 절두 처리(truncating)가 필요하지는 않았다. 이러한 데이터는 BPE 유닛들로 세그먼트화되었고 코퍼스 태그들이 부가되었다.
모델 설정들
모든 실험적인 모델들은, Fairseq 모델링 툴킷에 의해 구현된, 트랜스포머 빅(Transformer Big)(Vaswani et al., 2017)이었다. Ott et al., 2018에서 개시된 것과 동일한 하이퍼-파라미터들이, 아담 최적화기(Adam optimizer) 및 웜업을 갖는 인버스 스퀘어 루트 스케쥴(inverse square root schedule with warmup)(최대 학습률(LR) 0.0005)과 함께, 사용되었다. 드롭아웃 및 라벨 스무딩이 0.1의 레이트로 적용되었다. 소스 및 타겟 임베딩들은 공유되었고 마지막 레이어와 연결되었다(tied). 훈련은 8개의 V100 GPU들 상에서 하프-정밀도 부동소수점(half-precision floats)으로, 배치당 최대 3500개의 토큰들과 10개의 배치들의 딜레이된 업데이트들을 사용하여, 수행되었다. 실험적인 문서-레벨 MT 모델의 DGT-훈련 또는 로토와이어+DGT-훈련(단계(5) 에서의)에 대한 미세-조정 시, 또는 훈련된 NLG 또는 MT+NLG 모델의 미세-조정 시에, 실험적인 방법은 고정된 학습률 스케쥴(0.005 LR을 사용하는 아담(Adam))과 훨씬 더 작은 배치 크기(딜레이된 업데이트들 없이 단일 GPU 상에서의 1500개의 토큰들)를 사용했다. 이러한 방법은 100개의 에포크들에 대해 훈련되었고, 각 에포크에서 DGT-유효 혼잡도를 계산하고, 10개의 에포크들마다 DGT-유효 BLEU를 계산한다.
BLEU 평가
각 타입의 훈련된 모델에 대해, 최선의 모델들이 DGT-유효에 대한 BLEU 점수에 따라 선택되었다. 실험에 있어서의 점수들이 표 2에서 도시되었고, 이들 대표 모델들의 설명이 표 3에서 도시되었다.
표 2: DGT-유효 및 모든 타입들(트랙)에서 제출된 예시 시험 셋들에 대한 문서-레벨 DLEU 점수들
트랙 타겟 제약 유효(Valid) 시험(Test)
NLG
MT
MT+NLG

EN
no
yes
no
yes
23.5
60.2
64.2
64.4
20.5
58.2
62.2
62.2
NLG
MT
MT+NLG

DE
no
yes
yes
16.9
49.8
49.4
16.1
48.0
48.2
표 3: 모델의 타입별 대표 모델들의 설명
트랙 N 명의 베스트 선수들 세부 내용
NLG (EN) 4 로토와이어 BT + DGT-훈련 + 태그들
NLG (DE) 6 로토와이어 BT + DGT-훈련 + 태그들
MT (DE-EN) N/A 미제약: 로토와이어 BT + DGT-훈련 + 태그들 + 앙상블 제약됨: DGT- 훈련만 + 앙상블
MT (EN-DE) N/A DGT- 훈련만 + 앙상블
MT+NLG (EN) 3 로토와이어 BT + DGT-훈련 + 20% 텍스트 마스킹 + 태그들 + 앙상블
MT+NLG (DE) 3 로토와이어 BT + DGT-훈련 + 태그들 + 앙상블
모델 출력들 및 참조들이 이미 NLTK로 토큰화되었으므로, BLEU 점수들은 그 토큰화가 none으로 설정된 SacreBLEU를 사용하여 계산되었다.
이러한 실험들에 있어서 선택된 예시 NLG 모델들은, 전처리에서 사용된 WMT19 병렬 데이터가 허용되지 않았으므로, "미제약(unconstrained)"이었다. 유사하게 두 개의 평가들에 대한 결과들이 DE-EN MT에 대해 고려되었다: 하나는 제한된 것(constrained), 단지 DGT-훈련에 대해 문서-레벨 MT 모델들을 미세 조정하는 것, 및 하나는 미제약인 것(constrained), 벽-번역된 로토와이어-훈련 및 유효가 또한 사용됨. 모든 선택된 MT 및 MT+NLG 모델들은 5회의 미세-조정 수행(run)들의 앙상블이었다.
영어 NLG 모델과 EN-DN MT 모델들의 앙상블을 연결하는(cascading) 것은, 엔드-투-엔드 NLG 모델(16.1)보다 약간 더 낮은, DGT-텍스트에 대한 14.9의 BLEU 점수를 부여했다. 동일한 데이터 조건들(미제약 모드)에서, MT+NLG 모델들은 퓨어 MT 모델들보다 더 우수하지 않았음이 나타났다. 또한, 실험적인 MT+NLG 모델들은 MT-온리(only) 소스를 사용하여 평가되었으며, 대략 0.3의 단지 작은 BLEU 감소만이 발견되었고, 이는 NLG 정보는 대부분 무시되었음을 확인한다.
도 4는 (문장-레벨, 문서-레벨, 미세-조정된) 훈련의 상이한 단계들에서의 예시 MT 모델들의 BLEU 점수들을 나타내고, 이들을 WMT19 뉴스 번역 작업의 톱 참가자들 중 하나와 비교한다. DGT-유효 및 DGT-시험에 대한 점수들은 문서-레벨이었으며, 뉴스 2019(News 2019)는 문장-레벨이었다(이와 같이 디코딩되었음). 후자에 대해, DGP 코퍼스 태그가 DE-EN에 대해 사용되었고, 파라크롤(Paracrawl) 태그가 EN-DE에 대해 사용되었다(태그들은 뉴스테스트2014에 대한 최선의 BLEU와 함께 선택되었음). "미세-조정된" 모델들 별 점수들은 5회의 수행에 대해 평균화되었다.
모델 타겟 유효 테스트 뉴스 2019
FAIR 2019
문장-레벨 문서-레벨 미세-조정

EN
48.5
55.6
56.5
61.7
47.7
54.2
55.0
59.6
41.0
40.9
38.5
21.7
FAIR 2019
문장-레벨 문서-레벨 미세-조정

DE
37.5
47.3
48.2
48.0
37.0
46.7
47.5
46.7
40.8
42.9
41.6
41.3
표 5는 로토와이어-시험에 대한 선택된 실험 NLG(EN) 모델의, 3회의 시행에 걸친 BLEU를 전통적인 모델들과의 비교를 나타낸다. 로토와이어 토큰화가 약간 다르기 때문에, 고정값들(fixes)의 셋이 모델 출력에 대해 적용되었다(예컨대, 1-of-3에서 1 - of - 3으로). 결과들은 전통적인 모델들에 비해 예시 영어 NLG 모델에 의한 로토와이어-테스트에 대해 5의 BLEU 개선을 나타낸다.
모델 로토와이어 테스트
Wiseman et al. (2017) 14.5
Puduppully et al. (2019) 16.5
실시예 (4-선수(player)) 22.2
도 10은 메타데이터에서 선택된 선수들의 수가 변화할 때 예시 영어 NLG 모델들의 DGT-유효 BLEU 점수들을 나타낸다. 4에서 최고점(sweet spot)이 존재함이 나타났지만, 놀랍게도, 8까지 선수들의 수를 증가시키는 것은 BLEU를 상당히 저하시키지는 않는다. 선수들은 최고(best)로부터 최악(worst)으로 분류되므로, 실험 모델들은 지난(last) 선수들을 무시하는 것을 학습했을 가능성이 있다.
표 6은 3회 시행에 걸친 BLEU 평균들과 함께, 3명의 베스트 선수 베이스라인(실험용 NLG 모델은 4명의 선수들을 가짐)으로부터 시작하는, NLG 모델 절제 연구의 결과들을 나타낸다. 표준 편차는 0.1과 0.4 사이의 범위에 있다. 표 6으로부터, 선수를 분류하는 것은 도움이 되지만, 아주 약간만 도움이 되는 것으로 나타났다. 팀-레벨 정보만을 사용하고 선수들에 관한 정보는 없는 것은 더 나쁘지만 여전히 수용 가능한 BLEU 점수들을 제공했다.
표 6: 실험적인 NLG 모델 절제 연구
모델 유효 테스트
베이스라인 (3명의 선수들, 분류됨) 22.7 20.4
선수 없음
모든 선수들, 분류됨
모든 선수들, 셔플됨
20.1
22.7
22.0
18.8
20.9
20.0
(1) 다음 게임 없음 22.0 19.9
(2) 평일(week day) 없음 22.2 20.5
(3) 선수 포지션 없음 22.6 20.5
(4) 팀 레벨 합계들 없음 22.5 20.5
(5) 대부분의 태그들 제거 22.6 20.8
(1) ~ (5) 21.3 19.7
평일, 선수 포지션 또는 팀-레벨 집계된 점수들은 BLEU를 손상시키지 않고 실험 모델에서 제거될 수 있었다는 것이 나타났다. 그러나, 다음 게임들에 대한 정보는 더 유용한 것으로 나타났다. 또한, 포지션에만 의존하는 것과 대부분의 태그들(예컨대, <PTS>, <FT>)을 제거하는 것은 허용 가능한 것으로 나타났다. 이러한 경우에, 선수들과 게임들에 걸쳐 일치되는 포지션에 대해, 모든-제로 스탯들이 또한 프린트되었다.
추가적인 평가 결과들은 로토와이어 훈련 및 시험 사이에서 상당히 겹치는 것(significant overlap)으로 나타났다: 728개의 로토와이어-시험 게임들 중 222개가 또한 로토와이어-훈련에 또한 있음(DGT-훈련에 대해 68/241). 대응하는 스토리들은 언제나 달랐지만 많은 유사점들을 가졌다(몇몇 문장들은 완전하게 동일함). 로토와이어-훈련은 로토와이어-시험(222개의 스토리들의 서브셋)에 대해 평가된 때 24.2의 BLEU를 받았다. 이는 이러한 작업에 대해 인간-레벨의 성능의 추정을 제공했다. 실험적인 NLG 모델은 동일한 서브셋에 대해 21.8을 받았다. 이는 전반적으로 BLEU의 인공적인 증가를 야기할 수 있고, 이는 부당하게 과적합된 모델들을 선호하게 될 것이다. 사실, DGT-시험에 또한 존재하는 게임들을 제거하도록 로토와이어-훈련을 필터링할 때, BLEU에 있어서는 약간의 감소가 나타났다(20.4 대신에 19.8이 나타남).
정량 평가
MT 모델들로부터 부트-스트랩된(boot-strapped), 실험적인 NLG 모델들이 유창하고 일관성 있는 텍스트 생성을 수행하기 위해 도시되었다. 예컨대, 도 9a 내지 9c에서 도시된 것처럼, 실험적인 NLG 모델(3-선수)은 일관성 있는 문서-레벨 생성 및 메타데이터를 "복사"하는 능력 외에 몇 가지의 좋은 특성들을 갖는다. 실험용 NLG 모델은 팀들과 선수들에 대한 일반적인 정보를 학습한 것으로 나타났다. 이와 같이, 도 11의 예시에서 도시되는 것처럼, 메타데이터에 없는 관련 정보를 생성할 수 있었다.
예컨대, 실험용 NLG 모델은 경기가 열리는 스타디움의 이름을 정확하게 예측했다. 이는 모델이 어떤 팀이 호스트인지를 알고 있으며(이러한 정보는 데이터 내에 팀의 위치에 의해 암시적으로 인코딩되어 있음), 해당 팀의 도시의 스타디움이 무엇인지를 알고 있음(이는 메타데이터에 존재하지 않음)을 암시한다. 메타데이터에는 부재하지만, 정확하게 예측되는, 다른 사실들은 팀 이름(team aliases)(예컨대 "식서스(Sixers)")와 선수 닉 네임들(예컨대, "그릭 프릭(Greek Freak)")을 포함했다. 실험적인 모델은 또한 팀명들에 대해 다른 표면 형식들(예컨대, "다른 카발리어(the other Cavalier)")을 생성할 수 있다.
실험적인 NLG 모델은 구조화된 데이터로부터, 두 자릿수(double-digit) 점수들, "더블-더블(예컨대, 선수가 10 득점 및 10회 어시스트를 넘음)" 및 "트리플-더블"과 같은, 일부의 정보를 추론할 수 있었다. 한편, 몇몇의 수치적인 사실들은 부정확했다(예컨대, 점수 차이 또는 비교). 결여하는 사실들을 구조적인 데이터에 추가하는 것(예컨대, 부상 선수들, 현재 팀 순위, 연승 수 등)이 결과를 추가로 개선시키기 위해 사용될 수 있었다(예컨대, 허구들 또는 중복들을 감소시킴).
이러한 실험의 결과들은 NLG 모델들로의 MT 모델들의 특수성을 설명하는 것이지만, 멀티-태스크 학습 전이(transfer)를 사용하여 훈련된 단일한 모델이, 가능하게는 두 언어들의, MT 및 NLG 작업들을 한 번에 해결하도록 사용될 수 있다는 것이 더 고려될 수 있다.
일반
전술한 설명은 본질적으로 설명적인 것이며, 본 개시, 그 적용 또는 사용들을 제한하도록 의도되지 않는다. 본 개시의 넓은 교시는 다양한 형태로 구현될 수 있다. 따라서, 본 개시는 특정한 예시들을 포함하지만, 다른 변경들이 도면들, 명세서 및 후술할 청구범위에 대한 연구에 따라 명백하게 될 것이므로, 본 개시의 진정한 범위는 그렇게 제한되어서는 안 된다. 방법 내에서 하나 이상의 단계들은 본 개시의 원리들을 변경하지 않고 다른 순서로(또는 동시에) 실행될 수 있다는 점이 이해되어야 한다. 또한, 실시예들의 각각은 특정한 특징들을 갖는 것으로 앞서 설명되었으나, 본 개시의 여하한 실시예에 관해 설명된 이러한 특징들 중 하나 이상은 다른 실시예들 중 여하한 것의 특징들 내에서 혹은/추가로 해당 특징들과 조합하여, 이러한 조합이 명세적으로 설명되어 있지 않더라도, 구현될 수 있다. 다시 말해, 설명된 실시예들은 상호 배타적이지 않고, 하나 이상의 실시예들의 다른 하나와의 순열들은 본 개시의 범위 내에 있다.
각 모듈은 하나 이상의 인터페이스 회로들을 포함할 수 있다. 일부 예시들에서, 인터페이스 회로들은 LAN (Local Area Network), 인터넷, WAN (Wide Area Network) 또는 이들의 조합에 연결된 유선 또는 무선 인터페이스를 포함할 수 있다. 본 개시의 주어진 모듈의 기능은 인터페이스 회로들을 통해 연결된 복수의 모듈들 중에서 분배될 수 있다. 예컨대, 복수의 모듈들은 로드 밸런싱을 허용할 수 있다. 추가적인 예시에서, 서버(원격 또는 클라우드라고도 알려져 있음) 모듈이 클라이언트 모듈을 대신하여 일부 기능을 수행할 수 있다. 각 모듈은 코드를 사용하여 구현할 수 있다. 앞서 사용된 것처럼, 용어 코드는 소프트웨어, 펌웨어 및/또는 마이크로코드를 포함할 수 있으며, 프로그램들, 루틴들, 기능들, 클래스들, 데이터 구조들 및/또는 객체들을 참조할 수 있다.
용어 메모리 회로는 용어 컴퓨터-판독 가능한 매체의 서브셋이다. 여기서 사용되는 용어 컴퓨터-판독 가능 매체는 매체를 통한 (예컨대, 반송파와 같은 것 상에서의) 일시적 전기 또는 전자기 신호 전파를 포괄하지는 않고; 따라서, 용어 컴퓨터-판독 가능 매체는 유형적이고 비-일시적인 것으로 간주될 수 있다. 비일시적, 유형적인 컴퓨터-판독 가능 매체의 비한정적인 예시들은 비휘발성 메모리 회로들 (플래시 메모리 회로, 소거 가능 프로그램 가능 읽기-전용 메모리 회로 또는 마스크 읽기-전용 메모리 회로와 같은 것), 휘발성 메모리 회로들(정적 랜덤 액세스 메모리 회로 또는 동적 랜덤 액세스 메모리 회로와 같은 것), 자기 저장 매체들(아날로그 또는 디지털 자기 테이프 또는 하드 디스크 드라이브와 같은 것) 및 광학 저장 매체들(CD, DVD 또는 블루레이 디스크와 같은 것)이다.
본 개시에서 설명된 시스템들 및 방법들은 부분적으로 또는 전체적으로 일반 목적 컴퓨터가 컴퓨터 프로그램들에 내장된 하나 이상의 특별한 기능들을 실행하도록 구성함으로써 생성된 특정 목적 컴퓨터에 의해 구현될 수 있다. 전술된 기능 블록들, 흐름도 컴포넌트 및 다른 구성요소는 소프트웨어 명세들로서 역할하고, 숙련된 기술자 또는 프로그래머의 일반적인 작업에 의해 컴퓨터 프로그램들로 번역될 수 있다.
컴퓨터 프로그램들은 적어도 하나의 비일시적, 유형의 컴퓨터-판독 가능 매체에 저장된 프로세서-실행 가능한 명령들을 포함한다. 컴퓨터 프로그램들은 또한 저장된 데이터를 포함하거나 거기에 의존할 수 있다. 컴퓨터 프로그램들은 특정 목적 컴퓨터의 하드웨어와 상호작용하는 BIOS (Basic Input/Output System), 특정 목적 컴퓨터의 특별한 디바이스들과 상호 작용하는 디바이스 드라이버들, 하나 이상의 운영체제들, 사용자 어플리케이션들, 백그라운드 서비스들, 백그라운드 어플리케이션들 등을 포괄할 수 있다.
앞서 논의한 실시예들과 다른 특징들 및 기능들, 또는 그 대체제들의 변형이 많은 다른 상이한 시스템들 또는 어플리케이션들과 바람직하게 결합될 수 있음이 이해될 것이다. 또한, 전술한 설명 및 후술할 청구범위에 의해 포괄되도록 또한 의도되는 현재는 예상되지 않거나 예견되지 않는 대체물들, 변경들, 변형들 또는 개선들이 당해 기술 분야에서 통상의 지식을 가진 자에 의해 후속하여 이루어질 수 있다.

Claims (24)

  1. 프로세서를 사용하여, 자연어 생성(Natural Language Generation; NLG) 모델을 훈련시키는 방법에 있어서,
    문서-레벨 기계 번역(Machine Translation; MT) 모델을, 제1 언어의 토큰 시퀀스들을 입력으로서 수신하고 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 MT 모델을 훈련시킴으로써 제공하는 단계;
    증강된 문서-레벨 MT 모델을, 쌍을 이루는(paired) 언어-독립 구조화된 데이터 및 상기 제1 언어의 토큰 시퀀스들을 입력으로서 수신하고 상기 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 문서-레벨 MT 모델을 훈련시킴으로써, 제공하는 단계; 및
    상기 NLG 모델을, 언어-독립 구조화된 데이터를 입력으로서 수신하고 상기 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 상기 증강된 문서-레벨 MT 모델을 훈련시킴으로써, 제공하는 단계
    를 포함하고,
    상기 언어-독립 구조화된 데이터는 상기 제1 언어 및 상기 제2 언어로 이해되는, NLG 모델을 훈련시키는 방법.
  2. 제1항에 있어서,
    상기 문서-레벨 MT 모델은 상기 제1 언어 및 상기 제2 언어의 문장-레벨 병렬 코퍼스로부터 랜덤으로 선택된 문장들의 연결된(concatenated) 그룹들인 상기 제1 언어 및 상기 제2 언어의 토큰 시퀀스들을 사용하여 훈련되는, NLG 모델을 훈련시키는 방법.
  3. 제2항에 있어서,
    상기 문서-레벨 MT 모델은 상기 제1 언어 및 상기 제2 언어의 문서-레벨 병렬 코퍼스로부터 선택된 문서-레벨 토큰 시퀀스들인 상기 제1 언어 및 상기 제2 언어의 토큰 시퀀스들을 사용하여 훈련되는, NLG 모델을 훈련시키는 방법.
  4. 제1항에 있어서,
    상기 NLG 모델은 이벤트를 둘러싸는 사실(fact)들과 관련되는 언어-독립 구조화된 데이터를 입력으로서 수신하고, 상기 이벤트를 둘러싸는 사실들을 참조하는(reference) 상기 제2 언어의 토큰 시퀀스들을 갖는 상기 이벤트의 멀티-문장 요약(multi-sentence summary)을 출력으로서 생성하는, NLG 모델을 훈련시키는 방법.
  5. 제4항에 있어서,
    상기 이벤트는 스포츠 이벤트를 포함하는, NLG 모델을 훈련시키는 방법.
  6. 제1항에 있어서,
    상기 언어-독립 구조화된 데이터는 토큰 시퀀스 형식(form)인, NLG 모델을 훈련시키는 방법.
  7. 제1항에 있어서,
    상기 언어-독립 구조화된 데이터는 텍스트 시퀀스 형식인, NLG 모델을 훈련시키는 방법.
  8. 제1항에 있어서,
    하나 이상의 텍스트 시퀀스들로서 상기 언어-독립 구조화된 데이터를 제공하도록 구조화된 데이터를 전처리하는 단계
    를 더 포함하는, NLG 모델을 훈련시키는 방법.
  9. 제8항에 있어서,
    상기 전처리 전의 상기 구조화된 데이터는 테이블 레코드 데이터, 그래프 데이터, 메타데이터, 포맷화된 데이터 중 하나 이상을 포함하는, NLG 모델을 훈련시키는 방법.
  10. 제8항에 있어서,
    상기 구조화된 데이터를 전처리하는 단계는:
    하나 이상의 NLG 훈련 셋들로부터 상기 구조화된 데이터를 수신하는 단계; 및
    상기 구조화된 데이터로부터 상기 하나 이상의 텍스트 시퀀스들을 생성하는 단계
    를 포함하는, NLG 모델을 훈련시키는 방법.
  11. 제10항에 있어서,
    상기 전처리하는 단계는,
    상기 수신된 구조화된 데이터를 필터링하는 단계
    를 더 포함하는, NLG 모델을 훈련시키는 방법.
  12. 제10항에 있어서,
    상기 전처리하는 단계는,
    상기 수신된 구조화된 데이터를 상기 수신된 구조화된 데이터로부터 추론되는(inferred) 추가 구조화된 데이터로 보충하는 단계
    를 더 포함하는, NLG 모델을 훈련시키는 방법.
  13. 제10항에 있어서,
    상기 전처리하는 단계는,
    상기 수신된 구조화된 데이터를 텍스트로 변환하거나 정규화(normalizing)하는 단계
    를 더 포함하는, NLG 모델을 훈련시키는 방법.
  14. 제10항에 있어서,
    상기 전처리하는 단계는,
    상기 수신된 구조화된 데이터 중에서 언어-종속 구조화된 데이터를 상기 제1 언어 및 상기 제2 언어로 이해되는 언어-독립 구조화된 데이터로 변환하는 단계
    를 더 포함하는, NLG 모델을 훈련시키는 방법.
  15. 제1항에 있어서,
    상기 언어-독립 구조화된 데이터 또는 상기 제1 언어의 토큰 시퀀스들 중 하나 이상을 세그먼트화하는 단계
    를 더 포함하는, NLG 모델을 훈련시키는 방법.
  16. 제15항에 있어서,
    상기 세그먼트화하는 단계는 바이트 페어 인코딩(Byte-Pair Encoding; BPE)을 사용하는, NLG 모델을 훈련시키는 방법.
  17. 제1항에 있어서,
    상기 문서-레벨 MT 모델은 문장-레벨 MT 모델로서 최초로 훈련되는, NLG 모델을 훈련시키는 방법.
  18. 제1항에 있어서,
    상기 문서-레벨 기계 번역 모델은 상기 제2 언어의 토큰 시퀀스들을 역-번역(back-translating)함으로써 제공되는 상기 제1 언어의 토큰 시퀀스들을 사용하여 훈련되는, NLG 모델을 훈련시키는 방법.
  19. 제1항에 있어서,
    상기 증강된 문서-레벨 MT 모델을 훈련시키는 것은, 상기 제1 언어의 쌍을 이루는(paired) 토큰 시퀀스들을 페어링하지 않고, 언어-독립 구조화된 데이터를 소스로서 사용하고, 상기 제2 언어의 토큰 시퀀스들을 타겟으로서 사용하는, NLG 모델을 훈련시키는 방법.
  20. 출력 텍스트를 생성하는 방법에 있어서,
    새로운 언어-독립 구조화된 데이터를 제1항의 방법에 따라 훈련된 상기 NLG 모델에 입력하는 단계; 및
    상기 입력에 따라, 상기 훈련된 NLG 모델이 상기 제2 언어의 출력 텍스트를 생성하는 단계
    를 포함하는, 출력 텍스트를 생성하는 방법.
  21. 제20항에 있어서,
    새로운 구조화된 데이터를 수신하는 단계; 및
    상기 새로운 언어-독립 구조화된 데이터를 제공하도록 상기 수신된 새로운 구조화된 데이터를 전처리하는 단계
    를 더 포함하는, 출력 텍스트를 생성하는 방법.
  22. 제20항에 있어서,
    상기 생성된 출력 텍스트를 저장하는 단계 또는 표시하는 단계 중 하나 이상을 더 포함하는, 출력 텍스트를 생성하는 방법.
  23. 제1 언어의 토큰 시퀀스들을 입력으로서 수신하고 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 자연어 생성(Natural Language Generation; NLG) 모델을 훈련시키는 장치에 있어서,
    하나 이상의 프로세서들; 및
    상기 프로세서들에 의해 실행되었을 때 기능들을 수행하는 코드를 포함하는 메모리
    를 포함하고,
    상기 기능들은:
    문서-레벨 기계 번역(Machine Translation; MT) 모델을, 제1 언어의 토큰 시퀀스들을 입력으로서 수신하고 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 MT 모델을 훈련시킴으로써 제공하는 것;
    증강된 문서-레벨 MT 모델을, 쌍을 이루는(paired) 언어-독립 구조화된 데이터 및 상기 제1 언어의 토큰 시퀀스들을 입력으로서 수신하고 상기 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 문서-레벨 MT 모델을 훈련시킴으로써, 제공하는 것; 및
    상기 NLG 모델을, 언어-독립 구조화된 데이터를 입력으로서 수신하고 상기 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 상기 증강된 문서-레벨 MT 모델을 훈련시킴으로써, 제공하는 것
    을 포함하고,
    상기 언어-독립 구조화된 데이터는 상기 제1 언어 및 상기 제2 언어로 이해되는, NLG 모델을 훈련시키는 장치.
  24. 출력 텍스트를 생성하는 방법에 있어서,
    언어-독립 구조화된 데이터를 자연어 생성(Natural Language Generation; NLG) 모델에 입력하는 단계; 및
    상기 입력에 따라, 상기 훈련된 NLG 모델이 제2 언어의 출력 텍스트를 생성하는 단계
    를 포함하고,
    상기 NLG 모델은 언어-독립 구조화된 데이터를 입력으로서 수신하고 상기 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 증강된 문서-레벨 MT 모델을 사용하여 훈련되고;
    상기 증강된 문서-레벨 MT 모델은 쌍을 이루는(paired) 언어-독립 구조화된 데이터 및 제1 언어의 토큰 시퀀스들을 입력으로서 수신하고 상기 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 문서-레벨 MT 모델을 사용하여 훈련되고;
    상기 문서-레벨 MT 모델은 상기 제1 언어의 토큰 시퀀스들을 입력으로서 수신하고 상기 제2 언어의 토큰 시퀀스들을 출력으로서 생성하도록 MT 모델을 사용하여 훈련되는, 출력 텍스트를 생성하는 방법.
KR1020200139569A 2020-08-13 2020-10-26 문서-레벨 자연어 처리 모델들을 훈련시키는 방법 및 시스템 KR20220021360A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063065138P 2020-08-13 2020-08-13
US63/065,138 2020-08-13
US17/023,660 US11625544B2 (en) 2020-08-13 2020-09-17 Method and system for training document-level natural language processing models
US17/023,660 2020-09-17

Publications (1)

Publication Number Publication Date
KR20220021360A true KR20220021360A (ko) 2022-02-22

Family

ID=80224338

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200139569A KR20220021360A (ko) 2020-08-13 2020-10-26 문서-레벨 자연어 처리 모델들을 훈련시키는 방법 및 시스템

Country Status (3)

Country Link
US (1) US11625544B2 (ko)
JP (1) JP7337770B2 (ko)
KR (1) KR20220021360A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102615164B1 (ko) * 2023-02-15 2023-12-15 주식회사 티빙 콘텐츠 스트리밍 시스템에서 유사 콘텐츠를 제공하기 위한 방법 및 장치
KR102615165B1 (ko) * 2023-02-24 2023-12-15 주식회사 티빙 콘텐츠 스트리밍 시스템에서 유사 콘텐츠를 제공하기 위한 방법 및 장치
KR102640449B1 (ko) * 2023-08-02 2024-02-27 (주)유알피 딥러닝 기반 생성형 문서 요약의 할루시네이션 제거장치
KR102640452B1 (ko) * 2023-08-02 2024-02-27 (주)유알피 할루시네이션이 제거된 인공지능을 활용한 생성형 문서 요약 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11734517B1 (en) * 2021-03-09 2023-08-22 Yseop Sa Systems and methods for measuring automatability of report generation using a natural language generation system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107430504A (zh) * 2015-04-08 2017-12-01 利斯托株式会社 数据变换***及方法
US11222184B1 (en) * 2015-11-02 2022-01-11 Narrative Science Inc. Applied artificial intelligence technology for using narrative analytics to automatically generate narratives from bar charts
US10789546B2 (en) * 2016-06-23 2020-09-29 International Business Machines Corporation Cognitive machine learning classifier generation
US10817650B2 (en) * 2017-05-19 2020-10-27 Salesforce.Com, Inc. Natural language processing using context specific word vectors
US10997374B2 (en) * 2019-03-22 2021-05-04 Fortia Financial Solutions Generation of natural language text from structured data using a fusion model

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102615164B1 (ko) * 2023-02-15 2023-12-15 주식회사 티빙 콘텐츠 스트리밍 시스템에서 유사 콘텐츠를 제공하기 위한 방법 및 장치
KR102615165B1 (ko) * 2023-02-24 2023-12-15 주식회사 티빙 콘텐츠 스트리밍 시스템에서 유사 콘텐츠를 제공하기 위한 방법 및 장치
KR102640449B1 (ko) * 2023-08-02 2024-02-27 (주)유알피 딥러닝 기반 생성형 문서 요약의 할루시네이션 제거장치
KR102640452B1 (ko) * 2023-08-02 2024-02-27 (주)유알피 할루시네이션이 제거된 인공지능을 활용한 생성형 문서 요약 방법

Also Published As

Publication number Publication date
JP2022032910A (ja) 2022-02-25
US20220050973A1 (en) 2022-02-17
JP7337770B2 (ja) 2023-09-04
US11625544B2 (en) 2023-04-11

Similar Documents

Publication Publication Date Title
KR20220021360A (ko) 문서-레벨 자연어 처리 모델들을 훈련시키는 방법 및 시스템
Ross et al. Tailor: Generating and perturbing text with semantic controls
Sanguinetti et al. PoSTWITA-UD: an Italian Twitter Treebank in universal dependencies
US10496756B2 (en) Sentence creation system
Lin et al. Common sense beyond english: Evaluating and improving multilingual language models for commonsense reasoning
US8874433B2 (en) Syntax-based augmentation of statistical machine translation phrase tables
Hamdi et al. POS-tagging of Tunisian dialect using standard Arabic resources and tools
Chinnakotla et al. Transliteration for resource-scarce languages
Tran et al. Webnlg 2020 challenge: Semantic template mining for generating references from rdf
Mrinalini et al. Pause-based phrase extraction and effective OOV handling for low-resource machine translation systems
JP2018072979A (ja) 対訳文抽出装置、対訳文抽出方法およびプログラム
Huang et al. Using first-order logic to compress sentences
Abid The SADID evaluation datasets for low-resource spoken language machine translation of Arabic dialects
Wu et al. Parsing-based Chinese word segmentation integrating morphological and syntactic information
Stankevičius et al. Towards Lithuanian grammatical error correction
Al-Arfaj et al. Arabic NLP tools for ontology construction from Arabic text: An overview
Rana et al. Example based machine translation using fuzzy logic from English to Hindi
Kulick et al. Parsing Early Modern English for Linguistic Search
Tambouratzis et al. Machine Translation with Minimal Reliance on Parallel Resources
Akeel et al. Divergence and ambiguity control in an English to Arabic machine translation
Han Unsupervised multilingual distractor generation for fill-in-the-blank questions
CN110287496A (zh) 一种基于神经网络的英译汉词义消歧方法
Fivez et al. The CLIN33 Shared Task on the Detection of Text Generated by Large Language Models
Nazih et al. Arabic Syntactic Diacritics Restoration Using BERT Models
Mohseni et al. A Farsi part-of-speech tagger based on Markov model