KR20200044201A - 번역 성능 개선을 위한 신경망번역 모델 학습 방법 및 장치 - Google Patents

번역 성능 개선을 위한 신경망번역 모델 학습 방법 및 장치 Download PDF

Info

Publication number
KR20200044201A
KR20200044201A KR1020180120554A KR20180120554A KR20200044201A KR 20200044201 A KR20200044201 A KR 20200044201A KR 1020180120554 A KR1020180120554 A KR 1020180120554A KR 20180120554 A KR20180120554 A KR 20180120554A KR 20200044201 A KR20200044201 A KR 20200044201A
Authority
KR
South Korea
Prior art keywords
language
translation model
network
model
attention
Prior art date
Application number
KR1020180120554A
Other languages
English (en)
Inventor
이요한
김영길
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020180120554A priority Critical patent/KR20200044201A/ko
Priority to US16/558,459 priority patent/US20200117715A1/en
Publication of KR20200044201A publication Critical patent/KR20200044201A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/51Translation evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/47Machine-assisted translation, e.g. using translation memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Abstract

본 발명은 병렬 코퍼스의 양이 적은 언어쌍이나 도메인에서도 높은 번역 성능을 보장하고 주의집중 네트워크의 단어정렬 정보의 부정확에 따른 과소번역의 문제를 개선하고자 하는 것이다. 인코더 네트워크와 디코더 네트워크는 다른 방식으로 언어를 모델링하기 때문에 상호 대칭 관계가 없지만, 주의집중 네트워크는 제1, 제2언어 간의 단어정렬 정보를 학습하기 때문에 대칭 관계가 존재한다. 또한 인코더 네트워크와 디코더 네트워크를 기반으로 모델링되는 주의집중 네트워크는 학습 및 번역 성능에 매우 큰 영향을 미치며, 대칭 관계를 활용하여 이를 정규화하면 전체 네트워크의 모델링 오류를 효율적으로 줄일 수 있을 것이다. 이를 위하여 신경망번역 모델을 양방향으로 구성하고 모델간의 대칭 관계를 활용하여 단일 언어 코퍼스를 학습에 활용할 수 있도록 한다. 또한 양방향 신경망번역 모델에서 주의집중 네트워크 간의 불완전한 정렬 정보를 수직관계로 정규화하여 보다 정확한 정렬 정보를 학습하도록 한다.

Description

번역 성능 개선을 위한 신경망번역 모델 학습 방법 및 장치 {Neural machine translation model learning method and apparatus for improving translation performance}
본 발명은, 신경망 (기계) 번역(neural machine trasnslation: NMT)에 관한 것으로, 보다 구체적으로는, 양방향 신경망번역 모델 간의 대칭 관계를 활용하여 단일 언어 코퍼스를 학습에 추가적으로 활용할 수 있도록 하고 주의집중 네트워크 간의 정렬 정보를 수직관계로 정규화하여, 우수한 성능과 정확한 번역 결과를 얻을 수 있는 신경망번역 모델 학습 방법 및 장치에 관한 것이다.
신경망번역 모델은 제1언어를 모델링하는 인코더 네트워크(encoder network), 제2언어를 모델링하는 디코더 네트워크(decoder network), 제1언어와 제2언어 간의 단어정렬 정보(word alignment information)를 모델링하는 주의집중 네트워크(attention network)를 동시에 학습하여 제1언어를 제2언어로 번역한다.
종래의 신경망번역 모델 학습 방법에서, 각 번역 모델은 독립적으로 학습되기 때문에 제1언어에서 제2언어로의 번역 모델과 제2언어에서 제1언어로의 번역 모델을 학습하는 경우, 두 번역 모델 간의 대칭 관계를 활용하지 못한다. 또한 학습 코퍼스에 의존적인 종래의 신경망번역 모델 특성상 병렬 코퍼스(parallel corpus)의 양이 적은 언어쌍이나 도메인에서는 모델의 번역 성능을 보장할 수 없는 문제점이 있다. 따라서 해당 언어 쌍이나 도메인의 병렬 코퍼스의 확충이 필요하지만 이는 매우 큰 비용을 요구하는 작업이다.
또한, 주의집중 네트워크의 단어정렬 정보(word-alignment information)의 불완전성 내지는 부정확성에 의해 일정한 번역 정확도를 담보할 수 없고 과소번역(과번역(over-translation) 및 소번역(under-translation)) 문제가 발생한다.
본 발명의 목적은 병렬 코퍼스의 양이 적은 언어쌍이나 도메인에서도 높은 번역 성능을 보장하고 주의집중 네트워크의 단어정렬 정보의 부정확에 따른 과소번역의 문제를 개선하고자 하는 것이다.
본 발명의 다른 목적은 현재 서비스되고 있는 신경망번역 모델의 검증에도 활용할 수 있는 신경망번역 모델의 학습 방법을 제공하는 것이다.
인코더 네트워크와 디코더 네트워크는 다른 방식으로 언어를 모델링하기 때문에 상호 대칭 관계가 없지만, 주의집중 네트워크는 제1, 제2언어 간의 단어정렬 정보를 학습하기 때문에 대칭 관계가 존재한다. 또한 인코더 네트워크와 디코더 네트워크를 기반으로 모델링되는 주의집중 네트워크는 학습 및 번역 성능에 매우 큰 영향을 미치며, 대칭 관계를 활용하여 이를 정규화하면 전체 네트워크의 모델링 오류를 효율적으로 줄일 수 있을 것이다.
상술한 과제를 해결하기 위하여 신경망번역 모델을 양방향으로 구성하고 모델간의 대칭 관계를 활용하여 단일 언어 코퍼스를 학습에 활용할 수 있도록 한다. 또한 양방향 신경망번역 모델에서 주의집중 네트워크 간의 불완전한 정렬 정보를 수직관계로 정규화하여 보다 정확한 정렬 정보를 학습하도록 한다.
본 발명의 한 측면에 따르면, 제1주의집중 네트워크를 포함하는 제1언어-제2언어 번역 모델 및 제2주의집중 네트워크를 포함하는 제2언어-제1언어 번역 모델을 포함하는 신경망번역 모델의 학습 방법으로서, 상기 제1언어-제2언어 번역 모델에서 출력된 제2언어를 상기 제2언어-제1언어 번역 모델로 입력하여 번역된 제1언어를 출력하는 단계; 상기 제2언어-제1언어 번역 모델에서 출력된 제1언어의 분포를 상기 제1언어-제2언어 번역 모델에 입력된 제1언어 입력 문장의 분포와 비교하여 그 오류를 상기 제1언어-제2언어 번역 모델 및 제2언어-제1언어 번역 모델에 전달하는 단계를 포함하는 신경망번역 모델 학습 방법이 제공된다.
이 방법은 또한, 상기 제1 및 제2주의집중 네트워크의 정렬 정보가 수직관계를 갖도록 정규화하는 단계를 추가로 포함한다. 이 정규화 단계에서는, 상기 제1언어-제2언어 번역 모델 및 상기 제2언어-제1언어 번역 모델의 각 출력 벡터가 상호 수직관계가 되도록 상기 각 모델의 손실 함수를 정의하여 학습시킬 수 있다.
이상에서 본 발명의 방법을 여러 개의 단계로 정의하였지만, 본 발명의 방법이 이러한 단계의 시간적 흐름에 좌우되는 것이 아님은 당업자에게 자명하다.
한편, 본 발명의 다른 측면에 따르면, 입력된 제1언어를 번역하여 제2언어로 출력하는 제1언어-제2언어 번역 모델; 상기 제1언어-제2언어 번역 모델에서 출력된 제2언어를 번역하여 제1언어로 출력하는 제2언어-제1언어 번역 모델; 상기 제2언어-제1언어 번역 모델에서 출력된 제1언어의 분포를 상기 제1언어-제2언어 번역 모델에 입력된 제1언어의 분포와 비교하는 수단; 상기 비교하여 얻은 오류를 상기 제1언어-제2언어 번역 모델 및 제2언어-제1언어 번역 모델에 전달하는 수단을 포함하는 신경망번역 모델 학습 장치가 제공된다.
이 장치에서 상기 제1언어-제2언어 번역 모델은, 제1언어를 입력으로 받아 제1언어를 모델링하는 제1인코더 네트워크, 제2언어를 모델링하는 제1디코더 네트워크, 제1언어와 제2언어 간의 단어정렬 정보를 모델링하는 제1주의집중 네트워크를 포함할 수 있고, 상기 제2언어-제1언어 번역 모델은, 제2언어를 입력으로 받아 제2언어를 모델링하는 제2인코더 네트워크, 제1언어를 모델링하는 제2디코더 네트워크, 제2언어와 제1언어 간의 단어정렬 정보를 모델링하는 제2주의집중 네트워크를 포함할 수 있다.
이 경우에 본 장치는, 상기 제1 및 제2주의집중 네트워크의 정렬 정보가 수직관계를 갖도록 정규화하는 수단을 추가로 포함한다. 여기서 이 정규화 수단은, 상기 제1언어-제2언어 번역 모델 및 상기 제2언어-제1언어 번역 모델의 각 출력 벡터가 상호 수직관계가 되도록 상기 각 모델의 손실 함수를 정의하여 학습시킬 수 있다.
한편, 본 발명의 또다른 측면에 따르면, 제1주의집중 네트워크를 포함하는 제1언어-제2언어 번역 모델을 검증하는 방법이 제공되는데, 이 방법은 상기 제1언어-제2언어 번역 모델에서 출력된 제2언어를, 제2주의집중 네트워크를 포함하는 제2언어-제1언어 번역 모델로 입력하여 번역된 제1언어를 출력하는 단계; 상기 제2언어-제1언어 번역 모델에서 출력된 제1언어의 분포를 상기 제1언어-제2언어 번역 모델에 입력된 제1언어 입력 문장의 분포와 비교하여 그 오류를 상기 제1언어-제2언어 번역 모델 및 제2언어-제1언어 번역 모델에 전달하는 단계를 포함한다.
이상에서 소개한 본 발명의 구성 및 작용은 이후에 도면과 함께 설명하는 구체적인 실시예를 통하여 더욱 명확해질 것이다.
본 발명은, 양방향 신경망번역 모델에서 각 모델에 포함된 주의집중 네트워크의 정렬 정보를 수직관계로 정규화하여 보다 정확한 정렬 정보를 학습하도록 함으로써 종래의 신경망번역 모델에서 자주 등장하는 과번역 문제(over-translation) 및 소번역 문제(under-translation)를 완화할 수 있다.
또한 양방향 신경망번역 모델 간 대칭 관계를 활용하여 단일 언어 코퍼스를 학습에 추가적으로 활용할 수 있으므로 비교적 병렬 코퍼스의 양이 적은 언어 쌍이나 도메인에서도 적은 비용으로 높은 번역 성능을 보장하는 신경망번역 모델을 구축할 수 있다.
본 발명의 양방향 신경망번역 모델 학습 방법은 종래의 신경망번역 모델을 변경하지 않으므로 효율적으로 구축할 수 있다.
신경망번역 모델은 기존의 규칙 기반 번역 모델, 통계적 번역 모델에 비해 자연스러운 번역 결과를 내기 때문에 현재 대부분의 번역 서비스는 신경망 모델을 기반으로 한다. 신경망번역 모델이 기존의 번역 모델에 비해 높은 번역 성능을 내기 위해선 주의집중 네트워크가 필수적이고, 높은 정확도를 갖는 주의집중 네트워크를 통해 번역 성능을 높일 수 있다. 또한 병렬 코퍼스의 양이 적어 신경망번역 모델이 기존의 번역 모델을 대체하지 못했던 분야에서도 본 발명의 신경망번역 모델 학습 방법을 활용하여 기존의 번역 모델을 대체할 수 있을 것이다.
도 1은 종래의 제1언어에서 제2언어로의 단방향 신경망번역 모델의 구성도
도 2는 과소번역 현상의 예시도
도 3은 본 발명의 실시예에 따른 양방향 신경망번역 모델의 구성도
도 4는 도 3의 양방향 신경망번역 모델의 각 주의집중 네트워크 정렬 정보의 수직관계 정규화 개념을 설명하기 위한 도면
도 5a~c는 영어(E)-불어(F) 번역 모델의 경우의 수직관계 정규화의 결과를 설명하기 위한 예시도
본 발명의 이점 및 특징, 그리고 이들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 기술되어 있는 실시예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 기재에 의해 정의된다.
한편, 본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자 이외의 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 바람직한 실시예를 첨부 도면을 참조하여 상세히 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가급적 동일한 부호를 부여하고 또한 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있는 경우에는 그 상세한 설명을 생략한다.
본 발명은 각 언어 문장에 대해 양방향의 신경망번역 모델을 구성하고 오토-인코더(Auto-Encoder) 학습 방식을 취하여 신경망번역 모델의 학습시에 하나의 언어 코퍼스를 양방향 신경망번역 모델을 통해 복원한 후 각 모델에서 출력된 언어를 비교하여 학습하도록 하고 각 번역 모델에 포함된 주의집중 네트워크들의 정렬정보가 수직관계를 갖도록 정규화하여 본 발명의 목적을 달성하고자 한다.
먼저, 일반적인 제1언어에서 제2언어로의 단방향 신경망번역 모델의 학습 방법에 대해 도 1의 모델 구성도를 통해 설명한다.
도 1의 단방향 신경망번역 모델은 제1언어(즉, 소스언어)를 모델링하는 인코더 네트워크(10), 제2언어(즉, 타겟언어)를 모델링하는 디코더 네트워크(11), 제1언어와 제2언어 간의 단어정렬 정보를 모델링하는 주의집중 네트워크(12), 그리고 생성 네트워크(13)로 구성된다.
인코더 네트워크(10)의 은닉 상태(hidden state) 벡터(101)는 제1언어 입력 토큰(100)에 의해 결정된다. 마찬가지로 디코더 네트워크(11)의 은닉 상태 벡터(111)는 제2언어 입력 토큰(110)에 의해 결정된다.
주의집중 네트워크(12)에서는 인코더 네트워크(10)와 디코더 네트워크(11)의 각 은닉 상태 벡터로부터 제1언어 입력 토큰(100)과 제2언어 입력 토큰(110) 간의 소프트 정렬 정보(120)를 결정한다. 즉, 주의집중 네트워크(12)는 인코더 네트워크(10)와 디코더 네트워크(11)의 관계 설정을 수행하며, 이 관계 설정된 정렬 정보 매트릭스(120)를 출력한다.
생성 네트워크(13)에서는 결정된 소프트 정렬 정보(120)와 인코터 네트워크(10) 및 디코더 네트워크(11)의 은닉 상태 벡터(101, 111)를 조합하여 제2언어 토큰에 대한 분포 정보(131), 즉, 토큰 확률 분포를 만들고 이를 제2언어 출력 토큰(130)과 비교한다.
이러한 신경망번역 모델을 학습하기 위한 손실 함수(loss function)는 아래 식과 같이 제2언어 토큰에 대한 분포 정보(131)와 제2언어 출력 토큰 분포(130)의 'Cross Entropy'로 정의할 수 있다.
Figure pat00001
수학식 1에서
Figure pat00002
는 스텝 인덱스,
Figure pat00003
는 토큰 인덱스,
Figure pat00004
는 전체 토큰 수,
Figure pat00005
는 스텝
Figure pat00006
에서의 제2언어 출력 토큰 분포(130),
Figure pat00007
는 입력 문장,
Figure pat00008
는 모델 파라미터,
Figure pat00009
는 모델의 토큰 확률 분포(131)를 의미한다.
아래 수학식 2의 log likelihood는 수학식 1의 각 모델별 손실 함수를 간략히 나타낸 것이다.
Figure pat00010
수학식 2에서
Figure pat00011
는 제1언어에서 2언어로의 신경망번역 모델의 정렬 정보 행렬,
Figure pat00012
는 제2언어에서 제1언어로의 신경망번역 모델의 정렬 정보 행렬을 의미한다.
한편, 제2언어에서 제1언어로의 신경망번역 모델 또한 도 1에 나타낸 단방향 신경망번역 모델로 구축된다.
이러한 종래의 단방향 신경망번역 모델은 제1, 2언어 간 병렬 코퍼스를 활용하여 모델을 학습하는 방법이다. 그러나 병렬 코퍼스가 부족한 언어 쌍이나 도메인에서는 모델의 번역 성능을 보장할 수 없는 문제가 일어난다. 이에 본 발명에서는 양방향 신경망번역 모델의 대칭 관계를 활용하여 병렬 코퍼스에 비해 구축이 용이한 단일 코퍼스(제1언어 또는 제2언어로만 이루어진 언어 코퍼스)를 학습에 활용하여, 제1언어 코퍼스를 제1언어-제2언어 번역 모델로 번역한 결과를 다시 제2언어-제1언어 번역 모델로 번역하여 최종 결과 언어와 입력 언어의 차이를 줄이도록 제1언어-제2언어 번역 모델, 제2언어-제1언어 번역 모델이 학습되도록 한다(추후에 상세 서술함).
한편, 도 1의 단방향 신경망번역 모델의 주의집중 네트워크(12)에서 제1, 2언어 토큰간 정렬 정보는, 인코더 네트워크(10)와 디코더 네트워크(11)의 은닉 상태(101, 111)를 기반으로 모델링되므로 학습 및 번역 성능에 큰 영향을 미치는데, 정렬 정보가 부정확한 경우에 과소번역(과번역(over translation) 및 소번역(under translation))의 문제가 자주 발생한다.
도 2는 과소번역의 예를 나타낸다. 도 2는 주의집중 네트워크에서의 가중치 스코어를 도시한 것으로 밝은 부분일수록 스코어가 높고 어두운 부분일수록 스코어가 낮은 것을 나타낸다. 도 2에서와 같이 "CK 반바지랑, 나이키 반바지는 각각 얼마인데요?" 라는 한국어 문장을 영어로 번역하는 경우, 매 번역 스텝에서 다른 토큰에 비해 "반바지"의 정렬 가중치가 거의 항상 높아 "How much is CK shorts shorts shorts shorts ... ?"라는 문장으로 과번역된다. 또한 "나이키"는 매 번역 스텝에서 정렬 가중치가 항상 낮아 번역되지 않는 문제(소번역)가 발생한다. 그 원인은 정렬 정보의 부정확함에 기인한다.
제1언어에서 제2언어로의 신경망번역 모델과 제2언어에서 제1언어로의 신경망번역 모델의 주의집중 네트워크에서, 제1, 2언어 토큰 간 정렬 정보는 대칭 관계에 있다. 그리고 정렬 정보에서 매 번역 스텝마다 한 토큰의 정렬 가중치가 높은 것에 페널티를 준다면 과소 번역 문제의 완화가 가능하다. 따라서 본 발명에서는, 두 신경망번역 모델의 정렬 정보가 수직관계(orthogonal relation)를 갖도록 정규화(normalize)하여 보다 정확한 정렬 정보를 얻을 수 있도록 하고자 한다(후술함). 이는 신경망 모델의 변경없이 손실 함수로 정의할 수 있기 때문에 효율적이 될 것이다.
도 3은 양방향 신경망번역 모델의 대칭 관계를 활용하여 병렬 코퍼스에 비해 구축이 용이한 단일 언어 코퍼스를 학습에 활용하고자 하기 위한 본 발명의 구성도로서, 제1언어 코퍼스를 활용하여 양방향 신경망번역 모델을 학습하는 것을 설명하기 위한 것이다.
각 단일 언어 문장에 대해 양방향의 오토-인코더(Auto-Encoder) 학습 방식을 취하여 신경망번역 모델의 학습시에 단일 언어 코퍼스를 양방향 신경망번역 모델을 통해 복원한 후 이를 비교하여 학습하도록 하여 병렬 코퍼스의 양이 적은 언어쌍이나 도메인에서도 적은 비용으로 높은 번역 성능을 보장하고자 한다.
좌측에 도시된 제1언어에서 제2언어로의 번역 모델(30)은 제1언어를 입력(300)으로 받아 제1언어를 모델링하는 제1인코더 네트워크(301)와 제2언어를 모델링하는 제1디코더 네트워크(302)를 기반으로 제1주의집중 네트워크(303)를 구축하여 제2언어를 출력(304)한다. 이에 대칭적으로, 우측에 도시된 제2언어에서 제1언어로의 번역 모델(40)은 제2언어를 입력(400)으로 받아 제2언어를 모델링하는 제2인코더 네트워크(401)와 제2언어를 모델링하는 제2디코더 네트워크(402)를 기반으로 제2주의집중 네트워크(403)를 구축하여 제1언어를 출력(404)한다.
간단히 말하자면, 제1언어-제2언어 번역 모델(30)에서 출력된(304) 제2언어 문장은 제2언어-제1언어 번역 모델(40)을 통해서 다시 제1언어로 출력(404)된다. 출력된 제1언어 문장(404)의 분포(여기서, 제2언어-제1언어 번역 모델은 각 스텝에 위치할 제1언어 단어를 예측하며, 예측 결과는 미리 정의된 어휘들에 대한 확률 분포값으로 표현됨)를 제1언어 입력 문장(300)의 분포(각 스텝에 위치한 실제 제1언어 단어에 대한 확률 분포. 예를 들어, 미리 정의한 어휘가 [a, b, c, d, e]일 때, d라는 단어에 대한 확률 분포는 [0, 0, 0, 1, 0]이 됨)와 비교하여 그 오류를 양측 번역 모델(30, 40)에 전달한다. 여기서, 두 분포 간의 비교는 수학식 1과 같이 cross-entropy로 측정할 수 있으며, 이렇게 하여 측정된 값이 모델의 오류가 된다. 즉, 모델의 오류는 모델이 매 스텝에서 예측한 단어 분포와 실제 단어 분포의 차이로 정의할 수 있다.
제2언어 코퍼스 또한 상기 방법으로 모델 학습에 활용할 수 있다. 즉, 제2언어 코퍼스는 제2언어-제1언어 번역 모델의 입력으로 들어가 제1언어로 번역되고, 이를 다시 제1언어-제2언어 번역 모델로 번역하면 제2언어 문장이 나오게 된다. 최종 출력된 제2언어 문장과 입력했던 제2언어 문장을 비교하여 오류를 줄이도록 두 번역 모델을 학습하는 것이다.
이상의 양방향 신경망번역 모델에서는, 모델 간의 대칭 관계를 활용하여 비교적 구축이 쉬운 단일 언어 코퍼스를 학습에 활용할 수 있으므로 병렬 코퍼스의 양이 적은 언어 쌍이나 도메인에서도 모델의 번역 성능을 높일 수 있다.
또한, 이상의 양방향 신경망번역 모델은 제1, 2언어 간 대칭 관계를 학습하기 때문에, 제1언어에서 제2언어로의 번역 모델의 출력을 상대 번역 모델로 다시 복원하는 경우, 제1언어 입력과 거의 동일한 결과를 출력하는 경향이 있다. 그러므로 이상의 방법은 현재 서비스되고 있는 신경망번역 모델 중 제1, 2언어를 번역하는 신경망 모델의 테스트 내지는 검증에도 활용할 수 있다.
도 4는 도 3의 양방향 신경망번역 모델의 각 모델에 포함된 주의집중 네트워크의 정렬 정보의 수직관계 정규화의 개념을 설명하기 위한 도면이다. 제1언어-제2언어 번역 모델(30)과 상대(counterpart) 제2언어-제1언어 번역 모델(40)의 출력 벡터가 상호 수직관계가 되도록 손실 함수(예를 들어, 수학식 3의 함수)를 정의하여 학습시키는 것이 도 4에 나타낸 발명의 개념이다.
단일 언어 코퍼스를 활용하여 도 4의 양방향 신경망번역 모델을 학습할 경우의 손실 함수는 예를 들어 아래 수학식 3과 같이 정의할 수 있다.
Figure pat00013
수학식 3에서
Figure pat00014
는 각각 제1, 2언어의 단일 코퍼스를 의미하며,
Figure pat00015
는 양방향 신경망번역 모델을 통해 얻은 제1, 2언어 문장을 의미한다.
학습 과정에서, 제1언어-제2언어 번역 모델(30)을 통해 출력된 문장을 다시 상대 번역 모델(40)에 입력하는 과정은 비연속적이므로 일반적으로 그레디언트(gradient)가 전달될 수 없다. 따라서 샘플링 기반 방법으로 그레디언트를 측정하여 두 모델 사이의 그레디언트를 전달해야 한다.
한편, 신경망번역 모델에서 번역 문장을 샘플링하는 대표적인 방법으로는 탐색 구조 트리(beam search)를 활용한 방법이 있다. 따라서 수학식 3은 아래의 수학식 4로 표현할 수 있다.
Figure pat00016
도 4의 양방향 신경망 번역 모델에서의 주의집중 네트워크의 수직관계에 대해 좀 더 자세히 설명하면 다음과 같다.
제1언어 문장이
Figure pat00017
토큰으로 이루어진 문장이고, 제2언어 문장이
Figure pat00018
토큰으로 이루어진 문장이라고 할 때, 제1언어-제2언어(source-to-target) 정렬 스코어를 A라 하면 이 스코어 행렬 A는
Figure pat00019
이고,
제2언어-제1언어(target-to-source) 정렬 스코어를 B라 하면 이 스코어 행렬 B는
Figure pat00020
와 같이 된다. 이와 같이 제1언어-제2언어 번역 모델(30)과 제2언어-제1언어 번역 모델(40)은 위와 같은 주의집중(attention) 정보를 갖는다.
두 모델의 주의집중 행렬(attention matrix)의 곱을 구하면 아래와 같다.
Figure pat00021
두 주의집중 행렬의 곱을 단위행렬에 가깝게 만들면 아래와 같다.
Figure pat00022
여기서, 수직관계 정규화를 위한 두 가지 조건이 있다. 첫째, A의 i번째 열과 B의 i번째 행의 원소들이 동일한 크기 순서를 가질 때
Figure pat00023
의 조건이 만족하게 된다. 즉, 서로의 잘못된 attention 정보를 조정해 줄 수 있다(교집합 효과). 둘째,
Figure pat00024
의 attention correlation을 없애면, 즉,
Figure pat00025
이면 한 단어가 여러 개의 타겟 단어에서 attention 점수가 높은 현상을 방지할 수 있다(과소 번역 현상 완화).
이러한 수직관계 정규화 조건을 만족하기 위해, 수학식 5와 같이 손실 함수를 최소화하도록 모델을 학습시킨다.
Figure pat00026
수학식 5에서 첫 번째 항은 종래 NMT(신경망 기계번역)의 손실(번역 정확도)을 의미하고, 두 번째 항은 본 발명에 따른 Attention 수직관계 정규화를 의미한다. 따라서 수학식 5는 종래 NMT의 번역 정확도에, 주의집중 네트워크의 정렬 정보의 수직관계 정규화를 부가함으로써 더욱 번역의 정확도를 증가시킨다는 것을 의미한다.
도 5a~c는 영어(E)-불어(F) 번역 모델을 예로 들어 수직관계 정규화의 결과를 설명하기 위한 것이다. 이들 도면에서 x축은 영어 문장, y축은 불어 문장을 나타낸다.
도 5a의 E→F 모델에서, 다수의 불어 단어에서 영어 "cojo"의 attention 점수가 높은 것과 마찬가지로, 도 5b의 F→E 모델에서, 다수의 영어 단어에서 불어 "cojo"의 attention 점수가 높아 두 모델에서 잘못된 번역 결과를 도출할 가능성이 높다. 이러한 현상을 바로잡기 위해 도 5c와 같이 두 attention의 교집합(intersection)을 취하면 잘못된 attention 정보를 바로잡을 수 있다(이와 같이 Intersection을 취하는 경우 정확도가 높아지고 AER이 낮아짐).
도 5a~c에서 'cojo' 주위에 친 박스는 'cojo'와 상대 단어들의 상관 관계를 나타내는 분포를 강조하기 위해 표시한 것이며, 그 밑에 적힌 숫자, 즉, 84.2/92.0/13.0, 86.9/91.1/11.5, 97.0/86.9/7.6는 테스트 셋에서의 정렬 정보의 precision/recall/AER(Alignment Error Rate)를 나타낸다.
본 발명은 장치 측면 또는 방법적 측면으로 실시가능한데, 특히 본 발명의 실시예의 각 구성요소의 기능(function) 또는 과정(process)은 DSP(digital signal processor), 프로세서, 컨트롤러, ASIC(application-specific IC), 프로그래머블 로직소자(FPGA 등), 기타 전자소자 중의 적어도 하나 그리고 이들의 조합이 포함되는 하드웨어 요소로써 구현가능하다. 또한 하드웨어 요소와 결합되어 또는 독립적으로 소프트웨어로써도 구현가능한데, 이 소프트웨어는 기록매체에 저장가능하다.
이상, 본 발명의 바람직한 실시예를 통하여 본 발명의 구성을 상세히 설명하였으나, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 명세서에 개시된 내용과는 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호범위는 상기 상세한 설명보다는 후술한 특허청구범위에 의하여 정해지며, 특허청구의 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태는 본 발명의 기술적 범위에 포함되는 것으로 해석되어야 한다.

Claims (16)

  1. 제1주의집중 네트워크를 포함하는 제1언어-제2언어 번역 모델 및 제2주의집중 네트워크를 포함하는 제2언어-제1언어 번역 모델을 포함하는 신경망번역 모델의 학습 방법으로서,
    1) 상기 제1언어-제2언어 번역 모델에서 출력된 제2언어를 상기 제2언어-제1언어 번역 모델로 입력하여 번역된 제1언어를 출력하는 단계;
    2) 상기 제2언어-제1언어 번역 모델에서 출력된 제1언어의 분포를 상기 제1언어-제2언어 번역 모델에 입력된 제1언어 입력 문장의 분포와 비교하여 그 오류를 상기 제1언어-제2언어 번역 모델 및 제2언어-제1언어 번역 모델에 전달하는 단계를 포함하는 신경망번역 모델 학습 방법.
  2. 제1항에서, 상기 단계 2)에서의 상기 두 분포 간의 비교는 Cross-entropy를 이용하여 수행되는, 신경망번역 모델 학습 방법.
  3. 제1항에서, 상기 제1 및 제2주의집중 네트워크의 정렬 정보가 수직관계를 갖도록 정규화하는 단계를 추가로 포함하는 신경망번역 모델 학습 방법.
  4. 제3항에서, 상기 정규화 단계는
    상기 제1언어-제2언어 번역 모델 및 상기 제2언어-제1언어 번역 모델의 각 출력 벡터가 상호 수직관계가 되도록 상기 각 모델의 손실 함수를 정의하여 학습시키는 것을 포함하는 신경망번역 모델 학습 방법.
  5. 제1주의집중 네트워크를 포함하는 제1언어-제2언어 번역 모델 및 제2주의집중 네트워크를 포함하는 제2언어-제1언어 번역 모델을 포함하는 신경망번역 모델의 학습 방법으로서,
    상기 제1 및 제2주의집중 네트워크의 정렬 정보가 수직관계를 갖도록 정규화하는 단계를 포함하는 신경망번역 모델 학습 방법.
  6. 제5항에서, 상기 정규화 단계는
    상기 제1언어-제2언어 번역 모델 및 상기 제2언어-제1언어 번역 모델의 각 출력 벡터가 상호 수직관계가 되도록 상기 각 모델의 손실 함수를 정의하여 학습시키는 것을 포함하는 신경망번역 모델 학습 방법.
  7. 제5항에서,
    상기 제1언어-제2언어 번역 모델에서 출력된 제2언어를 상기 제2언어-제1언어 번역 모델로 입력하여 번역된 제1언어를 출력하는 단계;
    상기 제2언어-제1언어 번역 모델에서 출력된 제1언어의 분포를 상기 제1언어-제2언어 번역 모델에 입력된 제1언어 입력 문장의 분포와 비교하여 그 오류를 상기 제1언어-제2언어 번역 모델 및 제2언어-제1언어 번역 모델에 전달하는 단계를 추가로 포함하는 신경망번역 모델 학습 방법.
  8. 제7항에서, 상기 두 번째 단계에서 두 분포 간의 비교는 Cross-entropy를 이용하여 수행되는, 신경망번역 모델 학습 방법.
  9. 입력된 제1언어를 번역하여 제2언어로 출력하는 제1언어-제2언어 번역 모델;
    상기 제1언어-제2언어 번역 모델에서 출력된 제2언어를 번역하여 제1언어로 출력하는 제2언어-제1언어 번역 모델;
    상기 제2언어-제1언어 번역 모델에서 출력된 제1언어의 분포를 상기 제1언어-제2언어 번역 모델에 입력된 제1언어의 분포와 비교하는 수단;
    상기 비교하여 얻은 오류를 상기 제1언어-제2언어 번역 모델 및 제2언어-제1언어 번역 모델에 전달하는 수단을 포함하는 신경망번역 모델 학습 장치.
  10. 제9항에서,
    상기 제1언어-제2언어 번역 모델은, 제1언어를 입력으로 받아 제1언어를 모델링하는 제1인코더 네트워크, 제2언어를 모델링하는 제1디코더 네트워크, 제1언어와 제2언어 간의 단어정렬 정보를 모델링하는 제1주의집중 네트워크를 포함하고,
    상기 제2언어-제1언어 번역 모델은, 제2언어를 입력으로 받아 제2언어를 모델링하는 제2인코더 네트워크, 제1언어를 모델링하는 제2디코더 네트워크, 제2언어와 제1언어 간의 단어정렬 정보를 모델링하는 제2주의집중 네트워크를 포함하는 신경망번역 모델 학습 장치.
  11. 제9항에서, 상기 제1 및 제2주의집중 네트워크의 정렬 정보가 수직관계를 갖도록 정규화하는 수단을 추가로 포함하는 신경망번역 모델 학습 장치.
  12. 제11항에서, 상기 정규화 수단은
    상기 제1언어-제2언어 번역 모델 및 상기 제2언어-제1언어 번역 모델의 각 출력 벡터가 상호 수직관계가 되도록 상기 각 모델의 손실 함수를 정의하여 학습시키는 것을 포함하는 신경망번역 모델 학습 장치.
  13. 제1언어를 입력으로 받아 제1언어를 모델링하는 제1인코더 네트워크, 제2언어를 모델링하는 제1디코더 네트워크, 제1언어와 제2언어 간의 단어정렬 정보를 모델링하는 제1주의집중 네트워크를 포함하여, 입력된 제1언어를 번역하여 제2언어로 출력하는 제1언어-제2언어 번역 모델;
    제2언어를 입력으로 받아 제2언어를 모델링하는 제2인코더 네트워크, 제1언어를 모델링하는 제2디코더 네트워크, 제2언어와 제1언어 간의 단어정렬 정보를 모델링하는 제2주의집중 네트워크를 포함하여, 상기 제1언어-제2언어 번역 모델에서 출력된 제2언어를 번역하여 제1언어로 출력하는 제2언어-제1언어 번역 모델;
    상기 제1 및 제2주의집중 네트워크의 정렬 정보가 수직관계를 갖도록 정규화하는 수단을 포함하는 신경망번역 모델 학습 장치.
  14. 제13항에서, 상기 정규화 수단은
    상기 제1언어-제2언어 번역 모델 및 상기 제2언어-제1언어 번역 모델의 각 출력 벡터가 상호 수직관계가 되도록 상기 각 모델의 손실 함수를 정의하여 학습시키는 것을 포함하는 신경망번역 모델 학습 장치.
  15. 제13항에서,
    상기 제2언어-제1언어 번역 모델에서 출력된 제1언어의 분포를 상기 제1언어-제2언어 번역 모델에 입력된 제1언어의 분포와 비교하는 수단;
    상기 비교하여 얻은 오류를 상기 제1언어-제2언어 번역 모델 및 제2언어-제1언어 번역 모델에 전달하는 수단을 추가로 포함하는 신경망번역 모델 학습 장치.
  16. 제1주의집중 네트워크를 포함하는 제1언어-제2언어 번역 모델을 검증하는 방법으로서,
    상기 제1언어-제2언어 번역 모델에서 출력된 제2언어를, 제2주의집중 네트워크를 포함하는 제2언어-제1언어 번역 모델로 입력하여 번역된 제1언어를 출력하는 단계;
    상기 제2언어-제1언어 번역 모델에서 출력된 제1언어의 분포를 상기 제1언어-제2언어 번역 모델에 입력된 제1언어 입력 문장의 분포와 비교하여 그 오류를 상기 제1언어-제2언어 번역 모델 및 제2언어-제1언어 번역 모델에 전달하는 단계를 포함하는 신경망번역 모델 검증 방법.


KR1020180120554A 2018-10-10 2018-10-10 번역 성능 개선을 위한 신경망번역 모델 학습 방법 및 장치 KR20200044201A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180120554A KR20200044201A (ko) 2018-10-10 2018-10-10 번역 성능 개선을 위한 신경망번역 모델 학습 방법 및 장치
US16/558,459 US20200117715A1 (en) 2018-10-10 2019-09-03 Method and device for training neural machine translation model for improved translation performance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180120554A KR20200044201A (ko) 2018-10-10 2018-10-10 번역 성능 개선을 위한 신경망번역 모델 학습 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20200044201A true KR20200044201A (ko) 2020-04-29

Family

ID=70159652

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180120554A KR20200044201A (ko) 2018-10-10 2018-10-10 번역 성능 개선을 위한 신경망번역 모델 학습 방법 및 장치

Country Status (2)

Country Link
US (1) US20200117715A1 (ko)
KR (1) KR20200044201A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102244448B1 (ko) * 2020-10-05 2021-04-27 주식회사 플리토 전문 번역 서비스 플랫폼을 제공하기 위한 방법
KR20220033652A (ko) 2020-09-09 2022-03-17 고려대학교 산학협력단 기계 번역의 학습 데이터 구축을 위한 방법
WO2022092445A1 (ko) * 2020-10-27 2022-05-05 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2023128170A1 (ko) * 2021-12-28 2023-07-06 삼성전자 주식회사 전자 장치, 전자 장치의 제어 방법 및 프로그램이 기록된 기록매체

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110941966A (zh) * 2019-12-10 2020-03-31 北京小米移动软件有限公司 机器翻译模型的训练方法、装置及系统
CN111597831B (zh) * 2020-05-26 2023-04-11 西藏大学 混合深度学习网络与单词生成统计学指导的机器翻译方法
US11455146B2 (en) * 2020-06-22 2022-09-27 Bank Of America Corporation Generating a pseudo-code from a text summarization based on a convolutional neural network
CN112507074A (zh) * 2020-07-31 2021-03-16 支付宝(杭州)信息技术有限公司 机器阅读理解中的数值推理方法和装置
CA3212261A1 (en) * 2021-04-01 2022-10-06 Edwin GRAPPIN System and method for translation of streaming encrypted content
US11783136B2 (en) * 2021-04-30 2023-10-10 Lilt, Inc. End-to-end neural word alignment process of suggesting formatting in machine translations
CN113378584B (zh) * 2021-05-28 2023-09-05 沈阳雅译网络技术有限公司 一种基于辅助表示融合的非自回归神经机器翻译方法
CN113255780B (zh) * 2021-05-28 2024-05-03 润联智能科技股份有限公司 一种减速箱故障预测方法、装置、计算机设备及存储介质
US20230316004A1 (en) * 2022-03-31 2023-10-05 Logistics and Supply Chain MultiTech R&D Centre Limited Natural language translation model training and deployment
CN115017924B (zh) * 2022-07-11 2023-11-07 西南财经大学 跨语际语言翻译的神经机器翻译模型构建及其翻译方法
CN116595999B (zh) * 2023-07-17 2024-04-16 深圳须弥云图空间科技有限公司 一种机器翻译模型训练方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220033652A (ko) 2020-09-09 2022-03-17 고려대학교 산학협력단 기계 번역의 학습 데이터 구축을 위한 방법
KR102244448B1 (ko) * 2020-10-05 2021-04-27 주식회사 플리토 전문 번역 서비스 플랫폼을 제공하기 위한 방법
WO2022092445A1 (ko) * 2020-10-27 2022-05-05 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2023128170A1 (ko) * 2021-12-28 2023-07-06 삼성전자 주식회사 전자 장치, 전자 장치의 제어 방법 및 프로그램이 기록된 기록매체

Also Published As

Publication number Publication date
US20200117715A1 (en) 2020-04-16

Similar Documents

Publication Publication Date Title
KR20200044201A (ko) 번역 성능 개선을 위한 신경망번역 모델 학습 방법 및 장치
KR100911621B1 (ko) 한영 자동번역 방법 및 장치
US9904675B2 (en) Automatic question generation from natural text
US9342499B2 (en) Round-trip translation for automated grammatical error correction
Kane et al. NUBIA: NeUral based interchangeability assessor for text generation
KR101799681B1 (ko) 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법
CN110162800A (zh) 翻译模型的训练方法和装置
US11195513B2 (en) Generating phonemes of loan words using two converters
US7865352B2 (en) Generating grammatical elements in natural language sentences
KR102189894B1 (ko) 외국어 문장 빈칸 추론 문제 자동 생성 방법 및 시스템
Štajner et al. A detailed evaluation of neural sequence-to-sequence models for in-domain and cross-domain text simplification
CN113449514B (zh) 一种适用于垂直领域的文本纠错方法及其纠错装置
KR20190045650A (ko) 계층적 포인터 네트워크를 이용한 상호참조해결 시스템 및 방법
KR20160133349A (ko) 구 표 생성 방법 및 구 표를 이용한 기계 번역 방법
Jiang et al. Towards robust mispronunciation detection and diagnosis for L2 English learners with accent-modulating methods
Pająk et al. Multilingual fine-tuning for grammatical error correction
Hussein et al. Textual data augmentation for Arabic-English code-switching speech recognition
Ehara Lurat: a lightweight unsupervised automatic readability assessment toolkit for second language learners
Tucker et al. When does syntax mediate neural language model performance? evidence from dropout probes
Vastl et al. Predicting Typological Features in WALS using Language Embeddings and Conditional Probabilities:\'UFAL Submission to the SIGTYP 2020 Shared Task
Kumar et al. Interpreting text classifiers by learning context-sensitive influence of words
CN115422929A (zh) 文本纠错方法和系统
JP5555542B2 (ja) 自動単語対応付け装置とその方法とプログラム
Ho et al. Generative latent neural models for automatic word alignment
Lin et al. Bilingual dictionary-based language model pretraining for neural machine translation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application