KR20210035721A - 다중-언어 코퍼스를 이용하여 기계번역 하는 방법 및 이를 구현한 시스템 - Google Patents
다중-언어 코퍼스를 이용하여 기계번역 하는 방법 및 이를 구현한 시스템 Download PDFInfo
- Publication number
- KR20210035721A KR20210035721A KR1020200071529A KR20200071529A KR20210035721A KR 20210035721 A KR20210035721 A KR 20210035721A KR 1020200071529 A KR1020200071529 A KR 1020200071529A KR 20200071529 A KR20200071529 A KR 20200071529A KR 20210035721 A KR20210035721 A KR 20210035721A
- Authority
- KR
- South Korea
- Prior art keywords
- language
- source
- machine translation
- sentence
- target
- Prior art date
Links
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/20—Natural language analysis
- G06F40/205—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
기계번역 시스템이 언어를 기계번역 하는 방법으로서, 기계번역 모듈을 학습시키기 위한 특정 소스 언어와 특정 타깃 언어를 입력 받으면, 복수의 소스 언어들과 복수의 타깃 언어들로 작성된 다중-언어 병렬 코퍼스 후보군 중, 소스 언어가 수신한 특정 소스 언어이거나 타깃 언어가 수신한 특정 타깃 언어인 복수의 후보 병렬 코퍼스들을 선택한다. 복수의 후보 병렬 코퍼스들에 포함된 문장들 중, 각 소스 문장이 번역된 타깃 언어에 해당하는 태그를 각 소스 문장에 삽입하고, 태그가 삽입된 소스 문장과 소스 문장이 번역된 타깃 문장을 포함하는 학습 데이터를 이용하여 각 소스 문장이 삽입된 태그에 따라 타깃 문장으로 번역되도록 저자원 기계번역 모듈을 학습시킨다.
Description
본 발명은 다중-언어 코퍼스를 이용하여 기계번역 하는 방법 및 이를 구현한 시스템에 관한 것이다.
최근 신경망을 이용한 기계번역(NMT: Neural Machine Translation) 모델은 영어-불어, 또는 영어-독일어의 대용량 코퍼스에서 통계기반 기계번역(SMT: Statistical Machine Translation) 모델보다 우수한 성능을 보였다. 좋은 번역 성능을 보이는 NMT 모델을 학습하기 위하여 대량의 병렬 코퍼스가 필요하다.
그러나 대량의 정형화된 병렬 코퍼스를 구축하는 작업은 많은 자본과 시간을 필요로 한다. 따라서 현재 연구 목적으로 사용 가능한 대량의 병렬 코퍼스는 영어, 불어, 독일어, 중국어 등 특정 언어에 한정되어 있을뿐더러 코퍼스의 도메인도 뉴스, 의회결의안 등 극히 제한적이다.
또한, 기존 한국어 기계번역은 주로 한국어 병렬 코퍼스를 이용하여 신경망 기반 기계번역 모델을 학습하는 방식으로 개발되었다. 이러한 방식은, 병렬 코퍼스가 소량일 경우 NMT 모델의 학습 과정에서 데이터 희소성(sparsity) 문제가 발생하여 번역의 유창성이 저하되고, 병렬 코퍼스의 도메인에 편향되어 기계번역 모델의 일반성이 저하되는 문제점이 있다.
또 다른 저-자원 언어의 기계번역 성능 향상을 위해 전이학습(transfer learning)을 이용하는 방법이 있다. 이 방법은 우선 고-자원 병렬 코퍼스(예를 들어, 독일어-영어)로 부모(parent) 모델을 학습한 후, 부모 모델의 학습 파라미터를 자식(child) 모델로 전이한다. 그 다음, 저-자원 병렬 코퍼스(예를 들어, 터키어-영어)를 이용하여 자식 모델에 대한 미세 조정(fine-tuning)을 진행한다.
전이학습을 이용할 경우, 전이학습을 위해 두 개의 모델 즉, 부모 모델과 자식 모델을 학습해야 하는 단점이 있다. 두 모델은 독립적으로 학습되기 때문에, 부모 언어와 자식 언어 사이의 연관성을 학습할 수 없게 되며, 부모 모델이 활용할 수 있는 언어 쌍(language pair)이 제한적이라는 단점이 있다.
따라서, 본 발명은 저-자원 한국어 기계번역기의 번역 품질을 향상시키기 위해, 다중-언어 코퍼스를 이용하여 기계번역 하는 방법 및 이를 구현한 시스템을 제공한다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 하나의 특징인 기계번역 시스템이 임의의 문장을 기계번역 하는 방법으로서,
기계번역 모듈을 학습시키기 위한 특정 소스 언어와 특정 타깃 언어를 입력 받는 단계, 복수의 소스 언어들과 복수의 타깃 언어들로 작성된 다중-언어 병렬 코퍼스 후보군 중, 소스 언어가 상기 수신한 특정 소스 언어이거나 타깃 언어가 상기 수신한 특정 타깃 언어인 복수의 후보 병렬 코퍼스들을 선택하는 단계, 상기 복수의 후보 병렬 코퍼스들에 포함된 문장들 중, 각 소스 문장이 번역된 타깃 언어에 해당하는 태그를 각 소스 문장에 삽입하고, 태그가 삽입된 소스 문장과 상기 소스 문장이 번역된 타깃 문장을 포함하는 학습 데이터를 생성하는 단계, 그리고 상기 학습 데이터를 이용하여 각 소스 문장이 삽입된 태그에 따라 상기 타깃 문장으로 번역되도록 저자원 기계번역 모듈을 학습시키는 단계를 포함한다.
상기 후보 병렬 코퍼스들을 선택하는 단계는, 상기 복수의 다중-언어 병렬 코퍼스 후보군 중 소스 언어가 상기 특정 소스 언어에 해당하는 다중-언어 병렬 코퍼스들과, 타깃 언어가 상기 특정 타깃 언어에 해당하는 다중-언어 병렬 코퍼스들을 상기 후보 병렬 코퍼스들로 선택할 수 있다.
상기 학습 데이터를 생성하는 단계는, 상기 후보 병렬 코퍼스들에 포함된 소스 문장들에서 단어들을 분리하는 단계를 포함할 수 있다.
상기 단어들을 분리하는 단계 이후에, 상기 분리된 단어들을 하위 단어 인코딩하는 단계를 포함하고, 상기 하위 단어 인코딩은 BPE(Byte Pair Encoding) 알고리즘을 이용하여 인코딩할 수 있다.
상기 학습 데이터를 생성하는 단계는, 상기 후보 병렬 코퍼스들에 포함된 문장들을 병합하는 단계를 더 포함할 수 있다.
상기 기계번역 모듈은, 상기 소스 문장을 의미 벡터로 변환하도록 학습된 인코더와, 상기 의미 벡터를 이용하여 상기 타깃 언어로 작성된 문장을 생성하도록 학습된 디코더를 포함할 수 있다.
상기 기계번역 모듈을 학습시키는 단계 이후에, 상기 특정 소스 언어로 작성된 임의의 문장과, 상기 문장을 번역할 상기 특정 타깃 언어에 대한 언어 정보를 수신하는 단계, 그리고 상기 임의의 문장을 학습된 기계번역 모듈을 이용하여 상기 번역할 타깃 언어로 작성된 문장으로 번역하는 단계를 포함할 수 있다.
상기 언어 정보를 수신하는 단계는, 상기 특정 소스 언어에 대한 언어 정보도 추가로 수신할 수 있다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 문장을 기계 번역하는 시스템으로서,
복수의 다중-언어 병렬 코퍼스들이 저장되어 있는 스토리지, 외부로부터 특정 소스 언어 정보와 특정 타깃 언어 정보를 수신하는 인터페이스, 그리고 프로세서를 포함하고, 상기 프로세서는 상기 수신한 특정 소스 언어 정보와 특정 타깃 언어 정보를 토대로 상기 복수의 다중-언어 병렬 코퍼스들 중 후보 병렬 코퍼스를 추출하고, 추출한 후보 병렬 코퍼스를 구성하는 소스 문장들 각각에 각 소스 문장이 번역된 타깃 언어의 태그를 삽입하고, 태그가 삽입된 각 소스 문장과 상기 각 소스 문장이 번역된 타깃 문장들을 이용하여 기계번역 모듈을 학습시키고, 학습된 기계번역 모듈에 상기 수신한 소스 언어 정보에 대응하는 소스 언어로 작성된 소스 문장을 입력하여 상기 타깃 언어 정보에 대응하는 타깃 언어로 번역한다.
상기 프로세서는, 상기 복수의 다중-언어 병렬 코퍼스 후보군들 중 소스 언어가 상기 수신한 소스 언어에 해당하는 다중-언어 병렬 코퍼스들과, 타깃 언어가 상기 수신한 타깃 언어에 해당하는 다중-언어 병렬 코퍼스들을 상기 후보 병렬 코퍼스들로 선택할 수 있다.
상기 프로세서는, 상기 후보 병렬 코퍼스들에 포함된 소스 문장들에서 단어들을 분리하고, 상기 분리된 단어들을 하위 단어 인코딩할 수 있다.
상기 프로세서는, 상기 후보 병렬 코퍼스들에 포함된 문장들을 병합할 수 있다.
본 발명에 따르면, 다중언어 병렬 코퍼스를 활용하므로 저-자원 한국어 기계번역기의 번역 품질을 향상시킬 수 있다.
또한, IWSLT(International Workshop on Spoken Language Translation) 워크샵에서 공식 평가 데이터로 공개한 Test2016 및 Test2017 한국어-영어 코퍼스를 이용하여 평가함으로써 번역 성능의 객관 성을 보장할 수 있다.
도 1은 본 발명의 실시예에 따른 다중-언어 기계번역 시스템의 구조도이다.
도 2는 본 발명의 실시예에 따른 다중-언어 기계번역 방법의 흐름도이다.
도 3은 본 발명의 실시예에 따른 다중-언어 병렬 코퍼스 활용을 위한 전처리 과정에 대한 흐름도이다.
도 4는 본 발명의 실시예에 따른 다중-언어 병렬 코퍼스 선택 방법에 대한 예시도이다.
도 5는 본 발명의 실시예에 따라 문장 앞에 메타 태그가 추가된 예시도이다.
도 6은 본 발명의 실시예에 따른 신경망 기반의 기계번역 모델의 구조도이다.
도 2는 본 발명의 실시예에 따른 다중-언어 기계번역 방법의 흐름도이다.
도 3은 본 발명의 실시예에 따른 다중-언어 병렬 코퍼스 활용을 위한 전처리 과정에 대한 흐름도이다.
도 4는 본 발명의 실시예에 따른 다중-언어 병렬 코퍼스 선택 방법에 대한 예시도이다.
도 5는 본 발명의 실시예에 따라 문장 앞에 메타 태그가 추가된 예시도이다.
도 6은 본 발명의 실시예에 따른 신경망 기반의 기계번역 모델의 구조도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 도면을 참조로 하여 본 발명의 실시예에 따른 다중-언어 코퍼스를 이용하여 기계번역 하는 방법 및 이를 구현한 시스템에 대해 설명한다. 본 발명의 실시예에 대해 설명하기 앞서, 상세한 설명에 기술되는 용어인 병렬 코퍼스와 다중-언어 병렬 코퍼스에 대해 먼저 정의한다.
병렬 코퍼스는 2개 국어 이상의 번역된 문장 혹은 문서의 집합을 의미한다. 본 발명의 실시예에서 사용하는 병렬 코퍼스는 여러 개의 문장 쌍(sentence pair)으로 구성되어 있으며, 각 문장 쌍은 같은 의미를 가지고 2개 국어로 구성된다.
예를 들어, 한국어-영어 병렬 코퍼스를 수식으로 표현하면 다음과 같다.
여기서 한국어-영어 병렬 코퍼스는 N 개의 문장 쌍 (X, Y)로 구성되고, X는 소스 문장, Y는 타깃 문장을 의미한다. 두 문장은 각각 한국어와 영어로 구성된 같은 의미를 나타내는 문장이다.
병렬 코퍼스 내의 각 문장 쌍은 독립적으로 존재한다. 즉 문장 쌍 사이의 의미적 연관성이 없다고 가정한다.
예를 들어, X1인 소스 문장이 "저는 학생입니다."이면, Y1인 타깃 문장은 "I am a student."가 된다. 그리고 X2가 "나는 사과를 먹었다."이면, Y2는 "I ate an apple."가 된다.
한편, 다중-언어 병렬 코퍼스는, 2개 국어 이상의 언어로 구성된 병렬 코퍼스의 집합을 의미한다.
도 1은 본 발명의 실시예에 따른 다중-언어 기계번역 시스템의 구조도이다.
도 1에 도시된 바와 같이, 적어도 하나의 프로세서에 의해 동작하는 저자원의 다중-언어 기계번역 시스템(100)에서, 본 발명의 동작을 실행하도록 기술된 명령들(instructions)이 포함된 프로그램이 실행된다. 프로그램은 컴퓨터 판독 가능한 저장매체에 저장될 수 있고, 유통될 수 있다.
본 발명의 실시예에서는 번역기를 학습할 학습 데이터가 적다는 의미에서 '저자원'이라 지칭하여 설명한다. 일반적으로 저자원 다중-언어 기계번역 시스템(100)의 학습에 활용되는 데이터가 적기 때문에, 고자원 다중-언어 기계번역 시스템에 비해 번역 난이도가 높아진다.
다중-언어 기계번역 시스템(100)의 하드웨어는 적어도 하나의 프로세서(120), 메모리(130), 스토리지(140), 출력 장치(150), 그리고 입력 장치(160)를 포함할 수 있고, 버스(110)를 통해 연결될 수 있다. 다중-언어 기계번역 시스템(100)은 프로그램을 구동할 수 있는 운영 체제를 비롯한 각종 소프트웨어가 탑재될 수 있다.
프로세서(120)는 다중-언어 기계번역 시스템(100)의 동작을 제어하는 장치로서, 프로그램에 포함된 명령들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다.
프로세서(120)는 사용자가 다중-언어 기계번역 시스템(100)을 통해 번역하고자 하는 소스 언어와 타깃 언어, 그리고 소스 문장을 입력하면, 기 저장되어 있는 복수의 다중-언어 병렬 코퍼스들 중 소스 언어와 타깃 언어를 토대로 후보 다중-언어 병렬 코퍼스들(이하, 설명의 편의를 위하여 '후보 병렬 코퍼스'라 지칭함)을 선택한다.
프로세서(120)는 소스 문장에서 단어를 분리하여 복수의 하위 단어들로 추출한다. 프로세서(120)는 추출한 하위 단어들을 기 저장되어 있거나 인터페이스(170)를 통해 연결된 데이터베이스에 저장된 사전을 이용하여 인코딩한다.
또한, 프로세서(120)는 입력되는 소스 언어에 해당하는 소스 문장에 코퍼스 전처리를 수행하여 문장 가장 앞에 타깃 언어를 나타내는 태그를 추가한다. 그리고 프로세서(120)는 병렬 코퍼스 내의 문장 쌍들을 기본 단위로 병합한 후, 타깃 언어로 번역한다.
메모리(130)는 본 발명의 동작을 실행하도록 기술된 명령들이 프로세서(120)에 의해 처리되도록 해당 프로그램을 로드한다. 메모리(130)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다.
스토리지(140)는 본 발명의 동작을 실행하는데 요구되는 각종 데이터, 프로그램 등을 저장한다. 또한, 스토리지(140)에는 복수의 다중-언어 병렬 코퍼스들이 저장되어 있다.
출력 장치(150)와 입력 장치(160)는 하드웨어로 다중-언어 기계번역 시스템(100)에 포함되며, 본 발명의 실시예에서는 다양한 형태의 출력 장치(150)와 입력 장치(160) 중 단말의 키보드와 디스플레이 화면을 예로 하여 설명한다. 즉, 사용자가 다중-언어 기계번역 시스템(100)의 키보드를 이용하여 소스 언어, 타깃 언어, 소스 문장을 입력하면, 출력 장치(150)인 디스플레이 화면을 통해 기계 번역된 번역 문장이 제공되는 것을 예로 하여 설명한다.
또한, 다중-언어 기계번역 시스템(100)은 유/무선 통신 모듈인 인터페이스(170)를 포함할 수 있다. 다중-언어 기계번역 시스템(100)은 인터페이스(170)를 통해 외부에 저장된 다중-언어 병렬 코퍼스들을 수집할 수도 있다.
이상에서 설명한 다중-언어 기계번역 시스템(100)을 이용하여 소스 문장을 타깃 언어로 기계 번역하는 방법에 대해 도 2를 참조로 설명한다.
도 2는 본 발명의 실시예에 따른 다중-언어 기계번역 방법의 흐름도이다.
도 2에 도시된 바와 같이, 다중-언어 기계번역 시스템(100)은 저-자원 기계번역 시스템의 번역 품질을 향상시키기 위하여, 먼저 다중-언어 병렬 코퍼스 활용을 위한 전처리 작업을 수행한다(S100).
여기서, 다중-언어 병렬 코퍼스 활용을 위한 전처리 작업을 통해 생성되는 정보들 중 태그가 삽입된 소스 문장들과 소스 문장들이 번역된 타깃 문장들을 학습 데이터라 지칭한다.
전처리 작업을 수행을 통해 생성된 학습 데이터를 이용하여 다중-언어 기계번역 시스템(100)이 기계번역 모듈을 학습시킨 후, 사용자가 입력한 소스 언어와 소스 문장, 그리고 소스 문장을 기계번역 할 타깃 언어에 대한 정보를 수신한다(S200).
본 발명의 실시예에서는 사용자가 소스 언어, 타깃 언어, 소스 문장을 입력하는 것을 예로 하여 설명하나, 사용자가 소스 문장과 타깃 언어만 입력하면, 다중-언어 기계번역 시스템(100)이 소스 문장에서 소스 언어를 확인할 수도 있다.
그리고, 학습된 기계번역 모듈을 이용하여 소스 문장을 기계 번역하여 사용자에게 제공한다(S300).
여기서, S100 단계에서 언급한 기계학습 절차인 전처리 절차에 대해 도 3을 참조로 설명한다.
도 3은 본 발명의 실시예에 따른 다중-언어 병렬 코퍼스 활용을 위한 전처리 과정에 대한 흐름도이다.
도 3에 도시된 바와 같이, 다중-언어 기계번역 시스템(100)은 사용자가 기계번역을 위한 정보(소스 언어, 타깃 언어, 소스 문장)를 입력하면, 기 저장되어 있는 복수의 다중-언어 병렬 코퍼스들 중에서 후보 병렬 코퍼스를 선택한다(S110). 복수의 다중-언어 병렬 코퍼스들에서 후보 병렬 코퍼스를 선택할 때, 다중-언어 기계번역 시스템(100)은 다음과 같은 두 조건을 만족하는 병렬 코퍼스만을 후보 병렬 코퍼스로 선택한다. 아래에서 설명하는 조건은 한국어를 영어로 기계 번역하고자 하는 경우에 해당하며, 번역하고자 하는 언어에 따라 달라질 수 있다.
조건 1: 병렬 코퍼스의 소스 언어가 한국어
조건 2: 병렬 코퍼스의 타깃 언어가 영어
이에 대해 먼저 도 4를 참조로 설명한다.
도 4는 본 발명의 실시예에 따른 다중-언어 병렬 코퍼스 선택 방법에 대한 예시도이다.
도 4에 도시된 바와 같이, 활용 가능한 다중-언어 병렬 코퍼스 후보군이 있을 때, 본 발명의 실시예에 따른 다중-언어 기계번역 시스템(100)은 위의 선택 조건 두 가지를 만족하는 병렬 코퍼스가 있는지 확인한다. 즉, 소스 언어가 한국어인 병렬 코퍼스와 타깃 언어가 영어인 병렬 코퍼스를 확인한다.
도 4에서는 6개의 다중-언어 병렬 코퍼스 후보군 중 A, B, D, E가 조건을 만족하므로, 4개의 후보군을 후보 병렬 코퍼스로 선택한다. 이를 수학식으로 표현하면 다음 수학식 2와 같다.
이와 같이 후보 병렬 코퍼스들이 선택된 후 상기 도 3을 이어 설명하면, 다중-언어 기계번역 시스템(100)은 선택된 후보 병렬 코퍼스들에 포함된 복수의 문장(이하, 설명의 편의를 위하여 '후보 코퍼스 문장'이라 지칭함)을 포함하는 모든 다중-언어 병렬 코퍼스 후보군에 포함된 문장에서 단어를 분리한다(S120). 본 발명의 실시예에서는 최소 의미 단위로 분리하는 것을 예로 하여 설명한다.
공백(space)을 기준으로 단어 분리를 진행할 경우 다음과 같은 여러 가지 문제점들이 있다. 한국어의 경우 띄어쓰기를 기준으로 단어 분리를 진행할 경우, 여러 가지 의미가 포함된 어절 형태로 표현되는 경우가 많다. 반면 영어의 경우 "New York"와 같은 연어(collocation)는 "New"와 "York"의 두 개 단어로 분리된다. 또한 중국어와 일본어 문장은 공백이 없기 때문에 공백을 기준으로 하는 단어 분리 방법을 사용할 수 없다.
따라서, 본 발명의 실시예의 다중-언어 기계번역 시스템(100)은 각 언어에 대하여 다음 표 1과 같은 기술을 사용하여 단어 분리를 진행한다.
언어 | 단어 분리 | 예시(‘/’는 구분자) |
한국어 | Komoran | 입력: 저는 학생입니다. 출력: 저 / 는 / 학생 / 입니다 / . |
중국어 | Jieba | 입력: 출력: 我 / 是 / / 生 / 。 |
일본어 | Kytea | 입력: わたしはがくせいです。 출력: わたし / は / がくせい / で / す /。 |
영어 | Moses Tokenizer | 입력: I am a student. 출력: I / am / a / student / . |
일반적으로 다양한 언어로 작성된 문장에서 단어를 분리하기 위해서는, 언어마다 각기 다른 형태소 분석기를 사용하여야 한다. 따라서, 표 1의 '단어 분리' 행에 기재된 형태소 분석기를 이용하여 언어별로 단어를 분리한다. 이때, 분석된 형태소 태그(예를 들어, 사과/Noun 먹/Verb) 정보는 활용하지 않고, 형태소 분리 목적으로만 형태소 분석기를 활용하는 것을 예로 하여 설명한다.
이와 같이 단어들이 분리되면, 다중-언어 기계번역 시스템(100)은 하위 단어를 인코딩한다(S130).
일반적으로 학습 코퍼스에 나타난 단어들의 집합인 사전(Vocabulary)을 이용하여 문자열 형태의 입력 단어를 벡터 형태로 변환하거나 시스템의 결과 값을 문자열 형태의 단어로 출력할 경우, 학습 코퍼스에 나타나지 않은 단어는 사전에 등록되지 않기 때문에 처리할 수 없는 OOV(Out-of-vocabulary) 문제가 발생한다.
따라서, 본 발명의 실시예에서는 OOV 문제를 해결하고자 BPE(Byte Pair Encoding) 알고리즘을 이용하여, S120 단계에서 분리한 단어들을 하위 단어 인코딩을 수행한다.
하위 단어 인코딩 후, 다중-언어 기계번역 시스템(100)은 후보 코퍼스 문장에 메타 태그를 추가한다(S140). 본 발명의 실시예에서는 다중-언어 병렬 코퍼스를 병합하여 학습 데이터로 사용하기 때문에, 각 병렬 코퍼스의 문장 쌍에 타깃 언어를 나타내는 메타 태그를 추가하여, 기계 번역 시스템이 학습해야 할 번역 방향을 표현한다. 이에 대해 도 5를 참조로 먼저 설명한다.
도 5는 본 발명의 실시예에 따라 문장 앞에 메타 태그가 추가된 예시도이다.
도 5에 도시된 바와 같이, 한국어→일본어 언어 쌍의 경우, 소스 언어인 한국어 문장 앞에 타깃 언어가 일본어임을 나타내는 태그 "<2ja>"를 추가한다. 이와 마찬가지로, 일본어→영어 언어 쌍의 경우, 소스 언어인 일본어 문장 앞에 타깃 언어가 영어임을 나타내는 태그 "<2en>"을 추가한다.
여기서, 타깃 언어를 나타내는 각각의 태그 형태를 반드시 <2ja>나 <2en> 등으로 한정하지 않는다.
메타 태그를 소스 문장에 추가한 후 상기 도 3을 이어 설명하면, 다중-언어 기계번역 시스템(100)은 다중-언어 병렬 코퍼스를 기계 번역기의 학습 데이터로 사용하기 위하여, 각 병렬 코퍼스 내의 문장 쌍들을 기본 단위로 병합한다(S150). 여기서, 병렬 코퍼스를 병합한다는 것은, 각 문장 쌍 내의 소스 문장과 타깃 문장을 병합하는 것을 의미하는 것은 아니다.
예를 들어, S110 단계에서 선택된 후보 병렬 코퍼스가 이고, 한국어-영어 병렬 코퍼스 내의 N개 병렬 문장 쌍을 , 일본어-영어 병렬 코퍼스 내의 M개 병렬 문장 쌍을 라고 가정한다. 그러면, 병합된 다중-언어 병렬 코퍼스는 N+M개의 병렬 문장 쌍을 가지며 다음 수학식 3과 같이 Dmerge로 표현할 수 있다.
이와 같이, 전처리 절차가 완료되면, 다중-언어 기계번역 시스템(100)은 신경망 기반의 기계번역 모델을 학습시키고, 학습된 기계번역 모델을 이용하여 기계 번역을 실행한다. 이때, 기계번역 모델은 양방향 장단기 기억장치(Bi-LSTM: Bi-directional long short term memory)기반의 인코더-디코더(Encoder-Decoder) 모델을 이용하며, 이에 대해 도 6을 참조로 설명한다.
도 6은 본 발명의 실시예에 따른 신경망 기반의 기계번역 모델의 구조도이다.
도 6에 도시된 바와 같이 다중-언어 병렬 코퍼스를 활용한 신경망 기반의 기계번역 모델이 적용된 다중-언어 기계번역 시스템(100)은 인코더와 디코더로 구현될 수 있다. 인코더는 사용자에 의해 입력된 소스 문장을 의미 벡터(Context vector)로 변환하고, 디코더는 의미 벡터를 이용하여 번역된 타깃 문장으로 생성한다.
인코더는 1개의 입력 층과 1개의 임베딩 층, 그리고 복수 계층의 Bi-LSTM(Bidirectional Long Short Term Memory)으로 구성된다.
입력층은 문자열 형태의 하위 단어 시퀀스를 m개의 원-핫(one-hot) 벡터로 변환한다. 임베딩 층은 단어 사이의 유사도를 계산하기 위하여, 원-핫 벡터를 저차원의 임베딩 벡터로 변환한다.
각 Bi-LSTM 계층은 정 방향(forward) LSTM과 역 방향(backward) LSTM으로 구성된다. LSTM은 순환 신경망(RNN: Recurrent Neural Network) 구조를 가지며, t번째 입력 벡터를 이용하여 이전 단계 은닉 벡터를 새로운 은닉 벡터로 업데이트한다.
디코더는 1개의 입력 층, 1개의 임베딩 층, 복수 계층의 LSTM과 출력 층으로 구성된다. 디코더의 입력 층, 임베딩 층은 타게 문장의 하위 단어 시퀀스를 임베딩 벡터 시퀀스로 변환하며 처리 과정은 인코더와 동일하다.
디코더의 각 Bi-LSTM은 인코더와 기본적으로 동일하지만 주의 집중(Attention) 방법을 활용한다. 디코더의 출력 층은 소프트맥스(softmax) 함수를 이용하여 LSTM의 은닉 벡터를 사전에 등록된 모든 하위 단어들에 대한 생성 확률로 변환한다.
여기서, 인코더와 디코더를 구성하는 입력 층, 임베딩 층, 복수의 Bi-LSTM의 기능은 이미 알려진 것으로, 본 발명의 실시예에서는 상세한 설명을 생략한다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
Claims (12)
- 기계번역 시스템이 임의의 문장을 기계번역 하는 방법으로서,
기계번역 모듈을 학습시키기 위한 특정 소스 언어와 특정 타깃 언어를 입력 받는 단계,
복수의 소스 언어들과 복수의 타깃 언어들로 작성된 다중-언어 병렬 코퍼스 후보군 중, 소스 언어가 상기 수신한 특정 소스 언어이거나 타깃 언어가 상기 수신한 특정 타깃 언어인 복수의 후보 병렬 코퍼스들을 선택하는 단계,
상기 복수의 후보 병렬 코퍼스들에 포함된 문장들 중, 각 소스 문장이 번역된 타깃 언어에 해당하는 태그를 각 소스 문장에 삽입하고, 태그가 삽입된 소스 문장과 상기 소스 문장이 번역된 타깃 문장을 포함하는 학습 데이터를 생성하는 단계, 그리고
상기 학습 데이터를 이용하여 각 소스 문장이 삽입된 태그에 따라 상기 타깃 문장으로 번역되도록 저자원 기계번역 모듈을 학습시키는 단계
를 포함하는, 기계번역 방법. - 제1항에 있어서,
상기 후보 병렬 코퍼스들을 선택하는 단계는,
상기 복수의 다중-언어 병렬 코퍼스 후보군 중 소스 언어가 상기 특정 소스 언어에 해당하는 다중-언어 병렬 코퍼스들과, 타깃 언어가 상기 특정 타깃 언어에 해당하는 다중-언어 병렬 코퍼스들을 상기 후보 병렬 코퍼스들로 선택하는, 기계번역 방법. - 제2항에 있어서,
상기 학습 데이터를 생성하는 단계는,
상기 후보 병렬 코퍼스들에 포함된 소스 문장들에서 단어들을 분리하는 단계
를 더 포함하는, 기계번역 방법. - 제3항에 있어서,
상기 단어들을 분리하는 단계 이후에,
상기 분리된 단어들을 하위 단어 인코딩하는 단계
를 포함하고,
상기 하위 단어 인코딩은 BPE(Byte Pair Encoding) 알고리즘을 이용하여 인코딩하는, 기계번역 방법. - 제1항에 있어서,
상기 학습 데이터를 생성하는 단계는,
상기 후보 병렬 코퍼스들에 포함된 문장들을 병합하는 단계
를 더 포함하는, 기계번역 방법. - 제1항에 있어서,
상기 기계번역 모듈은,
상기 소스 문장을 의미 벡터로 변환하도록 학습된 인코더와,
상기 의미 벡터를 이용하여 상기 타깃 언어로 작성된 문장을 생성하도록 학습된 디코더
를 포함하는, 기계번역 방법. - 제1항에 있어서,
상기 기계번역 모듈을 학습시키는 단계 이후에,
상기 특정 소스 언어로 작성된 임의의 문장과, 상기 문장을 번역할 상기 특정 타깃 언어에 대한 언어 정보를 수신하는 단계, 그리고
상기 임의의 문장을 학습된 기계번역 모듈을 이용하여 상기 번역할 타깃 언어로 작성된 문장으로 번역하는 단계
를 포함하는, 기계번역 방법. - 제7항에 있어서,
상기 언어 정보를 수신하는 단계는,
상기 특정 소스 언어에 대한 언어 정보도 추가로 수신하는, 기계번역 방법. - 문장을 기계 번역하는 시스템으로서,
복수의 다중-언어 병렬 코퍼스들이 저장되어 있는 스토리지,
외부로부터 특정 소스 언어 정보와 특정 타깃 언어 정보를 수신하는 인터페이스, 그리고
프로세서
를 포함하고,
상기 프로세서는,
상기 수신한 특정 소스 언어 정보와 특정 타깃 언어 정보를 토대로 상기 복수의 다중-언어 병렬 코퍼스들 중 후보 병렬 코퍼스를 추출하고, 추출한 후보 병렬 코퍼스를 구성하는 소스 문장들 각각에 각 소스 문장이 번역된 타깃 언어의 태그를 삽입하고, 태그가 삽입된 각 소스 문장과 상기 각 소스 문장이 번역된 타깃 문장들을 이용하여 기계번역 모듈을 학습시키고, 학습된 기계번역 모듈에 상기 수신한 소스 언어 정보에 대응하는 소스 언어로 작성된 소스 문장을 입력하여 상기 타깃 언어 정보에 대응하는 타깃 언어로 번역하는, 기계번역 시스템. - 제9항에 있어서,
상기 프로세서는,
상기 복수의 다중-언어 병렬 코퍼스 후보군들 중 소스 언어가 상기 수신한 소스 언어에 해당하는 다중-언어 병렬 코퍼스들과, 타깃 언어가 상기 수신한 타깃 언어에 해당하는 다중-언어 병렬 코퍼스들을 상기 후보 병렬 코퍼스들로 선택하는, 기계번역 시스템. - 제10항에 있어서,
상기 프로세서는,
상기 후보 병렬 코퍼스들에 포함된 소스 문장들에서 단어들을 분리하고, 상기 분리된 단어들을 하위 단어 인코딩하는, 기계번역 시스템. - 제11항에 있어서,
상기 프로세서는,
상기 후보 병렬 코퍼스들에 포함된 문장들을 병합하는, 기계번역 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20190117587 | 2019-09-24 | ||
KR1020190117587 | 2019-09-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210035721A true KR20210035721A (ko) | 2021-04-01 |
Family
ID=75441400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200071529A KR20210035721A (ko) | 2019-09-24 | 2020-06-12 | 다중-언어 코퍼스를 이용하여 기계번역 하는 방법 및 이를 구현한 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20210035721A (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113869070A (zh) * | 2021-10-15 | 2021-12-31 | 大连理工大学 | 一种融合特定语言适配器模块的多语言神经机器翻译方法 |
CN113887252A (zh) * | 2021-10-18 | 2022-01-04 | 浙江香侬慧语科技有限责任公司 | 基于机器翻译的无监督转述文本生成方法、装置及介质 |
CN114676707A (zh) * | 2022-03-22 | 2022-06-28 | 腾讯科技(深圳)有限公司 | 一种多语言翻译模型的确定方法和相关装置 |
KR102640886B1 (ko) * | 2023-08-01 | 2024-02-27 | 주식회사 페이브 | 다국어 웹사이트 콘텐츠를 생성하는 방법 및 전자 장치 |
-
2020
- 2020-06-12 KR KR1020200071529A patent/KR20210035721A/ko not_active Application Discontinuation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113869070A (zh) * | 2021-10-15 | 2021-12-31 | 大连理工大学 | 一种融合特定语言适配器模块的多语言神经机器翻译方法 |
CN113869070B (zh) * | 2021-10-15 | 2024-05-24 | 大连理工大学 | 一种融合特定语言适配器模块的多语言神经机器翻译方法 |
CN113887252A (zh) * | 2021-10-18 | 2022-01-04 | 浙江香侬慧语科技有限责任公司 | 基于机器翻译的无监督转述文本生成方法、装置及介质 |
CN114676707A (zh) * | 2022-03-22 | 2022-06-28 | 腾讯科技(深圳)有限公司 | 一种多语言翻译模型的确定方法和相关装置 |
KR102640886B1 (ko) * | 2023-08-01 | 2024-02-27 | 주식회사 페이브 | 다국어 웹사이트 콘텐츠를 생성하는 방법 및 전자 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210035721A (ko) | 다중-언어 코퍼스를 이용하여 기계번역 하는 방법 및 이를 구현한 시스템 | |
US7707026B2 (en) | Multilingual translation memory, translation method, and translation program | |
JP4886459B2 (ja) | 音訳モデル及び構文解析統計モデルを訓練するための方法及び装置、及び音訳のための方法及び装置 | |
US8131536B2 (en) | Extraction-empowered machine translation | |
KR101326354B1 (ko) | 문자 변환 처리 장치, 기록 매체 및 방법 | |
KR101266361B1 (ko) | 구조화된 번역 메모리 기반의 자동 번역 시스템 및 자동 번역 방법 | |
CN110678868B (zh) | 翻译支持系统、装置和方法以及计算机可读介质 | |
KR100853173B1 (ko) | 통계적 자동 번역 방식에 기반한 음성 자동 통역 시스템 및그에 적용되는 번역 처리 방법 및 그 훈련방법 | |
JP2017199363A (ja) | 機械翻訳装置及び機械翻訳のためのコンピュータプログラム | |
Scherrer et al. | Neural morphosyntactic tagging for Rusyn | |
Sunitha et al. | A phoneme based model for english to malayalam transliteration | |
CN110750669B (zh) | 一种图像字幕生成的方法及系统 | |
Shi et al. | Adding Visual Information to Improve Multimodal Machine Translation for Low‐Resource Language | |
Laitonjam et al. | Transliteration of english loanwords and named-entities to manipuri: Phoneme vs grapheme representation | |
WO2019163752A1 (ja) | 形態素解析学習装置、形態素解析装置、方法、及びプログラム | |
JPH0344764A (ja) | 機械翻訳装置 | |
US20220284188A1 (en) | Machine based expansion of contractions in text in digital media | |
CN113591493B (zh) | 翻译模型的训练方法及翻译模型的装置 | |
WO2022079845A1 (ja) | 単語対応装置、学習装置、単語対応方法、学習方法、及びプログラム | |
CN111597827B (zh) | 一种提高机器翻译准确度的方法及其装置 | |
JP2007323476A (ja) | 機械翻訳装置及びコンピュータプログラム | |
Almansor et al. | Transferring informal text in arabic as low resource languages: State-of-the-art and future research directions | |
Nanayakkara et al. | Context aware back-transliteration from english to sinhala | |
JP2007004446A (ja) | 機械翻訳装置、その方法およびプログラム | |
JP6373198B2 (ja) | テキスト変換装置、方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |