KR20190125863A - 다중언어 번역 장치 및 다중언어 번역 방법 - Google Patents

다중언어 번역 장치 및 다중언어 번역 방법 Download PDF

Info

Publication number
KR20190125863A
KR20190125863A KR1020180050206A KR20180050206A KR20190125863A KR 20190125863 A KR20190125863 A KR 20190125863A KR 1020180050206 A KR1020180050206 A KR 1020180050206A KR 20180050206 A KR20180050206 A KR 20180050206A KR 20190125863 A KR20190125863 A KR 20190125863A
Authority
KR
South Korea
Prior art keywords
sentence
language
multilingual
word
words
Prior art date
Application number
KR1020180050206A
Other languages
English (en)
Other versions
KR102542914B1 (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 KR1020180050206A priority Critical patent/KR102542914B1/ko
Priority to US16/390,317 priority patent/US11106879B2/en
Publication of KR20190125863A publication Critical patent/KR20190125863A/ko
Application granted granted Critical
Publication of KR102542914B1 publication Critical patent/KR102542914B1/ko

Links

Images

Classifications

    • G06F17/2809
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • G06F17/289
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/263Language identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/45Example-based machine translation; Alignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/51Translation evaluation

Abstract

본 개시는 다중언어 번역 장치 및 다중언어 번역 방법에 관한 것이다. 다중언어 번역 장치는, 다중언어로 구성된 문장을 획득하고, 다중언어 번역 모델을 이용하여, 상기 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득하고, 상기 획득한 벡터 값들을 목표 언어에 대응하는 벡터 값들로 변환하며, 상기 변환된 벡터 값들에 기초하여, 상기 목표 언어로 구성된 문장을 획득할 수 있다.

Description

다중언어 번역 장치 및 다중언어 번역 방법 {MULTILINGUAL TRANSLATION DEVICE AND MULTILINGUAL TRANSLATION METHOD}
본 개시는, 다중언어로 구성된 문장을 번역하는 장치 및 다중언어로 구성된 문장을 번역하는 방법에 관한 것이다.
딥러닝(deep machine learning)은 사람의 뇌를 모사해서 만든 인공신경망을 이용하여 다수의 데이터에서 주요 특징들을 자동 추출하고, 추출된 특징들을 기초로 인식, 생성, 추론 등 다양한 작업을 수행하는 기술이다.
특히, 최근에는 번역을 수행할 때에도 딥러닝이 이용되며, 구체적으로 인공 신경망 기계 번역(NMT, Neural Machine Translation)이 개발 및 발전 중에 있다. NMT는 종래의 통계 기반 번역(SMT, Statistical Machine Translation)이 주로 구(phrase) 단위를 번역했던 것과 다르게 문장(sentence) 전체를 고려하여 번역하는 방식이다. 번역하고자 하는 문장의 번역 결과 중 최적의 결과를 컴퓨터가 반복적으로 학습하여 자연스러운 번역을 수행할 수 있도록 한다.
또한, 최근에는 단일 언어로 구성된 문장에 대한 번역뿐만 아니라 다중언어로 구성된 문장에 대한 번역 또한 요구되고 있다. 언어가 다른 경우에도 의미론적(semantical) 및 문법적(grammatical)으로 유사성이 있을 수 있다. 다중언어로 구성된 문장에 대한 번역에 있어 효율적인 번역을 위해 언어간의 유사성을 고려함으로써 번역 과정을 개선하는 방법이 요구된다.
다양한 실시예들은 다중언어 번역 장치 및 방법을 제공하는데 목적이 있다. 본 개시가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
상술한 기술적 과제를 해결하기 위한 수단으로서, 본 개시의 제1측면은, 하나 이상의 인스트럭션들을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서;를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써, 다중언어로 구성된 문장을 획득하고, 다중언어 번역 모델을 이용하여, 상기 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득하고, 상기 획득한 벡터 값들을 목표 언어에 대응하는 벡터 값들로 변환하고, 상기 변환된 벡터 값들에 기초하여, 상기 목표 언어로 구성된 문장을 획득하며, 상기 다중언어 번역 모델은, 단일 언어로 구성된 제1문장에 포함된 단어들 및 상기 제1문장에 포함된 적어도 하나의 단어를 하나 이상의 다른 언어들로 번역한 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시킨 단어-벡터 매핑 모델을 포함하는, 다중언어 번역 장치를 제공할 수 있다.
또한, 상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써, 상기 적어도 하나의 단어가 상기 제1문장에서 가지는 문맥상 의미 및 상기 적어도 하나의 단어를 하나 이상의 다른 언어로 번역한 제2단어들 각각이 상기 제2문장들 각각에서 가지는 문맥상 의미에 기초하여, 상기 제1문장 및 상기 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시킨 단어-벡터 매핑 모델을 생성할 수 있다.
또한, 상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써, 상기 제1문장 및 상기 제2문장들에 포함된 단어들 각각에 대응되는 언어를 식별하고, 상기 식별된 언어에 기초하여, 상기 제1문장 및 상기 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시킨 단어-벡터 매핑 모델을 생성할 수 있다.
또한, 상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써, 상기 단일 언어로 구성된 단일 언어 말뭉치(monolingual corpus)를 문장 단위로 분리하여 상기 제1문장을 획득할 수 있다.
또한, 상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써, 사용자 입력에 기초하여 설정된 단어들 각각을, 상기 설정된 단어들을 상기 하나 이상의 다른 언어로 번역한 단어들에 매핑시킨 번역 매핑 테이블을 생성하고, 상기 번역 매핑 테이블을 이용하여, 상기 제1문장에 포함된 단어들 중 상기 설정된 단어들에 포함되는 적어도 하나의 단어를 하나 이상의 다른 언어로 번역하여 상기 제2문장들을 생성할 수 있다.
또한, 상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써, 사용자 입력에 기초하여 번역 가능한 언어를 설정하고, 상기 설정된 번역 가능한 언어를 기초로 상기 단어-벡터 매핑 모델을 생성할 수 있다.
또한, 상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써, 상기 설정된 번역 가능한 언어 중 상기 다중언어에 포함되는 언어와 다른 언어로 상기 목표 언어를 설정할 수 있다.
또한, 상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써, 상기 다중언어로 구성된 문장에 포함된 단어들 각각에 대응되는 언어를 식별하고, 상기 식별된 언어에 기초하여, 상기 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득할 수 있다.
또한, 상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써, 상기 다중언어로 구성된 문장에 포함된 단어들 각각이 상기 다중언어로 구성된 문장에서 가지는 문맥상 의미에 기초하여, 상기 단어들 각각에 대응하는 언어를 식별할 수 있다.
또한, 본 개시의 제2측면은, 다중언어로 구성된 문장을 획득하는 단계; 및 다중언어 번역 모델을 이용하여, 상기 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득하고, 상기 획득한 벡터 값들을 목표 언어에 대응하는 벡터 값들로 변환하며, 상기 변환된 벡터 값들에 기초하여, 상기 목표 언어로 구성된 문장을 획득하는 단계;를 포함하고, 상기 다중언어 번역 모델은, 단일 언어로 구성된 제1문장에 포함된 단어들 및 상기 제1문장에 포함된 적어도 하나의 단어를 하나 이상의 다른 언어들로 번역한 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시킨 단어-벡터 매핑 모델을 포함하는, 다중언어 번역 방법을 제공할 수 있다.
도 1은, 일 실시예에 따른 다중언어로 구성된 문장을 번역하는 시스템에 관한 도면이다.
도 2는, 일 실시예에 따른 다중언어로 구성된 문장을 목표 언어로 구성된 문장으로 번역하는 방법의 흐름도이다.
도 3은, 일 실시예에 따른 다중언어로 구성된 문장을 번역하는 과정의 세부 흐름도이다.
도 4는, 일 실시예에 따른 다중언어로 구성된 문장을 번역하는 실시예를 도시한 도면이다.
도 5는, 일 실시예에 따른 소스 문장을 전 처리하는 방법의 흐름도이다.
도 6은, 일 실시예에 따른 시퀀스 라벨링 네트워크를 도시한 도면이다.
도 7은, 일 실시예에 따른 단어-벡터 매핑 모델을 생성하는 방법의 흐름도이다.
도 8은, 일 실시예에 따른 단어-벡터 매핑 모델 생성을 위한 학습 데이터의 예시를 도시한 도면이다.
도 9는, 일 실시예에 따른 기준 단어 번역 테이블을 도시한 도면이다.
도 10은, 일 실시예에 따른 시퀀스 투 시퀀스 컨버터를 학습시키는 방법의 흐름도이다.
도 11은, 일 실시예에 따른 다중언어 번역 장치의 구성을 나타내는 블록도이다.
본 명세서는 본 발명의 권리범위를 명확히 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 실시할 수 있도록, 본 개시의 원리를 설명하고, 실시예들을 개진한다. 개시된 실시예들은 다양한 형태로 구현될 수 있다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 ‘모듈’ 또는 ‘부(unit)’라는 용어는 소프트웨어, 하드웨어 또는 펌웨어 중 하나 또는 둘 이상의 조합으로 구현될 수 있으며, 실시예들에 따라 복수의 ‘모듈’ 또는 ‘부’가 하나의 요소(element)로 구현되거나, 하나의 ‘모듈’ 또는 ‘부’가 복수의 요소들을 포함하는 것도 가능하다.
이하 첨부된 도면들을 참고하여 본 발명의 작용 원리 및 실시예들에 대해 설명한다.
도 1은, 일 실시예에 따른, 다중언어로 구성된 문장을 번역하는 시스템에 관한 도면이다.
도 1을 참조하면, 일 실시예에 따른 다중언어로 구성된 문장을 단일 언어로 구성된 문장으로 번역하는 다중언어 번역 모델(100)이 도시되어 있다.
다중언어로 구성된 문장은, 복수의 언어의 단어들로 구성된 문장을 의미할 수 있다. 예를 들어, “
Figure pat00001
”은 영어와 프랑스어 단어들로 구성된 다중언어로 구성된 문장이다. 반면, 단일언어로 구성된 문장은 단일 언어의 단어들로 구성된 문장을 의미하며, “He went to the school”과 같이 영어 단어들로만 구성된 문장을 단일언어로 구성된 문장으로 볼 수 있다.
다중언어 번역 모델(100)은 다중언어로 구성된 문장을 입력 받고, 입력 받은 다중언어로 구성된 문장을 단일언어로 구성된 문장으로 번역할 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 다중언어 번역 모델(100)은, 영어 및 프랑스어로 구성된 문장(15)인 “
Figure pat00002
”을 영어만으로 구성된 문장(20)인 “He went to the school”로 번역할 수 있다.
또한, 다중언어 번역 모델(100)은, 영어 및 프랑스어로 구성된 문장(15)인 “
Figure pat00003
”을 한국어로만 구성된 문장인 “그는 학교에 갔다”로 번역할 수 있다. 이와 같이, 다중언어 번역 모델(100)은 문장을 구성하는 언어와 다른 언어로 문장을 번역할 수 있다.
다중언어를 사용하는 사람은, 단일언어로 구성된 문장뿐만 아니라 다중언어로 구성된 문장을 사용하는 경우가 종종 있다. 따라서, 단일언어로 구성된 문장 이외에도 다중언어로 구성된 문장을 번역할 필요성이 있다. 기존의 번역 시스템은, 다중언어로 구성된 문장을 번역하는데 있어, 번역 가능한 언어가 문장에 포함된 언어로 제한되거나, 번역 가능한 언어가 제한되지 않더라도 목표 언어로의 직접 번역이 불가능하고 중간 언어로의 번역을 거쳐야 하는 문제점이 있었다.
일 실시예에 따른, 다중언어 번역 모델(100)은, 번역 모델을 구축하는데 있어 언어간의 유사성을 이용함으로써 번역 과정을 개선시킬 수 있다. 언어가 다른 경우에도, 의미론적(semantical) 및 문법적(grammatical)으로 유사성이 있을 수 있다. 따라서, 서로 다른 언어간 유사성을 이용한다면 보다 개선된 번역 모델을 구축할 수 있다.
한편, 일 실시예에 따른 다중언어 번역 모델(100)은 다중언어 번역 장치일 수 있다. 다중언어 번역 장치는, 스마트폰, 태블릿 PC, 노트북 컴퓨터(laptop computer), 웨어러블 다중언어 번역 장치(wearable device), 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어 등의 다양한 기기 또는 서버로 구현될 수 있으며, 이에 한정되지 않는다.
또한, 다중언어 번역 모델(100)은 다중언어 번역 장치와 서버의 결합으로 구현될 수도 있다. 사용자의 입력을 수신하는 다중언어 번역 장치와 번역 서버가 별도로 존재하여, 다중언어 번역 장치와 번역 서버 간의 통신을 통해 번역이 수행될 수 있다. 물론 단말의 다중언어 번역 장치에서 번역이 수행될 수도 있으며, 상시 예시에 제한되지 않는다.
이하에서는, 설명의 편의를 위해 “다중언어 번역 장치”에서 수행되는 다중언어로 구성된 문장을 번역하는 방법에 대해 서술하도록 하겠다. 다만, 이하에서 기술되는 다중언어 번역 장치의 동작의 일부 또는 전부는 서버에서도 수행될 수 있으며, 복수의 다중언어 번역 장치들에 의해 부분적으로 수행될 수 있다.
도 2는, 일 실시예에 따른 다중언어로 구성된 문장을 목표 언어로 구성된 문장으로 번역하는 방법의 흐름도이다.
도 2를 참조하면, 단계 210에서, 다중언어 번역 장치는 다중언어로 구성된 문장을 획득할 수 있다.
다중언어 번역 장치는 복수의 언어의 단어들로 구성된 문장을 목표 언어로 구성된 문장으로 번역하기 위해, 다중언어로 구성된 문장을 획득할 수 있다.
일 실시예에 따르면, 다중언어 번역 장치는 다중언어로 구성된 문장을 외부로부터 입력 받을 수 있다. 예를 들어, 다중언어 번역 장치는 사용자로부터 다중언어로 구성된 문장을 입력 받을 수 있다. 또한, 다중언어 번역 장치는 다중언어 번역 장치에 저장되어 있거나 다중언어 번역 장치에 의해 생성된 데이터에 포함되는 텍스트로부터 다중언어로 구성된 문장을 추출할 수도 있다.
단계 220에서, 다중언어 번역 장치는 다중언어 번역 모델을 이용하여, 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득할 수 있다.
일 실시예에 따르면, 다중언어 번역 모델은 단어-벡터 매핑 모델을 포함하며, 다중언어 번역 장치는 단어-벡터 매핑 모델을 이용하여 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득할 수 있다.
단어-벡터 매핑 모델은, 단어들을 단어들 각각에 대응되는 벡터 값들에 매핑시킨 모델이다. 특정 단어와 대응되는 벡터 값은 워드 임베딩 벡터(word embedding vector) 값일 수 있다. 워드 임베딩 벡터는 단어에 관한 다양한 정보를 포함하기 위해, 초고차원 공간(hyper dimensional space) 상의 특정 위치에 대응되는 벡터일 수 있다.
예를 들어, 문장에 포함되는 단어들 각각은 대응되는 300차원 실수 벡터 값으로 표현될 수 있다. 300이라는 숫자는 예시에 불과하며, 벡터 값은 문장에 포함되는 단어에 대한 다양한 정보를 포함하기에 충분한 임의의 수의 차원을 가질 수 있으며, 단어가 가지는 각 차원의 값은 단어가 가지는 각각의 정보에 따라 결정될 수 있다.
일 실시예에 따르면, 단어-벡터 매핑 모델은 단일 언어로 구성된 제1문장에 포함된 단어들 및 상기 제1문장에 포함된 적어도 하나의 단어를 하나 이상의 다른 언어들로 번역한 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시킨 모델일 수 있다. 단어-벡터 매핑 모델의 생성에 관한 내용은 도 7을 참조하여 추후 설명하도록 한다.
일 실시예에 따르면, 다중언어 번역 장치는 다중언어 번역 모델을 이용하여, 다중언어로 구성된 문장에 포함된 단어들 각각에 대응되는 언어를 식별하고, 식별된 언어에 기초하여, 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응되는 벡터 값들을 획득할 수 있다. 일 실시예에 따르면, 다중언어로 구성된 문장에 포함된 단어들 각각에 대응되는 언어는, 다중언어로 구성된 문장에 포함된 단어들 각각이 문장에서 가지는 문맥상 의미에 기초하여 식별될 수 있다. 단어-벡터 매핑 모델은, 단어들 각각에 대응되는 언어를 고려하여 단어들 각각을 대응되는 벡터 값들에 매핑시킨 모델이다. 따라서, 다중언어 번역 장치가 단어-벡터 매핑 모델을 이용하여 다중언어로 구성된 문장에 포함된 단어들 각각에 대응되는 벡터 값들을 획득하는데 있어, 다중언어로 구성된 문장에 포함된 단어들에 대응되는 언어를 식별하는 과정이 필요할 수 있다.
단계 230에서, 다중언어 번역 장치는 획득한 벡터 값들을 목표 언어에 대응하는 벡터 값들로 변환할 수 있다.
일 실시예에 따르면, 다중언어 번역 장치는 다중언어 번역 모델을 이용하여, 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응되는 벡터 값들을, 목표 언어에 대응하는 벡터 값들로 변환할 수 있다. 여기에서, 다중언어 번역 모델은 시퀀스 투 시퀀스 컨버터(sequence to sequence converter)를 포함하며, 다중언어 번역 장치는 시퀀스 투 시퀀스 컨버터를 이용하여 획득한 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을, 목표 언어에 대응하는 벡터 값들로 변환할 수 있다.
시퀀스 투 시퀀스 변환이란, 인공 신경망을 이용하는 번역 시스템에서 문장 전체를 고려하여 번역하는 방식으로, 단어 간의 1 대 1 검색(one-to-one lookups)을 이용하는 대신 다양한 길이의 문장들간의 매핑을 이용함으로써 번역을 수행하는 방법을 의미할 수 있다. 또한, 시퀀스 투 시퀀스 컨버터는 시퀀스 투 시퀀스 변환을 수행하는 기능적인 블록 구성을 의미할 수 있다.
일 실시예에 따르면, 다중언어 번역 장치는 사용자의 입력에 기초하여 목표 언어를 설정할 수 있다. 여기에서, 목표 언어는 입력 받은 문장을 구성하는 다중언어에 포함되는 언어와 다른 언어로 설정될 수 있다. 예를 들어, 다중언어 번역 장치가 영어 및 프랑스어로 구성된 문장을 획득한 경우, 다중언어 번역 장치는 사용자 입력에 기초하여 목표 언어를 한국어로 설정하고, 영어 및 프랑스어로 구성된 문장에 포함된 단어들 각각에 대응되는 벡터 값들을 한국어에 대응하는 벡터 값들로 변환할 수 있다.
일 실시예에 따르면, 다중언어 번역 장치는 다중언어 번역 모델을 이용하여, 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응되는 벡터 값들을 변환하여, 목표 언어에 대응되는 벡터 값들의 후보 군을 획득할 수 있다.
단계 240에서, 다중언어 번역 장치는 변환된 벡터 값들에 기초하여 목표 언어로 구성된 문장을 획득할 수 있다.
일 실시예에 따르면, 다중언어 번역 장치는 획득한 목표 언어에 대응하는 벡터 값들에 기초하여 목표 언어로 구성된 문장을 획득할 수 있다. 다중언어 번역 장치는, 다중언어 번역 모델에 포함된 단어-벡터 매핑 모델을 이용하여, 획득한 목표 언어에 대응하는 벡터 값들 각각에 대응되는 단어들을 획득할 수 있고, 획득한 단어들을 기초로 목표 언어로 구성된 문장을 획득할 수 있다.
일 실시예에 따르면, 다중언어 번역 장치는 획득한 목표 언어에 대응하는 벡터 값들의 후보 군에 포함된 후보들 각각에 대응되는 목표 언어로 구성된 문장들을 획득할 수 있고, 획득한 문장들을 언어 모델(Language Model, LM)을 이용하여 평가할 수 있다. 다중언어 번역 장치는, 평가 결과를 토대로 획득한 목표 언어로 구성된 문장들 중에서 가장 적합한 문장을 결정할 수 있다. 여기에서, 다중언어 번역 장치가 결정한 문장은 소스 문장에 대한 번역 결과물이라고 볼 수 있다.
도 3은, 일 실시예에 따른 다중언어로 구성된 문장을 번역하는 과정의 세부 흐름도이다.
도 3을 참조하면, 다중언어 번역 장치는 다중언어로 구성된 문장(310)인 “
Figure pat00004
”를 획득할 수 있다. 여기에서, 획득한 다중언어로 구성된 문장(310)은 사용자로부터 입력 받은 문장일 수 있다. 또한, 획득한 다중언어로 구성된 문장(310)은 다중언어 번역 장치에 저장되어 있거나 다중언어 번역 장치에 의해 생성된 텍스트로부터 추출된 문장일 수 있다.
다중언어 번역 장치는, 획득한 다중언어로 구성된 문장(310)인 “
Figure pat00005
”를 세탁(cleaning)할 수 있다. 여기에서, 문장을 세탁하는 것은, 문장에 대한 정규화(normalization), 문장에 포함된 날짜, 숫자 등을 특정 토큰(token)으로 대체하는 것, 및 문장에 포함된 발음 구별 기호를 제거하는 것 등을 포함할 수 있다.
다중언어 번역 장치는, 소스 문장으로 획득한 다중언어로 구성된 문장(310)에 포함된 단어들 중 정규화 되지 않은 “
Figure pat00006
”을 “la
Figure pat00007
”와 같이 정규화한다. 또한, 다중언어 번역 장치는, 소스 문장으로 획득한 다중언어로 구성된 문장(310)에 포함된 단어들 중 발음 구별 기호를 포함하는 “
Figure pat00008
”와 “
Figure pat00009
”에서 “a”와 “ecole”과 같이 발음 구별 기호를 제거한다. 종합하면 다중언어 번역 장치는, 도 3에 도시된 바와 같이, 다중언어로 구성된 문장(310)을 세탁한 문장(320)인 “He went a la ecole”을 획득할 수 있다.
다중언어 번역 장치는, 세탁한 문장(320)에 포함된 단어들 각각에 대응되는 언어를 식별할 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 다중언어 번역 장치는 세탁한 문장(320)에 포함된 단어들의 언어를 식별하여 식별된 언어의 종류를 나타내는 언어 태그를 세탁한 문장(320)에 포함된 단어들 각각에 할당할 수 있다. 세탁한 문장(320)에 포함된 단어들 중 영어 단어인 “He”와 “went”는 대응되는 언어의 종류가 영어로 식별되고, 프랑스어 단어인 “a”와 “lecole”은 대응되는 언어의 종류가 프랑스어로 식별된다. 다중언어 번역 장치는, 언어 식별 후, 영어를 나타내는 언어 태그인 ‘en’및 프랑스어를 나타내는 언어 태그인‘fr’을 세탁한 문장(320)에 포함된 단어들 각각에 할당하여 언어가 식별된 문장(330)인 “He_en went_en a_fr lecole_fr”을 획득할 수 있다.
다중언어 번역 장치는, 단어-벡터 매핑 모델(340)을 이용하여 언어가 식별된 문장(330)에 포함된 단어들 각각에 대응되는 벡터 값들을 획득할 수 있다. 다중언어 번역 장치는, 획득한 벡터 값들을 시퀀스 투 시퀀스 변환기(sequence to sequence convertor)(350)를 이용하여 목표 언어인 영어에 대응되는 벡터 값들로 변환할 수 있다. 이 때, 다중언어 번역 장치는, 변환 결과로서 목표 언어에 대응되는 벡터 값들의 후보 군을 획득 할 수 있다.
다중언어 번역 장치는, 획득한 목표 언어(영어)에 대응되는 벡터 값들의 후보 군에 포함된 후보들 각각에 대응되는 영어로 구성된 문장들을 획득할 수 있고, 획득한 문장들을 언어 모델을 이용한 평가기(evaluator)(360)를 이용하여 평가할 수 있다. 다중언어 번역 장치는, 평가 결과를 토대로 획득한 영어로 구성된 문장들 중에서 가장 적합한 문장을 결정할 수 있다. 도 3을 참조하면, 다중언어 번역 장치는, 획득한 영어로 구성된 문장들 중에서 가장 적합한 문장으로 결정된 “He went to the school”을 번역 결과로 출력(370)할 수 있다.
도 4는, 일 실시예에 따른 다중언어로 구성된 문장을 번역하는 실시예를 도시한 도면이다.
도 4를 참조하면, 다중언어 번역 장치는 디스플레이를 포함하며, 디스플레이 상에 다중언어 번역을 위한 사용자 인터페이스(400)를 디스플레이할 수 있다. 사용자 인터페이스(400)는 번역할 문장을 입력 받는 윈도우(410), 목표 언어를 설정하는 윈도우(420), 및 번역 결과를 디스플레이하는 윈도우(430)로 구성될 수 있다.
다중언어 번역 장치는, 사용자로부터 번역할 문장을 입력 받을 수 있다. 다중언어 번역 장치는 다중언어로 구성된 문장을 입력 받을 수 있으며, 단일언어로 구성된 문장 또한 입력 받을 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 다중언어 번역 장치는, 다중언어(영어 및 프랑스어)로 구성된 문장인 “He went a l’ecole” 및 “Il a pris des cours at school”을 입력 받고, 단일 언어(스페인어)로 구성된 문장인 “
Figure pat00010
”를 번역할 문장으로 입력 받아, 입력 받은 문장들을 번역할 문장을 입력 받는 윈도우(410) 상에 표시할 수 있다.
다중언어 번역 장치는, 사용자로부터 목표 언어를 설정하는 입력을 수신할 수 있고, 수신된 입력에 기초하여 번역 목표 언어를 설정할 수 있다. 다중언어 번역 장치는, 목표 언어를 설정하는 윈도우(420)를 통해 사용자로부터 목표 언어를 설정하는 입력을 수신할 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 다중언어 번역 장치는 목표 언어를 한국어로 설정하는 입력을 목표 언어를 설정하는 윈도우(420)를 통해 수신하고, 수신된 입력에 기초하여 목표 언어를 한국어로 설정할 수 있다. 설정된 목표 언어는, 목표 언어를 설정하는 윈도우(420) 상에 표시될 수 있다.
다중언어 번역 장치는, 다중언어 번역 모델을 이용하여, 입력 받은 문장들을 목표 언어로 번역 할 수 있다. 다중언어 번역 장치는, 입력 받은 문장들에 대한 번역 결과를 디스플레이하는 윈도우(430)에 표시할 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 다중언어 번역 장치는, 입력 받은 문장들에 대한 번역 결과인 “그는 학교에 갔다”, “그는 학교에서 수업을 들었다”, 및 “그가 들은 수업은 수학 수업이었다”를, 번역 결과를 디스플레이하는 윈도우(430)에 표시할 수 있다.
도 5는, 일 실시예에 따른 소스 문장을 전 처리하는 방법의 흐름도이다. 소스 문장이란 번역될 문장으로서, 번역 과정에서 입력되는 문장을 의미할 수 있다. 일 실시예에 따르면, 다중언어 번역 장치는, 번역할 문장으로 입력 받은 소스 문장의 번역을 위한 준비 과정으로서 전처리 과정을 수행할 수 있다. 문장에 대한 전처리 과정은 문장에 대한 세탁(cleaning) 및 문장에 포함된 단어들 각각에 대응되는 언어의 식별을 포함할 수 있다.
도 5를 참조하면, 단계 510에서, 다중언어 번역 장치는 입력 받은 다중언어로 구성된 문장에 대한 세탁을 수행할 수 있다. 여기에서, 문장에 대한 세탁은, 문장에 대한 정규화(normalization), 문장에 포함된 발음 구별 기호를 제거하는 것, 및 문장에 포함된 날짜, 숫자 등을 특정 토큰(token)으로 대체하는 것 등을 포함할 수 있다.
다중언어 번역 장치는, 소스 문장을 정규화(normalization)할 수 있다. 정규화는 소스 문장에 포함되는 텍스트를 단일 원형(single canonical form)으로 변환하는 것을 의미할 수 있다. 예를 들어, 다중언어 번역 장치가 소스 문장으로 “
Figure pat00011
”을 입력 받은 경우, 소스 문장에 포함되는 “
Figure pat00012
”를 정규화하여 “la
Figure pat00013
”로 변환할 수 있다.
다중언어 번역 장치는, 소스 문장에 포함된 발음 구별 기호를 제거할 수 있다. 예를 들어, 다중언어 번역 장치는 “
Figure pat00014
”을 소스 문장으로 입력 받은 경우, 소스 문장에 포함된 단어들 중 발음 구별 기호를 포함하는 “
Figure pat00015
” 및 “
Figure pat00016
”에서 발음 구별 기호를 제거하여 “a” 및 “l'ecole”을 획득할 수 있다.
다중언어 번역 장치는, 소스 문장에 포함된 날짜, 숫자 등을 특정 토큰(token)으로 대체할 수 있다. 예를 들어, 다중언어 번역 장치는 날짜를 dat로 대체하고, 숫자를 num으로 대체할 수 있다.
위의 내용을 종합하면, 다중언어 번역 장치는 “
Figure pat00017
”를 소스 문장으로 입력 받고, 소스 문장을 세탁(cleaning)한 문장인 “He went a la ecole”을 획득할 수 있다.
다중언어 번역 장치는, 소스 문장에 대한 세탁(cleaning)을 통해, 번역을 위한 준비를 할 수 있다.
단계 520에서, 다중언어 번역 장치는 입력 받은 소스 문장에 포함된 단어들 각각에 대응되는 언어를 식별할 수 있다. 여기에서, 소스 문장에 포함된 단어들 각각에 대응되는 언어를 식별하는 것은, 단어에 대응되는 언어의 종류를 식별하는 것, 즉 단어가 어떤 언어에 속하는 단어인지를 식별하는 것을 의미한다.
일 실시예에 따르면, 다중언어 번역 장치는, 단어-언어 매핑 테이블을 이용하여 소스 문장에 포함된 단어들 각각에 대응되는 언어를 식별할 수 있다. 예를 들어, 소스 문장이 영어 단어인 “school”을 포함하는 경우, 다중언어 번역 장치는 단어-언어 매핑 테이블에서 “school”에 매핑된 언어인 영어를 “school”에 대응되는 언어로 식별할 수 있다.
다중언어 번역 장치는, 사용자 입력에 기초하여 설정한 번역 가능한 언어를 기초로, 단어-언어 매핑 테이블을 생성할 수 있다. 예를 들어, 다중언어 번역 장치가 사용자 입력에 기초하여 번역 가능한 언어를 한국어, 영어, 프랑스어, 독일어로 설정한 경우, 다중언어 번역 장치는 한국어, 영어, 프랑스어, 독일어 단어들을 각각 대응되는 언어에 매핑하여 단어-언어 매핑 테이블을 생성할 수 있다.
다중언어 번역 장치는, 설정된 번역 가능한 언어들 각각에 대한 단일 언어 말뭉치(plain text corpus)를 이용하여 단어-언어 매핑 테이블을 생성할 수 있다. 예를 들어, 다중언어 번역 장치는, 영어 말뭉치에 포함된 단어들에 대응되는 언어를 영어로 매핑시킴으로써 영어에 대한 단일-언어 매핑 테이블을 생성할 수 있다.
일 실시예에 따르면, 다중언어 번역 장치는, 소스 문장에 포함된 단어들 각각이 소스 문장에서 가지는 문맥상 의미에 기초하여, 단어들 각각에 대응되는 언어를 식별할 수 있다.
다중언어 번역 장치는, 동일한 형태를 가지면서 복수의 언어에서 쓰이는 단어에 대해서는 단어-매핑 테이블을 이용하여 단어에 대응되는 언어를 식별하기 어렵다. 예를 들어, 소스 문장이 “gift”라는 단어를 포함하는 경우, “gift”는 영어에서는 “선물”이라는 의미로 쓰이는 단어이고, 독일어에서는 “독”이라는 의미로 쓰이는 단어이므로, 단일 언어 말뭉치를 기초로 생성된 단어-언어 매핑 테이블을 이용하여 “gift”에 대응되는 언어를 식별하기 어렵다.
다중언어 번역 장치는 대응되는 언어의 종류를 식별하기 어려운 단어에 대해서는, 양방향 LSTM 레이어(bidirectional LSTM layer)로 구성된 시퀀스 라벨링 네트워크(sequence labeling network)를 이용하여 대응되는 언어를 식별할 수 있다. 시퀀스 라벨링 네트워크는, 문장 전체를 입력으로 받아, 문장 내에 포함된 단어들의 문장에서의 문맥상 의미를 고려하여 각각의 단어들에 대응되는 언어를 식별할 수 있다.
도 6을 참조하면, 시퀀스 라벨링 네트워크(600)는 양방향 LSTM 레이어(620)로 구성되어 있다. 시퀀스 라벨링 네트워크(600)는 소스 문장(610)인 “He went a l’ecole”을 입력 받아, 소스 문장(610)에 포함된 단어들이 문장에서 가지는 문맥상 의미를 고려하여 소스 문장(610)에 포함된 단어들에 대응되는 언어(영어의 경우 En, 프랑스어의 경우 Fr)를 식별(630)할 수 있다.
도 7은, 일 실시예에 따른, 단어-벡터 매핑 모델을 생성하는 방법의 흐름도이다.
도 7을 참조하면, 단계 710에서, 다중언어 번역 장치는 N개의 언어들 각각에 대한 단일 언어 말뭉치(plain text corpus)를 획득하고, 획득한 말뭉치들 각각을 문장 단위로 분리한다.
일 실시예에 따르면, N개의 언어들은, 사용자의 입력을 기초로 다중언어 번역 장치가 설정한 번역 가능한 언어들일 수 있다. 설명의 편의를 위해, 도 7에 대한 설명에서 다중언어 번역 장치가 번역 가능한 언어들을 영어, 프랑스어, 스페인어, 이탈리어로 설정한 것으로 가정한다.
단계 710과 관련하여, 도 8을 참조하면, 단일 언어 말뭉치에서 분리한 문장들(810)의 예시가 도시되어 있다.
예를 들어, 도 8을 참조하면, 다중언어 번역 장치는, 영어 말뭉치, 프랑스어 말뭉치를 문장 단위로 분리하여 분리된 문장들(810)을 획득할 수 있다. 다중언어 번역 장치는, 영어 말뭉치를 분리하여 “I’m going to school”, “This car is very expensive” 등의 문장들을 획득할 수 있으며, 프랑스어 말뭉치를 분리하여 “
Figure pat00018
”, “Ce chien est mignon” 등의 문장을 획득할 수 있다.
단계 720에서, 다중언어 번역 장치는 분리된 문장들 중 제1문장에 포함된 적어도 하나의 단어를 하나 이상의 다른 언어로 번역한 제2문장들을 생성한다.
다중언어 번역 장치는, 기준 단어들(anchor words)에 대한 기준단어 번역 테이블을 이용하여, 제1문장에 포함된 적어도 하나의 단어를 하나 이상의 다른 언어로 번역한 제2문장들을 생성할 수 있다.
다중언어 번역 장치는, 사용자의 입력에 기초하여 기준 단어들을 설정할 수 있다. 사용자는, 언어 사용자들의 단어 사용 빈도를 고려하여 다중언어 번역 장치에 기준 단어들을 설정 수 있다. 예를 들어, 사용자는 복수의 언어에서 해당 언어의 사용자들에 의해 공통적으로 자주 사용되는 단어인 개(dog), 학교(school), 고기(meat), 쓰다(write), 자동차(car), 등의 단어를 기준 단어로 설정할 수 있다.
다중언어 번역 장치는, 설정된 기준 단어들에 대한 기준단어 번역 테이블을 생성할 수 있다. 다중언어 번역 장치는, 설정된 기준 단어들을 설정된 번역 가능한 언어들로 번역한 기준단어 번역 테이블을 생성할 수 있다. 예를 들어, 도 9를 참조하면, 다중언어 번역 장치는, 사용자 입력에 기초하여 “dog, school, meat, write, car, 등”을 기준 단어로 설정하고, 설정된 기준 단어들 각각을 번역 가능한 언어들(영어, 프랑스어, 스페인어, 이탈리아어)로 번역하여 기준단어 번역 테이블(900)을 생성할 수 있다.
다중언어 번역 장치는, 기준단어 번역 테이블을 이용하여 제1문장에 포함되는 단어들 중 기준 단어 번역 테이블에 포함되는 적어도 하나의 단어를 설정된 번역 가능한 언어들로 번역하여 제2문장들을 생성할 수 있다.
예를 들어, 도 8을 참조하면, 다중언어 번역 장치는 단일 언어 말뭉치에서 분리한 문장들(810)에 포함되는 문장에 포함되는 단어들 중 기준단어 번역 테이블에 포함되는 적어도 하나의 단어를 설정된 번역 가능한 언어들(영어, 프랑스어, 스페인어, 이탈리어)로 번역하여 제2문장들(820)을 생성할 수 있다. 다중언어 번역 장치는, 기준단어 번역 테이블(900)을 이용하여 “I’m going to school”(811)에 포함되는 단어들 중, 기준단어 번역 테이블에 포함되는 “school”을 설정된 번역 가능한 언어들(프랑스어, 스페인어, 이탈리아어)로 번역하여 제2문장들(821)을 생성할 수 있다.
단계 730에서, 다중언어 번역 장치는 획득한 N개의 언어들 각각에 대한 단일 언어 말뭉치와 획득한 제2문장들을 포함하는 하나의 말뭉치를 생성한다.
단계 740에서, 다중언어 번역 장치는 생성한 하나의 말뭉치를 이용하여 워드 임베딩 알고리즘(word embedding algorithm)을 비교사(unsupervised) 학습 시킨다.
워드 임베딩 알고리즘이란, 소스 문장들을 학습하여 소스 문장에 포함된 단어들을 벡터 공간에 임베딩(embedding)하는 알고리즘의 일종이다. 여기에서, 워드 임베딩(word embedding)은, 단어를 벡터로 표현하는 것, 즉 단어를 벡터 값에 매핑하여 단어를 벡터 공간상에 배치하는 것을 의미한다. 워드 임베딩 알고리즘의 대표적인 예로는, word2vec(구글), fasttext(페이스북) 등이 있다. 워드 임베딩 알고리즘은 학습할 문장을 입력 받고, 학습할 문장에 포함된 단어들 각각에 대응되는 벡터 값을 결과로서 출력할 수 있다. 즉, 워드 임베딩 알고리즘을 문장을 이용해 학습시킴으로써 문장에 포함된 단어들에 각각에 대응되는 벡터 값들을 매핑시킬 수 있다.
다중언어 번역 장치는, 생성한 하나의 말뭉치를 이용해 워드 임베딩 알고리즘을 비교사(unsupervised) 학습시킬 수 있다. 비교사 학습이란, 교사 신호(정답)의 입력을 필요로 하지 않는 기계 학습을 의미할 수 있다. 워드 임베딩 알고리즘은 말뭉치에 대한 학습 결과로서, 말뭉치를 구성하는 문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시킬 수 있다. 따라서, 다중언어 번역 장치는, 생성한 하나의 말뭉치를 이용해 워드 임베딩 알고리즘을 비교사 학습시킴으로써, 생성한 하나의 말뭉치를 구성하는 N개의 언어들 각각에 대한 단일 언어 말뭉치의 문장들 및 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시킬 수 있다.
워드 임베딩 알고리즘은, 문장들을 학습하는데 있어 문장에 포함된 단어가 가지는 문장 내에서의 문맥상 의미에 기초하여 단어를 대응되는 벡터 값에 매핑시킨다. 동일한 문장 내에서 같은 위치에 있는 단어들은 문장 내에서 같은 문맥상 의미를 가질 수 있다. 즉, 제1단어를 포함하는 문장에서 제1단어가 가지는 문맥상 의미는, 제1단어를 제2단어로 대체한 문장에서 제2단어가 가지는 문맥상 의미와 동일할 수 있다. 왜냐하면, 제1단어가 제2단어로 대체된 후에도, 제2단어를 제외한 문장 내의 단어들의 구성은 제1단어가 제2단어로 대체되기 전의 문장과 동일하기 때문이다. 이 때, 워드 임베딩 알고리즘은 문장 내에서의 단어의 문맥상 의미에 기초하여 대응되는 벡터 값을 매핑시키므로, 동일한 문맥상 의미를 가지는 제1단어와 제2단어는 벡터 공간 상에서 가까운 위치에 매핑 될 수 있다.
다중언어 번역 장치는, N개의 언어들 각각에 대한 단일 언어 말뭉치의 문장들 및 제2문장들로 구성된 하나의 말뭉치를 이용하여 워드 임베딩 알고리즘을 비교사 학습시킬 수 있다. 이때, 제2문장들은 단일 언어 말뭉치의 제1문장을 번역하여 생성한 문장들로, 제1문장에 포함된 기준 단어를 다른 언어의 기준 단어로 번역한 문장들이다. 다시 말해, 제2문장들은 제1문장에 포함된 기준 단어를 다른 언어의 기준 단어로 대체한 문장들이다. 제1문장에 포함된 기준 단어의 문맥상 의미는, 제2문장들에 포함된 다른 언어의 기준 단어들이 각각의 문장에서 가지는 문맥상 의미와 동일하다. 따라서, 다중언어 번역 장치는 제1문장 및 제2문장들을 이용해 워드 임베딩 알고리즘을 학습시킴으로써, 제1문장에 포함된 기준단어와 제2문장에 포함된 기준단어를 번역한 단어들을 벡터 공간 상에서 가까운 위치에 매핑 시킬 수 있다.
예를 들어, 다중언어 번역 장치는 제1문장 “I’m going to school”(811)와 제2문장들 “
Figure pat00019
”, “I’m going to colegio”, 및 “I’m going to scuola” (821)을 이용해 워드 임베딩 알고리즘을 학습시킬 수 있다. 이때 기준 단어 “school”의 제1문장(811) 내에서의 문맥상 의미와, “school”을 번역한 단어들인 “
Figure pat00020
”, “colegio”, 및 “scuola”의 제2문장들(821) 내에서의 문맥상 의미는 동일하다. 워드 임베딩 알고리즘은 제1문장(811) 및 제2문장들(821)을 학습함으로써, 기준 단어 “school” 및 이를 번역한 기준 단어들 “
Figure pat00021
”, “colegio”, 및 “scuola”을 벡터 공간 상에서 가까운 위치에 매핑 시킬 수 있다.
단계 750에서, 다중언어 번역 장치는 생성한 하나의 말뭉치에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑 시킨 모델인 단어-벡터 매핑 모델을 생성한다.
다중언어 번역 장치는, 생성한 하나의 말뭉치를 이용하여 워드 임베딩 알고리즘을 비교사 학습시킨 결과를 이용하여, 생성한 하나의 말뭉치에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑 시킨 모델인 단어-벡터 매핑 모델을 생성할 수 있다.
도 10은, 일 실시예에 따른 시퀀스 투 시퀀스 컨버터를 학습시키는 방법의 흐름도이다.
도 10을 참조하면, 단계 1005에서, 다중언어 번역 장치는 소스 참조 문장(source ref. sentence)을 획득할 수 있다. 또한, 단계 1010에서, 다중언어 번역 장치는 목표 참조 문장(target ref. sentence)을 획득할 수 있다. 참조 문장이란, 인공 신경망을 이용한 기계 번역 과정에서 시퀀스 투 시퀀스 컨버터를 학습시키기 위해 입력되는 문장을 의미할 수 있다.
단계 1015에서, 다중언어 번역 장치는 단어-벡터 매핑 모델로부터 소스 참조 문장에 포함되는 단어들에 대응되는 벡터 값들을 검색할 수 있다. 단계 1020에서, 다중언어 번역 장치는, 단어-벡터 매핑 모델로부터 목표 참조 문장에 포함되는 단어들에 대응되는 벡터 값들을 검색할 수 있다. 단계 1015 및 단계 1020의 단어-벡터 매핑 모델은 도 2를 참조하여 설명한 단어-벡터 매핑 모델과 동일하므로, 중복되는 설명은 생략한다.
단계 1025에서, 다중언어 번역 장치는 소스 참조 문장에 포함되는 어휘 밖 단어(OOV, Out Of Vocabulary)에 대한 벡터 값들을 획득할 수 있다. 또한, 단계 1030에서, 다중언어 번역 장치는 목표 참조 문장에 포함되는 어휘 밖 단어에 대한 벡터 값들을 획득할 수 있다. 어휘 밖 단어란, 기 생성된 단어-벡터 매핑 모델에 포함되지 않는 단어를 의미할 수 있다.
다중언어 번역 장치는, n-gram 방식을 이용하여 어휘 밖 단어들에 대해 대응되는 벡터 값들을 할당할 수 있다. 다중언어 번역 장치는 단어-벡터 매핑 모델에 포함되지 않는 단어를 구성하는 문자들의 배열 및 해당 단어와 유사한 문자들의 배열을 갖는 단어들에 대응되는 벡터 값들에 기초하여 해당 단어에 대응되는 벡터 값을 예측할 수 있다. 예를 들어, 다중언어 번역 장치는 n개 단어의 연쇄를 확률적으로 표현함으로써, 어휘 밖 단어들에 대해 대응되는 벡터 값들을 할당할 수 있다.
다중언어 번역 장치는 단계 1015 및 단계 1025를 통해 소스 참조 문장 및 목표 참조 문장에 포함되는 모든 단어들에 대해 대응되는 벡터 값들을 획득할 수 있다.
단계 1040에서, 다중언어 번역 장치는 LSTM 알고리즘을 이용하여 시퀀스 투 시퀀스 컨버터를 학습시킬 수 있다. 다중언어 번역 장치는 소스 참조 문장에 대응되는 벡터 값들의 배열 및 목표 참조 문장에 대응되는 벡터 값들의 배열 간의 관계를 인공 신경망을 통해 학습시킬 수 있다. 다중언어 번역 장치는 수많은 입력 문장과 출력 문장의 쌍을 인공 신경망에 입력함으로써, 소스 문장이 입력되었을 때 목표 문장이 출력되기 위한 최적의 가중치를 도출할 수 있다. 앞서 설명한 과정을 통해 학습된 시퀀스 투 시퀀스 컨버터는 도 2 및 도 3을 참조하여 설명한 번역 과정에서 이용될 수 있다.
앞선 설명에서는 편의를 위해 다중언어 번역 장치가 시퀀스 투 시퀀스 컨버터를 학습시키는 경우에 대해 설명하였으나, 서버 또는 다른 다중언어 번역 장치가 시퀀스 투 시퀀스 컨버터를 학습시키고, 다중언어 번역 장치가 서버 또는 다른 다중언어 번역 장치에 의해 학습된 시퀀스 투 시퀀스 컨버터를 이용할 수 있음은 당업자에게 자명할 것이다.
도 11은, 일 실시예에 따른 다중언어 번역 장치의 구성을 나타내는 블록도이다.
도 11에 도시된 다중언어 번역 장치(1100)는 도 2 내지 도 5, 도 7 및 도 9에 도시된 방법들을 시계열적으로 처리할 수 있다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 2 내지 도 5, 도 7 및 도 9의 방법들에 관하여 이상에서 기술된 내용은 도 11의 다중언어 번역 장치(1100)에 의해 수행될 수 있음을 알 수 있다.
도 11에 도시된 바와 같이, 일 실시예에 따른 다중언어 번역 장치(1100)는 프로세서(1110), 메모리(1120), 및 디스플레이(1130)를 포함할 수 있다. 그러나, 도 11에 도시된 구성 요소 모두가 다중언어 번역 장치(1100)의 필수 구성 요소인 것은 아니다. 도 11에 도시된 구성 요소보다 많은 구성 요소에 의해 다중언어 번역 장치(1100)가 구현될 수도 있고, 도 11에 도시된 구성 요소보다 적은 구성 요소에 의해 다중언어 번역 장치(1100)가 구현될 수도 있다.
예를 들어, 다중언어 번역 장치(1100)는 프로세서(1110), 메모리(1120), 및 디스플레이(1130) 이외에 입력 장치(미도시)를 더 포함할 수 있다. 다중언어 번역 장치(1100)는 입력 장치(미도시)를 통해 다중언어로 구성된 문장을 사용자로부터 입력 받을 수 있고, 입력 받은 문장을 목표 언어 문장으로 번역할 수 있다.
다중언어 번역 장치(1100)는 가전 제품, 모바일 컴퓨팅 디바이스 및 서버 중 적어도 하나에 포함되거나, 가전 제품, 모바일 컴퓨팅 디바이스 및 서버 중 적어도 하나에 유, 무선으로 연결되도록 구현될 수 있다.
프로세서(1110)는 하나 또는 복수 개의 프로세서에 의하여 구현될 수 있다. 예를 들어, 프로세서(1110)는 다수의 논리 게이트들의 어레이로 구현될 수 있고, 범용적인 마이크로 프로세서와 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다.
프로세서(1110)는 다중언어 번역 장치(1100)를 제어하기 위한 전반적인 역할을 수행할 수 있다. 예를 들어, 프로세서(1110)는 다중언어 번역 장치(1100) 내의 메모리(1120)에 저장된 인스트럭션들을 실행함으로써, 다중언어 번역 장치(1100)를 전반적으로 제어할 수 있다. 또한, 프로세서(1110)는 메모리(1120)에 저장된 인스트럭션들을 실행함으로써, 도 2 내지 도 5, 도 7 및 도 9에 기재된 다중언어 번역 장치(1100)의 기능을 수행할 수 있다.
구체적으로, 프로세서(1110)는 다중언어로 구성된 문장을 획득할 수 있다. 프로세서(1110)는, 다중언어로 구성된 문장을 외부로부터 입력 받을 수 있다. 또한, 프로세서(1110)는 다중언어 번역 장치(1100)에 저장되어 있거나 다중언어 번역 장치(1100)에 의해 생성된 데이터에 포함되는 텍스트로부터 다중언어로 구성된 문장을 획득할 수 있다.
프로세서(1110)는 획득한 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득할 수 있다. 프로세서(1110)는 획득한 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득하는데 있어, 단일 언어로 구성된 제1문장에 포함된 단어들 및 제1문장에 포함된 적어도 하나의 단어를 하나 이상의 다른 언어들로 번역한 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시킨 단어-벡터 매핑 모델을 이용할 수 있다.
프로세서(1110)는 획득한 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 목표 언어에 대응하는 벡터 값들로 변환할 수 있다. 프로세서(1110)는 사용자의 입력에 기초하여 목표 언어를 설정할 수 있다. 프로세서(1110)는 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 목표 언어에 대응하는 벡터 값들로 변환하기 위해, 시퀀스 투 시퀀스 컨버터를 이용할 수 있다.
프로세서(1110)는 변환된 벡터 값들에 기초하여 목표 언어로 구성된 문장을 획득할 수 있다. 프로세서(1110)는 변환된 벡터 값들에 기초하여 목표 언어로 구성된 문장을 획득하는데 있어 단어-벡터 매핑 모델을 이용할 수 있다.
프로세서(1110)는 제1문장에 포함된 적어도 하나의 단어가 제1문장에서 가지는 문맥상 의미 및 제1문장에 포함된 적어도 하나의 단어를 하나 이상의 다른 언어로 번역한 제2단어들 각각이 제1문장에 포함된 적어도 하나의 단어를 번역한 제2문장들에서 가지는 문맥상 의미에 기초하여, 제1문장 및 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시켜 단어-벡터 매핑 모델을 생성할 수 있다. 프로세서(1110)는 제1문장 및 제2문장들에 포함된 단어들 각각에 대응되는 언어를 식별하고, 식별된 언어에 기초하여 제1문장 및 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시킨 단어-벡터 매핑 모델을 생성할 수 있다.
프로세서(1110)는 단일 언어로 구성된 단일 언어 말뭉치(monolingual corpus)를 문장 단위로 분리하여 제1문장을 획득할 수 있다.
프로세서(1110)는 사용자 입력에 기초하여 설정된 단어들 각각을, 설정된 단어들을 하나 이상의 다른 언어로 번역한 단어들에 매핑시킨 번역 매핑 테이블을 생성할 수 있다. 프로세서(1110)는 생성한 번역 매핑 테이블을 이용하여 제1문장에 포함된 단어들 중 설정된 단어들에 포함되는 적어도 하나의 단어를 하나 이상의 다른 언어로 번역하여 제2문장들을 생성할 수 있다.
프로세서(1110)는 사용자 입력에 기초하여 번역 가능한 언어를 설정할 수 있다. 프로세서(1110)는 설정된 번역 가능한 언어를 기초로 단어-벡터 매핑 모델을 생성할 수 있다. 프로세서(1110)는 설정된 번역 가능한 언어 중 입력 받은 문장을 구성하는 언어와 다른 언어로 목표 언어를 설정할 수 있다.
프로세서(1110)는 다중언어로 구성된 문장에 포함된 단어들 각각에 대응되는 언어를 식별하고, 식별된 언어에 기초하여 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득할 수 있다. 프로세서(1110)는 다중언어로 구성된 문장에 포함된 단어들 각각이 다중언어로 구성된 문장에서 가지는 문맥상 의미에 기초하여 단어들 각각에 대응하는 언어를 식별할 수 있다.
메모리(1120)는 다중언어 번역 장치(1100) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어이다. 예를 들어, 메모리(1120)는 프로세서(1110)의 처리 및 제어를 위한 인스트럭션들을 저장할 수 있고, 다중언어 번역 장치(1100)로 입력되거나 다중언어 번역 장치(1100)로부터 출력되는 데이터를 저장할 수도 있다. 또한, 메모리(1120)는 사용자 데이터를 저장할 수 있다. 예를 들어, 메모리(1120)는 도 7을 참조하여 설명한 방법에 따라 생성된 단어-벡터 매핑 모델을 저장할 수 있고, 도 10을 참조하여 설명한 방법에 따라 학습된 시퀀스 투 시퀀스 컨버터의 학습 결과를 저장할 수 있다.
메모리(1120)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1120)에 저장된 인스트럭션들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어 단어-벡터 매핑 모델, 시퀀스 투 시퀀스 컨버터 등으로 분류될 수 있다.
디스플레이(1130)는 다중언어 번역을 위한 사용자 인터페이스를 디스플레이할 수 있다. 다중언어 번역을 위한 사용자 인터페이스는, 번역할 문장을 입력 받는 윈도우, 목표 언어를 설정하는 윈도우, 및 번역 결과를 디스플레이하는 윈도우로 구성될 수 있다.
한편, 다중언어 번역 장치(1100)의 동작 방법은 그 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체에 기록될 수 있다. 컴퓨터로 읽을 수 있는 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (19)

  1. 하나 이상의 인스트럭션들을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서;를 포함하고,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    다중언어로 구성된 문장을 획득하고,
    다중언어 번역 모델을 이용하여, 상기 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득하고, 상기 획득한 벡터 값들을 목표 언어에 대응하는 벡터 값들로 변환하고, 상기 변환된 벡터 값들에 기초하여, 상기 목표 언어로 구성된 문장을 획득하며,
    상기 다중언어 번역 모델은, 단일 언어로 구성된 제1문장에 포함된 단어들 및 상기 제1문장에 포함된 적어도 하나의 단어를 하나 이상의 다른 언어들로 번역한 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시킨 단어-벡터 매핑 모델을 포함하는, 다중언어 번역 장치.
  2. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 적어도 하나의 단어가 상기 제1문장에서 가지는 문맥상 의미 및 상기 적어도 하나의 단어를 하나 이상의 다른 언어로 번역한 제2단어들 각각이 상기 제2문장들 각각에서 가지는 문맥상 의미에 기초하여, 상기 제1문장 및 상기 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시킨 단어-벡터 매핑 모델을 생성하는, 다중언어 번역 장치.
  3. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 제1문장 및 상기 제2문장들에 포함된 단어들 각각에 대응되는 언어를 식별하고, 상기 식별된 언어에 기초하여, 상기 제1문장 및 상기 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시킨 단어-벡터 매핑 모델을 생성하는, 다중언어 번역 장치.
  4. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 단일 언어로 구성된 단일 언어 말뭉치(monolingual corpus)를 문장 단위로 분리하여 상기 제1문장을 획득하는, 다중언어 번역 장치.
  5. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    사용자 입력에 기초하여 설정된 단어들 각각을, 상기 설정된 단어들을 상기 하나 이상의 다른 언어로 번역한 단어들에 매핑시킨 번역 매핑 테이블을 생성하고,
    상기 번역 매핑 테이블을 이용하여, 상기 제1문장에 포함된 단어들 중 상기 설정된 단어들에 포함되는 적어도 하나의 단어를 하나 이상의 다른 언어로 번역하여 상기 제2문장들을 생성하는, 다중언어 번역 장치.
  6. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    사용자 입력에 기초하여 번역 가능한 언어를 설정하고,
    상기 설정된 번역 가능한 언어를 기초로 상기 단어-벡터 매핑 모델을 생성하는, 다중언어 번역 장치.
  7. 제6항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 설정된 번역 가능한 언어 중 상기 다중언어에 포함되는 언어와 다른 언어로 상기 목표 언어를 설정하는, 다중언어 번역 장치.
  8. 제1항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 다중언어로 구성된 문장에 포함된 단어들 각각에 대응되는 언어를 식별하고, 상기 식별된 언어에 기초하여, 상기 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득하는, 다중언어 번역 장치.
  9. 제8항에 있어서,
    상기 프로세서는, 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 다중언어로 구성된 문장에 포함된 단어들 각각이 상기 다중언어로 구성된 문장에서 가지는 문맥상 의미에 기초하여, 상기 단어들 각각에 대응하는 언어를 식별하는, 다중언어 번역 장치.
  10. 다중언어로 구성된 문장을 획득하는 단계; 및
    다중언어 번역 모델을 이용하여, 상기 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득하고, 상기 획득한 벡터 값들을 목표 언어에 대응하는 벡터 값들로 변환하며, 상기 변환된 벡터 값들에 기초하여, 상기 목표 언어로 구성된 문장을 획득하는 단계;를 포함하고,
    상기 다중언어 번역 모델은, 단일 언어로 구성된 제1문장에 포함된 단어들 및 상기 제1문장에 포함된 적어도 하나의 단어를 하나 이상의 다른 언어들로 번역한 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시킨 단어-벡터 매핑 모델을 포함하는, 다중언어 번역 방법.
  11. 제10항에 있어서,
    상기 적어도 하나의 단어가 상기 제1문장에서 가지는 문맥상 의미 및 상기 적어도 하나의 단어를 하나 이상의 다른 언어로 번역한 제2단어들 각각이 상기 제2문장들 각각에서 가지는 문맥상 의미에 기초하여, 상기 제1문장 및 상기 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시켜 상기 단어-벡터 매핑 모델을 생성하는 단계를 더 포함하는, 다중언어 번역 방법.
  12. 제10항에 있어서,
    상기 제1문장 및 상기 제2문장들에 포함된 단어들 각각에 대응되는 언어를 식별하고, 상기 식별된 언어에 기초하여, 상기 제1문장 및 상기 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시켜 단어-벡터 매핑 모델을 생성하는 단계를 더 포함하는, 다중언어 번역 방법.
  13. 제10항에 있어서,
    상기 단일 언어로 구성된 단일 언어 말뭉치(monolingual corpus)를 문장 단위로 분리하여 상기 제1문장을 획득하는 단계를 더 포함하는, 다중언어 번역 방법.
  14. 제10항에 있어서,
    사용자 입력에 기초하여 설정된 단어들 각각을, 상기 설정된 단어들을 상기 하나 이상의 다른 언어로 번역한 단어들에 매핑시킨 번역 매핑 테이블을 생성하는 단계; 및
    상기 번역 매핑 테이블을 이용하여, 상기 제1문장에 포함된 단어들 중 상기 설정된 단어들에 포함되는 적어도 하나의 단어를 하나 이상의 다른 언어로 번역하여 상기 제2문장들을 생성하는 단계를 더 포함하는, 다중언어 번역 방법.
  15. 제10항에 있어서,
    사용자 입력에 기초하여 번역 가능한 언어를 설정하는 단계; 및
    상기 설정된 번역 가능한 언어를 기초로 상기 단어-벡터 매핑 모델을 생성하는 단계를 더 포함하는, 다중언어 번역 방법.
  16. 제15항에 있어서,
    상기 설정된 번역 가능한 언어 중 상기 다중언어에 포함되는 언어와 다른 언어로 상기 목표 언어를 설정하는 단계를 더 포함하는, 다중언어 번역 방법.
  17. 제10항에 있어서,
    상기 다중언어로 구성된 문장에 포함된 단어들 각각에 대응되는 언어를 식별하는 단계; 및
    상기 식별된 언어에 기초하여, 상기 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득하는 단계를 더 포함하는, 다중언어 번역 방법.
  18. 제17항에 있어서,
    상기 다중언어로 구성된 문장에 포함된 단어들 각각에 대응되는 언어를 식별하는 단계는,
    상기 다중언어로 구성된 문장에 포함된 단어들 각각이 상기 다중언어로 구성된 문장에서 가지는 문맥상 의미에 기초하여 상기 단어들 각각에 대응하는 언어를 식별하는 단계를 더 포함하는, 다중언어 번역 방법.
  19. 다중언어로 구성된 문장을 획득하는 동작; 및
    다중언어 번역 모델을 이용하여, 상기 다중언어로 구성된 문장에 포함되는 단어들 각각에 대응하는 벡터 값들을 획득하고, 상기 획득한 벡터 값들을 목표 언어에 대응하는 벡터 값들로 변환하며, 상기 변환된 벡터 값들에 기초하여, 상기 목표 언어로 구성된 문장을 획득하는 동작을 수행하도록 하는 프로그램이 저장된 기록매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 다중언어 번역 모델은, 단일 언어로 구성된 제1문장에 포함된 단어들 및 상기 제1문장에 포함된 적어도 하나의 단어를 하나 이상의 다른 언어들로 번역한 제2문장들에 포함된 단어들 각각에 대응되는 벡터 값들을 매핑시킨 단어-벡터 매핑 모델을 포함하는, 컴퓨터 프로그램 제품.
KR1020180050206A 2018-04-30 2018-04-30 다중언어 번역 장치 및 다중언어 번역 방법 KR102542914B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180050206A KR102542914B1 (ko) 2018-04-30 2018-04-30 다중언어 번역 장치 및 다중언어 번역 방법
US16/390,317 US11106879B2 (en) 2018-04-30 2019-04-22 Multilingual translation device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180050206A KR102542914B1 (ko) 2018-04-30 2018-04-30 다중언어 번역 장치 및 다중언어 번역 방법

Publications (2)

Publication Number Publication Date
KR20190125863A true KR20190125863A (ko) 2019-11-07
KR102542914B1 KR102542914B1 (ko) 2023-06-15

Family

ID=68292681

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180050206A KR102542914B1 (ko) 2018-04-30 2018-04-30 다중언어 번역 장치 및 다중언어 번역 방법

Country Status (2)

Country Link
US (1) US11106879B2 (ko)
KR (1) KR102542914B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200226327A1 (en) * 2019-01-11 2020-07-16 Applications Technology (Apptek), Llc System and method for direct speech translation system
KR20210107473A (ko) * 2020-02-24 2021-09-01 김세중 창작자 및 다중참여자에게 수익을 분배하는 이야기 콘텐츠 플랫폼 서비스 제공 시스템
KR20220149617A (ko) * 2020-04-24 2022-11-08 로브록스 코포레이션 온라인 게이밍을 위한 사용자 입력 텍스트의 언어 감지
KR20230093754A (ko) * 2021-12-20 2023-06-27 한림대학교 산학협력단 전자 의무 기록을 구성하는 텍스트의 분석과 관련된 전처리를 수행하는 전자 장치
WO2023128170A1 (ko) * 2021-12-28 2023-07-06 삼성전자 주식회사 전자 장치, 전자 장치의 제어 방법 및 프로그램이 기록된 기록매체

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102542914B1 (ko) * 2018-04-30 2023-06-15 삼성전자주식회사 다중언어 번역 장치 및 다중언어 번역 방법
US11106873B2 (en) * 2019-01-22 2021-08-31 Sap Se Context-based translation retrieval via multilingual space
US11126797B2 (en) * 2019-07-02 2021-09-21 Spectrum Labs, Inc. Toxic vector mapping across languages
CN110781687B (zh) * 2019-11-06 2021-07-06 腾讯科技(深圳)有限公司 相同意图语句的获取方法及装置
US11385916B2 (en) * 2020-03-16 2022-07-12 Servicenow, Inc. Dynamic translation of graphical user interfaces
US11580312B2 (en) 2020-03-16 2023-02-14 Servicenow, Inc. Machine translation of chat sessions
KR20210144975A (ko) * 2020-05-21 2021-12-01 삼성전자주식회사 텍스트 시퀀스를 번역하는 전자 장치 및 그 동작 방법
US11586833B2 (en) * 2020-06-12 2023-02-21 Huawei Technologies Co., Ltd. System and method for bi-directional translation using sum-product networks
US11694042B2 (en) * 2020-06-16 2023-07-04 Baidu Usa Llc Cross-lingual unsupervised classification with multi-view transfer learning
US11928440B2 (en) * 2020-08-25 2024-03-12 Rovi Guides, Inc. Systems and methods for handling multilingual queries
US20220108083A1 (en) * 2020-10-07 2022-04-07 Andrzej Zydron Inter-Language Vector Space: Effective assessment of cross-language semantic similarity of words using word-embeddings, transformation matrices and disk based indexes.
CN113362810B (zh) * 2021-05-28 2024-02-09 平安科技(深圳)有限公司 语音处理模型的训练方法、装置、设备及存储介质
CN114186569A (zh) * 2021-09-28 2022-03-15 北京有竹居网络技术有限公司 用于多语言处理的方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160138077A (ko) * 2014-03-28 2016-12-02 어드벤터 매니지먼트 리미티트 기계 번역 시스템 및 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7672830B2 (en) * 2005-02-22 2010-03-02 Xerox Corporation Apparatus and methods for aligning words in bilingual sentences
TWI386822B (zh) * 2007-09-05 2013-02-21 Shing Lung Chen 建置多語翻譯資料庫內容之方法
US8930176B2 (en) * 2010-04-01 2015-01-06 Microsoft Corporation Interactive multilingual word-alignment techniques
JP5555542B2 (ja) 2010-05-20 2014-07-23 日本電信電話株式会社 自動単語対応付け装置とその方法とプログラム
US9098488B2 (en) 2011-04-03 2015-08-04 Microsoft Technology Licensing, Llc Translation of multilingual embedded phrases
WO2014144800A1 (en) * 2013-03-15 2014-09-18 Cornell University Computer system methods for generating combined language content
JP6242226B2 (ja) * 2014-02-04 2017-12-06 有限会社ティ辞書企画 検索装置、検索方法、及びプログラム
US9779085B2 (en) * 2015-05-29 2017-10-03 Oracle International Corporation Multilingual embeddings for natural language processing
KR20170060439A (ko) * 2015-11-24 2017-06-01 한국전자통신연구원 자동 언어설정 기능을 갖는 다국어 통번역 장치 및 방법
WO2017112813A1 (en) * 2015-12-22 2017-06-29 Sri International Multi-lingual virtual personal assistant
CN110914827B (zh) * 2017-04-23 2024-02-09 赛伦斯运营公司 生成多语言语义解析器的系统和计算机实现方法
US10657332B2 (en) * 2017-12-21 2020-05-19 Facebook, Inc. Language-agnostic understanding
KR102542914B1 (ko) * 2018-04-30 2023-06-15 삼성전자주식회사 다중언어 번역 장치 및 다중언어 번역 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160138077A (ko) * 2014-03-28 2016-12-02 어드벤터 매니지먼트 리미티트 기계 번역 시스템 및 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Dong et al., "Multi-Task Learning for Multiple Language Translation", Association for Computational Linguistics, 2015, pp. 1723-1732 (10 pages total).* *
Ha et al., "Toward Multilingual Neural Machine Translation with Universal Encoder and Decoder", Institute for Anthropomatics and Robotics KIT-Karlsruhe Institute of Technology, 2016, (7 pages total).* *
Johnson et al., "Google's Multilingual Neural Machine Translation System: Enabling Zero-Shot Translation", Transactions of the Association for Computational Linguistics, vol. 5, Oct. 2017, pp. 339-352* *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200226327A1 (en) * 2019-01-11 2020-07-16 Applications Technology (Apptek), Llc System and method for direct speech translation system
KR20210107473A (ko) * 2020-02-24 2021-09-01 김세중 창작자 및 다중참여자에게 수익을 분배하는 이야기 콘텐츠 플랫폼 서비스 제공 시스템
KR20220149617A (ko) * 2020-04-24 2022-11-08 로브록스 코포레이션 온라인 게이밍을 위한 사용자 입력 텍스트의 언어 감지
KR20230093754A (ko) * 2021-12-20 2023-06-27 한림대학교 산학협력단 전자 의무 기록을 구성하는 텍스트의 분석과 관련된 전처리를 수행하는 전자 장치
WO2023128170A1 (ko) * 2021-12-28 2023-07-06 삼성전자 주식회사 전자 장치, 전자 장치의 제어 방법 및 프로그램이 기록된 기록매체

