7. 구글은
• 초기에는 시스트란(SYSTRAN)의 규칙기반 기계번역 엔진을 가
지고 서비스를 시작합니다.
• 2006년 통계기반 기계번역(SMT)를 런칭합니다.
• Franz Och 입사 : 2003년
• 2007년 10월 이후엔 모든 번역 엔진을 SMT로 전환
• Moses mkcls / giza++ 등을 개발
• Phrase based SMT에 큰기여
• 2016년 10월
• Google Neural Machine Translation 을 발표 및 서비스 런칭
• translate.google.co.kr
Franz Och
9. GNMT 현상
SMT(N) Our core goal is to achieve this year. or This is the will to disperse and go to his
senses and our energy can make it on their mind. I think you have.
RBMT(S) Our main goal has to have this or that mind that it can do and can accomplish to disperse our
energy if it gets back senses and advances to should achieve this year.
우리의 핵심 목표는 ~~ 그런 마음을 가지셔야 합니다.
그런 마음 가짐 : 올해 달성해야 될 것은 이것이며, 정신을 차리고 나아가면서 우리의 에너지를 분산시키는 걸 해낼수
있다는
13. Rule-based Machine Translation
나는 사과를 먹었습니다
나/대명사 는/조사(SUBJ)
사과/명사 를/조사(OBJ)
먹다/동사 었/선어말어미 습니다/종결어
미
주어
목적어
서술어
주어
목적어
서술어
나/대명사 는/조사(SUBJ)
사과/명사 를/조사(OBJ)
먹다/동사 었/선어말어미 습니다/종결어
미
I
apple /single
eat/past ate
I
an apple
ate
I ate an apple
형태소 분석 구문분석
어순 변환
대역어 치환대역어 생성
#형태소분석 #구문분석 #어순변환패턴 #대역어사전
#자연언어처리의꽃 #비용비쌈 #WSD
14. Statistical Machine Translation
나는 사과를 먹었습니다
I ate an apple
번역모델
Translation Model
언어모델
Language Model
재배열모델
Reordering Model
디코더
Decoder
나는 I / i / ai / …
사과를 apple / an apple / a apple / …
먹었습니다 eat / ate / drink / …
I apple eat
I eat apple
I ate apple
I ate a apple
I ate an apple
병렬 말뭉치
세라는 사과를 좋아합니다. Sera likes an apple.
나는 오렌지를 먹었습니다. I ate an orange.
…
# 2~3 million bi-sentences
학습
Training
디코딩
Decoding
#병렬말뭉치 #Moses #구현이쉽다
#누락 발생 #WSD #하지만직접하려면..
15. RBMT
-실제 번역의 과정을 따름
-의미모호성 문제
-용어볼륨이 매우 크고 복잡해짐 유지보수 문제
SMT
-용어번역/재배치문제를 통계적으로 해결
-어순이 다른언어에 있어서 문법 문제가 큼 한<>영
-한국어 : SOV
-영어 : SVO
-누락같은 문제가 발생
24. GRU / LSTM(cont`)
• Vanishing Gradient 문제 극복을 위한 구조
• Long Short Term Memory
• LSTM
• Gated Recurrent Unit
• GRU
• http://aikorea.org/blog/rnn-tutorial-4/
28. Encoder Decoder 모델 결과 (GRU이용)
Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation, HK Cho et al, 2014
On the Properties of Neural Machine Translation: Encoder-Decoder Approaches, HK Cho et al, 2014
29. Bidirectional Recurrent NN
• Sequence to Sequence Learning with Neural Networks
• Ilya Sutskever(google) et al. 2014
• 입력 문자열을 뒤집어서도 학습하니 긴 문장에 대해서도 성능이
올라감
• 학습
• 나는 학교에 간다 -- I go to school
• 간다 학교에 나는 -- I go to school
• Bi-directional RNN
• Perplexity : 5.8 4.7
• BLEU : 25.9 30.6
42. Segmentation Approach
• WPM
• Word Piece Model
• Sub-word unit
• Vocabulary size 제한에 유리
• 한국어/일본어 같은 아시아 언어
• 50k~60k : target language vocabulary
• Mixed Word/Character Model
• <B> , <M> , <E>
• Miki OOV
• <B>M <M>i <M>k <E>i
43. Quantization
• Floating point
number
• 32bit
• Integer
• 8 bit
• Model size
• 75% 축소
• CPU Time 속도
보장
https://petewarden.com/2016/05/03/how-to-quantize-neural-networks-with-tensorflow/
46. GNMT : one more things
• https://arxiv.org/pdf/1611.04558v1.pdf
• Google”s Multilingual Neural Machine Translation System:
Enabling Zero-Shot Translation
• <2es> Hello, how are you? -> ¿Hola como estás?
• 12 languages
51. 정리
• NMT는 기존의 기계번역방법은 심플하게 풀어버림
• << RBMT / SMT
• 구문 분석기 / 구조 변환기 / … 필요 없음
• 그런데 번역스럽지 않게 번역을 잘함
• GPU기반
• GNMT
• Practically 하게 NMT문제를 해결함
• 기존의 4 layer정도의 구조를 8 layer로의 Deep 한 구조를 갖으면서
이문제를 residual network로 해결
• GPU문제는 Quantization 문제로 CPU/TPU에서 번역 서비스 가능토록
함
• 대량의 서버 인프라
• 구글이 하면 뭔가 다른기 하네요