구글 번역이 좋아졌다는 평가가 여기저기서 나오고 있습니다. 실제로 사용해보면 이전 구글 번역보다 더 매끄러워진 것을 느낄 수 있습니다. 구글은 이전보다 55~85% 정도 번역 정확도가 높아졌다고 평가하고 있습니다.
#구글 번역이 좋아진 이유는 GNMT라는 기계 학습 덕뿐
문장 전체를 통번역하는 구글의 새로운 번역시스템 GNMT 라는 글을 통해서 구글 번역이 좋아진 이유를 설명했습니다.
그럼에도 쉽게 정리해보면 구글 번역이 좋아진 이유는 GNMT라는 기계 학습을 이용한 기술 덕분입니다.
이전 구글 번역이 통계 기반의 번역이어서 어순이 다양한 한국어 같은 언어에는 제대로 된 번역을 하지 못했습니다. 또한, 단어 하나 하나를 단순 번역에서 엮다 보니 비문에 가까운 번역을 했습니다. 그러나 새롭게 바뀐 GNMT는 기계 번역 기술을 이용해서 문장 전체를 통번역을 합니다. 따라서 문장의 맥락을 이해하고 같은 단어라도 문장 안에서 한 번 더 해석을 하기에 좀 더 정확한 번역을 합니다.
이런 통번역과 기계학습을 통한 번역은 구글만 하고 있는 것은 아닙니다. 네이버의 파파고도 2016년 8월부터 기계학습 기술을 이용한 번역을 하고 있습니다. 반면, 한글과 컴퓨터와 전자통신연구원이 함께 만든 지니톡은 이전 방식인 통계 기반의 번역을 합니다. 기계학습과의 차이점은 DB에 번역 샘플을 저장해 놓고 단순 번역하는 방식입니다.
쉽게 말해서 네이버 파파고와 구글 번역은 우리가 미국에 직접 가서 미국 동네에서 미국인들과 함께 이야기를 하는 방식입니다. 영어 한 톨 모르는 저는 처음에는 영어를 한 마디도 알아 들을 수 없지만 매일 미국인들과 섞어서 살다 보면 영어를 점점 한 두 마디씩 알아 듣게 되고 나중에는 탄력이 붙어서 금방 영어를 배웁니다.
반면, 한글과 컴퓨터의 지니톡은 영어 학원에 가서 어순부터 배우고 영어 단어 하나 하나 외우는 영어 학원 방식입니다.
초반에는 이 지니톡 같은 통계 기반 번역이 번역의 질이 좋을 지 모르지만 진화 속도가 느립니다. 반면 기계학습을 하는 구글 번역과 네이버 파파고는 처음에는 번역의 질이 좋지 못하지만 점점 시간이 지날수록 번역의 정확도가 높아집니다.
마치 우리 인간처럼 학습하면 할수록 번역 정확도가 좋아지죠. 이에 지니톡도 내년에 기계학습 기반의 번역 서비스를 내놓는다고 하네요.
#중간 언어 없이 번역이 가능한 구글 번역
GNMT는 기계 학습을 이용해서 방대한 번역의 근간이 되는 언어 자료(Corpus)를 바탕으로 번역을 합니다. 이 언어 자료는 한 언어에서 다른 언어로 번역을 할 때 아주 중요한 역할을 합니다. 이 언어 자료가 많은 언어들 간의 번역은 번역 정확도가 높습니다.
그래서 어순이 비슷한 영어-일본어 번역이 영어-한국어보다 번역 정확도가 높습니다. 일본어 사용하는 인구가 더 많으니까요. 이런 이유 때문에 번역 자주 많이 하는 분들은 영어-한국어 번역 보다는 영어-일본어 번역을 한 후 일본어-한국어를 합니다. 영어와 일본어 번역의 언어 자료가 풍부하고 정확하고 일본어와 한국어는 어순이 비슷하고 번역률이 90% 이상이어서 보다 정교한 영어 번역을 할 때 일본어를 중간 언어로 사용해서 번역을 합니다.
그럼 다른 언어간의 번역은 중간언어가 뭐가 있을까요? 예를 들어 한국어-프랑스어를 번역할 때 어떤 언어를 중간 언어로 사용할까요? 지금까지 대부분의 언어는 영어를 중간 언어를 사용해서 번역을 했습니다. 그래서 한국-프랑스어 번역 할 때 한국어-영어로 번역하고 영어-프랑스어를 번역해서 보여줬습니다. 그런데 이 중간 언어 없이 번역이 가능한 구글 번역 기술이 소개되었습니다.
중간 언어가 없는 새로운 구글 번역을 도식화한 그림입니다. 먼저 영어-한국어 번역을 학습시킵니다.
이번엔 한국어을 영어로 학습시킵니다. 이렇게 영한 언어 학습이 이루어졌습니다.
그 다음으로 영어를 일본어로 학습합니다. 마찬가지로 일본어를 영어로 학습시킵니다. 이렇게 해서 구글 번역은 영어-한국어와 영어-일본어라는 언어 자료(Corpus)가 서버에 쌓였고 계속 쌓여갑니다.
구글 AI 연구원들은 이렇게 쌓인 언어 자료를 통해서 일본어와 한국어 번역도 할 수 있지 않을까라는 생각을 하게 됩니다. 그렇게 영어를 중간 언어로 사용하지 않고 일본어-한국어 번역을 실행합니다. 그리고 그 번역을 성공하고 정확도도 높았습니다.
이렇게 중간 언어를 사용하지 않고 번역하는 방식을 Zero-Shot Translation이라고 합니다. 이 기술을 이용하면 지금까지 거의 사용량이 적어서 언어 자료가 많지 않은 언어 사이의 번역 정확도도 높아질 수 있습니다.
위 이미지는 구글의 GNMT의 AI가 각각의 언어의 단어나 문장이 가지는 의미나 개념을 비슷한 장소에 저장하는 것을 보여줍니다. 구체적으로 어떤 구조로 실현되는지는 밝혀지지 않고 있지만 이 방식은 인간의 뇌와 비슷한 구조입니다.
한 부분을 확대해 보니 '성층권은 고도 약 10km부터 약 50km까지 확장됩니다'라는 문장이 영어, 일본어로 함께 저장이 되어 있네요.
복잡하다고요. 쉽게 정리하자면 기존의 통계 기반 번역은 많은 언어 자료를 쌓을수록 정확했고 자주 사용하는 언어들간의 번역은 정확했지만 거의 쓰지 않는 아랍어 같은 경우는 번역 정확도가 떨어졌습니다. 또한, 중간 언어를 사용하는 불편함도 있었습니다. 그러나 구글은 기계학습 기술을 통해서 여러가지 언어의 번역을 차곡차곡 학습합니다. 한국어-영어, 일본어-영어를 학습하고 영어로 묶인 언어들 끼리 스스로 학습을 한 후 영어라는 중간 언어를 제거한 후 바로바로 번역을 합니다.
즉, 스스로 학습을 하기 때문에 시간이 지날수록 한국어-아랍어간의 언어 자료가 없어도 스스로 학습해서 언어 자료를 차곡 차곡 만듭니다. 시간이 지날수록 더 무서워지는 것이 바로 구글 번역입니다. 근 미래에는 100%에 가까운 번역을 해주는 서비스가 나오겠네요. 구글신만 믿습니다.
출처 : https://research.googleblog.com/2016/11/zero-shot-translation-with-googles.html