Also Published As

Publication number Publication date
KR102542914B1 (ko) 2023-06-15
US11106879B2 (en) 2021-08-31
US20190332677A1 (en) 2019-10-31

Similar Documents

Publication Publication Date Title
KR102542914B1 (ko) 다중언어 번역 장치 및 다중언어 번역 방법
KR102329127B1 (ko) 방언을 표준어로 변환하는 방법 및 장치
Kiela et al. Dynamic meta-embeddings for improved sentence representations
US20190163691A1 (en) Intent Based Dynamic Generation of Personalized Content from Dynamic Sources
EP3926531B1 (en) Method and system for visio-linguistic understanding using contextual language model reasoners
KR20210061141A (ko) 자연어 처리 방법 및 장치
CN111144102B (zh) 用于识别语句中实体的方法、装置和电子设备
CN114676234A (zh) 一种模型训练方法及相关设备
Kenny Human and machine translation
Antony et al. Machine transliteration for indian languages: A literature survey
Monroe Deep learning takes on translation
Banik et al. Gru based named entity recognition system for bangla online newspapers
Youssef et al. MoArLex: an Arabic sentiment lexicon built through automatic lexicon expansion
KR20160133349A (ko) 구 표 생성 방법 및 구 표를 이용한 기계 번역 방법
Chakrawarti et al. Machine translation model for effective translation of Hindi poetries into English
CN112765977B (zh) 一种基于跨语言数据增强的分词方法及装置
CN111968646B (zh) 一种语音识别方法及装置
KR102409667B1 (ko) 기계 번역의 학습 데이터 구축을 위한 방법
US20220139386A1 (en) System and method for chinese punctuation restoration using sub-character information
Weegar et al. Deep medical entity recognition for Swedish and Spanish
Marinelli et al. Active Annotation: bootstrapping annotation lexicon and guidelines for supervised NLU learning
US20210142006A1 (en) Generating method, non-transitory computer readable recording medium, and information processing apparatus
Malecha et al. Maximum entropy part-of-speech tagging in nltk
Sreeram et al. A Novel Approach for Effective Recognition of the Code-Switched Data on Monolingual Language Model.
CN110852063B (zh) 基于双向lstm神经网络的词向量生成方法及装置

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