KR102449842B1 - 언어 모델 학습 방법 및 이를 사용하는 장치 - Google Patents

언어 모델 학습 방법 및 이를 사용하는 장치 Download PDF

Info

Publication number
KR102449842B1
KR102449842B1 KR1020170163546A KR20170163546A KR102449842B1 KR 102449842 B1 KR102449842 B1 KR 102449842B1 KR 1020170163546 A KR1020170163546 A KR 1020170163546A KR 20170163546 A KR20170163546 A KR 20170163546A KR 102449842 B1 KR102449842 B1 KR 102449842B1
Authority
KR
South Korea
Prior art keywords
vector
language model
translation target
learning
feature vectors
Prior art date
Application number
KR1020170163546A
Other languages
English (en)
Other versions
KR20190064181A (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 KR1020170163546A priority Critical patent/KR102449842B1/ko
Priority to US15/947,915 priority patent/US10509864B2/en
Publication of KR20190064181A publication Critical patent/KR20190064181A/ko
Application granted granted Critical
Publication of KR102449842B1 publication Critical patent/KR102449842B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; 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
    • 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/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Machine Translation (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

언어 모델 학습 방법 및 이를 사용하는 장치가 개시된다. 일 실시예에 따른 언어 모델 학습 방법은 번역 대상 벡터에 컨텍스트 벡터를 할당하는 단계와, 상기 번역 대상 벡터 및 상기 컨텍스트 벡터에 기초하여 복수의 특징 벡터를 획득하는 단계와, 상기 복수의 특징 벡터에 집중 기법을 사용함으로써 상기 번역 대상 벡터를 대표하는 대표 벡터를 생성하는 단계와, 상기 번역 대상 벡터, 상기 컨텍스트 벡터, 및 상기 대표 벡터에 기초하여 언어 모델을 학습시키는 단계를 포함한다.

Description

언어 모델 학습 방법 및 이를 사용하는 장치{METHOD FOR TRAINING LANGUAGE MODEL AND APPARATUS THEREFOR}
아래 실시예들은 언어 모델 학습 방법 및 이를 사용하는 장치에 관한 것이다.
입력 패턴을 특정 그룹으로 분류하는 문제를 해결하는 방안으로써, 인간이 지니고 있는 효율적인 패턴 인식 방법을 실제 컴퓨터에 적용시키려는 연구가 활발히 진행되고 있다. 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링한 인공 신경망(artificial neural network)에 대한 연구가 그 중 하나이다.
인공 신경망은 음성 인식 분야에서 음성의 입력 패턴에 대응하는 인식 결과를 출력하는데 이용될 수 있다. 또한, 인공 신경망은 학습을 통해 입력 패턴과 출력 패턴 간의 사상(mapping)을 생성할 수 있고, 학습 결과에 기초하여 학습에 이용되지 않았던 입력 패턴에 대하여 비교적 올바른 출력을 생성할 수 있는 능력을 가지고 있다.
일 실시예에 따른 언어 모델 학습 방법은 번역 대상 벡터에 컨텍스트 벡터(context vector)를 할당하는 단계와, 상기 번역 대상 벡터 및 상기 컨텍스트 벡터에 기초하여 복수의 특징 벡터(feature vector)를 획득하는 단계와, 상기 복수의 특징 벡터에 집중 기법(attention mechanism)을 사용함으로써 상기 번역 대상 벡터를 대표하는 대표 벡터(representation vector)를 생성하는 단계와, 상기 번역 대상 벡터, 상기 컨텍스트 벡터, 및 상기 대표 벡터에 기초하여 언어 모델을 학습시키는 단계를 포함한다.
상기 컨텍스트 벡터를 할당하는 단계는, 번역 대상 문장에 전처리(preprocessing)를 수행함으로써 상기 번역 대상 벡터를 획득하는 단계를 포함할 수 있다.
상기 번역 대상 벡터를 획득하는 단계는, 음성 인식을 사용하여 상기 번역 대상 문장을 획득하는 단계를 포함할 수 있다.
상기 컨텍스트 벡터를 할당하는 단계는, 상기 번역 대상 벡터에서 단어(word)별로 상기 컨텍스트 벡터를 할당하는 단계를 포함할 수 있다.
상기 복수의 특징 벡터를 획득하는 단계는, 상기 번역 대상 벡터 및 상기 컨텍스트 벡터에 글자 임베딩(character embedding)을 수행함으로써 상기 복수의 특징 벡터를 획득하는 단계를 포함할 수 있다.
상기 대표 벡터를 생성하는 단계는, 상기 복수의 특징 벡터에 위치 인코딩(positional encoding)을 수행함으로써 상기 번역 대상 벡터에 속한 글자(character)의 상관관계를 획득하는 단계와, 상기 상관관계에 기초하여 상기 대표 벡터를 생성하는 단계를 포함할 수 있다.
상기 대표 벡터를 생성하는 단계는, 상기 복수의 특징 벡터에 순방향 추정 또는 역방향 추정을 사용하여 상기 대표 벡터를 생성하는 단계를 포함할 수 있다.
상기 순방향 추정은 상기 복수의 특징 벡터에 포함된 제1 글자의 다음에 연결된 글자를 추정하는 과정이고, 상기 역방향 추정은 상기 복수의 특징 벡터에 포함된 제2 글자의 다음에 연결된 글자를 추정하는 과정일 수 있다.
상기 언어 모델은 계층적(hierarchical) 구조의 순환 신경망(recurrent neural network(RNN))에 기초할 수 있다.
상기 언어 모델을 학습시키는 단계는, 상기 번역 대상 벡터, 상기 컨텍스트 벡터, 및 상기 대표 벡터에 기초하여 상기 순환 신경망에 포함된 인공 뉴런들 간의 연결 가중치를 업데이트하는 단계를 포함할 수 있다.
일 실시예에 따른 언어 모델 학습 장치는 번역 대상 벡터에 컨텍스트 벡터(context vector)를 할당하는 전처리부와, 상기 번역 대상 벡터 및 상기 컨텍스트 벡터에 기초하여 복수의 특징 벡터(feature vector)를 획득하고, 상기 복수의 특징 벡터에 집중 기법(attention mechanism)을 사용함으로써 상기 번역 대상 벡터를 대표하는 대표 벡터(representation vector)를 생성하고, 상기 번역 대상 벡터, 상기 컨텍스트 벡터, 및 상기 대표 벡터에 기초하여 언어 모델을 학습시키는 언어 모델 학습부를 포함한다.
상기 전처리부는, 번역 대상 문장에 전처리(preprocessing)를 수행함으로써 상기 번역 대상 벡터를 획득할 수 있다.
상기 전처리부는, 음성 인식을 사용하여 상기 번역 대상 문장을 획득할 수 있다.
상기 전처리부는, 상기 번역 대상 벡터에서 단어(word)별로 상기 컨텍스트 벡터를 할당할 수 있다.
상기 언어 모델 학습부는, 상기 번역 대상 벡터 및 상기 컨텍스트 벡터에 글자 임베딩(character embedding)을 수행함으로써 상기 복수의 특징 벡터를 획득할 수 있다.
상기 언어 모델 학습부는, 상기 복수의 특징 벡터에 위치 인코딩(positional encoding)을 수행함으로써 상기 번역 대상 벡터에 속한 글자(character)의 상관관계를 획득하고, 상기 상관관계에 기초하여 상기 대표 벡터를 생성할 수 있다.
상기 언어 모델 학습부는, 상기 복수의 특징 벡터에 순방향 추정 또는 역방향 추정을 사용하여 상기 대표 벡터를 생성할 수 있다.
상기 순방향 추정은 상기 복수의 특징 벡터에 포함된 제1 글자의 다음에 연결된 글자를 추정하는 과정이고, 상기 역방향 추정은 상기 복수의 특징 벡터에 포함된 제2 글자의 다음에 연결된 글자를 추정하는 과정일 수 있다.
상기 언어 모델은 계층적(hierarchical) 구조의 순환 신경망(recurrent neural network(RNN))에 기초할 수 있다.
상기 언어 모델 학습부는, 상기 번역 대상 벡터, 상기 컨텍스트 벡터, 및 상기 대표 벡터에 기초하여 상기 순환 신경망에 포함된 인공 뉴런들 간의 연결 가중치를 업데이트할 수 있다.
도 1은 일 실시예에 따른 언어 모델 학습 시스템의 개략적인 블록도를 나타낸다.
도 2는 일 실시예에 따른 음성 인식기를 사용하여 번역 대상 문장을 생성하는 동작을 설명하기 위한 도면이다.
도 3은 도 1에 도시된 언어 모델 학습 장치의 블록도를 나타낸다.
도 4는 일 실시예에 따른 언어 모델 학습 장치의 동작을 설명하기 위한 순서도의 일 예이다.
도 5는 도 4에 도시된 집중 기법을 설명하기 위한 순서도의 일 예이다.
도 6은 도 1에 도시된 번역기의 동작을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 언어 모델 학습 방법을 설명하기 위한 순서도의 일 예이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 일 실시예에 따른 언어 모델 학습 시스템의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 언어 모델 학습 시스템(10)은 번역 대상 문장을 수신하여 통역 및/또는 번역을 수행할 수 있다. 번역 대상 문장은 번역을 수행하고자 하는 문장을 의미할 수 있다. 예를 들어, 언어 모델 학습 시스템(10)은 제1 언어를 제2 언어로 통역 및/또는 번역할 수 있다. 제1 언어 및 제2 언어는 한국어, 일본어, 중국어, 영어, 독일어, 프랑스어 등에서 서로 다른 두 언어를 의미할 수 있다.
언어 모델 학습 시스템(10)은 언어 모델 학습 장치(100) 및 번역기(200)를 포함한다. 이때, 언어 모델 학습 장치(100)와 번역기(200)는 각각 PC(personal computer), 데이터 서버, 또는 휴대용 장치로 구현될 수 있다.
휴대용 장치는 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book), 또는 스마트 디바이스(smart device)로 구현될 수 있다.
스마트 디바이스는 스마트 와치(smart watch watch) 또는 스마트 밴드(smart band)로 구현될 수 있다. 즉, 언어 모델 학습 장치(100)와 번역기(200)는 각각 사용자가 착용할 수 있는 또는 착용하기에 적합한 웨어러블 장치일 수 있다.
언어 모델 학습 장치(100)는 번역 대상 문장을 수신할 수 있다. 예를 들어, 언어 모델 학습 장치(100)는 문서의 스캐닝(scanning), 데이터 전송, 타이핑(typing), 또는 음성 인식 등에 기초하여 번역 대상 문장을 수신할 수 있다. 음성 인식기를 사용하여 언어 모델 학습 장치(100)로 번역 대상 문장을 전송하는 구성은 도 2를 참조하여 후술하도록 한다.
언어 모델 학습 장치(100)는 번역 대상 문장으로부터 대표 벡터(representation vector)를 생성할 수 있다. 대표 벡터는 번역 대상 문장을 대표하는 벡터를 의미할 수 있다.
언어 모델 학습 장치(100)는 번역 대상 문장에 전처리(preprocessing)을 수행함으로써 복수의 번역 대상 벡터를 생성할 수 있다. 하지만, 반드시 이에 한정되는 것은 아니고, 언어 모델 학습 장치(100)는 외부의 다른 장치가 생성한 복수의 번역 대상 벡터를 수신할 수도 있다. 번역 대상 벡터는 번역 대상 문장을 구성하는 단어(word) 단위의 벡터일 수 있다. 예를 들어, 번역 대상 문장이 "I love you"인 경우, 번역 대상 벡터는 I에 해당하는 벡터, love에 해당하는 벡터, 및 you에 해당하는 벡터일 수 있다.
언어 모델 학습 장치(100)는 번역 대상 벡터에 컨텍스트 벡터(context vector)를 할당할 수 있다. 이때, 컨텍스트 벡터는 제로 벡터(zero vector)일 수 있다. 예를 들어, 언어 모델 학습 장치(100)는 번역 대상 문장을 구성하는 단어(word) 단위로 컨텍스트 벡터를 할당할 수 있다. 예를 들어, 번역 대상 문장이 "I love you"인 경우, 언어 모델 학습 장치(100)는 I, love, 및 you의 단어에 각각 컨텍스트 벡터를 할당할 수 있다.
언어 모델 학습 장치(100)는 언어 모델에 기초하여, 번역 대상 벡터 및 컨텍스트 벡터로부터 대표 벡터를 생성할 수 있다. 언어 모델은 계층적(hierarchical) 구조를 포함할 수 있다. 예를 들어, 언어 모델은 순환 신경망(recurrent neural network(RNN))을 포함할 수 있다.
또한, 언어 모델 학습 장치(100)는 언어 모델에 집중 기법(attention mechanism)을 적용할 수 있다. 집중 기법은 쿼리(query) 벡터(Q)와, 쿼리 벡터(Q)에 대응하는 키(key) 벡터(K) 및 벨류(value) 벡터(V)의 쌍을 출력 벡터에 맵핑(mapping)하는 집중 함수(attention function)를 포함할 수 있다. 즉, 언어 모델 학습 장치(100)는 쿼리 벡터(Q)에 맞게, 키 벡터(K)를 이용하여 벨류 벡터(V)의 가중치를 제어할 수 있다. 이때, 컨텍스트 벡터는 쿼리 벡터(Q)는 해당하고, 단어 단위의 번역 대상 벡터에 포함된 글자(character)는 키 벡터(K) 및 벨류 벡터(V)의 쌍에 해당할 수 있다.
컨텍스트 벡터는 번역 대상 벡터에 할당될 때는 제로 벡터였다가, 언어 모델을 순환하면서 해당 단어를 요약하는 대표 벡터가 될 수 있다. 즉, 대표 벡터는 단어의 의미, 단어 단위의 번역 대상 벡터에 포함된 글자들(characters)의 상관관계 등을 포함하는 벡터일 수 있다.
언어 모델 학습 장치(100)는 번역 대상 벡터, 컨텍스트 벡터, 및 대표 벡터에 기초하여 언어 모델을 학습시킬 수 있다.
언어 모델 학습 장치(100)는 생성한 대표 벡터를 번역기(200)로 전송할 수 있다.
번역기(200)는 대표 벡터에 기초하여 통역 및/또는 번역을 수행할 수 있다. 예를 들어, 번역기(200)는 계층적 구조의 신경망(neural network)을 포함하는 언어 모델에 기초하여, 번역에 대한 학습을 수행할 수 있다. 번역에 대한 학습을 수행한다는 것은, 신경망을 구성하는 파라미터 또는 가중치의 값을 결정하는 것으로 이해될 수 있다. 언어 모델 학습 장치(100)의 언어 모델과 번역기(200)의 언어 모델은 동일한 구조를 포함할 수도 있고, 또는 서로 상이한 구조를 포함할 수도 있다.
도 2는 일 실시예에 따른 음성 인식기를 사용하여 번역 대상 문장을 생성하는 동작을 설명하기 위한 도면이다.
도 2를 참조하면, 음성 인식기(300)는 사용자의 음성 신호에 기초하여 번역 대상 문장을 출력할 수 있다.
음성 인식기(300)는 음성 인식을 위한 인코더(encoder; 310) 및 디코더(decoder; 330)를 포함한다. 인코더(310) 및 디코더(330)는 계층적 구조의 신경망을 포함할 수 있다. 이때, 인코더(310) 및 디코더(330)를 학습시키는 과정이 선행적으로 수행될 수 있다. 인코더(310) 및 디코더(330)를 학습시킨다는 것은 신경망을 구성하는 파라미터 또는 가중치의 값을 결정하는 것으로 이해될 수 있다.
인코더(310)는 사용자의 음성 신호를 수신할 수 있다. 인코더(310)는 사용자의 음성 신호에 기초하여 추상화된 음성 정보(320)를 출력할 수 있다. 추상화된 음성 정보(320)는 음성 요약 정보를 포함할 수 있다.
예를 들어, 인코더(310)는 사용자의 음성 신호로부터 특징을 추출할 수 있다. 인코더(310)는 추출된 특징에 인코딩을 수행하여 특징 벡터(feature vector, 예를 들어, {'2.542', '0.827', …, '5.936'}의 실수 벡터)를 생성할 수 있다. 사용자가 "I love you"라고 인코더(310)에 말하면, 인코더(310)는 "I love you"로부터 특징을 추출하고, 인코딩을 수행하여 특징 벡터를 생성할 수 있다. 특징 벡터는 추상화된 음성 정보(320)에 해당하는 벡터일 수 있다.
디코더(330)는 인코더(310)에서 생성된 특징 벡터를 디코딩하여 음성 인식의 결과로서 번역 대상 문장(예를 들어, "I love you"의 문장)을 생성할 수 있다. 디코더(310)는 번역 대상 문장을 보조 단어(sub-word) 또는 단어(word) 단위로 출력할 수 있다. 보조 단어는 일반적인 문장에서 자주 사용되는 글자들의 시퀀스로 이해될 수 있다.
음성 인식기(300)는 데이터베이스(database(DB))를 더 포함할 수 있다. 이때, 음성 인식기(300)는 사용자의 음성 신호와, 인코더(310) 및 디코더(330)의 결과물(예를 들어, 추상화된 음성 정보(320), 번역 대상 문장(음성 인식 결과) 등)을 데이터베이스에 저장할 수 있다. 음성 인식기(300)는 사용자의 음성 신호를 수신한 경우, 데이터베이스에 저장된 정보에 기초하여 번역 대상 문장을 출력할 수도 있다.
도 3은 도 1에 도시된 언어 모델 학습 장치의 블록도를 나타낸다.
도 3을 참조하면, 언어 모델 학습 장치(100)는 전처리부(110) 및 언어 모델 학습부(120)를 포함한다.
전처리부(110)는 번역 대상 문장을 수신할 수 있다. 예를 들어, 전처리부(110)는 도 2에 도시된 바와 같이, 음성 인식에 기초하여 번역 대상 문장을 수신할 수 있다. 또한, 전처리부(110)는 문서의 스캐닝(scanning), 데이터 전송, 또는 타이핑(typing) 등에 기초하여 번역 대상 문장을 수신할 수 있다.
전처리부(110)는 번역 대상 문장에 전처리를 수행할 수 있다.
예를 들어, 전처리부(110)는 번역 대상 문장에 기초하여 복수의 번역 대상 벡터를 생성할 수 있다. 번역 대상 벡터는 번역 대상 문장에 포함된 단어 단위의 벡터일 수 있다.
전처리부(110)는 번역 대상 벡터에 컨텍스트 벡터를 할당할 수 있다. 즉, 전처리부(110)는 번역 대상 문장에서 단어별로 컨텍스트 벡터를 할당할 수 있다. 컨텍스트 벡터는 제로 벡터일 수 있다. 컨텍스트 벡터는 언어 모델 학습부(120)의 언어 모델을 순환하면서 해당 단어를 요약하는 대표 벡터가 될 수 있다.
전처리부(110)는 번역 대상 벡터 및 컨텍스트 벡터를 언어 모델 학습부(120)로 출력할 수 있다.
언어 모델 학습부(120)는 번역 대상 벡터 및 컨텍스트 벡터에 기초하여 특징 벡터를 획득할 수 있다. 예를 들어, 언어 모델 학습부(120)는 번역 대상 벡터 및 컨텍스트 벡터에 글자 임베딩(character embedding)을 수행함으로써 특징 벡터를 획득할 수 있다. 글자 임베딩은 행렬(matrix)을 사용하여 번역 대상 벡터를 특정 차원의 벡터로 맵핑(mapping)하는 동작을 의미할 수 있다. "I love you"의 번역 대상 벡터와 컨텍스트 벡터에 글자 임베딩을 수행하는 경우, 언어 모델 학습부(120)는 I의 컨텍스트 벡터, love의 컨텍스트 벡터, you의 컨텍스트 벡터, I, l, o, v, e, y, o, 및 u에 해당하는 복수의 특징 벡터를 획득할 수 있다. 즉, 언어 모델 학습부(120)는 글자 단위로 글자 임베딩을 수행할 수 있다.
언어 모델 학습부(120)는 복수의 특징 벡터에 위치 인코딩(positional encoding)을 수행할 수 있다. 위치 인코딩은 위치 임베딩(positional embedding)을 의미할 수 있다. 즉, 위치 인코딩은 단어 또는 글자의 위치를 식별하도록 인코딩하는 것을 의미할 수 있다. 예를 들어, 문장의 경우, 언어 모델 학습부(120)는 문장 내에서의 각각의 단어의 위치를 고려하여 서로 다른 위치의 단어를 식별하도록 인코딩할 수 있다. 또한, 단어의 경우, 언어 모델 학습부(120)는 단어 내에서의 각각의 글자의 위치를 고려하여 서로 다른 위치의 글자를 식별하도록 인코딩할 수 있다.
이에, 언어 모델 학습부(120)는 번역 대상 벡터에 속한 글자들의 상관관계를 획득할 수 있다. 예를 들어, 번역 대상 벡터가 "love"인 경우, 언어 모델 학습부(120)는 l, o, v, 및 e의 상관관계를 획득할 수 있다. 상관 관계는 글자의 위치와, 전 후에 오는 글자 정보 등을 포함할 수 있다.
언어 모델 학습부(120)는 위치 인코딩(또는 위치 임베딩)된 복수의 특징 벡터에 기초하여, 번역 대상 벡터를 대표하는 대표 벡터를 생성할 수 있다. 예를 들어, 언어 모델 학습부(120)는 위치 인코딩(또는 위치 임베딩)된 복수의 특징 벡터에 집중 기법을 사용할 수 있다. 집중 기법은 쿼리(query) 벡터(Q)와, 쿼리 벡터(Q)에 대응하는 키(key) 벡터(K) 및 벨류(value) 벡터(V)의 쌍을 출력 벡터에 맵핑(mapping)하는 집중 함수를 포함할 수 있다. 즉, 언어 모델 학습부(120)는 쿼리 벡터(Q)에 맞게, 키 벡터(K)를 이용하여 벨류 벡터(V)의 가중치를 제어할 수 있다. 이때, 컨텍스트 벡터는 쿼리 벡터(Q)는 해당하고, 단어 단위의 번역 대상 벡터에 포함된 글자는 키 벡터(K) 및 벨류 벡터(V)의 쌍에 해당할 수 있다.
언어 모델 학습부(120)는 위치 인코딩(또는 위치 임베딩)된 복수의 특징 벡터에 순방향 추정 또는 역방향 추정을 사용하여 대표 벡터를 생성할 수 있다. 대표 벡터는 번역 대상 문장을 대표하는 벡터를 의미할 수 있다.
순방향 추정은 복수의 특징 벡터에 포함된 제1 글자의 다음에 연결된 글자를 추정하는 과정이고, 역방향 추정은 복수의 특징 벡터에 포함된 제2 글자의 다음에 연결된 글자를 추정하는 과정일 수 있다. 즉, 언어 모델은 BLSTM(Bidirectional Long Short-Term Memory) 구조의 순환 신경망을 포함할 수 있다.
언어 모델 학습부(120)는 번역을 위해 생성한 대표 벡터를 번역기(200)로 출력할 수 있다.
언어 모델 학습부(120)는 번역 대상 벡터, 컨텍스트 벡터, 및 대표 벡터에 기초하여 언어 모델을 학습시킬 수 있다. 예를 들어, 언어 모델 학습부(120)는 언어 모델의 순환 신경망에 포함된 인공 뉴런들(artificial neurons) 간의 연결 가중치를 업데이트할 수 있다.
도 4는 일 실시예에 따른 언어 모델 학습 장치의 동작을 설명하기 위한 순서도의 일 예이고, 도 5는 도 4에 도시된 집중 기법을 설명하기 위한 순서도의 일 예이다.
도 4 및 도 5를 참조하면, 언어 모델 학습 장치(100)는 번역 대상 문장을 수신할 수 있다. 예를 들어, 번역 대상 문장은 "I love you"일 수 있다.
언어 모델 학습 장치(100)는 번역 대상 문장에 전처리를 수행함으로써 번역 대상 문장으로부터 복수의 번역 대상 벡터를 생성할 수 있다. 번역 대상 벡터는 단어 단위의 벡터를 의미할 수 있다. 즉, 언어 모델 학습 장치(100)는 I, love, 및 you에 각각 해당하는 번역 대상 벡터를 생성할 수 있다.
이때, 번역 대상 벡터가 love 또는 you와 같이 복수 개의 글자를 포함하는 경우, 번역 대상 벡터는 각각의 글자에 해당하는 벡터(404, 405, 406, 및 407)를 포함할 수 있다.
언어 모델 학습 장치(100)는 번역 대상 벡터에 컨텍스트 벡터(401 및 403)를 할당할 수 있다. 즉, 언어 모델 학습 장치(100)는 번역 대상 문장에서 단어별로 컨텍스트 벡터(401 및 403)는 번역 대상 벡터에 붙는 패드(pad)로 이해될 수도 있다.
언어 모델 학습 장치(100)는 번역 대상 벡터 및 컨텍스트 벡터(401 및 403)에 글자 임베딩을 수행할 수 있다(410). 글자 임베딩은 행렬(matrix)을 사용하여 번역 대상 벡터를 특정 차원의 벡터로 맵핑(mapping)하는 동작을 의미할 수 있다.
즉, "I love you"의 번역 대상 벡터와 컨텍스트 벡터(401 및 403)에 글자 임베딩을 수행하는 경우, 언어 모델 학습 장치(100)는 I의 컨텍스트 벡터(401), love의 컨텍스트 벡터(403), you의 컨텍스트 벡터, I(402), l(404), o(405), v(406), e(407), y, o, 및 u에 해당하는 복수의 특징 벡터(411, 412, 413, 414, 및 415)를 획득할 수 있다. 즉, 언어 모델 학습 장치(100)는 글자 단위로 글자 임베딩을 수행할 수 있다.
언어 모델 학습 장치(100)는 복수의 특징 벡터(411, 412, 413, 414, 및 415)에 위치 인코딩을 수행할 수 있다(420). 위치 인코딩은 위치 임베딩(positional embedding)을 의미할 수 있다. 이에, 언어 모델 학습 장치(100)는 위치 인코딩을 수행함으로써, 번역 대상 문장의 단어(예를 들어, love)에 속한 글자들(예를 들어, l, o, v, 및 e)의 상관관계를 획득할 수 있다. 상관 관계는 글자의 위치와, 전 후에 오는 글자 정보 등을 포함할 수 있다. 예를 들어, 언어 모델 학습 장치(100)는 특징 벡터(412)에 love에서 l의 위치, l의 전 후에 오는 글자 정보, love의 의미 정보 등을 압축하여 위치 인코딩된 특징 벡터(422)를 생성할 수 있다. 즉, 언어 모델 학습 장치(100)는 글자 단위로 위치 인코딩을 수행할 수 있다.
언어 모델 학습 장치(100)는 위치 인코딩(또는 위치 임베딩)된 복수의 특징 벡터(421, 422, 423, 424, 및 425)에 기초하여, 번역 대상 벡터를 대표하는 대표 벡터를 생성할 수 있다. 예를 들어, 언어 모델 학습 장치(100)는 위치 인코딩(또는 위치 임베딩)된 복수의 특징 벡터(421, 422, 423, 424, 및 425)에 집중 기법을 사용할 수 있다(430).
집중 기법은 쿼리(query) 벡터(Q)와, 쿼리 벡터(Q)에 대응하는 키(key) 벡터(K) 및 벨류(value) 벡터(V)의 쌍을 출력 벡터에 맵핑(mapping)하는 집중 함수를 포함할 수 있다. 즉, 언어 모델 학습부(120)는 쿼리 벡터(Q)에 맞게, 키 벡터(K)를 이용하여 벨류 벡터(V)의 가중치를 제어할 수 있다. 이때, 컨텍스트 벡터는 쿼리 벡터(Q)는 해당하고, 단어 단위의 번역 대상 벡터에 포함된 글자는 키 벡터(K) 및 벨류 벡터(V)의 쌍에 해당할 수 있다.
언어 모델 학습 장치(100)는 복수의 특징 벡터(421, 422, 423, 424, 및 425)에 집중 기법을 사용할 수 있다(450). 이때, 언어 모델 학습 장치(100)는 집중 기법을 n번 사용하여 복수의 특징 벡터(421-n, 422-n, 423-n, 424-n, 및 425-n)를 출력할 수 있다. 즉, 언어 모델 학습 장치(100)는 집중 기법을 사용하여 대표 벡터를 생성함으로써, 번역기(200)가 대표 벡터를 번역할 때 어느 부분에 집중(attention)할 지가 정밀하게 고려될 수 있다.
언어 모델 학습 장치(100)는 n번의 집중 기법을 사용한 컨텍스트 벡터(421-n)에 집중 기법을 사용하여 대표 벡터(431)를 생성할 수 있다(460). 언어 모델 학습 장치(100)는 컨텍스트 벡터(421-n) 및 컨텍스트 벡터(421-n)에 연결된 글자들(421-n, 422-n, 423-n, 424-n, 및 425-n) 간의 집중(attention)을 통해 대표 벡터(431)를 생성할 수 있다.
언어 모델 학습 장치(100)는 대표 벡터(431)에 위치 인코딩을 수행할 수 있다(440). 대표 벡터(431)는 단어 "love"를 대표하는 벡터일 수 있다. 즉, 대표 벡터(431)는 "love"의 의미 정보, 요약, 위치 정보 등을 포함할 수 있다. 즉, 언어 모델 학습 장치(100)는 단어 단위로 위치 인코딩을 수행할 수 있다.
언어 모델 학습 장치(100)는 번역 대상 벡터, 컨텍스트 벡터, 및 대표 벡터에 기초하여 언어 모델을 학습시킬 수 있다(740). 예를 들어, 언어 모델 학습 장치(100)는 언어 모델의 순환 신경망에 포함된 인공 뉴런들 간의 연결 가중치를 업데이트할 수 있다. 즉, 언어 모델은 계층적 구조의 순환 신경망을 포함할 수 있다.
언어 모델 학습 장치(100)는 위치 인코딩 된 대표 벡터(441)를 번역기(200)로 출력할 수 있다.
이상에서는 설명의 편의를 위해, 언어 모델 학습 장치(100)는 번역 대상 문장의 단어 "love"와 컨텍스트 벡터(403)에 대해서 글자 임베딩을 수행하고, 위치 인코딩을 수행하고, 집중 기법을 사용하여, 컨텍스트 벡터(403)로 인한 대표 벡터(431)에 대해서 위치 인코딩을 수행하는 것으로 설명하였으나, 반드시 이에 한정되는 것은 아니고, 언어 모델 학습 장치(100)는 번역 대상 문장의 단어 "I" 및 "you" 등에 대해서도 동일한 동작을 수행할 수 있다.
도 6은 도 1에 도시된 번역기의 동작을 설명하기 위한 도면이다.
도 6을 참조하면, 번역기(200)는 인코더(210) 및 디코더(220)를 포함한다.
인코더(210)는 제1 언어의 번역 대상 문장("I love you")에 해당하는 복수의 대표 벡터를 인코딩하여 복수의 특징 벡터를 생성할 수 있다. 이때, 인코더(210)는 신경망(211)을 사용하여 인코딩을 수행할 수 있다.
디코더(220)는 복수의 특징 벡터를 디코딩하여 m 개의 제2 언어의 후보 문장들을 포함하는 제2 언어의 m-베스트 리스트(m-Best list; 230)를 생성할 수 있다. 이때, 디코더(220)는 신경망(221)을 사용하여 디코딩을 수행할 수 있다. 예를 들어, 디코더(220)는 빔 서치 알고리즘(beam search)을 이용하여 m-베스트 리스트(230)를 생성할 수 있다.
m-베스트 리스트(230)는 초기 번역 후보에 해당하는 문장들을 포함할 수 있다. 예를 들어, m-베스트 리스트(230)는 번역 대상 문장 "I love you"의 초기 번역 후보에 해당하는 "나는 너를 사랑해", "나는 너를 사랑한다", "나는 사랑한다 너를", "나는 너가 좋아", "나는 좋은 너" 등의 문장들을 포함할 수 있다.
일 실시예에서 인코더(210)의 입력 차원은 제1 언어의 '서브 워드'로 구성되는 사전의 차원이고, 디코더(220)의 출력 차원은 제2 언어의 '서브 워드'로 구성되는 사전의 차원일 수 있다. 서브 워드는 일반적인 문장에서 자주 사용되는 글자들의 시퀀스로 이해될 수 있다. 사전의 차원이란 사전에 포함된 서브 워드들의 수를 의미할 수 있다.
번역기(200)는 리스코어링 모델(rescoring model; 240)을 더 포함할 수 있다.
일 예로, 리스코어링 모델(240)은 후보 문장들 각각의 원문장(original sentence)이 번역문(translated sentence)으로 번역될 확률값과 번역문이 원문장으로 번역될 확률값을 평균한 평균값을 이용하여 최종 문장을 선택할 수 있다.
다른 예로, 리스코어링 모델(240)은 제2 언어의 후보 문장을 디코딩하는 과정에서 산출된 스코어들을 그대로 제2 언어의 후보 문장의 스코어들로 결정할 수 있다. 예를 들어, 후보 문장들에 대한 스코어는 해당 후보 문장이 나타날 수 있는 확률 값일 수 있다. 이 경우, 리스코어링 모델(240)은 '랭킹 모델(ranking model)'이라고도 불릴 수 있다.
리스코어링 모델(240)은 m개의 문장들 중 1-베스트의 문장을 출력할 수 있다. 예를 들어, 리스코어링 모델(240)은 가장 높은 스코어(예를 들어, 0.4)에 대응되는 후보 문장("나는 너를 사랑해")을 번역 대상 문장("I love you")의 초기 번역 결과로서 출력할 수 있다.
도 7은 일 실시예에 따른 언어 모델 학습 방법을 설명하기 위한 순서도의 일 예이다.
도 7을 참조하면, 언어 모델 학습 장치(100)는 번역 대상 벡터에 컨텍스트 벡터를 할당할 수 있다(710). 언어 모델 학습 장치(100)는 번역 대상 문장에 전처리를 수행하여 복수의 번역 대상 벡터를 생성할 수 있다. 번역 대상 벡터는 단어 단위의 벡터를 의미할 수 있다. 예를 들어, 번역 대상 문장이 "I love you"인 경우, 번역대상 벡터는 "I", "love", 및 "you"에 각각 해당하는 벡터일 수 있다. 컨텍스트 벡터는 번역대상 벡터에 할당될 때는 제로 벡터이지만, 언어 모델 학습 장치(100)에 포함된 언어 모델을 통과하면서 번역 대상 벡터를 요약하는 벡터가 될 수 있다. 언어 모델 학습 장치(100)는 컨텍스트 벡터에 기초하여 대표 벡터를 생성할 수 있다.
언어 모델 학습 장치(100)는 번역 대상 벡터 및 컨텍스트 벡터에 기초하여 복수의 특징 벡터를 획득할 수 있다(720). 예를 들어, 언어 모델 학습 장치(100)는 번역 대상 벡터 및 컨텍스트 벡터에 글자 임베딩(character embedding)을 수행할 수 있다. 언어 모델 학습 장치(100)는 글자 임베딩된 벡터들에 위치 인코딩을 수행할 수 있다. 위치 인코딩은 위치 임베딩을 의미할 수 있다. 이때, 언어 모델 학습 장치(100)는 글자 단위로 위치 인코딩을 수행할 수 있다. 즉, 언어 모델 학습 장치(100)는 위치 인코딩을 통해 번역 대상 벡터에 속한 글자들의 상관관계를 획득할 수 있다.
언어 모델 학습 장치(100)는 복수의 특징 벡터에 집중 기법(attention mechanism)을 사용하여 대표 벡터를 생성할 수 있다(730). 대표 벡터는 번역 대상 문장을 대표하는 벡터를 의미할 수 있다. 예를 들어, 언어 모델 학습 장치(100)는 컨텍스트 벡터 및 컨텍스트 벡터에 연결된 글자들 간의 집중(attention)을 통해 대표 벡터를 생성할 수 있다. 또한, 언어 모델 학습 장치(100)는 대표 벡터에 위치 인코딩을 수행할 수 있다. 이에, 대표 벡터는 해당 번역 대상 벡터의 의미 정보, 요약, 위치 정보 등을 포함할 수 있다. 즉, 언어 모델 학습 장치(100)는 단어 단위로 위치 인코딩을 수행할 수 있다.
언어 모델 학습 장치(100)는 번역 대상 벡터, 컨텍스트 벡터, 및 대표 벡터에 기초하여 언어 모델을 학습시킬 수 있다(740). 예를 들어, 언어 모델 학습 장치(100)는 언어 모델의 순환 신경망에 포함된 인공 뉴런들 간의 연결 가중치를 업데이트할 수 있다. 즉, 언어 모델은 계층적 구조의 순환 신경망을 포함할 수 있다.
언어 모델 학습 장치(100)는 위치 인코딩 된 대표 벡터를 번역기(200)로 출력할 수 있다. 이에, 번역기(200)는 제1 언어의 대표 벡터에 기초하여 제2 언어로 번역을 수행할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 번역 대상 벡터에 컨텍스트 벡터(context vector)를 할당하는 단계;
    상기 번역 대상 벡터 및 상기 컨텍스트 벡터에 기초하여 복수의 특징 벡터(feature vector)를 획득하는 단계;
    상기 복수의 특징 벡터에 집중 기법(attention mechanism)을 사용함으로써 상기 번역 대상 벡터를 대표하는 대표 벡터(representation vector)를 생성하는 단계; 및
    상기 번역 대상 벡터, 상기 컨텍스트 벡터, 및 상기 대표 벡터에 기초하여 언어 모델을 학습시키는 단계
    를 포함하고,
    상기 대표 벡터를 생성하는 단계는,
    상기 복수의 특징 벡터에 위치 인코딩(positional encoding)을 수행함으로써 상기 번역 대상 벡터에 속한 글자(character)의 상관관계를 획득하는 단계; 및
    상기 상관관계에 기초하여 상기 대표 벡터를 생성하는 단계를 포함하고,
    위치 인코딩은 단어 또는 글자의 위치를 식별하는 인코딩을 의미하고,
    상기 상관관계는 글자의 위치 및 상기 글자의 전후에 위치하는 다른 글자의 정보를 포함하는,
    언어 모델 학습 방법.
  2. 제1항에 있어서,
    상기 컨텍스트 벡터를 할당하는 단계는,
    번역 대상 문장에 전처리(preprocessing)를 수행함으로써 상기 번역 대상 벡터를 획득하는 단계
    를 포함하는 언어 모델 학습 방법.
  3. 제2항에 있어서,
    상기 번역 대상 벡터를 획득하는 단계는,
    음성 인식을 사용하여 상기 번역 대상 문장을 획득하는 단계
    를 포함하는 언어 모델 학습 방법.
  4. 제1항에 있어서,
    상기 컨텍스트 벡터를 할당하는 단계는,
    상기 번역 대상 벡터에서 단어(word)별로 상기 컨텍스트 벡터를 할당하는 단계
    를 포함하는 언어 모델 학습 방법.
  5. 제1항에 있어서,
    상기 복수의 특징 벡터를 획득하는 단계는,
    상기 번역 대상 벡터 및 상기 컨텍스트 벡터에 글자 임베딩(character embedding)을 수행함으로써 상기 복수의 특징 벡터를 획득하는 단계
    를 포함하는 언어 모델 학습 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 대표 벡터를 생성하는 단계는,
    상기 복수의 특징 벡터에 순방향 추정 또는 역방향 추정을 사용하여 상기 대표 벡터를 생성하는 단계
    를 포함하는 언어 모델 학습 방법.
  8. 제7항에 있어서,
    상기 순방향 추정은 상기 복수의 특징 벡터에 포함된 제1 글자의 다음에 연결된 글자를 추정하는 과정이고,
    상기 역방향 추정은 상기 복수의 특징 벡터에 포함된 제2 글자의 다음에 연결된 글자를 추정하는 과정인
    언어 모델 학습 방법.
  9. 제1항에 있어서,
    상기 언어 모델은 계층적(hierarchical) 구조의 순환 신경망(recurrent neural network(RNN))에 기초하는 언어 모델 학습 방법.
  10. 제9항에 있어서,
    상기 언어 모델을 학습시키는 단계는,
    상기 번역 대상 벡터, 상기 컨텍스트 벡터, 및 상기 대표 벡터에 기초하여 상기 순환 신경망에 포함된 인공 뉴런들 간의 연결 가중치를 업데이트하는 단계
    를 포함하는 언어 모델 학습 방법.
  11. 번역 대상 벡터에 컨텍스트 벡터(context vector)를 할당하는 전처리부; 및
    상기 번역 대상 벡터 및 상기 컨텍스트 벡터에 기초하여 복수의 특징 벡터(feature vector)를 획득하고, 상기 복수의 특징 벡터에 집중 기법(attention mechanism)을 사용함으로써 상기 번역 대상 벡터를 대표하는 대표 벡터(representation vector)를 생성하고, 상기 번역 대상 벡터, 상기 컨텍스트 벡터, 및 상기 대표 벡터에 기초하여 언어 모델을 학습시키는 언어 모델 학습부
    를 포함하고,
    상기 언어 모델 학습부는,
    상기 복수의 특징 벡터에 위치 인코딩(positional encoding)을 수행함으로써 상기 번역 대상 벡터에 속한 글자(character)의 상관관계를 획득하고, 상기 상관관계에 기초하여 상기 대표 벡터를 생성하고,
    상기 위치 인코딩은 단어 또는 글자의 위치를 식별하는 인코딩을 의미하고,
    상기 상관관계는 글자의 위치 및 상기 글자의 전후에 위치하는 다른 글자의 정보를 포함하는,
    언어 모델 학습 장치.
  12. 제11항에 있어서,
    상기 전처리부는,
    번역 대상 문장에 전처리(preprocessing)를 수행함으로써 상기 번역 대상 벡터를 획득하는 언어 모델 학습 장치.
  13. 제12항에 있어서,
    상기 전처리부는,
    음성 인식을 사용하여 상기 번역 대상 문장을 획득하는 언어 모델 학습 장치.
  14. 제11항에 있어서,
    상기 전처리부는,
    상기 번역 대상 벡터에서 단어(word)별로 상기 컨텍스트 벡터를 할당하는 언어 모델 학습 장치.
  15. 제11항에 있어서,
    상기 언어 모델 학습부는,
    상기 번역 대상 벡터 및 상기 컨텍스트 벡터에 글자 임베딩(character embedding)을 수행함으로써 상기 복수의 특징 벡터를 획득하는 언어 모델 학습 장치.
  16. 삭제
  17. 제11항에 있어서,
    상기 언어 모델 학습부는,
    상기 복수의 특징 벡터에 순방향 추정 또는 역방향 추정을 사용하여 상기 대표 벡터를 생성하는 언어 모델 학습 장치.
  18. 제17항에 있어서,
    상기 순방향 추정은 상기 복수의 특징 벡터에 포함된 제1 글자의 다음에 연결된 글자를 추정하는 과정이고,
    상기 역방향 추정은 상기 복수의 특징 벡터에 포함된 제2 글자의 다음에 연결된 글자를 추정하는 과정인
    언어 모델 학습 장치.
  19. 제11항에 있어서,
    상기 언어 모델은 계층적(hierarchical) 구조의 순환 신경망(recurrent neural network(RNN))에 기초하는 언어 모델 학습 장치.
  20. 제19항에 있어서,
    상기 언어 모델 학습부는,
    상기 번역 대상 벡터, 상기 컨텍스트 벡터, 및 상기 대표 벡터에 기초하여 상기 순환 신경망에 포함된 인공 뉴런들 간의 연결 가중치를 업데이트하는 언어 모델 학습 장치.
KR1020170163546A 2017-11-30 2017-11-30 언어 모델 학습 방법 및 이를 사용하는 장치 KR102449842B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170163546A KR102449842B1 (ko) 2017-11-30 2017-11-30 언어 모델 학습 방법 및 이를 사용하는 장치
US15/947,915 US10509864B2 (en) 2017-11-30 2018-04-09 Language model translation and training method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170163546A KR102449842B1 (ko) 2017-11-30 2017-11-30 언어 모델 학습 방법 및 이를 사용하는 장치

Publications (2)

Publication Number Publication Date
KR20190064181A KR20190064181A (ko) 2019-06-10
KR102449842B1 true KR102449842B1 (ko) 2022-09-30

Family

ID=66632434

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170163546A KR102449842B1 (ko) 2017-11-30 2017-11-30 언어 모델 학습 방법 및 이를 사용하는 장치

Country Status (2)

Country Link
US (1) US10509864B2 (ko)
KR (1) KR102449842B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024106975A1 (ko) * 2022-11-16 2024-05-23 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2018438250B2 (en) * 2018-08-30 2022-04-14 Fujitsu Limited Generating method, generating program, and information processing apparatus
US10937413B2 (en) * 2018-09-24 2021-03-02 Amazon Technologies, Inc. Techniques for model training for voice features
US10854189B2 (en) 2018-09-24 2020-12-01 Amazon Technologies, Inc. Techniques for model training for voice features
CN112771530A (zh) * 2018-09-27 2021-05-07 谷歌有限责任公司 交互式web文档的自动导航
US11995854B2 (en) * 2018-12-19 2024-05-28 Nvidia Corporation Mesh reconstruction using data-driven priors
CN111476039B (zh) * 2019-01-04 2023-06-30 深圳永德利科技股份有限公司 智能车载系统的即时语言翻译方法及相关产品
US11106873B2 (en) * 2019-01-22 2021-08-31 Sap Se Context-based translation retrieval via multilingual space
US11393487B2 (en) * 2019-03-28 2022-07-19 Samsung Electronics Co., Ltd. System and method for acoustic echo cancelation using deep multitask recurrent neural networks
US11404050B2 (en) * 2019-05-16 2022-08-02 Samsung Electronics Co., Ltd. Electronic apparatus and method for controlling thereof
US11947925B2 (en) 2020-05-21 2024-04-02 International Business Machines Corporation Adaptive language translation using context features
KR102373358B1 (ko) * 2020-06-04 2022-03-11 주식회사 까리용 판례 번역 시스템 및 판례 번역 방법
CN112133304B (zh) * 2020-09-18 2022-05-06 中科极限元(杭州)智能科技股份有限公司 基于前馈神经网络的低延时语音识别模型及训练方法
CN112270200B (zh) * 2020-11-11 2023-10-27 北京有竹居网络技术有限公司 一种文本信息的翻译方法、装置、电子设备和存储介质
CN112257471A (zh) * 2020-11-12 2021-01-22 腾讯科技(深圳)有限公司 一种模型训练方法、装置、计算机设备及存储介质
CN113345410B (zh) * 2021-05-11 2024-05-31 科大讯飞股份有限公司 通用语音、目标语音合成模型的训练方法及相关装置
CN113408303B (zh) * 2021-06-30 2022-06-28 北京百度网讯科技有限公司 翻译模型的训练与翻译方法、装置
CN113362811B (zh) * 2021-06-30 2023-03-24 北京有竹居网络技术有限公司 语音识别模型的训练方法、语音识别方法和装置
CN113837965B (zh) * 2021-09-26 2024-06-18 北京百度网讯科技有限公司 图像清晰度识别方法、装置、电子设备及存储介质
EP4362439A1 (en) * 2021-10-15 2024-05-01 Samsung Electronics Co., Ltd. Electronic device and control method therefor
CN115688904B (zh) * 2022-10-31 2023-07-18 北京中科智加科技有限公司 一种基于名词译文提示的翻译模型构建方法
KR102647510B1 (ko) * 2023-08-03 2024-03-15 주식회사 액션파워 초차원 컴퓨팅을 이용하여 텍스트를 분할하는 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160335254A1 (en) 2014-03-28 2016-11-17 Alibek ISSAEV Machine Translation System and Method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8326598B1 (en) * 2007-03-26 2012-12-04 Google Inc. Consensus translations from multiple machine translation systems
US8209178B1 (en) * 2008-01-10 2012-06-26 Google Inc. Randomized language models
KR101777421B1 (ko) 2010-04-06 2017-09-11 삼성전자주식회사 구문 분석 및 계층적 어구 모델 기반 기계 번역 시스템 및 방법
KR101742244B1 (ko) 2010-11-24 2017-06-16 에스케이플래닛 주식회사 통계적 기계 번역에서 문자 정렬을 이용한 단어 정렬 방법 및 이를 이용한 장치
US8484218B2 (en) 2011-04-21 2013-07-09 Google Inc. Translating keywords from a source language to a target language
KR102305584B1 (ko) * 2015-01-19 2021-09-27 삼성전자주식회사 언어 모델 학습 방법 및 장치, 언어 인식 방법 및 장치
KR20170081350A (ko) 2016-01-04 2017-07-12 한국전자통신연구원 이미지 텍스트에 대한 프레임 단위의 특징벡터 추출에 의한 문자인식 및 번역을 수행하는 문자통역 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160335254A1 (en) 2014-03-28 2016-11-17 Alibek ISSAEV Machine Translation System and Method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
비특허문헌1(EFFECTIVE APPROACHES TO ATTENTION_BASED NEURAL MACHINE TRANSLATION)*
비특허문헌2(SENTENCE_LEVEL MT EVALUATION WITHOUT REFERENCE TRANSLATIONS: BEYOND LANGUAGE MODELING)*
비특허문헌3(FULLY CHARACTER_LEVEL NEURAL MACHINE TRANSLATION WITHOUT EXPLICIT SEGMENTATION)*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024106975A1 (ko) * 2022-11-16 2024-05-23 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법

Also Published As

Publication number Publication date
KR20190064181A (ko) 2019-06-10
US10509864B2 (en) 2019-12-17
US20190163747A1 (en) 2019-05-30

Similar Documents

Publication Publication Date Title
KR102449842B1 (ko) 언어 모델 학습 방법 및 이를 사용하는 장치
US20210390271A1 (en) Neural machine translation systems
CN110210029B (zh) 基于垂直领域的语音文本纠错方法、系统、设备及介质
KR102117160B1 (ko) 모호한 엔티티 단어에 기반한 텍스트 처리 방법과 장치
CN109388793B (zh) 实体标注方法、意图识别方法及对应装置、计算机存储介质
CN108711420B (zh) 多语言混杂模型建立、数据获取方法及装置、电子设备
CN113574595B (zh) 语音识别系统、方法以及非暂时性计算机可读存储介质
Tseng et al. Towards machine comprehension of spoken content: Initial toefl listening comprehension test by machine
CN110517693B (zh) 语音识别方法、装置、电子设备和计算机可读存储介质
US20220092276A1 (en) Multimodal translation method, apparatus, electronic device and computer-readable storage medium
CN114830148A (zh) 可控制有基准的文本生成
CN110211570B (zh) 同声传译处理方法、装置及设备
CN112711948A (zh) 一种中文句子的命名实体识别方法及装置
KR20210016767A (ko) 음성 인식 방법 및 음성 인식 장치
Milde et al. Multitask sequence-to-sequence models for grapheme-to-phoneme conversion.
CN113591462A (zh) 弹幕回复生成方法、装置及电子设备
CN110717021A (zh) 人工智能面试中获取输入文本和相关装置
KR20230009564A (ko) 앙상블 스코어를 이용한 학습 데이터 교정 방법 및 그 장치
Sokolov et al. Neural machine translation for multilingual grapheme-to-phoneme conversion
KR20190059185A (ko) 청각 장애 학생들을 위한 전문 자료 텍스트 분석 기반 음성인식 기술 정확도 향상 방법 및 시스템
Stoyanchev et al. Action state update approach to dialogue management
US20230130662A1 (en) Method and apparatus for analyzing multimodal data
CN112686060B (zh) 文本翻译方法、装置、电子设备和存储介质
Wang et al. Listen, Decipher and Sign: Toward Unsupervised Speech-to-Sign Language Recognition
CN116982054A (zh) 使用前瞻树搜索的序列到序列神经网络系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant