KR20190039817A - 신경 기계 번역 시스템 - Google Patents

신경 기계 번역 시스템 Download PDF

Info

Publication number
KR20190039817A
KR20190039817A KR1020197008608A KR20197008608A KR20190039817A KR 20190039817 A KR20190039817 A KR 20190039817A KR 1020197008608 A KR1020197008608 A KR 1020197008608A KR 20197008608 A KR20197008608 A KR 20197008608A KR 20190039817 A KR20190039817 A KR 20190039817A
Authority
KR
South Korea
Prior art keywords
input
sequence
output
lstm
layer
Prior art date
Application number
KR1020197008608A
Other languages
English (en)
Other versions
KR102323548B1 (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 구글 엘엘씨
Publication of KR20190039817A publication Critical patent/KR20190039817A/ko
Application granted granted Critical
Publication of KR102323548B1 publication Critical patent/KR102323548B1/ko

Links

Images

Classifications

    • G06F17/2818
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • 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/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/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • G06N3/0445
    • 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
    • G06N3/0454
    • 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
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

신경 기계 번역을 위한 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램들을 포함하는 방법, 시스템 및 장치. 시스템들 중 하나는 각 입력 토큰의 각각의 포워드 표현을 생성하기 위해 포워드 순서로 상기 입력 시퀀스에서 각 입력 토큰을 프로세싱하도록 구성된 입력 포워드 장단기 메모리(LSTM) 레이어, 각 입력 토큰의 각각의 백워드 표현을 생성하기 위해 백워드 순서로 각 입력 토큰을 프로세싱하도록 구성된 입력 백워드 LSTM 레이어, 그리고 상기 각 입력 토큰들의 각각의 인코딩된 표현을 생성하기 위해 상기 포워드 순서로 각 입력 토큰들의 각각의 결합된 표현을 프로세싱하도록 구성된 복수의 히든 LSTM 레이어들을 포함하는 인코더 신경 네트워크; 및 상기 입력 시퀀스에서 상기 각 입력 토큰들의 각각의 인코딩된 표현을 수신하고, 상기 출력 시퀀스를 생성하기 위해 상기 인코딩된 표현들을 프로세싱하도록 구성되는 디코더 서브시스템을 포함한다.

Description

신경 기계 번역 시스템
본 명세서는 신경 네트워크들을 사용하여 텍스트를 번역하는 것과 관련된다.
기계 학습 모델들은 입력을 수신하고 수신된 입력에 기초하여 예측된 출력과 같은 출력을 생성한다. 일부 기계 학습 모델들은은 파라미터적 모델들이며, 수신된 입력 및 모델의 파라미터들의 값들에 기초하여 출력을 생성한다.
일부 기계 학습 모델들은 수신된 입력에 대해 출력을 생성하기 위해 모델들의 다수의 레이어들을 이용하는 딥 모델들이다. 예를 들어, 딥 신경 네트워크는 출력 레이어와 출력을 생성하기 위해 수신된 입력에 비선형 변환을 각각 적용하는 하나 이상의 히든 레이어들을 포함하는 딥 기계 학습 모델이다.
일부 신경 네트워크들은 순환(recurrent) 신경 네트워크들이다. 순환 신경 네트워크는 입력 시퀀스를 수신하고 입력 시퀀스로부터 출력 시퀀스를 생성하는 신경 네트워크이다. 특히, 순환 신경 네트워크는 입력 시퀀스에서 현재 입력으로부터 출력을 생성하는데 있어서, 입력 시퀀스의 이전 입력을 프로세싱한 후 네트워크의 내부 상태 전부 또는 일부를 사용한다.
본 명세서는 하나 이상의 위치들에서 하나 이상의 컴퓨터들에서 컴퓨터 프로그램들로서 구현되는, 신경 네트워크들을 사용하여 텍스트를 소스 언어로부터 타겟 언어로 번역하는 시스템을 기술한다.
하나 이상의 컴퓨터들에 의해 구현되는 신경 기계 번역 시스템으로서, 상기 신경 기계 번역은 제1 자연어에서 단어들의 제1 시퀀스를 표현하는 입력 토큰들의 입력 시퀀스를 수신하고 상기 제1 시퀀스의 제2 자연어로의 번역인 단어들의 제2 시퀀스를 표현하는 출력 토큰들의 출력 시퀀스를 생성하도록 구성되며, 인코더 신경 기계 번역 시스템와 디코더 서브시스템을 포함한다. 차례로, 상기 인코더 신경 네트워크는: 각 입력 토큰의 각각의 포워드 표현을 생성하기 위해 포워드 순서로 상기 입력 시퀀스에서 각 입력 토큰을 프로세싱하도록 구성된 입력 포워드 장단기 메모리(LSTM) 레이어, 각 입력 토큰의 각각의 백워드 표현을 생성하기 위해 백워드 순서로 상기 입력 시퀀스에서 각 입력 토큰을 프로세싱하도록 구성된 입력 백워드 LSTM 레이어, 상기 입력 시퀀스에서 각 입력 토큰에 대해, 상기 입력 토큰의 결합된 표현을 생성하기 위해 상기 입력 토큰의 상기 포워드 표현과 상기 입력 토큰의 상기 백워드 표현을 결합하도록 구성된 결합 레이어, 그리고 상기 입력 시퀀스에서 상기 각 입력 토큰들의 각각의 인코딩된 표현을 생성하기 위해 상기 포워드 순서로 각 결합된 표현을 프로세싱하도록 구성된 복수의 히든 LSTM 레이어들을 포함한다.상기 디코더 서브시스템은 상기 입력 시퀀스에서 상기 각 입력 토큰들의 각각의 인코딩된 표현을 수신하고, 상기 출력 시퀀스를 생성하기 위해 상기 인코딩된 표현들을 프로세싱하도록 구성된다.
일부 양태에서, 상기 히든 LSTM 레이어들은 스택에서 차례로 배치되고, 상기 복수의 히든 LSTM 레이어들은 적어도 7개의 LSTM 레이어들을 포함한다. 일부 양태에서, 상기 복수의 히든 LSTM 레이어들 중 적어도 2개는 잔류 연결(residual connection)로 연결된다.
일부 양태에서, 상기 디코더 서브시스템은: 디코더 신경 네트워크를 포함하며, 상기 디코더 신경 네트워크는: 복수의 LSTM 레이어들, 상기 복수의 LSTM 레이어들은 스택에서 한 LSTM 레이어를 다른 LSTM 레이어 위에 배치되고, 상기 출력 시퀀스에서 복수의 포지션들 각각에 대해: 상기 출력 시퀀스의 선행 포지션에서 주의 컨텍스트 벡터와 상기 출력 토큰을 수신하고, 그리고 상기 포지션에 대한 LSTM 출력을 생성하기 위해 상기 출력 시퀀스의 상기 선행 포지션에서 상기 주의 컨텍스트 벡터와 상기 토큰을 프로세싱하도록 구성되며, 및 소프트맥스 출력 레이어를 포함하며, 상기 소프트맥스 출력 레이어는 상기 복수의 포지션들 각각에 대해, 상기 포지션에 대한 LSTM 출력을 수신하고, 출력 토큰들의 어휘에서 각 출력 토큰에 대해 각각의 스코어를 생성하도록 구성된다.
일부 양태에서, 상기 디코더에서 상기 복수의 LSTM 레이어들은 적어도 8개의 LSTM 레이어들을 포함한다.일부 양태에서, 상기 디코더에서 상기 복수의 LSTM 레이어들은 적어도 8개의 LSTM 레이어들을 포함한다.일부 양태에서, 상기 디코더에서 상기 복수의 히든 LSTM 레이어들 중 적어도 2개는 잔류 연결(residual connection)로 연결된다.일부 양태에서, 상기 스택에서 제1 LSTM 레이어는 상기 복수의 포지션들 각각에 대해: 상기 주의 컨텍스트 벡터를 포함하는 제1 레이어 입력, 상기 스택에서 상기 제1 LSTM 레이어 바로 아래의 LSTM 레이어에 의해 생성된 레이어 출력 및 상기 스택에서 상기 제1 LSTM 레이어 바로 아래의 상기 LSTM 레이어에 대한 레이어 입력을 수신하고, 그리고 제1 레이어 출력을 생성하고 현재 히든 상태를 업데이트하기 위해 상기 제1 LSTM 레이어의 현재 히든 상태에 따라 상기 제1 레이어 입력을 프로세싱하도록 구성된다.
일부 양태에서, 상기 디코더 시스템은: 주의 서브시스템을 포함하며, 상기 주의 서브시스템은 상기 복수의 포지션들 각각에 대해: 상기 선행 포지션에 대한 상기 디코더 신경 네트워크의 LSTM 레이어의 상기 스택에서 하위 LSTM 레이어에 의해 생성된 하위 레이어 출력을 포함하는 주의 입력을 수신하고; 그리고 상기 시간 단계에 대한 상기 주의 컨텍스트 벡터를 생성하기 위해 상기 주의 입력을 프로세싱하도록 구성된다.
일부 양태에서, 상기 시간 단계에 대한 상기 주의 컨텍스트 벡터를 생성하기 위해 상기 하위 레이어 출력 및 상기 입력 시퀀스에서 상기 각 입력 토큰들의 상기 각각의 인코딩된 표현을 프로세싱하는 것은, 상기 복수의 시간 단계들 각각에 대해: 상기 입력 토큰들 각각에 대한 각각의 스코어를 생성하기 위해 상기 하위 레이어 출력 및 상기 인코딩된 표현들을 하나 이상의 신경 네트워크 레이어들을 통해 프로세싱하는 것; 상기 각각의 스코어들로부터 상기 입력 토큰들 각각에 대해 각각의 가중치를 생성하는 것; 및 상기 가중치들에 따라 상기 인코딩된 표현들의 가중 합을 결정하는 것을 포함한다.
일부 양태에서, 입력 및 출력 토큰들은 단어조각들이다.
일부 양태에서, 상기 인코더 신경 네트워크 및 상기 디코더 서브시스템은 상기 출력 시퀀스의 생성 동안에 양자화된 계산들을 수행하도록 구성된다.
다른 양태들은 명령어들이 인코딩된 하나 이상의 컴퓨터 저장 매체를 포함하며, 상기 명령어들은 하나 이상의 컴퓨터들에 의해 실행될 때 상기 하나 이상의 컴퓨터들로 하여금 상기 양태들 중 임의의 시스템을 구현하게 한다.
일부 다른 양태들은 단어들의 제1 시퀀스의 제2 자연어로의 번역인 단어들의 제2 시퀀스를 표현하는 출력 토큰들의 출력 시퀀스를 생성하는 방법을 포함하며, 상기 방법은: 신경 기계 번역 시스템으로부터 복수의 후보 출력 시퀀스들을 획득하는 단계; 상기 신경 기계 번역 시스템에 의한 추가적 고려를 위해 빔(beam)에서 상기 후보 출력 시퀀스들의 최대한의 미리 결정된 수를 유지하는 단계를 포함하며, 상기 유지하는 단계는: 각 후보 출력 시퀀스에 각각의 스코어를 할당하는 단계; 상기 각각의 스코어들에 기초하여 상기 후보 출력 시퀀스들을 랭킹하는 단계; 상기 빔으로부터 상기 랭킹에 따른 최상위 랭킹의 후보 출력 시퀀스들의 상기 미리 결정된 수가 아닌 모든 후보 출력 시퀀스들을 제거하는 단계; 상기 빔에서 상기 후보 출력 시퀀스들 중 임의의 것이 상기 신경 기계 번역 시스템에 의해 최종화된 후보 출력 시퀀스로서 식별되었는지 여부를 결정하는 단계; 및 상기 후보 출력 시퀀스들 중 적어도 하나가 최종화된 후보 출력 시퀀스로서 식별된 경우: 상기 빔으로부터 최상위 랭킹된 최종화된 후보 출력 시퀀스에 대한 상기 스코어보다 낮은 임계값보다 높은 스코어를 모든 후보 출력 시퀀스들을 제어하는 단계를 포함한다.
일부 양태에서, 상기 후보 출력 시퀀스들 중 임의의 것이 상기 신경 기계 번역 시스템에 의해 최종화된 후보 출력 시퀀스로서 식별되었는지 여부를 결정하는 단계는: 상기 후보 출력 시퀀스들 중 임의의 것이 미리 결정된 문장-종료 출력 토큰(end-of-sentence output token)으로 끝나는지 여부를 결정하는 것을 포함한다.
일부 양태에서, 각 후보 출력 시퀀스에 각각의 스코어를 할당하는 단계는: 상기 신경 기계 번역 시스템에 의해 생성된 출력 스코어들에 따라 상기 후보 출력 시퀀스의 로그 가능성을 결정하는 것; 및 길이 정규화 로그 가능성(length normalized log likelihood)을 생성하기 위해 상기 후보 출력 시퀀스에서 출력 토큰들의 수에 기초하여 상기 로그 가능성을 정규화하는 것을 포함한다.
일부 양태에서, 각 후보 출력 시퀀스에 대해 각각의 스코어를 할당하는 단계는: 상기 제1 시퀀스에서 상기 단어들을 완전히 커버하는 후보 출력 시퀀스들을 선호하도록 커버리지 패널티(coverage penalty)를 사용하여 상기 길이 정규화 로그 가능성을 수정하는 것을 더 포함한다.
일부 양태에서, 상기 빔에서 모든 후보 출력 시퀀스들이 상기 신경 기계 번역 시스템에 의해 최종화된 후보 출력 시퀀스로서 식별된 경우, 가장 높게 스코어링된 후보 출력 시퀀스를 상기 출력 시퀀스로서 선택하는 단계를 더 포함한다.
다른 양태들은 명령어들이 인코딩된 하나 이상의 컴퓨터 저장 매체를 포함하며, 상기 명령어들은 하나 이상의 컴퓨터들에 의해 실행될 때 상기 하나 이상의 컴퓨터들로 하여금 상기 방법들 중 임의의 것을 구현하게 한다.
다른 양태들은 하나 이상의 컴퓨터들과 명령어들이 저장된 하나 이상의 저장 디바이스들을 포함하는 시스템을 포함하며, 상기 명령어들은 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 상기 방법들 중 임의의 것을 수행하게 한다.
본 명세서에 기술된 본 발명의 특정한 실시예들은 다음의 이점들을 실현하도록 구현될 수 있다.
양방향 LSTM 레이어를 인코더의 하위 레이어로 사용함으로써, 입력 시퀀스에서 단어들에 대한 컨텍스트를 효과적으로 캡처할 수 있고, 번역 품질이 향상시킨다. 다른 인코더 레이어들은 단방향이므로 계산 중에 병렬화를 계속 수행할 수 있고, 트레이닝을 감소시키며 일부 경우에 추론 시간도 감소시킨다.
인코더와 디코더 둘 모두에서 LSTM 레이어들 딥 스택, 예를 들어 디코더와 인코더 각각에서 총 8개 이상의 LSTM 레이어들을 사용함으로써, 인코더와 디코더 둘 모두 소스 및 타겟 언어의 미세한 불규칙성들을 캡처하기에 충분할 정도로 깊으며(deep), 시스템에 의해 생성된 번역의 정확성을 향상시킨다.
주의 서브시스템을 통해 디코더의 하위 레이어를 인코더의 상위 레이어에 연결함으로써, 병렬처리(parallelism)이 증가될 수 있고, 그에 따라 디코더 신경 네트워크로 하여금 소스 시퀀스를 정확하게 번역하게 하는 효과적인 주의 스키마를 여전히 이용하면서도 트레이닝 시간이 감소될 수 있다.즉, 주의 서브시스템이 디코더에서 다른 임의의 LSTM 레이어들로부터가 아닌 디코더에서 하위 LSTM 레이어로부터 입력을 수신하기 때문에, 그리고 통상적인 주의 스키마들과 달리, 주의 서브시스템에 의해 수행되는 계산은 번역의 품질에 악영향을 미치지 않고 다른 LSTM 레이어들에 의해 수행되는 계산들과 병렬로 효과적으로 수행될 수 있다.
본 명세서에서 기술되는 바와 같이, 추론 계산 중에 저-정밀도 산술, 즉 양자화된 계산을 이용함으로써, 높은 번역 품질을 유지하면서도 최종 번역 시간을 가속화할 수 있다.
기술된 빔 검색 기법들을 사용하여 디코딩함으로써, 추론시의 번역 시간은 종래의 빔 검색 기법들에 비해 높은 번역 품질을 유지하면서 감소될 수 있다.
본 명세서에서 본 발명의 하나 이상의 실시예들의 세부 사항은 첨부 도면과 아래의 설명에서 기술된다.본 발명의 다른 구성들, 양태들 및 이점들은 설명, 도면 및 청구항으로부터 명백해질 것이다.
도 1은 예시적 신경 기계 번역 시스템을 도시한다.
도 2는 입력 시퀀스의 번역을 생성하는 예시적 프로세스의 흐름도이다.
도 3은 입력 시퀀스에서 토큰들의 인코딩된 표현들을 생성하는 예시적 프로세스의 흐름도이다.
도 4는 출력 시퀀스에서 포지션에 대한 출력을 생성하는 예시적 프로세스의 흐름도이다.
도 5는 주의 벡터를 생성하는 예시적 프로세스의 흐름도이다.
도 6는 후보 출력 시퀀스들의 빔을 유지하는 예시적 프로세스의 흐름도이다.
다양한 도면들에서 동일한 참조 번호 및 기호는 동일한 구성요소를 표시한다.
도 1은 예시적 신경 기계 번역 시스템(100)을 도시한다. 신경 기계 번역 시스템(100)은 이하에 기술된 시스템들, 컴포넌트들 및 기법들이 구현될 수 있는, 하나 이상의 위치들의 하나 이상의 컴퓨터들에서 컴퓨터 프로그램들로서 구현된 시스템의 예시이다.
신경 기계 번역 시스템(100)은 소스 자연어의 단어들의 소스 시퀀스들을 타겟 자연어의 단어들의 타겟 시퀀스들로 번역하며, 예를 들어, 영어 문장들 또는 문구들을 프랑스어 문장들 또는 문구들로, 영어 문장들 또는 문구들을 독일어 문장들 또는 문구들로 또는 한국어 문장들 또는 문구들을 스페인어 문장들 또는 문구들로 번역한다. 예를 들면, 신경 기계 번역 시스템(100)은 소스 자연어의 소스 시퀀스(102)를 수신하고 상기 소스 시퀀스(102)의 타겟 자연어로의 번역인 타겟 시퀀스(152)를 생성할 수 있다.
신경 기계 번역 시스템은 인코더 신경 네트워크(110), 디코더 신경 네트워크(120) 및 주의 서브시스템(130)을 포함한다.
인코더 신경 네트워크(110)에 대한 입력을 생성하기 위해, 신경 기계 번역 시스템(100)은 소스 시퀀스(102)를 입력 토큰들의 입력 시퀀스(104)로 토큰화한다. 일반적으로, 입력 시퀀스(104) 내의 각 입력 토큰은 단어 유닛들의 세트 각각에 대한 각각의 토큰을 포함하는 입력 토큰들의 어휘로부터 선택된다. 또한, 단어 유닛들에 더하여, 입력 토큰의 어휘는 문장-시작 토큰 및 문장-종료 토큰과 같은 하나 이상의 특수 지정 토큰들을 포함한다. 일부 구현예에서, 단어 유닛들은 소스 자연어의 단어들이다. 다른 구현예에서, 단어 유닛들의 일부 또는 전부는 문자, 혼합된 단어/문자 등과 같은 하위 단어 유닛들이다.
특히, 일부 구현예들에서, 단어 유닛들은 단어조각들이고, 시스템(100)은 트레이닝된 단어조각 기계 학습 모델을 사용하여 우선 시퀀스에서 단어들을 단어조각들로 분해함으로써 소스 시퀀스(102)를 토큰화하며, 상기 트레이닝된 기계 학습 모델은 단어들을 단어조각들로 분해하고 특수 단어 경계 기호들을 포함하여 원래의 단어 시퀀스가 불명료함 없이 단어조각 시퀀스로부터 복구될 수 있도록 트레이닝된다. 시퀀스들을 단어조각들로 토큰화하는 예시적 방법은 Schuster, M., and Nakajima, K. Japanese and Korean voice search. 2012 IEEE International Conference on Acoustics, Speech and Signal Processing (2012) 및 Sennrich, R., Haddow, B., and Birch, A. Neural machine translation of rare words with subword units. Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (2016)에 기술된다.
인코더 신경 네트워크(110)는 입력 시퀀스(104)를 수신하고, 상기 입력 시퀀스(104)를 프로세싱하여 상기 입력 시퀀스(104)의 각 토큰의 각각의 인코딩된 표현(112)을 생성하도록 구성된다.
일반적으로, 인코더 신경 네트워크(110)은 다수의 장단기 메모리(LSTM) 신경 네트워크 레이어들을 포함한다. 특히, 인코더 신경 네트워크(110)는 단방향 LSTM 레이어들의 스택(116)이 후속하는 양방향 LSTM 레이어(114)를 포함한다. 일부 경우들에서, 스택(116) 내의 LSTM 레이어들 중 2개 이상은 잔류 연결(residual connection)(118)로 연결된다. 인코더 신경 네트워크의 동작은 도 2 및 도 3을 참조하여 아래에서 더 상세히 기술될 것이다.
디코더 신경 네트워크(120) 및 주의 서브시스템(130)은 인코딩된 표현들(112)을 프로세싱하여 출력 어휘로부터의 출력 토큰들을 포함하는 출력 시퀀스(142)를 생성하도록 구성된다.
일반적으로, 출력 어휘는 타겟 자연어에서 단어들의 단어 유닛들의 세트 각각에 대한 각각의 토큰을 포함한다. 또한, 단어 유닛들에 더하여, 예를 들어 문장-종료 토큰과 같은 하나 이상의 특수 지정 토큰들을 포함한다. 일부 구현예에서, 단어 유닛들은 타겟 자연어의 단어들이다. 일부 다른 구현예들에서, 단어 유닛들은 타겟 자연어에서 단어들에 대한 하위-단어 유닛들 예를 들어, 문자들, 혼합된 단어/문자들, 단어조각들 등이다. 경우에 따라, 단어 유닛들이 단어 조각들인 경우, 단어조각 모델은 문자열들이 소스 시퀀스로부터 타겟 시퀀스로 복사되도록 소스와 타겟 언어 간에 공유된다.
일반적으로, 출력 시퀀스(142)에서 각 포지션에 대해, 디코더 신경 네트워크(120)는 출력 시퀀스(142)의 선행 포지션에서 토큰을 수신하도록 예를 들어, 출력 시퀀스(142)의 제2 포지션에서 토큰(128)을 수신하도록 구성된다. 또한, 디코더 신경 네트워크(120)는 포지션에 대해 주의 서브시스템(130)에 의해 생성된 주의 컨텍스트 벡터 예를 들어, 출력 시퀀스(142)의 제2 포지션에 대한 주의 컨텍스트 벡터(132)를 수신하고, 선행 토큰 및 주의 컨텍스트 벡터를 프로세싱하여 출력 어휘에서 각 출력 토큰에 대한 각각의 스코어를 포함하는 스코어들의 세트를 생성하도록 구성된다.
특히, 디코더 신경 네트워크(120)는 LSTM 레이어들 및 소프트맥스 출력 레이어(124)의 스택(122)을 포함한다. 각 포지션에서, LSTM 레이어들의 스택(122)은 선행 토큰 및 주의 컨텍스트 벡터를 프로세싱하여 상기 포지션에 대한 LSTM 출력을 생성하도록 구성되며, 소프트맥스 출력 레이어(124)는 LSTM 출력을 프로세싱하여 상기 포지션에 대한 스코어들의 세트를 생성하도록 구성된다. 일부 구현예에서, 인코더 신경 네트워크(110)와 마찬가지로, 스택(122) 내의 LSTM 레이어들 중 2개 이상은 잔류 연결(residual connection)(126)로 연결된다.
디코더 신경 네트워크의 동작은 도 4를 참조하여 아래에서 더 상세히 기술될 것이다.
주의 서브시스템(130)은 출력 시퀀스 내의 각 포지션에서, 선행 포지션에서 스택(122) 내의 하위 LSTM 레이어에 의해 생성된 LSTM 출력을 수신하고, 상기 수신된 LSTM 출력을 사용하여 상기 포지션에 대한 주의 컨텍스트 벡터를 생성하도록 구성된다. 일반적으로, 주의 컨텍스트 벡터는 상기 수신된 LSTM 출력에 기초하여 결정되는 가중화된 합계의 가중치들을 가지는, 인코딩된 표현들(112)의 가중화된 합이다. 주의 서브시스템의 동작은 도 5를 참조하여 아래에서 더 상세히 기술될 것이다.
출력 시퀀스(142)의 주어진 포지션에서 출력을 생성하기 위해, 시스템(100)은 포지션 내의 스코어들의 세트에서 스코어들에 기초하여, 즉 가장 높은 스코어를 갖는 토큰을 선택하거나 또는 출력 토큰들의 어휘로부터 스코어들에 따라 토큰을 샘플링함으로써 토큰을 선택한다.
시스템(100)은 시스템(100)이 출력 시퀀스(142)에서 현재 위치에 대한 문장-종료 출력 토큰을 선택할 때까지, 토큰을 선택하고 출력 시퀀스에 토큰을 추가하는 것을 계속한다. 일단 문장-종료 출력 토큰이 선택되면, 시스템(100)은 문장-종료 출력 앞에서 출력 시퀀스(142)에 추가된 출력들을 최종 출력 시퀀스(142)로서 취급한다.
일부 구현예들에서, 시스템(100)은 빔 검색(beam search)을 사용하여 출력 시퀀스(142)를 생성한다. 즉, 시스템(100)은 병렬로 프로세싱되고 확장되는 다수의 후보 출력 시퀀스들의 빔을 유지하고, 빔 내의 모든 후보 출력 시퀀스들이 최종화되거나 빔으로부터 잘라내어질 때까지 프로세싱을 계속한다. 빔을 유지하고 업데이트하기 위한 예시적 기법은 도 6을 참조하여 아래에 기술된다.
일단 출력 시퀀스(142)가 생성되면, 시스템(100)은 출력 시퀀스(142)의 토큰들에 의해 표현된 단어 유닛들을 타겟 언어의 단어들로 변환함으로써 타겟 시퀀스(152)를 생성한다.
일부 구현예에서, 인코더 신경 네트워크(100) 및 디코더 서브시스템, 즉 디코더 신경 네트워크(120) 및 주의 서브시스템(130)은 출력 시퀀스(142)의 생성 중에 양자화된 계산들을 수행하도록 구성된다. 특히, 일부 구현예에서, 인코더 신경 네트워크(100) 및 디코더 서브시스템은 예를 들어, 오류-감지 누적기 값들이 16비트 정수 값들을 사용하여 저장되며 8비트 정수 연산들을 사용하는 매트릭스 곱셈기와 같이, 계산 집약적 연산들을 수행한다. 일부 구현예에서, 인코더 및 디코더 신경 네트워크들의 LSTM 스택들 내의 계산들만 양자화된다. 즉, 소프트맥스 출력 레이어 또는 주의 서브시스템의 계산들은 양자화되지 않는다.
도 2는 입력 시퀀스의 번역인 출력 시퀀스를 생성하는 예시적 프로세스(200)의 흐름도이다. 편의상, 프로세스(200)는 하나 이상의 위치들에 위치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 기술될 것이다. 예를 들면, 적절하게 프로그래밍된 신경 기계 번역 시스템 예를 들어, 도 1의 신경 기계 번역 시스템(100)은 프로세스(200)를 수행할 수 있다.
시스템은 토큰들의 입력 시퀀스를 수신한다(단계(202)). 토큰들의 입력 시퀀스는 자연어에서 단어들의 제1 시퀀스를 표현하는 시퀀스이다.
시스템은 인코더 신경 네트워크를 사용하여 토큰들의 입력 시퀀스를 프로세싱하여 입력 시퀀스에서 토큰들 각각에 대한 각각의 인코딩된 표현을 생성한다(단계(204)). 토큰들의 입력 시퀀스를 프로세싱하는 것은 도 3을 참조하여 아래에서 기술될 것이다.
시스템은 디코더 서브시스템을 사용하여 인코딩된 표현들을 프로세싱하여 단어들의 제1 시퀀스의 다른 자연어로의 번역인 단어들의 시퀀스를 표현하는 출력 토큰들의 출력 시퀀스를 생성한다(단계(206)). 특히, 디코더 서브시스템은 디코더 신경 네트워크 및 주의 서브시스템을 포함한다. 디코더 서브시스템을 사용하여 인코딩된 표현들을 프로세싱하는 것은 도 4 및 도 5을 참조하여 아래에서 더 상세히 기술될 것이다.
도 3은 입력 시퀀스에서 토큰들의 인코딩된 표현들을 생성하는 예시적 프로세스(300)의 흐름도이다. 편의상, 프로세스(300)는 하나 이상의 위치들에 위치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 기술될 것이다. 예를 들면, 적절하게 프로그래밍된 인코더 신경 네트워크 예를 들어, 도 1의 신경 기계 번역 시스템(100)의 인코더 신경 네트워크는 프로세스(300)를 수행할 수 있다.
인코더 신경 네트워크는 입력 포워드(forward) LSTM 레이어를 통해 입력 시퀀스를 프로세싱한다(단계(302)). 입력 포워드 LSTM 레이어는 입력 시퀀스에서 각 입력 토큰을 포워드 순서(forward order)로 프로세싱하여 각 입력 토큰의 각각의 포워드 표현을 생성하도록 구성된다.
인코더 신경 네트워크는 입력 백워드(backward) LSTM 레이어를 통해 입력 시퀀스를 프로세싱한다(단계(304)). 입력 백워드 LSTM 레이어는 입력 시퀀스에서 각 입력 토큰을 백워드 순서(backward order)로 프로세싱하여 각 입력 토큰의 각각의 포워드 표현을 생성하도록 구성된다.
인코더 신경 네트워크는 결합 레이어를 통해 입력 토큰들의 포워드 및 백워드 표현들을 프로세싱한다(단계(306)). 결합 레이어는 각 입력 토큰에 대해, 입력 토큰의 결합된 표현을 생성하기 위해 입력 토큰의 포워드 표현과 입력 토큰의 백워드 표현을 결합, 예를 들어 이어 붙이도록 구성된다.
인코더 신경 네트워크는 다수의 히든 LSTM 레이어의 스택을 통해 입력 토큰들의 결합된 표현들을 프로세싱한다(단계(308)). 다수의 히든 LSTM 레이어들은 각 결합된 표현을 포워드 순서로 프로세싱하여 입력 시퀀스에서 각 입력 토큰들의 각각의 인코딩된 표현을 생성하도록 구성된다. 특히, 다수의 히든 LSTM 레이어들은 차례로 스택에 배열되고, 주어진 입력 토큰의 인코딩된 표현은 주어진 입력 토큰의 결합된 표현이 스택을 통해 프로세싱된 후에 스택에서 가장 높은 LSTM 레이어의 출력이다.
따라서, 인코더 신경 네트워크의 하위 레이어는 양방향 LSTM 레이어 즉, 입력 포워드, 입력 백워드 및 결합 레이어의 결합은 포워드 및 백워드 방향들 둘 모두에서 입력 시퀀스를 효과적으로 프로세싱하며, 인코더의 하위 레이어에 따라, 입력 시퀀스 단어들에 대한 컨텍스트는 효과적으로 캡처되어 번역 품질을 개선한다. 다른 인코더 레이어들 즉, 스택에서 히든 LSTM 레이어는 단방향이므로 계산 중에 병렬화를 계속 수행할 수 있고, 트레이닝을 감소시키며 일부 경우에 추론 시간도 감소시킨다.
일반적으로, 인코더 신경 네트워크가 소스 언어에서 미묘한 불규칙성을 효과적으로 캡처하게 하기 위해, 스택에는 많은 즉, 7개 이상의 히든 LSTM 레이어들이 있다.
트레이닝 동안에 히든 레이어들 간 경사도 흐름을 장려함으로써 인코더 신경 네트워크의 성능을 개선하기 위해, 일부 구현예들에서, 인코더 신경 네트워크는 스택의 히든 레이어들 전부 또는 일부 간에 잔류 연결들을 포함한다. 예를 들면, 일부 구현예에서, 잔류 연결은 인코더의 바닥에서 세 번째 레이어로부터 즉, 히든 레이어들의 스택의 바닥으로부터 두 번째 레이어로부터 시작한다.
잔류 연결이 LSTM 레이어 A와 LSTM 레이어들의 스택에서 레이어 A 바로 위의 LSTM 레이어 B 사이에 포함된 경우, 레이어 B는 레이어 A의 출력 및 레이어 A에 대한 입력 둘 모두를 입력으로서 수신한다. 그 다음, 레이어 B는 레이어 A의 출력과 레이어 A의 입력을 요소별로 추가하고, 그 다음 합계를 레이어의 새로운 입력으로서 프로세싱한다.
도 4는 출력 시퀀스에서 주어진 포지션에 대한 출력을 생성하는 예시적 프로세스(400)의 흐름도이다. 편의상, 프로세스(400)는 하나 이상의 위치들에 위치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 기술될 것이다. 예를 들면, 적절하게 프로그래밍된 디코더 신경 네트워크 예를 들어, 도 1의 신경 기계 번역 시스템(100)의 디코더 신경 네트워크는 프로세스(400)를 수행할 수 있다.
디코더 신경 네트워크는 주어진 포지션에 대한 주의 컨텍스트 벡터 및 선행 포지션 즉, 출력 시퀀스에서 주어진 포지션에 바로 앞에 선행 포지션에서의 출력 토큰을 획득한다(단계(402)). 일반적으로, 주의 컨텍스트 벡터는 주의 서브시스템에 의해 생성되었던 입력 시퀀스에서 입력 토큰들의 인코딩된 표현들에 대한 가중화된 합이다. 주어진 포지션에 대한 주의 컨텍스트 벡터를 생성하는 것은 도 5를 참조하여 아래에서 더 상세히 기술된다. 주어진 포지션이 출력 시퀀스에서 첫 번째 포지션인 경우 즉, 바로 앞에 선행하는 포진션이 없는 경우, 수신된 출력 토큰은 지정된 플레이스홀더(placeholder) 토큰 즉, 미리 결정된 문장-시작 토큰일 수 있다.
디코더 신경 네트워크는 LSTM 레이어들의 스택을 통해 주의 컨텍스트 벡터 및 출력 토큰을 프로세싱하여 포지션에 대한 LSTM 출력을 생성한다(단계(404)). 일반적으로, 디코더 신경 네트워크가 타겟 언어에서 미묘한 불규칙성들을 캡처하게 하기 위해, LSTM 레이어들의 스택은 많은 LSTM 레이어들 예를 들어, 8개 이상의 LSTM 레이어들을 포함한다.
스택 내의 제1 LSTM 레이어 즉, 하위 LSTM 레이어는 주의 컨텍스트 벡터 및 출력 토큰을 수신하고 하위 레이어 출력을 생성하기 위해 출력 토큰을 프로세싱하도록 구성된다. 스택에서 각각의 다른 LSTM 레이어는 주의 컨텍스트 벡터와 스택에서 바로 앞의 레이어인 상기 LSTM 레이어에 의해 생성된 레이어 출력을 포함하는 입력을 수신하고, 입력에 대한 레이어 출력을 생성하기 위해 입력을 프로세싱하도록 구성된다.
인코더 신경 네트워크와 같이, 일부 구현예들에서, 트레이닝 동안에 레이어들 간 경사도 흐름을 장려함으로써 디코더 신경 네트워크의 성능을 개선하기 위해, 디코더 신경 네트워크는 스택의 레이어들 전부 또는 일부 간에 잔류 연결들을 포함한다. 예를 들면, 일부 구현예들에서, 잔류 연결은 디코더의 바닥으로부터 세 번째 레이어로부터 시작한다.
디코더 신경 네트워크는 소프트맥스 출력 레이어를 통해 LSTM 출력을 프로세싱하여 출력 토큰들의 어휘에서 각 출력 토큰에 대해 각각의 스코어 예를 들어, 각각의 확률을 생성한다.
그 다음, 시스템은 스코어들을 사용하여 포지션에 대한 출력 토큰을 선택하거나 또는 아래에 기술되는 바와 같이 후보 출력 시퀀스들의 유지된 빔을 업데이트하기 위해 스코어들을 사용할 수 있다.
도 5는 출력 시퀀스에서 주어진 포지션에 대한 주의 컨텍스트 벡터를 생성하는 예시적 프로세스(500)의 흐름도이다. 편의상, 프로세스(500)는 하나 이상의 위치들에 위치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 기술될 것이다. 예를 들면, 적절하게 프로그래밍된 주의 서브시스템 예를 들어, 도 1의 신경 기계 번역 시스템(100)의 주의 서브시스템은 프로세스(500)를 수행할 수 있다.
주의 서브시스템은 출력 시퀀스에서 선행 포지션에 대한 디코더 신경 네트워크의 LSTM 레이어들의 스택에서 하위 레이어에 의해 생성된 LSTM 출력을 수신한다(단계(502)). 특히, 주의 서브시스템은 출력 시퀀스에서 선행 포지션에 대한 프로세싱 동안에 디코더 스택에서 하위 LSTM 레이어에 의해 생성된 출력 (및 입력 토큰의 인코딩된 표현들)으로부터만 주의 컨텍스트 벡터를 생성하며 즉, 디코더 스택에서 다른 LSTM 레이어들의 출력들로부터 생성하지 않는다. 이로 인해, 주의 컨텍스트 벡터의 생성은 선행 포지션에서 출력 토큰의 생성이 완료되지 전에 개시될 수 있고, 시스템에 의해 수행되는 동작들의 병렬화를 개선하고 추론을 수행하고 시스템을 트레이닝하는데 필요한 시간을 감소시킨다.
출력 시퀀스에서 첫 번째 포지션에 대해, 주의 서브시스템에 의해 수신된 LSTM 출력은 플레이스홀더 출력이거나 예를 들어 입력 시퀀스에서 토큰들 중 하나의 인코딩된 표현 예를 들어, 첫 번째 토큰 또는 마지막 토큰일 수 있다.
주의 서브시스템은 하위 LSTM 출력으로부터 인코딩된 표현 및 입력 토큰들에 대해 인코딩된 표현들 각각에 대해 각각의 주의 가중치를 생성한다(단계(504)). 특히, 시스템은 주의 함수를 하위 LSTM 출력 및 입력 토큰들에 대한 인코딩된 표현들에 적용하여 인코딩된 표현들 각각에 대해 각각의 스코어를 생성하고, 그 다음 생성된 스코어들을 정규화함으로써 가중치들을 생성한다. 일부 구현예에서, 주의 함수는 피드포워드 신경 네트워크 예를 들어, 하나의 히든 레이어를 가지는 피드포워드 신경 네트워크이다. 다른 구현예에서, 주의 함수는 거리 함수, 예를 들어, 코사인 유사성 함수일 수 있다.
주의 서브시스템은 대응하는 주의 가중치들에 따라 인코딩된 표현들의 가중화된 합을 결정함으로써 출력 포지션에 대한 주의 컨텍스트 벡터를 생성한다(단계(506)).
도 6는 후보 출력 시퀀스들의 빔을 유지하는 예시적 프로세스(600)의 흐름도이다. 편의상, 프로세스(600)는 하나 이상의 위치들에 위치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 기술될 것이다. 예를 들면, 적절하게 프로그래밍된 신경 기계 번역 시스템 예를 들어, 도 1의 신경 기계 번역 시스템(100)은 프로세스(600)를 수행할 수 있다.
시스템은 빔 검색 디코딩 절차의 일부로서 프로세스(600)를 반복적으로 수행할 수 있다. 특히, 시스템은 빔에서 모든 시퀀스들이 최종화되거나 디코딩에 대한 일부 다른 종료 기준이 만족될 때까지 예를 들어, 후보 출력 시퀀스들 중 특정 수만이 빔에 남아있는 시퀀스에 대해 기준을 만족하거나 빔에서 가장 긴 후보 출력 시퀀스가 임계수보다 많은 토큰들을 가질 때까지 프로세스(600)를 반복적으로 수행한다.
시스템은 신경 기계 번역 시스템 예를 들어, 도 1의 신경 기계 번역 시스템(100)으로부터 복수의 후보 출력 시퀀스들을 획득한다(단계(602)). 특히, 후보 출력 시퀀스들은 프로세스(600)의 선행하는 반복의 종료시 빔에 있던 각각 최종화된 후보 시퀀스를 포함할 수 있고, 프로세스(600)의 선행하는 반복의 종료시 빔에 있었지만 최종화되지 않은 각 후보 시퀀스에 대해, 후보 출력 시퀀스의 하나 이상의 확장들을 포함한다. 후보 시퀀스의 확장은 후보 시퀀스의 끝에 첨부된 새로운 토큰이며, 후보 시퀀스의 각 확장은 시퀀스의 끝에 첨부된 상이한 토큰을 가진다. 또한, 시스템은 각 확장에 대해, 신경 기계 번역 시스템에 의해 생성되는 것으로서 시퀀스의 끝에 첨부된 토큰에 대한 로컬 스코어를 획득한다.
일부 구현예들에서, 빔에 있었지만 최종화되지 않은 각 후보 시퀀스에 대해, 시스템은 가장 높은 로컬 스코어 미만의 임계값보다 큰 로컬 스코어를 가지는 후보 시퀀스의 확장들을 폐기한다.
그 다음, 시스템은 신경 기계 번역 시스템에 의해 추가적 고려를 위해 즉, 신경 기계 번역 시스템에 의한 추가적 프로세싱을 위해 빔에서 후보 출력 시퀀스들의 가장 많은 미리 결정된 수를 유지한다.
특히, 어느 후보 출력 시퀀스를 빔에서 유지할 지 결정하기 위해, 시스템은 후보 출력 시퀀스들 각각에 대해 각각의 스코어를 할당한다(단계(604)). 일반적으로, 시스템은 시퀀스들 각각에 초기 스코어를 할당하고, 선택적으로, 초기 스코어에 커버리지 패널티, 길이 정규화 패널티 또는 둘 모두를 적용함으로써 각 시퀀스에 대해 초기 스코어를 수정하여 시퀀스에 대한 최종 스코어를 생성한다.
특히, 시스템은 신경 기계 번역 시스템에 의해 생성된 출력 스코어들에 따라 후보 출력 시퀀스의 로그 개연성(log likelihood)에 기초하여 주어진 시퀀스에 대한 초기 스코어를 결정한다. 즉, 상기 기술된 바와 같이, 출력 시퀀스의 각 포지션에서, 신경 기계 번역 시스템은 출력 시퀀스의 다수의 가능한 토큰들 각각에 대해 각각의 스코어를 생성한다. 후보 출력 시퀀스에 대해 초기 스코어를 결정하기 위해, 시스템은 토큰이 위치된 포지션에서 신경 기계 번역 시스템에 의해 시퀀스의 토큰들 각각에 대해 생성된 스코어들의 로그(logarithm)의 합을 결정한다. 번역 시스템에 의해 생성된 스코어들이 일반적으로 확률들이기 때문에, 시퀀스에 대한 초기 스코어는 일반적으로 음수이다. 즉, 0과 1 사이의 숫자의 로그는 음수이기 때문이다.
일부 구현예들에서, 임의의 초기 스코어들을 계산하기 전에, 그리고 프로세스의 이전의 반복으로부터 각 후보 시퀀스에 대해, 시스템은 신경 기계 번역 시스템에 의해 새로운 토큰에 대해 할당된 스코어가 후보 시퀀스의 임의의 확장에 할당된 가장 높은 스코어보다 임계치이상 만큼 낮은 후보 시퀀스의 임의의 확장을 고려로부터 폐기한다.
시스템이 길이 정규화 패널티를 적용하는 구현예에서, 그 다음 시스템은 출력 시퀀스에 있는 출력 토큰들의 수에 기초하여 후보 시퀀스에 대한 초기 스코어를 정규화한다. 일반적으로, 시스템은 초기 스코어를 출력 시퀀스에 있는 출력 토큰들이 많을수록 커지는 패널티 항(penalty term)으로 나누어 패널티를 적용한다. 이렇게 패널티를 이용하는 것은 시스템으로 하여금 긴 것보다 짧은 결과를 과도하게 선호하지 않고 디코딩 중에 상이한 길이들의 후보 시퀀스들을 효과적으로 비교하게 한다. 일부 구현예에서, 패널티 항은 시퀀스의 길이, 즉 시퀀스에 있는 토큰들의 수이다. 다른 구현예에서, 패널티 항은 길이 α이며, 여기서 α는 0과 1 사이의 상수, 예를 들어 .6과 .7 사이의 값이고, 길이는 시퀀스의 길이, 즉 시퀀스의 토큰들 수이다. 또 다른 구현예에서, 패널티 lp는 다음을 만족시킬 수 있고:
Figure pct00001
여기서 b는 양의 상수, 예를 들어 5이고, |Y|는 시퀀스의 길이이고, α는 0과 1 사이의 상수, 예를 들면 .2이다.
시스템이 커버리티 패널티를 적용하는 구현예에서, 시스템은 커버리지 패널티 항을 정규화된 초기 스코어(또는 만약 길이 정규화가 이용되지 않은 경우 초기 스코어)에 더한다. 일반적으로 커버리지 패널티 항은 신경 기계 번역 시스템에 의해 이용된 주의 메커니즘에 의해 결정된 것으로서 제1 시퀀스의 단어들을 완전히 커버하는 후보 출력 시퀀스를 선호한다. 예를 들면, 커버리지 패널티 항 cp는 다음을 만족시킬 수 있고:
Figure pct00002
여기서 β는 0과 1 사이의 양의 상수 값, 예를 들어 .2이고, i는 입력 시퀀스의 토큰들에 대한 범위이며, j는 후보 출력 시퀀스의 토큰에 대한 범위이며,
Figure pct00003
는 j 번째 출력 토큰을 프로세싱할 때 i 번째 입력 토큰에 대한 주의 메커니즘에 의해 생성된 가중치다.
시스템은 최종 스코어들, 즉 가장 높은 최종 스코어를 갖는 후보 출력 시퀀스로부터 가장 낮은 스코어를 갖는 시퀀스에 기초하여, 후보 출력 시퀀스들을 랭킹한다(단계(606)).
시스템은 랭킹에 따라 미리 결정된 수의 가장 높은 랭킹의 후보 출력 시퀀스들이 아닌 모든 후보 출력 시퀀스들을 빔으로부터 제거한다(단계(608)).
그 후, 시스템은 빔 내에 남아있는 후보 출력 시퀀스들 중 임의의 후보 출력 시퀀스가 신경 기계 번역 시스템에 의해 최종화된 것으로 식별되었는지 여부를 결정한다(단계(610)). 일반적으로, 출력 시퀀스는 출력 시퀀스가 지정된 토큰 예를 들어, 미리 결정된 문장-종료 토큰으로 종료하면 최종화된 것으로 식별된다.
적어도 하나의 후보 출력 시퀀스가 최종화되면, 시스템은 가장 높은 랭킹의 최종화된 후보 출력 시퀀스에 대한 스코어보다 낮은 임계 값보다 큰 스코어를 갖는 모든 후보 출력 시퀀스를 빔으로부터 제거한다(단계(612)). 이러한 방식으로 빔을 잘라냄으로써, 시스템은 충분히 높은 품질의 가설이 식별되면 수행될 필요가 있는 추가적 반복의 횟수를 감소시킬 수 있고, 번역 품질에 중대한 영향을 주지 않으면서 추론 시간을 낮춘다. 만약 이러한 추가적인 잘라내기 후에, 빔이 최종화된 시퀀스들만 포함하면, 시스템은 가장 높은 랭킹의 후보 시퀀스를 입력 시퀀스에 대한 번역으로서 선택한다. 빔이 아직 최종화되지 않은 후보 시퀀스들을 포함하고 임의의 기타 종료 기준을 만족하지 않으면, 시스템은 빔에서 최종화되지 않은 후보 시퀀스들을 추가적 프로세싱을 위해 신경 기계 번역 시스템에 제공한다. 즉, 시스템은 빔에서 각 최종화되지 않은 시퀀스를 신경 기계 번역 시스템에 제공하여, 신경 기계 번역 시스템이 각 최종화되지 않은 시퀀스에 대한 가능한 확장들을 스코어링할 수 있도록 한다.
후보 출력 시퀀스들 중 어느 것도 최종화되지 않은 경우, 시스템은 빔을 더 잘라내지 않고, 빔의 후보 출력 시퀀스들을 추가적 프로세싱을 위해 신경 기계 번역 시스템에 제공한다(단계(614)).
본 명세서는 시스템 및 컴퓨터 프로그램 컴포넌트들과 관련하여 "구성된"이라는 용어를 사용한다. 하나 이상의 컴퓨터들의 시스템은 특정한 동작들 또는 액션 수단들을 수행하도록 구성되며, 상기 시스템에 소프트웨어, 펌웨어, 하드웨어 또는 그들의 조합이 설치되어 동작시 상기 시스템으로 하여금 동작들 또는 액션들을 수행하게 한다. 하나 이상의 컴퓨터 프로그램들은 특정한 동작들 또는 액션 수단들을 수행하도록 구성되며, 상기 하나 이상의 프로그램들은 데이터 프로세싱 장치에 의해 실행될 때, 상기 장치로 하여금 동작들 또는 액션들을 수행하게 하는 명령어들을 포함한다.
본 발명의 실시예들과 본 명세서에 기술된 기능적 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는, 디지털 전자회로에서, 유형적으로 수록된 컴퓨터 소프트웨어 또는 펌웨어에서, 컴퓨터 하드웨어에서 구현될 수 있다.
본 명세서에 기술된 본 발명의 실시예들은 하나 이상의 컴퓨터 프로그램들로서 구현될 수 있다. 즉, 데이터 프로세싱 장치에 의해 실행 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 유형적 비일시적인 프로그램 캐리어에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들. 대안적으로 또는 추가로, 프로그램 명령어들은 데이터 프로세싱 장치에 의해 실행하기 위한 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하기 위해 생성된 인공적으로 생성된 전파된 신호 즉, 기계-생성 전기, 광학 또느전자기적 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 기계 판독가능 저장 디바이스, 기계 판독가능 저장 기판, 랜덤 또는 직렬 엑세스 메모리 디바이스 또는 그들 중 하나 이상의 조합일 수 있다.
용어 "데이터 프로세싱 장치"는 예시로서 프로그래머블 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함하는 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스들 및 기계들을 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC (application specific integrated circuit)을 포함할 수 있다. 또한, 장치는 하드웨어 이외에 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 그들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 모듈, 소프트웨어 모듈, 스크립트 또는 코드로도 참조되거나 기술될 수 있음)은 컴파일된 또는 인터프리트된 언어들, 또는 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴으로서 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만, 반드시 그런 것은 아니다. 프로그램은 다른 프로그램들이나 데이터, 예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들을 가지는 파일의 부분에, 문제되는 프로그램 전용 단일의 파일에 또는 다수의 조정된 파일들, 예를 들어, 하나 이상의 모듈들, 서브프로그램 또는 코드의 일부를 저장하는 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치되어 있거나 다수의 사이트들에 걸쳐서 분산되어 있고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 컴퓨터들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 특수 목적 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적절한 컴퓨터들은 예시로서, 일반적 또는 특수 목적 마이크로프로세서들 또는 둘 모두, 또는 임의의 기타 종류의 중앙 프로세싱 유닛을 포함하거나 이에 기초할 수 있다. 일반적으로, 중앙 프로세싱 유닛은 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들을 수행하거나 실행하기 위한 중앙 프로세싱 유닛 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다. 추가로, 컴퓨터는 다른 디바이스, 예를 들어, 몇 가지만 나열하면, 모바일 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스 예를 들어, 범용 직렬 버스 (USB) 플래시 드라이브에 내장될 수 있다.
컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 인터렉션을 제공하기 위해, 본 명세서에서 기술된 본 발명의 실시예들은 사용자에게 정보를 디스플레이하기 위해 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터와 같은 디스플레이 디바이스 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를송수신함으로써 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여, 사용자의 사용자 디바이스상의 웹 브라우저에 웹 페이지를 전송함으로써 사용자와 인터렉션할 수 있다.
본 명세서에서 기술된 발명의 실시예는 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 애플리케이션 서버와 같은 미들웨어 컴포넌트 또는 그래픽 사용자 인터페이스를 가지는 사용자 컴퓨터 또는 사용자가 본 명세서에 기술된 본 발명의 구현예와 인터렉션할 수 있는 웹 브라우저와 같은 프론트엔드 컴포넌트 또는 하나 이상의 상기 백엔드, 미들웨어 또는 프론트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예시들은 LAN(local area network) 및 WAN(wide area network) 예를 들어, 인터넷을 포함한다.
컴퓨팅 시스템은 사용자들 및 서버들을 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 인터렉션한다. 사용자와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 사용자-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다.
본 명세서는 많은 특정 구현 세부내용을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정한 발명의 특정한 실시예에 특정적일 수 있는 구성들에 대한 설명으로 해석되어야 한다. 별개의 실시예의 맥락에서 본 명세서에서 기술되는 일정 구성들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 맥락에서 기술된 다양한 구성들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 서브 조합으로 구현될 수 있다. 게다가, 구성들은 일정 조합으로 동작하고 심지어 초기적으로 그렇게 청구되는 것으로서 상기에서 기술될 수 있지만, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우, 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 안내될 수 있다.
유사하게, 동작들이 특정한 순서로 도면에서 도시되었지만, 이는 상기 동작들이 도시된 특정한 순서로 또는 시계열적 순서로 수행되어야 함을 요구하는 것으로서 또는 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안된다. 특정 환경에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다. 게다가, 상기 기술된 실시예에서 다양한 시스템 모듈들 및 컴포넌트들의 분리는 모든 실시예에서 그러한 분리가 필요한 것으로서 이해되어서는 안되며, 일반적으로 기술된 프로그램 컴포넌트들 및 시스템들은 단일의 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들에 패키징될 수 있다고 이해되어야 한다.
본 발명의 특정한 실시예들이 기술되었다. 다른 실시예들도 다음의 청구항들의 범위 내에 있다. 예를 들면, 청구항들에서 기재된 액션들은 상이한 순서로 수행되고 여전히 원하는 결과들을 달성할 수 있다. 일 예시로서, 첨부 도면들에 도시된 프로세스들은 원하는 결과들을 달성하기 위해 특정한 도시된 순서, 또는 시계열적 순서를 반드시 필요로 하지 않는다. 특정 구현예에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다.

Claims (20)

  1. 하나 이상의 컴퓨터들에 의해 구현되는 신경 기계 번역 시스템으로서, 상기 신경 기계 번역은 제1 자연어에서 단어들의 제1 시퀀스를 표현하는 입력 토큰들의 입력 시퀀스를 수신하고 상기 제1 시퀀스의 제2 자연어로의 번역인 단어들의 제2 시퀀스를 표현하는 출력 토큰들의 출력 시퀀스를 생성하도록 구성되며, 상기 신경 기계 번역 시스템은:
    인코더 신경 네트워크, 상기 인코더 신경 네트워크는:
    각 입력 토큰의 각각의 포워드 표현을 생성하기 위해 포워드 순서로 상기 입력 시퀀스에서 각 입력 토큰을 프로세싱하도록 구성된 입력 포워드 장단기 메모리(LSTM) 레이어,
    각 입력 토큰의 각각의 백워드 표현을 생성하기 위해 백워드 순서로 상기 입력 시퀀스에서 각 입력 토큰을 프로세싱하도록 구성된 입력 백워드 LSTM 레이어,
    상기 입력 시퀀스에서 각 입력 토큰에 대해, 상기 입력 토큰의 결합된 표현을 생성하기 위해 상기 입력 토큰의 상기 포워드 표현과 상기 입력 토큰의 상기 백워드 표현을 결합하도록 구성된 결합 레이어, 그리고
    상기 입력 시퀀스에서 상기 각 입력 토큰들의 각각의 인코딩된 표현을 생성하기 위해 상기 포워드 순서로 각 결합된 표현을 프로세싱하도록 구성된 복수의 히든 LSTM 레이어들을 포함하며; 및
    디코더 서브시스템을 포함하며, 상기 디코더 서브시스템은 상기 입력 시퀀스에서 상기 각 입력 토큰들의 각각의 인코딩된 표현을 수신하고, 상기 출력 시퀀스를 생성하기 위해 상기 인코딩된 표현들을 프로세싱하도록 구성되는 것을 특징으로 하는 신경 기계 번역 시스템.
  2. 청구항 1에 있어서,
    상기 히든 LSTM 레이어들은 스택에서 차례로 배치되고, 상기 복수의 히든 LSTM 레이어들은 적어도 7개의 LSTM 레이어들을 포함하는 것을 특징으로 하는 신경 기계 번역 시스템.
  3. 청구항 2에 있어서,
    상기 복수의 히든 LSTM 레이어들 중 적어도 2개는 잔류 연결(residual connection)로 연결되는 것을 특징으로 하는 신경 기계 번역 시스템.
  4. 청구항 1 내지 3 중 어느 한 항에 있어서,
    상기 디코더 서브시스템은:
    디코더 신경 네트워크를 포함하며, 상기 디코더 신경 네트워크는:
    복수의 LSTM 레이어들, 상기 복수의 LSTM 레이어들은 스택에서 한 LSTM 레이어를 다른 LSTM 레이어 위에 배치되고, 상기 출력 시퀀스에서 복수의 포지션들 각각에 대해:
    상기 출력 시퀀스의 선행 포지션에서 주의 컨텍스트 벡터와 상기 출력 토큰을 수신하고, 그리고
    상기 포지션에 대한 LSTM 출력을 생성하기 위해 상기 출력 시퀀스의 상기 선행 포지션에서 상기 주의 컨텍스트 벡터와 상기 토큰을 프로세싱하도록 구성되며, 및
    소프트맥스 출력 레이어를 포함하며, 상기 소프트맥스 출력 레이어는 상기 복수의 포지션들 각각에 대해, 상기 포지션에 대한 LSTM 출력을 수신하고, 출력 토큰들의 어휘에서 각 출력 토큰에 대해 각각의 스코어를 생성하도록 구성되는 것을 특징으로 하는 신경 기계 번역 시스템.
  5. 청구항 4에 있어서,
    상기 복수의 LSTM 레이어들은 적어도 8개의 LSTM 레이어들을 포함하는 것을 특징으로 하는 신경 기계 번역 시스템.
  6. 청구항 4 또는 5 중 어느 한 항에 있어서,
    상기 복수의 LSTM 레이어들 중 적어도 2개는 잔류 연결로 연결되는 것을 특징으로 하는 신경 기계 번역 시스템.
  7. 청구항 6에 있어서,
    상기 스택에서 제1 LSTM 레이어는 상기 복수의 포지션들 각각에 대해:
    상기 주의 컨텍스트 벡터를 포함하는 제1 레이어 입력, 상기 스택에서 상기 제1 LSTM 레이어 바로 아래의 LSTM 레이어에 의해 생성된 레이어 출력 및 상기 스택에서 상기 제1 LSTM 레이어 바로 아래의 상기 LSTM 레이어에 대한 레이어 입력을 수신하고, 그리고
    제1 레이어 출력을 생성하고 현재 히든 상태를 업데이트하기 위해 상기 제1 LSTM 레이어의 현재 히든 상태에 따라 상기 제1 레이어 입력을 프로세싱하도록 구성되는 것을 특징으로 하는 신경 기계 번역 시스템.
  8. 청구항 4 내지 7 중 어느 한 항에 있어서,
    상기 디코더 시스템은:
    주의 서브시스템을 포함하며, 상기 주의 서브시스템은 상기 복수의 포지션들 각각에 대해:
    상기 선행 포지션에 대한 상기 디코더 신경 네트워크의 LSTM 레이어의 상기 스택에서 하위 LSTM 레이어에 의해 생성된 하위 레이어 출력을 포함하는 주의 입력을 수신하고; 그리고
    상기 시간 단계에 대한 상기 주의 컨텍스트 벡터를 생성하기 위해 상기 주의 입력을 프로세싱하도록 구성되는 것을 특징으로 하는 신경 기계 번역 시스템.
  9. 청구항 8에 있어서,
    상기 시간 단계에 대한 상기 주의 컨텍스트 벡터를 생성하기 위해 상기 하위 레이어 출력 및 상기 입력 시퀀스에서 상기 각 입력 토큰들의 상기 각각의 인코딩된 표현을 프로세싱하는 것은, 상기 복수의 시간 단계들 각각에 대해:
    상기 입력 토큰들 각각에 대한 각각의 스코어를 생성하기 위해 상기 하위 레이어 출력 및 상기 인코딩된 표현들을 하나 이상의 신경 네트워크 레이어들을 통해 프로세싱하는 것;
    상기 각각의 스코어들로부터 상기 입력 토큰들 각각에 대해 각각의 가중치를 생성하는 것; 및
    상기 가중치들에 따라 상기 인코딩된 표현들의 가중 합을 결정하는 것을 포함하는 것을 특징으로 하는 신경 기계 번역 시스템.
  10. 청구항 1 내지 9 중 어느 한 항에 있어서,
    상기 입력 및 출력 토큰들은 단어조각들인 것을 특징으로 하는 신경 기계 번역 시스템.
  11. 청구항 1 내지 10 중 어느 한 항에 있어서,
    상기 인코더 신경 네트워크 및 상기 디코더 서브시스템은 상기 출력 시퀀스의 생성 동안에 양자화된 계산들을 수행하도록 구성되는 것을 특징으로 하는 신경 기계 번역 시스템.
  12. 단어들의 제1 시퀀스의 제2 자연어로의 번역인 단어들의 제2 시퀀스를 표현하는 출력 토큰들의 출력 시퀀스를 생성하는 방법으로서,
    신경 기계 번역 시스템으로부터 복수의 후보 출력 시퀀스들을 획득하는 단계;
    상기 신경 기계 번역 시스템에 의한 추가적 고려를 위해 빔(beam)에서 상기 후보 출력 시퀀스들의 최대한의 미리 결정된 수를 유지하는 단계를 포함하며, 상기 유지하는 단계는:
    각 후보 출력 시퀀스에 각각의 스코어를 할당하는 단계;
    상기 각각의 스코어들에 기초하여 상기 후보 출력 시퀀스들을 랭킹하는 단계;
    상기 빔으로부터 상기 랭킹에 따른 최상위 랭킹의 후보 출력 시퀀스들의 상기 미리 결정된 수가 아닌 모든 후보 출력 시퀀스들을 제거하는 단계;
    상기 빔에서 상기 후보 출력 시퀀스들 중 임의의 것이 상기 신경 기계 번역 시스템에 의해 최종화된 후보 출력 시퀀스로서 식별되었는지 여부를 결정하는 단계; 및
    상기 후보 출력 시퀀스들 중 적어도 하나가 최종화된 후보 출력 시퀀스로서 식별된 경우:
    상기 빔으로부터 최상위 랭킹된 최종화된 후보 출력 시퀀스에 대한 상기 스코어보다 낮은 임계값보다 높은 스코어를 모든 후보 출력 시퀀스들을 제어하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 청구항 12에 있어서,
    상기 신경 기계 번역 시스템은 청구항 1 내지 11 중 어느 한 항의 신경 기계 번역 시스템인 것을 특징으로 하는 방법.
  14. 청구항 12 또는 13 중 어느 한 항에 있어서,
    상기 후보 출력 시퀀스들 중 임의의 것이 상기 신경 기계 번역 시스템에 의해 최종화된 후보 출력 시퀀스로서 식별되었는지 여부를 결정하는 단계는:
    상기 후보 출력 시퀀스들 중 임의의 것이 미리 결정된 문장-종료 출력 토큰(end-of-sentence output token)으로 끝나는지 여부를 결정하는 것을 포함하는 것을 특징으로 하는 방법.
  15. 청구항 12 내지 14 중 어느 한 항에 있어서,
    각 후보 출력 시퀀스에 각각의 스코어를 할당하는 단계는:
    상기 신경 기계 번역 시스템에 의해 생성된 출력 스코어들에 따라 상기 후보 출력 시퀀스의 로그 가능성을 결정하는 것; 및
    길이 정규화 로그 가능성(length normalized log likelihood)을 생성하기 위해 상기 후보 출력 시퀀스에서 출력 토큰들의 수에 기초하여 상기 로그 가능성을 정규화하는 것을 포함하는 것을 특징으로 하는 방법.
  16. 청구항 15에 있어서,
    각 후보 출력 시퀀스에 대해 각각의 스코어를 할당하는 단계는:
    상기 제1 시퀀스에서 상기 단어들을 완전히 커버하는 후보 출력 시퀀스들을 선호하도록 커버리지 패널티(coverage penalty)를 사용하여 상기 길이 정규화 로그 가능성을 수정하는 것을 더 포함하는 것을 특징으로 하는 방법.
  17. 청구항 12 내지 16 중 어느 한 항에 있어서,
    상기 빔에서 모든 후보 출력 시퀀스들이 상기 신경 기계 번역 시스템에 의해 최종화된 후보 출력 시퀀스로서 식별된 경우, 가장 높게 스코어링된 후보 출력 시퀀스를 상기 출력 시퀀스로서 선택하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  18. 명령어들이 인코딩된 하나 이상의 컴퓨터 저장 매체로서, 상기 명령어들은 하나 이상의 컴퓨터들에 의해 실행될 때 상기 하나 이상의 컴퓨터들로 하여금 청구항 1 내지 11 중 어느 한 항의 시스템을 구현하게 하는 것을 특징으로 하는 컴퓨터 저장 매체.
  19. 명령어들이 인코딩된 하나 이상의 컴퓨터 저장 매체로서, 상기 명령어들은 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 청구항 12 내지 17 중 어느 한 항의 각각의 방법들의 동작들을 수행하게 하는 것을 특징으로 하는 컴퓨터 저장 매체.
  20. 하나 이상의 컴퓨터들과 명령어들이 저장된 하나 이상의 저장 디바이스들을 포함하는 시스템으로서, 상기 명령어들은 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 청구항 12 내지 17 중 어느 한 항의 각각의 방법들의 동작들을 수행하게 하는 것을 특징으로 하는 시스템.
KR1020197008608A 2016-09-26 2017-09-25 신경 기계 번역 시스템 KR102323548B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662399990P 2016-09-26 2016-09-26
US62/399,990 2016-09-26
PCT/US2017/053267 WO2018058046A1 (en) 2016-09-26 2017-09-25 Neural machine translation systems

Publications (2)

Publication Number Publication Date
KR20190039817A true KR20190039817A (ko) 2019-04-15
KR102323548B1 KR102323548B1 (ko) 2021-11-08

Family

ID=60084077

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197008608A KR102323548B1 (ko) 2016-09-26 2017-09-25 신경 기계 번역 시스템

Country Status (10)

Country Link
US (2) US11113480B2 (ko)
EP (1) EP3516591A1 (ko)
JP (1) JP6870076B2 (ko)
KR (1) KR102323548B1 (ko)
CN (2) CN113553862A (ko)
DE (2) DE202017105835U1 (ko)
GB (1) GB2556674A (ko)
IE (1) IE20170201A1 (ko)
SG (1) SG10201707936TA (ko)
WO (1) WO2018058046A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210018571A (ko) * 2019-08-05 2021-02-18 강원대학교산학협력단 듀얼 포인터 네트워크를 이용한 복수 개체간 관계를 추출하는 장치 및 방법
US11669694B2 (en) 2020-01-30 2023-06-06 Samsung Electronics Co., Ltd. Electronic device for obtaining sentence corresponding to context information and operating method thereof

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6870076B2 (ja) * 2016-09-26 2021-05-12 グーグル エルエルシーGoogle LLC ニューラル機械翻訳システム
JP6705506B2 (ja) * 2016-10-04 2020-06-03 富士通株式会社 学習プログラム、情報処理装置および学習方法
US10558750B2 (en) * 2016-11-18 2020-02-11 Salesforce.Com, Inc. Spatial attention model for image captioning
JP6736786B2 (ja) * 2017-03-29 2020-08-05 グーグル エルエルシー エンドツーエンドのテキスト音声変換
US11501076B2 (en) 2018-02-09 2022-11-15 Salesforce.Com, Inc. Multitask learning as question answering
CN108388549B (zh) * 2018-02-26 2021-02-19 腾讯科技(深圳)有限公司 信息转换方法、装置、存储介质和电子装置
CN108629743B (zh) * 2018-04-04 2022-03-25 腾讯科技(深圳)有限公司 图像的处理方法、装置、存储介质和电子装置
CN108563640A (zh) * 2018-04-24 2018-09-21 中译语通科技股份有限公司 一种多语言对的神经网络机器翻译方法及系统
CN108932232A (zh) * 2018-05-07 2018-12-04 内蒙古工业大学 一种基于lstm神经网络的蒙汉互译方法
CN108920468B (zh) * 2018-05-07 2019-05-14 内蒙古工业大学 一种基于强化学习的蒙汉双语种互译方法
CN110489761B (zh) * 2018-05-15 2021-02-02 科大讯飞股份有限公司 一种篇章级文本翻译方法及装置
WO2019222751A1 (en) * 2018-05-18 2019-11-21 Google Llc Universal transformers
CN108984539B (zh) * 2018-07-17 2022-05-17 苏州大学 基于模拟未来时刻的翻译信息的神经机器翻译方法
CN109033094A (zh) * 2018-07-18 2018-12-18 五邑大学 一种基于序列到序列神经网络模型的文言文白话文互译方法及系统
US11574122B2 (en) * 2018-08-23 2023-02-07 Shenzhen Keya Medical Technology Corporation Method and system for joint named entity recognition and relation extraction using convolutional neural network
CN109271646B (zh) * 2018-09-04 2022-07-08 腾讯科技(深圳)有限公司 文本翻译方法、装置、可读存储介质和计算机设备
US10672382B2 (en) * 2018-10-15 2020-06-02 Tencent America LLC Input-feeding architecture for attention based end-to-end speech recognition
US10891951B2 (en) 2018-10-17 2021-01-12 Ford Global Technologies, Llc Vehicle language processing
CN109634578B (zh) * 2018-10-19 2021-04-02 北京大学 一种基于文本说明的程序生成方法
CN111178099B (zh) * 2018-11-28 2023-03-10 腾讯科技(深圳)有限公司 一种文本翻译的方法以及相关装置
CN109598334B (zh) * 2018-12-03 2021-06-29 中国信息安全测评中心 一种样本生成方法及装置
US10963652B2 (en) * 2018-12-11 2021-03-30 Salesforce.Com, Inc. Structured text translation
US11822897B2 (en) 2018-12-11 2023-11-21 Salesforce.Com, Inc. Systems and methods for structured text translation with tag alignment
CN109558605B (zh) * 2018-12-17 2022-06-10 北京百度网讯科技有限公司 用于翻译语句的方法和装置
CN111368558B (zh) * 2018-12-25 2024-01-02 Tcl科技集团股份有限公司 基于神经网络的实时翻译方法、智能终端及存储介质
CN111476039B (zh) * 2019-01-04 2023-06-30 深圳永德利科技股份有限公司 智能车载系统的即时语言翻译方法及相关产品
EP3899807A1 (en) 2019-01-23 2021-10-27 Google LLC Generating neural network outputs using insertion operations
JP7229347B2 (ja) * 2019-05-07 2023-02-27 株式会社Nttドコモ 内部状態変更装置
JP7170594B2 (ja) * 2019-06-25 2022-11-14 Kddi株式会社 同一事象に対して時系列に発生した異なるメディアデータを統合した学習モデルを構築するプログラム、装置及び方法
US11983609B2 (en) 2019-07-10 2024-05-14 Sony Interactive Entertainment LLC Dual machine learning pipelines for transforming data and optimizing data transformation
US11250322B2 (en) * 2019-07-15 2022-02-15 Sony Interactive Entertainment LLC Self-healing machine learning system for transformed data
CN110489766B (zh) * 2019-07-25 2020-07-10 昆明理工大学 基于编码归纳-解码推敲的汉-越低资源神经机器翻译方法
CN110442880B (zh) * 2019-08-06 2022-09-30 上海海事大学 一种机器翻译译文的翻译方法、装置及存储介质
CN112765998A (zh) * 2019-11-01 2021-05-07 华为技术有限公司 机器翻译方法、机器翻译模型训练方法、装置及存储介质
CN110941966A (zh) * 2019-12-10 2020-03-31 北京小米移动软件有限公司 机器翻译模型的训练方法、装置及系统
CN111178092B (zh) * 2019-12-20 2023-04-07 沈阳雅译网络技术有限公司 一种动态调整长度惩罚及译文长度的翻译模型优化方法
CN111325000B (zh) 2020-01-23 2021-01-26 北京百度网讯科技有限公司 语言生成方法、装置及电子设备
CN111401078A (zh) * 2020-03-17 2020-07-10 江苏省舜禹信息技术有限公司 神经网络文本翻译模型的运行方法、装置、设备、及介质
CN111523329A (zh) * 2020-04-10 2020-08-11 昆明理工大学 基于编码器-转换器-解码器框架的神经网络机器翻译方法
US11868737B2 (en) * 2020-04-24 2024-01-09 Direct Cursus Technology L.L.C Method and server for processing text sequence for machine processing task
DE102020114046A1 (de) 2020-05-26 2021-12-02 Thomas Eißfeller Neuronales Maschinenübersetzungsverfahren, neuronales Maschinenübersetzungssystem, Lernverfahren, Lernsystem und Programm
US11875131B2 (en) 2020-09-16 2024-01-16 International Business Machines Corporation Zero-shot cross-lingual transfer learning
US20220129645A1 (en) * 2020-10-27 2022-04-28 Samsung Electronics Co., Ltd. Electronic device and method for controlling same
CN112364119B (zh) * 2020-12-01 2023-04-18 国家海洋信息中心 基于lstm编解码模型的海洋浮标轨迹预测方法
US11989528B2 (en) * 2020-12-30 2024-05-21 Direct Cursus Technology L.L.C Method and server for training a machine learning algorithm for executing translation
CN112836485B (zh) * 2021-01-25 2023-09-19 中山大学 一种基于神经机器翻译的相似病历预测方法
US11726750B1 (en) * 2021-11-17 2023-08-15 Outsystems—Software Em Rede, S.A. Constrained decoding and ranking of language models for code generation
WO2023219752A1 (en) * 2022-05-13 2023-11-16 Alexander Waibel Face-translator: end-to-end system for speech-translated lip-synchronized and voice preserving video generation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018094295A1 (en) * 2016-11-18 2018-05-24 Salesforce.Com, Inc. Adaptive attention model for image captioning

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006083690A2 (en) * 2005-02-01 2006-08-10 Embedded Technologies, Llc Language engine coordination and switching
ES2435093B1 (es) * 2012-06-15 2014-12-16 Centro De Investigaciones Energéticas, Medioambientales Y Tecnológicas (Ciemat) Procedimiento de entrenamiento de redes neuronales para detectores centelleadores.
US10181098B2 (en) 2014-06-06 2019-01-15 Google Llc Generating representations of input sequences using neural networks
WO2016065327A1 (en) * 2014-10-24 2016-04-28 Google Inc. Neural machine translation systems with rare word processing
KR102305584B1 (ko) 2015-01-19 2021-09-27 삼성전자주식회사 언어 모델 학습 방법 및 장치, 언어 인식 방법 및 장치
JP6313730B2 (ja) * 2015-04-10 2018-04-18 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited 異常検出システムおよび方法
CN105068998B (zh) * 2015-07-29 2017-12-15 百度在线网络技术(北京)有限公司 基于神经网络模型的翻译方法及装置
US10606846B2 (en) * 2015-10-16 2020-03-31 Baidu Usa Llc Systems and methods for human inspired simple question answering (HISQA)
JP6876061B2 (ja) * 2016-01-26 2021-05-26 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. ニューラル臨床パラフレーズ生成のためのシステム及び方法
JP6870076B2 (ja) * 2016-09-26 2021-05-12 グーグル エルエルシーGoogle LLC ニューラル機械翻訳システム
US10733380B2 (en) * 2017-05-15 2020-08-04 Thomson Reuters Enterprise Center Gmbh Neural paraphrase generator
WO2019118864A1 (en) * 2017-12-15 2019-06-20 Google Llc Training and/or using an encoder model to determine responsive action(s) for natural language input
US10585988B2 (en) * 2018-06-08 2020-03-10 Microsoft Technology Licensing, Llc Graph representations for identifying a next word
US20200272695A1 (en) * 2019-02-25 2020-08-27 Disney Enterprises, Inc. Techniques for performing contextual phrase grounding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018094295A1 (en) * 2016-11-18 2018-05-24 Salesforce.Com, Inc. Adaptive attention model for image captioning

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Jie Zhou 외, ‘Deep Recurrent Models with Fast-Forward Connections for Neural Machine Translation', Transactions of the Association for Computational Linguistics, vol. 4, pp. 371-383, 2016.07.* *
Richard Zens 외, ‘A Systematic Comparison of Phrase Table Pruning Techniques’, 2012.07.* *
Zhaopeng Tu 외, ‘Modeling Coverage for Neural Machine Translation’, 2016.08.* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210018571A (ko) * 2019-08-05 2021-02-18 강원대학교산학협력단 듀얼 포인터 네트워크를 이용한 복수 개체간 관계를 추출하는 장치 및 방법
US11669694B2 (en) 2020-01-30 2023-06-06 Samsung Electronics Co., Ltd. Electronic device for obtaining sentence corresponding to context information and operating method thereof

Also Published As

Publication number Publication date
US11113480B2 (en) 2021-09-07
CN113553862A (zh) 2021-10-26
CN107870902A (zh) 2018-04-03
CN107870902B (zh) 2021-07-09
EP3516591A1 (en) 2019-07-31
WO2018058046A1 (en) 2018-03-29
DE202017105835U1 (de) 2018-01-02
SG10201707936TA (en) 2018-04-27
GB2556674A (en) 2018-06-06
JP6870076B2 (ja) 2021-05-12
DE102017122276A1 (de) 2018-03-29
KR102323548B1 (ko) 2021-11-08
GB201715516D0 (en) 2017-11-08
JP2019537096A (ja) 2019-12-19
US20200034435A1 (en) 2020-01-30
US20210390271A1 (en) 2021-12-16
IE20170201A1 (en) 2018-04-04

Similar Documents

Publication Publication Date Title
KR102323548B1 (ko) 신경 기계 번역 시스템
JP6827548B2 (ja) 音声認識システム及び音声認識の方法
JP6818941B2 (ja) 多言語音声認識ネットワークをトレーニングする方法、音声認識システム及び多言語音声認識システム
US11314921B2 (en) Text error correction method and apparatus based on recurrent neural network of artificial intelligence
KR102565274B1 (ko) 자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치
CN108417210B (zh) 一种词嵌入语言模型训练方法、词语识别方法及系统
Hou et al. Exploiting adapters for cross-lingual low-resource speech recognition
JP2021501376A (ja) 音声認識システム
US11080589B2 (en) Sequence processing using online attention
CN110377916B (zh) 词预测方法、装置、计算机设备及存储介质
CN109074517B (zh) 全局归一化神经网络
KR20190064181A (ko) 언어 모델 학습 방법 및 이를 사용하는 장치
US11423237B2 (en) Sequence transduction neural networks
JP7368479B2 (ja) モデルをトレーニングするためのトレーニング・データ修正
CN111401080A (zh) 神经机器翻译方法以及神经机器翻译装置
JP2009294747A (ja) 統計的機械翻訳装置
CN114067786A (zh) 语音识别方法、装置、电子设备及存储介质
CN113947072A (zh) 一种文本纠错方法及文本纠错装置
Zheng et al. Directed automatic speech transcription error correction using bidirectional lstm
CN111583910B (zh) 模型更新方法、装置、电子设备及存储介质
CN114118108A (zh) 建立转译模型的方法、转译方法和对应装置
CN117634463A (zh) 一种实体关系联合抽取方法、装置、设备及介质
CN118159985A (zh) 使用存储器来增强神经网络中的自注意力

Legal Events

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