KR102458244B1 - 기계 번역 방법 및 장치 - Google Patents
기계 번역 방법 및 장치 Download PDFInfo
- Publication number
- KR102458244B1 KR102458244B1 KR1020170157285A KR20170157285A KR102458244B1 KR 102458244 B1 KR102458244 B1 KR 102458244B1 KR 1020170157285 A KR1020170157285 A KR 1020170157285A KR 20170157285 A KR20170157285 A KR 20170157285A KR 102458244 B1 KR102458244 B1 KR 102458244B1
- Authority
- KR
- South Korea
- Prior art keywords
- translation
- source sentence
- model
- probability
- context information
- Prior art date
Links
- 238000013519 translation Methods 0.000 title claims abstract description 319
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000014616 translation Effects 0.000 description 253
- 238000010586 diagram Methods 0.000 description 16
- 239000013598 vector Substances 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 235000013550 pizza Nutrition 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/44—Statistical methods, e.g. probability models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
기계 번역 방법 및 장치가 개시된다. 개시된 기계 번역 방법은 제1 모델에 기초하여 소스 문장을 번역하고, 제2 모델에 기초하여 소스 문장의 번역 결과가 소스 문장으로 번역될 역번역 확률을 결정하고, 제1 모델에서 소스 문장으로부터 추출되는 컨텍스트 정보에 역번역 확률을 반영하며, 역번역 확률이 반영된 컨텍스트 정보 및 제1 모델에 기초하여 소스 문장을 재 번역한다.
Description
아래 실시예들은 기계 번역 방법 및 장치에 관한 것이다.
사용자는 모국어가 아닌 다른 언어의 문장, 절, 구, 또는 워드를 기계 번역을 이용하여 번역할 수 있다. 기계 번역 결과에 오류가 있으면, 사용자는 기계 번역 결과를 이해하는 것이 어렵다. 이에 따라, 다른 언어의 문장을 정확하게 번역하는 것이 중요할 수 있다.
일실시예에 따른 기계 번역 방법은 제1 모델에 기초하여 소스 문장을 번역하는 단계; 제2 모델에 기초하여 상기 소스 문장의 번역 결과가 상기 소스 문장으로 번역될 역번역 확률을 결정하는 단계; 상기 제1 모델에서 상기 소스 문장으로부터 추출되는 컨텍스트 정보에 상기 역번역 확률을 반영하는 단계; 및 상기 역번역 확률이 반영된 컨텍스트 정보 및 상기 제1 모델에 기초하여, 상기 소스 문장을 재 번역하는 단계를 포함한다.
일실시예에 따른 기계 번역 방법에서 상기 역번역 확률은 상기 소스 문장에 포함된 단어 별로 결정될 수 있다.
일실시예에 따른 기계 번역 방법에서 상기 컨텍스트 정보에 상기 역번역 확률을 반영하는 단계는 상기 소스 문장에 포함된 단어들 중 역번역 확률이 낮은 단어일수록 큰 가중치로 상기 컨텍스트 정보에 반영할 수 있다.
일실시예에 따른 기계 번역 방법에서 상기 컨텍스트 정보에 상기 역번역 확률을 반영하는 단계는 상기 소스 문장에 포함된 단어들 각각을 해당 단어의 역번역 확률 및 상기 제1 모델의 디코더가 생성할 단어의 위치 정보에 기초하여 결정된 가중치로 상기 컨텍스트 정보에 반영할 수 있다.
일실시예에 따른 기계 번역 방법에서 상기 컨텍스트 정보에 상기 역번역 확률을 반영하는 단계는 상기 소스 문장에 포함된 단어들 중 역번역 확률이 낮은 단어일수록 해당 단어의 번역에 이용되는 컨텍스트 정보에 해당 단어를 큰 가중치로 반영할 수 있다.
일실시예에 따른 기계 번역 방법은 상기 소스 문장의 마지막 번역 결과가 수정될 필요가 있는지 여부를 판단하는 단계; 및 상기 마지막 번역 결과가 수정될 필요가 있는 것으로 판단된 경우, 상기 마지막 번역 결과가 상기 소스 문장으로 번역될 역번역 확률을 상기 컨텍스트 정보에 반영하고, 상기 역번역 확률이 반영된 컨텍스트 정보 및 상기 제1 모델에 기초하여 상기 소스 문장을 재 번역하는 단계를 더 포함할 수 있다.
일실시예에 따른 기계 번역 방법에서 상기 마지막 번역 결과가 수정될 필요가 있는지 여부를 판단하는 단계는 상기 마지막 번역 결과 및 이전 번역 결과 간의 차이에 기초하여 상기 마지막 번역 결과가 수정될 필요가 있는지 여부를 판단할 수 있다.
일실시예에 따른 기계 번역 방법에서 상기 컨텍스트 정보를 조정하는 단계는 상기 역번역 확률을 상기 소스 문장의 단어 별로 사용자로 제공하는 단계; 상기 소스 문장에 포함된 단어들 중 적어도 하나의 단어에 대한 가중치를 변경하는 조작을 상기 사용자로부터 입력 받는 단계; 및 상기 사용자의 조작에 기초하여, 상기 적어도 하나의 단어를 상기 변경된 가중치로 상기 컨텍스트 정보에 반영하는 단계를 포함할 수 있다.
일실시예에 따른 기계 번역 방법에서 상기 번역 결과는 상기 소스 문장으로부터 번역된 복수의 타겟 문장들을 포함하고, 상기 역번역 확률을 결정하는 단계는 상기 복수의 타겟 문장들이 상기 소스 문장으로 번역될 확률들의 평균을 상기 역번역 확률로 결정할 수 있다.
일실시예에 따른 기계 번역 방법에서 상기 제1 모델 및 상기 제2 모델은 상기 번역 결과의 번역 횟수가 적을수록 큰 보상이 적용되도록 학습될 수 있다.
일실시예에 따른 기계 번역 방법에서 상기 제1 모델 및 상기 제2 모델은 상기 소스 문장의 번역 횟수가 적고, 상기 번역 결과가 타겟 언어에서 자연스러운 표현에 해당될수록 큰 보상이 적용되도록 학습될 수 있다.
일실시예에 따른 기계 번역 방법에서 상기 제1 모델은 소스 언어로 표현된 상기 소스 문장으로부터 타겟 언어로 표현된 번역 결과를 생성하고, 상기 제2 모델은 상기 타겟 언어로 표현된 번역 결과가 상기 소스 문장으로 번역될 역번역 확률을 생성할 수 있다.
일실시예에 따른 기계 번역 장치는 프로세서; 및 상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리를 포함하고, 상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 제1 모델에 기초하여 소스 문장을 번역하고, 제2 모델에 기초하여 상기 소스 문장의 번역 결과가 상기 소스 문장으로 번역될 역번역 확률을 결정하고, 상기 제1 모델에서 상기 소스 문장으로부터 추출되는 컨텍스트 정보에 상기 역번역 확률을 반영하며, 상기 역번역 확률이 반영된 컨텍스트 정보 및 상기 제1 모델에 기초하여 상기 소스 문장을 재 번역한다.
도 1은 일실시예에 따른 기계 번역 장치의 전체적인 동작을 설명하기 위한 도면이다.
도 2는 일실시예에 따른 NMT 모델의 동작을 설명하기 위한 도면이다.
도 3은 일실시예에 따라 기계 번역 장치에서 이용되는 제1 모델 및 제2 모델을 설명하기 위한 도면이다.
도 4 내지 도 6은 일실시예에 따라 기계 번역 장치의 동작의 일례를 설명하기 위한 도면이다.
도 7은 일실시예에 따른 사용자 인터페이스를 설명하기 위한 도면이다.
도 8은 일실시예에 따라 제1 모델 및 제2 모델을 학습시키는 과정을 설명하기 위한 도면이다.
도 9는 일실시예에 따른 기계 번역 방법을 나타낸 도면이다.
도 10은 일실시예에 따른 기계 번역 장치를 나타낸 도면이다.
도 2는 일실시예에 따른 NMT 모델의 동작을 설명하기 위한 도면이다.
도 3은 일실시예에 따라 기계 번역 장치에서 이용되는 제1 모델 및 제2 모델을 설명하기 위한 도면이다.
도 4 내지 도 6은 일실시예에 따라 기계 번역 장치의 동작의 일례를 설명하기 위한 도면이다.
도 7은 일실시예에 따른 사용자 인터페이스를 설명하기 위한 도면이다.
도 8은 일실시예에 따라 제1 모델 및 제2 모델을 학습시키는 과정을 설명하기 위한 도면이다.
도 9는 일실시예에 따른 기계 번역 방법을 나타낸 도면이다.
도 10은 일실시예에 따른 기계 번역 장치를 나타낸 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 아래의 특정한 구조적 내지 기능적 설명들은 단지 실시예들을 설명하기 위한 목적으로 예시된 것으로, 실시예의 범위가 본문에 설명된 내용에 한정되는 것으로 해석되어서는 안된다. 관련 기술 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타내며, 공지된 기능 및 구조는 생략하도록 한다.
도 1은 일실시예에 따른 기계 번역 장치의 전체적인 동작을 설명하기 위한 도면이다.
일실시예에 따른 기계 번역 장치는 소스 문장(source sentence)을 타겟 문장(target sentence)으로 번역하는 장치이다. 이 때, 기계 번역 장치는 NMT(Neural Machine Translation) 모델을 이용할 수 있다. NMT 모델은 소스 문장을 인코딩하고, 디코딩을 통해 타겟 문장을 생성할 수 있다. NMT 모델의 동작에 대해서는 도 2를 참조하여 후술한다.
단계(110)에서, 기계 번역 장치는 정상 NMT 디코딩(normal NMT decoding)을 통해 타겟 문장을 생성할 수 있다. 여기서, 정상 NMT 디코딩은 번역 과정에 이용되는 가중치나 컨텍스트 정보에 다른 요소가 반영되지 않은 NMT 모델의 디코딩 과정을 나타낼 수 있다. 단계(110)에서 생성된 타겟 문장은 초벌 번역 결과에 해당될 수 있다.
단계(120)에서, 기계 번역 장치는 생성된 타겟 문장이 수정될 필요가 있는지 여부를 판단할 수 있다. 이 때, 기계 번역 장치는 이전에 생성된 타겟 문장을 고려할 수 있는데, 타겟 문장이 초벌 번역 결과에 해당되어 이전 타겟 문장이 존재하지 않은 경우, 타겟 문장이 수정될 필요가 있는 것으로 판단할 수 있다.
단계(130)에서, 기계 번역 장치는 보상-인식 NMT 디코딩(reward-aware NMT decoding)을 통해 타겟 문장을 재 생성할 수 있다. 예를 들어, 기계 번역 장치는 타겟 문장이 소스 문장으로 번역될 역번역 확률을 결정하고, 소스 문장에서 추출된 컨텍스트 정보에 역번역 확률을 반영하며, 역번역 확률이 반영된 컨텍스트 정보를 이용하여 소스 문장으로부터 타겟 문장을 재 생성할 수 있다. 여기서, 보상-인식 NMT 디코딩은 역번역 확률이 반영된 컨텍스트 정보를 이용하는 NMT 모델의 디코딩 과정을 나타낼 수 있다.
기계 번역 장치는 타겟 문장이 소스 문장으로 번역될 역번역 확률을 이용하여 소스 문장을 재 번역함으로써, 현재 생성된 타겟 문장에 충분히 반영되지 않은 소스 문장의 단어가 다음 번역에서 적절히 반영되도록 할 수 있다.
타겟 문장이 재 생성되면, 단계(120)에서 기계 번역 장치는 재 생성된 타겟 문장이 수정될 필요가 있는지 여부를 판단할 수 있다. 예를 들어, 기계 번역 장치는 재 생성된 타겟 문장과 이전 타겟 문장 간의 차이에 기초하여 재 생성된 타겟 문장이 수정될 필요가 있는지 여부를 판단할 수 있다.
만약 재 생성된 타겟 문장과 이전 타겟 문장 간의 차이가 미리 결정된 임계치를 초과하는 경우, 기계 번역 장치는 재 생성된 타겟 문장이 수정될 필요가 있는 것으로 판단할 수 있다. 이 경우, 재 생성된 타겟 문장이 소스 문장으로 번역될 역번역 확률에 기초하여 단계(130)이 다시 수행될 수 있다.
반대로, 재 생성된 타겟 문장과 이전 타겟 문장 간의 차이가 미리 결정된 임계치를 초과하지 않는 경우, 기계 번역 장치는 재 생성된 타겟 문장이 수정될 필요가 없는 것으로 판단할 수 있다. 이 경우, 기계 번역 장치는 가장 마지막으로 재 생성된 타겟 문장을 최종 번역 결과로 출력할 수 있다.
기계 번역 장치는 타겟 문장을 여러 번 재 생성하는 과정을 통해, 번역 정확도가 점진적으로 향상될 수 있다.
도 2는 일실시예에 따른 NMT 모델의 동작을 설명하기 위한 도면이다.
도 2를 참조하면, NMT 모델(200)은 소스 문장을 인코딩하는 인코더(210)와 인코딩 결과를 타겟 문장으로 디코딩하는 디코더(220)를 포함할 수 있다. 인코더(210)와 디코더(220)는 뉴럴 네트워크(neural network)에 기반할 수 있다.
일실시예에 따른 인코더(210)는 소스 문장에 포함된 단어들(예컨대, "I", "ate", "pizza", "yesterday") 각각을 히든 벡터로 변환할 수 있다. 도 2에 예시적으로 도시된 은 소스 문장의 u번째 단어로부터 변환된 인코더(210)의 히든 벡터를 나타낼 수 있다. 여기서, u는 소스 문장의 위치 정보(다시 말해, 인덱스(index))를 나타낼 수 있다.
인코더(210)의 히든 벡터(또는, 소스 문장의 u번째 단어)는 가중치 atu로 컨텍스트 정보 ct에 반영될 수 있다. 가중치 atu는 소스 문장의 u번째 단어에 대한 히든 벡터가 타겟 문장의 t번째 단어를 결정하는 데 기여하는 정도를 나타낼 수 있다. 가중치 atu는 타겟 문장의 t-1번째 단어에 대한 디코더(220)의 히든 벡터와 소스 문장의 u번째 단어에 대한 인코더(210)의 히든 벡터에 기초하여 결정될 수 있다. 가중치 atu는 기여도(attention) 값으로도 지칭될 수 있다.
컨텍스트 정보 ct는 인코더(210)의 히든 벡터들과 가중치들을 이용하여 결정될 수 있다. 컨텍스트 정보 ct는 인코더(210)의 히든 벡터와 이에 대응하는 가중치 atu의 곱들의 합으로 결정될 수 있다.
일실시예에 따른 디코더(220)는 컨텍스트 정보 ct와 타겟 문장의 t-1번째 단어를 이용하여 타겟 문장의 t번째 단어를 결정할 수 있다. 도 2에 예시적으로 도시된 은 타겟 문장의 t번째 단어에 대한 디코더(220)의 히든 벡터를 나타내고, t는 타겟 문장의 위치 정보를 나타낼 수 있다.
일실시예에 따른 기계 번역 장치는 타겟 문장이 소스 문장으로 번역될 역번역 확률을 컨텍스트 정보 ct에 반영하여 번역을 다시 수행함으로써, 금번 타겟 문장에 충분히 반영되지 않은 소스 문장의 단어의 정확도를 점진적으로 향상시킬 수 있다.
도 3은 일실시예에 따라 기계 번역 장치에서 이용되는 제1 모델 및 제2 모델을 설명하기 위한 도면이다.
도 3을 참조하면, 일실시예에 따른 기계 번역 장치가 소스 문장(310)를 번역하는 예시가 도시된다. 예를 들어, 소스 문장(310)은 "I ate pizza yesterday"일 수 있다.
일실시예에 따른 기계 번역 장치는 제1 모델에 기초하여 소스 문장(310)을 번역함으로써, 첫 번째 타겟 문장(320)을 생성할 수 있다. 제1 모델은 소스 언어로 표기된 소스 문장(310)으로부터 타겟 언어로 표기된 타겟 문장을 생성하는 NMT 모델일 수 있다.
그리고, 기계 번역 장치는 제2 모델에 기초하여 첫 번째 타겟 문장(320)이 소스 문장(310)으로 번역될 역번역 확률을 결정할 수 있다. 제2 모델은 타겟 언어로 표기된 타겟 문장으로부터 소스 언어로 표기된 소스 문장(310)이 생성될 역번역 확률을 출력하는 NMT 모델일 수 있다. 도 2에 도시된 예에서, Pr(S|T1)은 첫 번째 타겟 문장(320)이 소스 문장(310)으로 번역될 전체 역번역 확률을 나타낼 수 있다.
일실시예에 따른 역번역 확률은 소스 문장(310)에 포함된 단어 별로 결정될 수 있다. 예를 들어, "I", "ate", "pizza", "yesterday"에 대한 역번역 확률이 p1, p2, p3, p4로 각각 결정될 수 있다. 역번역 확률들은 0에서 1 사이의 값을 가지며, 도 3에 도시된 예에서 막대 그래프로 표시될 수 있다.
첫 번째 타겟 문장(320)의 경우, "yesterday"에 대한 역번역 확률 p4가 다른 역번역 확률들 p1, p2, p3보다 현저히 낮을 수 있다. 이는 소스 문장(310)에 포함된 단어들 중 "yesterday"가 첫 번째 타겟 문장(320)에 충분히 반영되지 않은 것을 나타낼 수 있다.
기계 번역 장치는 앞서 결정된 역번역 확률을 이용하여 소스 문장(310)에 포함된 단어들 중 "yesterday"에 대한 가중치를 높여 소스 문장(310)을 재 번역할 수 있다. 이 때, 제1 모델이 다시 이용되며, 제1 모델에서 소스 문장(310)이 재 번역될 때 "yesterday"가 높은 가중치로 반영되어 두 번째 타겟 문장(330)이 생성될 수 있다.
그리고, 기계 번역 장치는 제2 모델에 기초하여 두 번째 타겟 문장(330)이 소스 문장(310)으로 번역될 역번역 확률을 결정할 수 있다. 두 번째 타겟 문장(330)의 경우, "yesterday"에 대한 역번역 확률 p4가 이전보다 상당히 증가한 반면, "I"에 대한 역번역 확률 p1가 이전보다 다소 낮아질 수 있다. 이는 두 번째 타겟 문장(330)에 "yesterday"가 충분히 반영된 반면, "I"가 충분하지 않게 반영된 것을 나타낼 수 있다.
기계 번역 장치는 금번에 결정된 역번역 확률을 이용하여 소스 문장(310)에 포함된 단어들 중 "I"에 대한 가중치를 높여 소스 문장(310)을 재 번역할 수 있다. 이 때, 제1 모델이 다시 이용되어 세 번째 타겟 문장(340)이 생성될 수 있다. 그 후, 기계 번역 장치는 제2 모델에 기초하여 세 번째 타겟 문장(340)이 소스 문장(310)으로 번역될 역번역 확률을 결정할 수 있다.
이와 같이, 기계 번역 장치는 소스 문장(310)을 여러 번 번역하면서 점차 높은 정확도의 타겟 문장을 얻을 수 있다. 이하에서는, 설명의 편의를 위해 타겟 문장은 번역 결과로도 지칭될 수 있다.
도 4 내지 도 6은 일실시예에 따라 기계 번역 장치의 동작의 일례를 설명하기 위한 도면이다.
도 4를 참조하면, 일실시예에 따라 기계 번역 장치가 역번역 확률을 컨텍스트 정보에 반영하여 번역을 수행하는 예시가 도시된다.
일실시예에 따른 기계 번역 장치는 제1 모델에 기초하여 소스 문장(410)을 번역하여 첫 번째 타겟 문장(420)을 생성할 수 있다. 처음 소스 문장(410)을 번역할 때에는 타겟 문장이 존재하지 않으므로, 초기 역번역 확률(, , , )이 모두 "1"인 것으로 가정하여 번역이 수행될 수 있다. 다시 말해, 가상의 타겟 문장 T1(미도시)이 존재하는 것으로 가정할 수 있다. 도 4에 도시된 예에서, Pr(T2|S, c2)는 소스 문장(410) S와 컨텍스트 정보 c2가 주어졌을 때 첫 번째 타겟 문장(420) T2가 생성될 확률을 나타낼 수 있다.
그리고, 기계 번역 장치는 첫 번째 타겟 문장(420)이 수정될 필요가 있는지 여부를 판단할 수 있다. 예를 들어, 기계 번역 장치는 금번 번역 결과인 첫 번째 타겟 문장(420)과 이전 타겟 문장 간의 차이에 기초하여 첫 번째 타겟 문장(420)이 수정될 필요가 있는지 여부를 판단할 수 있다. 다만, 첫 번째 타겟 문장(420)의 경우, 이전 타겟 문장이 존재하지 않으므로, 기계 번역 장치는 수정이 필요한 것으로 판단할 수 있다.
그리고, 기계 번역 장치는 제2 모델에 기초하여 첫 번째 타겟 문장(420)이 소스 문장(410)으로 번역될 역번역 확률을 결정할 수 있다. 이 때, 소스 문장(410)의 단어 별 역번역 확률 , , , 이 결정될 수 있다. 도 4에 도시된 예에서, Pr(S|T2)는 첫 번째 타겟 문장(420) T2가 소스 문장(410) S로 번역될 전체 역번역 확률을 나타낼 수 있다.
그리고, 기계 번역 장치는 역번역 확률을 아래와 같이 컨텍스트 정보에 반영할 수 있다.
여기서, 는 i번째 번역 스텝에서 타겟 문장의 t번째 단어를 결정하는 데 이용되는 컨텍스트 정보를 나타내고, 은 i번째 번역 스텝에서 소스 문장(410)의 u번째 단어가 타겟 문장의 t번째 단어를 결정하는 데 기여하는 정도를 나타내고, 은 i번째 번역 스텝에서 소스 문장(410)의 u번째 단어에 대한 역번역 확률을 나타낸다.
위의 수학식 1과 같이, 역번역 확률이 역수로 나머지 성분에 곱해짐에 따라 역번역 확률이 작을수록 큰 가중치로 컨텍스트 정보에 영향을 미칠 수 있다. 다시 말해, 기계 번역 장치는 소스 문장(410)에 포함된 단어들 중 역번역 확률이 낮은 단어일수록 큰 가중치로 컨텍스트 정보에 반영할 수 있다.
도 4에 도시된 예에서 "yesterday"의 역번역 확률 이 "0"에 근접한 것을 알 수 있다. 이 경우, 역번역 확률 의 역수가 나머지 성분에 곱해짐에 따라, 소스 문장(410)의 "yesterday"가 큰 가중치로 컨텍스트 정보에 반영될 수 있다.
이와 같이 역번역 확률이 반영된 컨텍스트 정보와 제1 모델을 이용하여, 기계 번역 장치는 소스 문장(410)을 재 번역할 수 있다. 재 번역 결과로 두 번째 타겟 문장(430)이 생성될 수 있다.
기계 번역 장치는 두 번째 타겟 문장(430)이 수정될 필요가 있는지 여부를 판단할 수 있다. 예를 들어, 기계 번역 장치는 금번 번역 결과(다시 말해, 마지막 번역 결과)인 두 번째 타겟 문장(430)과 이전 타겟 문장 간의 차이에 기초하여 두 번째 타겟 문장(430)이 수정될 필요가 있는지 여부를 판단할 수 있다.
만약 두 번째 타겟 문장(430)과 이전 타겟 문장 간의 차이가 미리 결정된 임계치 이하인 경우, 기계 번역 장치는 두 번째 타겟 문장(430)이 수정될 필요가 없는 것으로 판단하고, 두 번째 타겟 문장(430)을 최종 번역 결과로 출력할 수 있다. 반대로, 두 번째 타겟 문장(430)과 이전 타겟 문장 간의 차이가 미리 결정된 임계치를 초과하는 경우, 기계 번역 장치는 두 번째 타겟 문장(430)이 수정될 필요가 있는 것으로 판단할 수 있다.
일실시예에 따라 금번 번역 결과와 이전 번역 결과 간의 차이는 번역 평가 지표인 BLEU(bilingual evaluation understudy)에 기초하여 아래와 같이 고려될 수 있다.
위의 수학식 2에서, Ti는 금번 타겟 문장을 나타내고, T<i는 이전에 생성된 모든 이전 타겟 문장을 나타낼 수 있다. 는 BLEU에 의한 금번 타겟 문장과 이전 타겟 문장 간의 차이를 나타내며, 임계치와 비교되어 금번 타겟 문장이 수정될 필요가 있는지 여부가 결정될 수 있다.
예를 들어, BLEU는 금번 번역 결과인 n-gram 단어열이 이전 타겟 문장에 포함되었는지 여부를 평가할 수 있다. 만약 n-gram 단어열이 이전 타겟 문장에 포함되지 않은 경우, 값은 낮게 결정되고, 금번 타겟 문장과 이전 타겟 문장 간의 차이가 큰 것으로 인식될 수 있다. 반대로 n-gram 단어열이 이전 타겟 문장에 포함된 경우, 값은 크게 결정되고, 금번 타겟 문장과 이전 타겟 문장 간의 차이가 작은 것으로 인식될 수 있다.
도 4에 도시된 예에서, 2번째 번역 스텝에서의 값은 0.7로 결정될 수 있으며, 이는 미리 결정된 임계치(예컨대, 0.8)보다 낮으므로, 두 번째 타겟 문장(430)과 이전 타겟 문장(다시 말해, 첫 번째 타겟 문장(420)) 간의 차이가 큰 것으로 인식될 수 있다.
기계 번역 장치는 두 번째 타겟 문장(430)이 수정될 필요가 있는 것으로 판단하고, 두 번째 타겟 문장(430)이 소스 문장(410)으로 번역될 역번역 확률을 결정하며, 컨텍스트 정보에 역번역 확률을 반영하여 세 번째 타겟 문장(440)을 생성할 수 있다.
기계 번역 장치는 세 번째 타겟 문장(440)과 이전 타겟 문장들(다시 말해, 첫 번째 타겟 문장(420), 두 번째 타겟 문장(430)) 간의 차이에 기초하여 세 번째 타겟 문장(440)이 수정될 필요가 있는지 여부를 결정할 수 있다. 도 4에 도시된 예에서, 3번째 번역 스텝에서의 값은 1.0으로 결정될 수 있으며, 이는 미리 결정된 임계치(예컨대, 0.8)보다 높으므로, 세 번째 타겟 문장(440)과 이전 타겟 문장 간의 차이가 작은 것으로 인식될 수 있다. 이 경우, 기계 번역 장치는 세 번째 타겟 문장(440)이 수정될 필요가 없는 것으로 판단하고, 세 번째 타겟 문장(440)을 최종 번역 결과로 출력할 수 있다.
도 5를 참조하면, 일실시예에 따라 기계 번역 장치가 소스 문장으로부터 생성된 복수의 타겟 문장들의 역번역 확률을 컨텍스트 정보에 반영하여 번역을 수행하는 예시가 도시된다.
도 4에 도시된 예에서는 한 번역 스텝에서 하나의 타겟 문장이 생성되었으나, 일실시예에 따라 한 번역 스텝에서 복수의 타겟 문장들이 생성될 수도 있으며 그 예가 도 5에 도시되어 있다.
기계 번역 장치는 제1 모델에 기초하여 소스 문장(510)으로부터 첫 번째 타겟 문장들(520)을 생성할 수 있다. 예를 들어, 첫 번째 타겟 문장들(520)은 높은 확률로 소스 문장(510)으로부터 생성된 미리 결정된 개수의 타겟 문장들일 수 있다. 도 5에 도시된 예에서, Pr(T2,j|S, c2)는 소스 문장(510) S와 컨텍스트 정보 c2가 주어졌을 때 첫 번째 타겟 문장들(520) 중 j번째 타겟 문장 T2,j이 생성될 확률을 나타낼 수 있다.
기계 번역 장치는 첫 번째 타겟 문장들(520) 또는 첫 번째 타겟 문장들(520) 중 확률이 가장 높은 타겟 문장이 수정될 필요가 있는지 여부를 판단할 수 있다. 기계 번역 장치는 금번 번역 결과인 첫 번째 타겟 문장들(520) 또는 첫 번째 타겟 문장들(520) 중 확률이 가장 높은 타겟 문장과 이전에 생성된 타겟 문장 간의 차이에 기초하여 수정이 필요한지 여부를 판단할 수 있다. 다만, 첫 번째 번역 스텝의 경우, 이전 타겟 문장이 존재하지 않으므로, 기계 번역 장치는 수정이 필요한 것으로 판단할 수 있다.
기계 번역 장치는 제2 모델에 기초하여 첫 번째 타겟 문장들(520)이 소스 문장(510)으로 번역될 역번역 확률을 결정할 수 있다. 도 5에 도시된 예에서, Pr(S|T2,j)은 첫 번째 타겟 문장들(520) 중 j번째 타겟 문장 T2,j가 소스 문장(510) S로 번역될 전체 역번역 확률을 나타낼 수 있다. 이 때, 소스 문장(510)의 단어 별로 결정되는 역번역 확률 , , , 은 첫 번째 타겟 문장들(520)의 역번역 확률들의 평균에 해당될 수 있다. 예를 들어, 역번역 확률 은 첫 번째 타겟 문장들(520) 각각에 포함된 "I" 대응 단어가 "I"로 번역될 확률들의 평균으로 결정될 수 있다. 역번역 확률 의 결정 방법과 유사하게 나머지 역번역 확률 , , 도 결정될 수 있다.
기계 번역 장치는 결정된 역번역 확률을 컨텍스트 정보에 반영하여 소스 문장(510)을 재 번역할 수 있다. 이와 같이, 한 번역 스텝을 통해서도 복수의 번역 결과들을 고려하여 역번역 확률을 결정함으로써, 번역 스텝 수를 효과적으로 줄일 수 있다.
기계 번역 장치는 더 이상 수정이 필요 없는 것으로 판단되면, 마지막 타겟 문장들 중 가장 높은 확률을 가진 타겟 문장을 최종 번역 결과로 출력할 수 있다.
그 밖에 기계 번역 장치의 동작에 대해서는 도 4를 통해 설명하였으므로, 보다 자세한 설명은 생략한다.
도 6을 참조하면, 일실시예에 따라 기계 번역 장치가 역번역 확률 및 제1 모델의 디코더가 생성할 단어의 위치 정보를 컨텍스트 정보에 반영하여 번역을 수행하는 예시가 도시된다.
도 4에 도시된 예에서는 컨텍스트 정보에 역번역 확률이 반영되었으나, 일실시예에 따라 컨텍스트 정보에 역번역 확률뿐만 아니라 제1 모델의 디코더가 생성할 단어의 위치 정보도 반영될 수 있다. 예를 들어, 기계 번역 장치는 아래와 같이 컨텍스트 정보에 역번역 확률과 위치 정보가 반영될 수 있다.
여기서, 는 i번째 번역 스텝에서 제1 모델의 디코더가 생성할 단어의 위치 정보 t에 대한 소스 문장(610)의 u번째 단어의 역번역 확률을 나타낸다. 는 제1 모델의 인코더에서 추출되는 히든 벡터의 차원에 따라 아래와 같이 결정될 수 있다.
여기서, 은 제1 모델의 인코더에서 추출된 히든 벡터의 짝수 차원에 대한 역번역 확률을 나타내고, 은 제1 모델의 인코더에서 추출된 히든 벡터의 홀수 차원에 대한 역번역 확률을 나타낸다. M은 제1 인코더에서 추출된 히든 벡터의 총 차원 수를 나타낼 수 있다. 다시 말해, 위치 정보는 차원 별로 서로 다른 주기를 갖는 M차원 벡터일 수 있다.
위의 수학식 3에 따르면, 기계 번역 장치는 소스 문장(610)에 포함된 단어들 각각을 해당 단어의 역번역 확률 및 제1 모델의 디코더가 생성할 단어의 위치 정보에 기초하여 결정된 가중치로 컨텍스트 정보에 반영할 수 있다. 예를 들어, 기계 번역 장치는 소스 문장(610)에 포함된 단어들 중 역번역 확률이 낮은 단어일수록 해당 단어의 번역에 이용되는 컨텍스트 정보에 해당 단어를 큰 가중치로 반영할 수 있다.
도 6에 도시된 예에서, 첫 번째 타겟 문장(620)이 소스 문장(610)으로 번역될 단어별 역번역 확률 , , , 중에서 "yesterday"에 대응하는 역번역 확률 이 낮다. 이 경우, 기계 번역 장치는 "yesterday"를 높은 가중치로 컨텍스트 정보에 반영할 수 있고, 여기서 컨텍스트 정보는 제1 모델의 디코더가 생성할 단어의 위치 정보를 고려하여 "yesterday"를 번역하는데 이용되는 컨텍스트 정보에 국한될 수 있다. 다시 말해, 소스 문장(610)의 다른 단어 "I", "ate", "pizza"를 번역하는데 이용되는 컨텍스트 정보에 "yesterday"가 높은 가중치로 적용되는 것이 방지될 수 있다.
앞서 설명한 것처럼, 제1 모델의 디코더가 생성할 단어의 위치 정보를 더 고려하여 컨텍스트 정보를 조절함으로써, 소스 문장(610)에 포함된 단어들 중 타겟 문장에 반영이 충분히 되지 않은 단어를 재 번역할 때 소스 문장(610)의 나머지 단어에 영향을 미치는 것을 효과적으로 억제할 수 있다.
도 7은 일실시예에 따른 사용자 인터페이스를 설명하기 위한 도면이다.
도 7을 참조하면, 일실시예에 따라 기계 번역 장치가 제공하는 사용자 인터페이스의 예시가 도시된다.
일실시예에 따른 기계 번역 장치는 사용자 인터페이스(710)를 통해 소스 문장, 타겟 문장, 금번 타겟 문장의 역번역 확률, 번역 횟수를 사용자로 제공할 수 있다. 사용자 인터페이스(710)에서 역번역 확률은 소스 문장의 단어 별로 나타낼 수 있다.
도 7에 도시된 예에서, 사용자는 사용자 인터페이스(710)에 나타난 막대 그래프를 통해 소스 문장에 포함된 단어들 중 "yesterday"에 대한 역번역 확률이 상당히 낮은 것을 알 수 있다. 사용자는 역번역 확률이 낮은 "yesterday"에 대한 가중치를 변경하는 조작(711)을 입력할 수 있다. 예를 들어, 사용자는 도 7에 도시된 예처럼 "yesterday"의 막대 그래프를 드래그하거나, "yesterday" 또는 "yesterday"의 막대 그래프를 클릭함으로써, "yesterday"에 대한 가중치를 변경하는 조작(711)을 입력할 수 있다.
기계 번역 장치는 사용자로부터 입력된 조작(711)에 기초하여 "yesterday"를 높은 가중치로 컨텍스트 정보에 반영하고, 반영된 컨텍스트 정보와 제1 모델을 이용하여 소스 문장을 재 번역할 수 있다. 사용자 인터페이스(720)은 소스 문장을 재 번역하여 생성된 두 번째 타겟 문장 "나는 어제 피자를 먹었다"과 두 번째 타겟 문장이 소스 문장으로 번역될 역번역 확률을 단어 별로 표시할 수 있다.
일실시예에 따른 기계 번역 장치는 마지막 번역 결과와 이전 번역 결과 간의 차이에 기초하여 마지막 번역 결과가 수정될 필요가 있는지 여부를 판단할 수 있다. 또는, 기계 번역 장치는 사용자로부터 소스 문장에 포함된 단어들 중 적어도 하나의 단어에 대한 가중치를 변경하는 조작이 입력되지 않거나, 사용자로부터 수정이 필요하지 않다는 명령을 입력 받음으로써, 마지막 번역 결과가 수정될 필요가 없는 것으로 결정할 수도 있다.
도 7에 도시된 예처럼, 사용자 인터페이스를 통해 타겟 문장에서 누락되거나 충분히 반영되지 않은 소스 문장의 단어가 존재하는지 여부를 사용자가 손쉽게 파악하고 번역 과정을 제어할 수 있다.
도 8은 일실시예에 따라 제1 모델 및 제2 모델을 학습시키는 과정을 설명하기 위한 도면이다.
일실시예에 따라 기계 번역 장치에서 이용되는 제1 모델과 제2 모델은 소스 문장의 번역 횟수 및 번역 결과의 자연스러운 정도에 기초한 보상에 기초하여 학습될 수 있다. 예를 들어, 제1 모델과 제2 모델은 듀얼 러닝(Dual Learning) 기법에 기반하고, 보상을 최대화하는 강화 학습(Reinforcement Learning)(예컨대, policy gradient)에 따라 학습될 수 있다.
예를 들어, 소스 문장의 번역 횟수는 아래와 같은 보상으로 고려될 수 있다.
위의 수학식 5에서, r는 보상을 나타낸다. 은 0에서 1 사이 값을 가지는 값으로, 번역 횟수 i가 증가할 때마다 작아질 수 있다. 제1 모델과 제2 모델은 E[r]의 값이 최대화되도록 학습됨으로써, 소스 문장의 번역 횟수가 적을수록 큰 보상이 적용되도록 학습될 수 있다.
또한, 타겟 언어에서 번역 결과의 자연스러운 정도는 타겟 언어 모델에 기초하여 결정될 수 있다. 제1 모델과 제2 모델은 번역 결과가 타겟 언어에서 자연스러운 표현에 해당될수록 큰 보상이 적용되도록 학습될 수 있다.
도 9는 일실시예에 따른 기계 번역 방법을 나타낸 도면이다.
도 9를 참조하면, 일실시예에 따른 기계 번역 장치의 프로세서에서 수행되는 기계 번역 방법이 도시된다.
단계(910)에서, 기계 번역 장치는 제1 모델에 기초하여 소스 문장을 번역한다.
단계(920)에서, 기계 번역 장치는 제2 모델에 기초하여 소스 문장의 번역 결과가 소스 문장으로 번역될 역번역 확률을 결정한다.
단계(930)에서, 기계 번역 장치는 제1 모델에서 소스 문장으로부터 추출되는 컨텍스트 정보에 역번역 확률을 반영한다.
단계(940)에서, 기계 번역 장치는 역번역 확률이 반영된 컨텍스트 정보 및 제1 모델에 기초하여, 소스 문장을 재 번역한다.
도 9에 도시된 각 단계들에는 도 1 내지 도 8를 통하여 전술한 사항들이 그대로 적용되므로, 보다 상세한 설명은 생략한다.
도 10은 일실시예에 따른 기계 번역 장치를 나타낸 도면이다.
도 10을 참조하면, 일실시예에 따른 기계 번역 장치(1000)는 메모리(1010) 및 프로세서(1020)를 포함한다. 메모리(1010) 및 프로세서(1020)는 버스(bus)(1030)를 통하여 서로 통신할 수 있다.
메모리(1010)는 컴퓨터에서 읽을 수 있는 명령어를 포함할 수 있다. 프로세서(1020)는 메모리(1010)에 저장된 명령어가 프로세서(1020)에서 실행됨에 따라 앞서 설명한 동작들을 수행할 수 있다. 메모리(1010)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(1020)는 명령어들, 혹은 프로그램들을 실행하거나, 기계 번역 장치(1000)를 제어하는 장치일 수 있다. 프로세서(1020)는 제1 모델에 기초하여 소스 문장을 번역한다. 그리고, 프로세서(1020)는 제2 모델에 기초하여 소스 문장의 번역 결과가 소스 문장으로 번역될 역번역 확률을 결정한다. 그리고, 프로세서(1020)는 제1 모델에서 소스 문장으로부터 추출되는 컨텍스트 정보에 역번역 확률을 반영한다. 그리고, 프로세서(1020)는 역번역 확률이 반영된 컨텍스트 정보 및 제1 모델에 기초하여, 소스 문장을 재 번역한다.
일실시예에 따른 기계 번역 장치(1000)는 음성 인식기와 음성 합성기와 결합되어 통번역 서비스에도 제한 없이 적용될 수 있다.
그 밖에, 기계 번역 장치(1000)에 관해서는 상술된 동작을 처리할 수 있으므로, 보다 상세한 설명은 생략한다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
Claims (20)
- 제1 모델에 기초하여 소스 문장을 번역하는 단계;
제2 모델에 기초하여 상기 소스 문장의 번역 결과가 상기 소스 문장으로 번역될 역번역 확률을 결정하는 단계;
상기 제1 모델에서 상기 소스 문장으로부터 추출되는 컨텍스트 정보에 상기 역번역 확률을 반영하는 단계; 및
상기 역번역 확률이 반영된 컨텍스트 정보 및 상기 제1 모델에 기초하여, 상기 소스 문장을 재 번역하는 단계
를 포함하고,
상기 컨텍스트 정보에 상기 역번역 확률을 반영하는 단계는
상기 소스 문장에 포함된 단어들 각각을, 해당 단어의 역번역 확률 및 상기 제1 모델의 디코더가 생성할 단어의 위치 정보에 기초하여 결정된 가중치로 상기 컨텍스트 정보에 반영하는 기계 번역 방법. - 제1항에 있어서,
상기 역번역 확률은 상기 소스 문장에 포함된 단어 별로 결정되는, 기계 번역 방법. - 제1항에 있어서,
상기 컨텍스트 정보에 상기 역번역 확률을 반영하는 단계는
상기 소스 문장에 포함된 단어들 중 역번역 확률이 낮은 단어일수록 큰 가중치로 상기 컨텍스트 정보에 반영하는, 기계 번역 방법. - 삭제
- 제1항에 있어서,
상기 컨텍스트 정보에 상기 역번역 확률을 반영하는 단계는
상기 소스 문장에 포함된 단어들 중 역번역 확률이 낮은 단어일수록 해당 단어의 번역에 이용되는 컨텍스트 정보에 해당 단어를 큰 가중치로 반영하는, 기계 번역 방법. - 제1항에 있어서,
상기 소스 문장의 마지막 번역 결과가 수정될 필요가 있는지 여부를 판단하는 단계; 및
상기 마지막 번역 결과가 수정될 필요가 있는 것으로 판단된 경우, 상기 마지막 번역 결과가 상기 소스 문장으로 번역될 역번역 확률을 상기 컨텍스트 정보에 반영하고, 상기 역번역 확률이 반영된 컨텍스트 정보 및 상기 제1 모델에 기초하여 상기 소스 문장을 재 번역하는 단계
를 더 포함하는 기계 번역 방법. - 제6항에 있어서,
상기 마지막 번역 결과가 수정될 필요가 있는지 여부를 판단하는 단계는
상기 마지막 번역 결과 및 이전 번역 결과 간의 차이에 기초하여 상기 마지막 번역 결과가 수정될 필요가 있는지 여부를 판단하는, 기계 번역 방법. - 제1항에 있어서,
상기 컨텍스트 정보를 조정하는 단계는
상기 역번역 확률을 상기 소스 문장의 단어 별로 사용자로 제공하는 단계;
상기 소스 문장에 포함된 단어들 중 적어도 하나의 단어에 대한 가중치를 변경하는 조작을 상기 사용자로부터 입력 받는 단계; 및
상기 사용자의 조작에 기초하여, 상기 적어도 하나의 단어를 상기 변경된 가중치로 상기 컨텍스트 정보에 반영하는 단계
를 포함하는, 기계 번역 방법. - 제1항에 있어서,
상기 번역 결과는 상기 소스 문장으로부터 번역된 복수의 타겟 문장들을 포함하고,
상기 역번역 확률을 결정하는 단계는
상기 복수의 타겟 문장들이 상기 소스 문장으로 번역될 확률들의 평균을 상기 역번역 확률로 결정하는, 기계 번역 방법. - 제1항에 있어서,
상기 제1 모델 및 상기 제2 모델은
상기 번역 결과의 번역 횟수가 적을수록 큰 보상이 적용되도록 학습되는, 기계 번역 방법. - 제1항에 있어서,
상기 제1 모델 및 상기 제2 모델은
상기 소스 문장의 번역 횟수가 적고, 상기 번역 결과가 타겟 언어에서 자연스러운 표현에 해당될수록 큰 보상이 적용되도록 학습되는, 기계 번역 방법. - 제1항에 있어서,
상기 제1 모델은 소스 언어로 표현된 상기 소스 문장으로부터 타겟 언어로 표현된 번역 결과를 생성하고,
상기 제2 모델은 상기 타겟 언어로 표현된 번역 결과가 상기 소스 문장으로 번역될 역번역 확률을 생성하는, 기계 번역 방법. - 제1항 내지 제3항 및 제5항 내지 제12항 중에서 어느 하나의 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 저장 매체.
- 프로세서; 및
상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리
를 포함하고,
상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 제1 모델에 기초하여 소스 문장을 번역하고, 제2 모델에 기초하여 상기 소스 문장의 번역 결과가 상기 소스 문장으로 번역될 역번역 확률을 결정하고, 상기 제1 모델에서 상기 소스 문장으로부터 추출되는 컨텍스트 정보에 상기 역번역 확률을 반영하며, 상기 역번역 확률이 반영된 컨텍스트 정보 및 상기 제1 모델에 기초하여 상기 소스 문장을 재 번역하고,
상기 프로세서는
상기 소스 문장에 포함된 단어들 각각을, 해당 단어의 역번역 확률 및 상기 제1 모델의 디코더가 생성할 단어의 위치 정보에 기초하여 결정된 가중치로 상기 컨텍스트 정보에 반영하는,
기계 번역 장치. - 제14항에 있어서,
상기 역번역 확률은 상기 소스 문장에 포함된 단어 별로 결정되는, 기계 번역 장치. - 제14항에 있어서,
상기 프로세서는
상기 소스 문장에 포함된 단어들 중 역번역 확률이 낮은 단어일수록 큰 가중치로 상기 컨텍스트 정보에 반영하는, 기계 번역 장치. - 삭제
- 제14항에 있어서,
상기 프로세서는
상기 소스 문장에 포함된 단어들 중 역번역 확률이 낮은 단어일수록 해당 단어의 번역에 이용되는 컨텍스트 정보에 해당 단어를 큰 가중치로 반영하는, 기계 번역 장치. - 제14항에 있어서,
상기 프로세서는
상기 소스 문장의 마지막 번역 결과가 수정될 필요가 있는지 여부를 판단하고,
상기 마지막 번역 결과가 수정될 필요가 있는 것으로 판단된 경우, 상기 마지막 번역 결과가 상기 소스 문장으로 번역될 역번역 확률을 상기 컨텍스트 정보에 반영하고, 상기 역번역 확률이 반영된 컨텍스트 정보 및 상기 제1 모델에 기초하여 상기 소스 문장을 재 번역하는, 기계 번역 장치. - 제14항에 있어서,
상기 프로세서는
상기 역번역 확률을 상기 소스 문장의 단어 별로 사용자로 제공하고, 상기 소스 문장에 포함된 단어들 중 적어도 하나의 단어에 대한 가중치를 변경하는 조작을 상기 사용자로부터 입력 받으며, 상기 사용자의 조작에 기초하여 상기 적어도 하나의 단어를 상기 변경된 가중치로 상기 컨텍스트 정보에 반영하는, 기계 번역 장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170157285A KR102458244B1 (ko) | 2017-11-23 | 2017-11-23 | 기계 번역 방법 및 장치 |
US16/007,073 US10949625B2 (en) | 2017-11-23 | 2018-06-13 | Machine translation method and apparatus |
CN201810745435.7A CN109829170B (zh) | 2017-11-23 | 2018-07-09 | 机器翻译方法和设备 |
EP18188542.7A EP3489841A1 (en) | 2017-11-23 | 2018-08-10 | Machine translation method and apparatus |
JP2018193228A JP7220545B2 (ja) | 2017-11-23 | 2018-10-12 | 機械翻訳方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170157285A KR102458244B1 (ko) | 2017-11-23 | 2017-11-23 | 기계 번역 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190059561A KR20190059561A (ko) | 2019-05-31 |
KR102458244B1 true KR102458244B1 (ko) | 2022-10-24 |
Family
ID=63209312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170157285A KR102458244B1 (ko) | 2017-11-23 | 2017-11-23 | 기계 번역 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10949625B2 (ko) |
EP (1) | EP3489841A1 (ko) |
JP (1) | JP7220545B2 (ko) |
KR (1) | KR102458244B1 (ko) |
CN (1) | CN109829170B (ko) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180070103A (ko) * | 2016-12-16 | 2018-06-26 | 삼성전자주식회사 | 인식 방법 및 인식 장치 |
US10958422B2 (en) * | 2017-06-01 | 2021-03-23 | Cotiviti, Inc. | Methods for disseminating reasoning supporting insights without disclosing uniquely identifiable data, and systems for the same |
JP7170984B2 (ja) * | 2018-03-02 | 2022-11-15 | 国立研究開発法人情報通信研究機構 | 疑似対訳データ生成装置、機械翻訳処理装置、および疑似対訳データ生成方法 |
CN110442878B (zh) * | 2019-06-19 | 2023-07-21 | 腾讯科技(深圳)有限公司 | 翻译方法、机器翻译模型的训练方法、装置及存储介质 |
CN110807335B (zh) * | 2019-09-02 | 2023-06-30 | 腾讯科技(深圳)有限公司 | 基于机器学习的翻译方法、装置、设备及存储介质 |
US11328132B2 (en) * | 2019-09-09 | 2022-05-10 | International Business Machines Corporation | Translation engine suggestion via targeted probes |
WO2021092730A1 (zh) * | 2019-11-11 | 2021-05-20 | 深圳市欢太科技有限公司 | 摘要生成方法、装置、电子设备和存储介质 |
CN110941966A (zh) | 2019-12-10 | 2020-03-31 | 北京小米移动软件有限公司 | 机器翻译模型的训练方法、装置及系统 |
CN111079449B (zh) * | 2019-12-19 | 2023-04-11 | 北京百度网讯科技有限公司 | 平行语料数据的获取方法、装置、电子设备和存储介质 |
CN111310847B (zh) * | 2020-02-28 | 2023-06-23 | 支付宝(杭州)信息技术有限公司 | 训练要素分类模型的方法和装置 |
CN111680524B (zh) * | 2020-06-09 | 2023-06-06 | 语联网(武汉)信息技术有限公司 | 基于逆向矩阵分析的人机反馈翻译方法与系统 |
CN111680526B (zh) * | 2020-06-09 | 2023-09-08 | 语联网(武汉)信息技术有限公司 | 基于逆向翻译结果比对的人机交互翻译系统与方法 |
CN114065776A (zh) * | 2020-07-30 | 2022-02-18 | 阿里巴巴集团控股有限公司 | 一种神经网络机器翻译方法及装置 |
EP4150501A1 (en) * | 2020-08-07 | 2023-03-22 | Google LLC | Systems and methods for contextual post-editing of sentence-level translations |
KR102260396B1 (ko) * | 2020-09-09 | 2021-06-03 | 주식회사 트위그팜 | 범용 신경망 기계번역기를 활용한 하이브리드 번역 시스템 |
CN112036195A (zh) * | 2020-09-16 | 2020-12-04 | 北京小米松果电子有限公司 | 机器翻译方法、装置及存储介质 |
CN112528683B (zh) * | 2020-12-23 | 2021-07-13 | 深圳市爱科云通科技有限公司 | 文本翻译校正方法、装置、系统、服务器及可读存储介质 |
CN112633019B (zh) * | 2020-12-29 | 2023-09-05 | 北京奇艺世纪科技有限公司 | 一种双语样本生成方法、装置、电子设备及存储介质 |
CN112784612B (zh) * | 2021-01-26 | 2023-12-22 | 浙江香侬慧语科技有限责任公司 | 基于迭代修改的同步机器翻译的方法、装置、介质及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120150539A1 (en) | 2010-12-14 | 2012-06-14 | Electronics And Telecommunications Research Institute | Method for estimating language model weight and system for the same |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7539619B1 (en) * | 2003-09-05 | 2009-05-26 | Spoken Translation Ind. | Speech-enabled language translation system and method enabling interactive user supervision of translation and speech recognition accuracy |
US20070016397A1 (en) | 2005-07-18 | 2007-01-18 | Microsoft Corporation | Collocation translation using monolingual corpora |
WO2009129315A1 (en) * | 2008-04-15 | 2009-10-22 | Mobile Technologies, Llc | System and methods for maintaining speech-to-speech translation in the field |
CN102150156B (zh) | 2008-07-03 | 2015-06-10 | 谷歌公司 | 优化用于机器翻译的参数 |
KR101626386B1 (ko) | 2009-12-11 | 2016-06-02 | 한국전자통신연구원 | 요소화 언어모델을 이용한 번역 오류 후처리 보정 방법 및 장치 |
CN102214166B (zh) * | 2010-04-06 | 2013-02-20 | 三星电子(中国)研发中心 | 基于句法分析和层次模型的机器翻译系统和方法 |
KR20140079598A (ko) * | 2012-12-17 | 2014-06-27 | 한국전자통신연구원 | 문맥 검증 장치 및 방법 |
WO2015066635A1 (en) | 2013-11-01 | 2015-05-07 | Daniel Irimia | Cell sorting |
US9569526B2 (en) | 2014-02-28 | 2017-02-14 | Ebay Inc. | Automatic machine translation using user feedback |
KR102380833B1 (ko) * | 2014-12-02 | 2022-03-31 | 삼성전자주식회사 | 음성 인식 방법 및 음성 인식 장치 |
KR20160081244A (ko) | 2014-12-31 | 2016-07-08 | 한국전자통신연구원 | 자동 통역 시스템 및 이의 동작 방법 |
KR102305584B1 (ko) * | 2015-01-19 | 2021-09-27 | 삼성전자주식회사 | 언어 모델 학습 방법 및 장치, 언어 인식 방법 및 장치 |
CN106156010B (zh) | 2015-04-20 | 2019-10-11 | 阿里巴巴集团控股有限公司 | 翻译训练方法、装置、系统、以及在线翻译方法及装置 |
KR102385851B1 (ko) | 2015-05-26 | 2022-04-13 | 주식회사 케이티 | 음성 인식 및 번역 시스템,방법 및 컴퓨터 프로그램 |
KR20170102731A (ko) * | 2016-03-02 | 2017-09-12 | 한국전자통신연구원 | 번역 신뢰도 기반의 자동 통번역 사용자 인터페이스 시스템 및 방법 |
KR101916781B1 (ko) | 2016-04-26 | 2018-11-08 | 네이버 주식회사 | 다양한 의미 범주에 기반한 번역 결과 제공 방법 및 시스템 |
-
2017
- 2017-11-23 KR KR1020170157285A patent/KR102458244B1/ko active IP Right Grant
-
2018
- 2018-06-13 US US16/007,073 patent/US10949625B2/en active Active
- 2018-07-09 CN CN201810745435.7A patent/CN109829170B/zh active Active
- 2018-08-10 EP EP18188542.7A patent/EP3489841A1/en active Pending
- 2018-10-12 JP JP2018193228A patent/JP7220545B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120150539A1 (en) | 2010-12-14 | 2012-06-14 | Electronics And Telecommunications Research Institute | Method for estimating language model weight and system for the same |
Also Published As
Publication number | Publication date |
---|---|
CN109829170B (zh) | 2024-09-17 |
CN109829170A (zh) | 2019-05-31 |
US20190155909A1 (en) | 2019-05-23 |
US10949625B2 (en) | 2021-03-16 |
EP3489841A1 (en) | 2019-05-29 |
JP2019096303A (ja) | 2019-06-20 |
KR20190059561A (ko) | 2019-05-31 |
JP7220545B2 (ja) | 2023-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102458244B1 (ko) | 기계 번역 방법 및 장치 | |
KR102589638B1 (ko) | 문장 생성 장치 및 방법 | |
KR102516364B1 (ko) | 기계 번역 방법 및 장치 | |
KR102516363B1 (ko) | 기계 번역 방법 및 장치 | |
KR102342066B1 (ko) | 뉴럴 네트워크 모델을 이용한 기계 번역 방법, 장치 및 그 장치를 학습시키기 위한 방법 | |
KR102565275B1 (ko) | 병렬 처리에 기초한 번역 방법 및 장치 | |
KR102117799B1 (ko) | 단어 벡터 처리 방법 및 장치 | |
KR102699828B1 (ko) | 어텐션 모델과 하이퍼네트워크를 이용한 기계 번역 방법 및 장치 | |
US9330084B1 (en) | Automatically generating question-answer pairs during content ingestion by a question answering computing system | |
CN110969028B (zh) | 用于同步翻译的系统和方法 | |
US10789431B2 (en) | Method and system of translating a source sentence in a first language into a target sentence in a second language | |
WO2019154210A1 (zh) | 机器翻译的方法、设备以及计算机可读存储介质 | |
US10607604B2 (en) | Method for re-aligning corpus and improving the consistency | |
CN108363702B (zh) | 翻译方法和设备以及翻译系统 | |
KR102410825B1 (ko) | 문장의 도메인 판단 방법 및 장치 | |
JP5936118B2 (ja) | コード変換方法、プログラム及びシステム | |
CN111062206A (zh) | 一种子词单元的拆分方法、装置及计算机可读存储介质 | |
US20220237380A1 (en) | Inferencer, inference method and inference program | |
KR20220049693A (ko) | 신경망 기반의 고유명사 기호화를 이용한 번역 방법 및 그 시스템 | |
KR20200025779A (ko) | 문장 매핑 방법 및 장치 | |
US20220147721A1 (en) | Adapters for zero-shot multilingual neural machine translation | |
US20200279024A1 (en) | Non-transitory computer readable medium | |
CN111160036B (zh) | 一种对基于神经网络的机器翻译模型的更新方法及装置 | |
KR102413050B1 (ko) | 문서 요약 방법 및 장치 | |
KR20210067294A (ko) | 자동 번역 장치 및 그 방법 |
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 |