본문 바로가기

2017
CCTV뉴스


글: 이나리 기자 narilee@epnc.co.kr / 2017-04-25



인공신경망 번역, 어떻게 자연스러운 언어를 구사할까?


2007년 구글이 웹 기반 자동번역기를 무료로 공개했을 때, 사람들은 클릭 한번으로 여러 문장들이 순식간에 번역되는 기능을 보고 놀라움을 금치 못했었다. 하지만 예전의 번역기는 동음이의어와 다의어를 구별 못하거나 어순과 표현이 많이 어색해 마치 외래어처럼 번역되는 경우가 많았다. 이처럼 번역기는 번역 결과가 만족스럽지 않았음에도 불구하고 모든 문장을 사람이 직접 번역하는 것보다 시간을 절약할 수 있었기 때문에 지금까지 유용하게 사용돼 왔다.


그러나 최근 번역기는 딥러닝과 신경망 기술이 적용된 신경망 기계번역(GNMT, Google’s Neural Machine Translation)으로 발전되면서 변역 결과물이 눈에 띄게 향상됐다. 예전보다 번역의 오류 가능성이 대폭 감소하고, 보다 자연스러운 번역이 가능해졌다.


더 나아가 번역 기술은 텍스트 뿐 아니라 음성 번역, 이미지 번역까지 가능해지면서 음성인식 기술도 함께 급부상하고 있다. 향후 통번역 서비스는 스마트폰, 스마트워치, HMD, 가정용 음성로봇 서비스 등 다양한 디바이스에 접목돼 국제회의, 여행, 교육 등 다양한 산업에서 활용될 것으로 기대된다. 신경망 번역 기술을 지원하기 위해서는 데이터베이스의 확보와 인공지능을 지원하는 알고리즘과 플랫폼 개발 등이 뒷받침돼야 한다.


기계 번역 시장과 국내‧외 기업별 번역기술 현황, 번역기술로 인해 파생되는 산업 전망에 대해 1, 2, 3회에 걸쳐 알아보겠다.



◇ 인공신경망 번역, 어떻게 자연스러운 언어를 구사할까?


자동 통번역 시장은 아직 형성 초기단계라고 볼 수 있다. 시장조사기관 원터그린리서치에 따르면 자동 통번역과 관련된 세계시장은 2019년까지 69억 달러(약 8조 원) 규모로 성장할 것으로 전망된다. 그 중 기계번역(Machine Translation) 시장은 2022년 9억 8320만 달러 규모로 성장하고, 음성인식 관련 시장은 연간 16.2% 성장해서 2017년 1130억 달러 규모에 달할 것으로 예상된다.


그 중에서 전 세계적으로 가장 많이 사용되는 구글 번역기는 현재 전세계 103개 언어로 번역되고 있으며, 전세계 온라인 사용자 중 90% 이상의 점유율을 차지하고 있다. 구글 번역기는 매일 5억 명 이상이 1000억 회의 서비스를 이용하고 있고, 가장 많이 사용되는 언어 조합은 영어-스페인어, 영어-아랍어, 영어-러시아어, 영어-포르투갈어라고 한다.


이는 전세계 공통어인 영어를 기준으로 언어를 사용하는 인구수가 많을수록 번역기를 사용하는 비율이 높다는 것을 알 수 있다. 이에 따라 가장 많이 사용되는 언어인 영어 기반은 그동안 확보된 음성과 텍스트 DB가 다른 언어에 비해 많아 70~80%의 정확성을 기록하고 있다. 반면, 한국어를 비롯해 베트남, 태국어 등 한 국가에서만 사용되는 언어들은 이용률이 낮고 데이터 확보가 쉽지 않아 품질 향상에 어려움을 겪고 있는 실정이다.


자동번역 또는 기계번역이라고 불리는 기술은 크게 규칙기반(RBMT, Rule-Based Machine Translation)과 통계기반(SMT, Statistical Machine Translation), 이를 합한 하이브리드(RBMT+SMT) 기반으로 구분된다.


규칙기반(RBMT)은 어법을 규칙화해서 번역하는 방법으로 기존에 많이 사용된 소프트웨어 방법이다. 문법에 기반을 두고 번역하기 때문에 정확성이 높고 분야별 전문성을 갖고 있다는 장점이 있지만, 문법 규칙이 아닐 경우에는 번역 오류가 상당히 높다. 또 개발이 어렵다는 것이 단점이다. 통계기반(SMT)은 방대한양의 대역코퍼스(Bilingual corpus)를 바탕으로 통계적으로 규칙을 모델링해 번역하는 방법이다. 단어와 구(Phrase) 형식으로 각각 나눠 번역해 조합하는 방식이며, 문장이 매끄럽지 않거나 올바르게 번역되지 않는다는 것이 단점이다.


통계기반은 딥러닝과 빅데이터를 활용하기 때문에 언어 데이터베이스 확보가 중요하고, 예문이 많을 경우 비교적 개발에 용이하다. 이런 이유로 앞에 언급했듯이 많은 DB를 확보한 영어는 다른 언어에 비해 보다 정확한 번역결과를 제공하는 것이다.


해외 시장에서 규칙기반(RBMT) 기술을 사용하고 있는 기업으로는 SDL의 비글로벌(BeGlobal)이 대표적이다. SDL은 1992년 영국에서 설립된 번역 소프트웨어 기업으로, 문법과 분야별 특화 통번역 소프트웨어를 기업 대상으로 유료 제공하고 있다. 이는 단순 번역이 아닌 해외기업 진출을 위한 번역관련 현지화 서비스를 판매하는 것이다.


통계기반(SMT)으로 구축한 구글의 번역 웹 사이트, 마이크로소프트의 스카이프 트랜스레이터 등은 무료로 제공하면서 기계번역의 대중화를 이끌고 있다. 단, 구글과 마이크로소프트의 번역기는 일반 사용자들에게는 무료이지만 기업용은 유료로 제공한다. 구글은 이미지 인식, 실시간 채팅 등 다양한 플랫폼이 특징이며, MS 스카이프는 말하는 동시에 글로 표시되고, 다시 음성으로 번역되는 실시간 통역지원 기능을 앞세우고 있다.


규칙기반(RBMT)과 통계기반(SMT)을 결합한 하이브리드 기술은 기계번역 솔루션 기업 시스트란이 대표적이다.


◇ 기계번역, 구문기반에서 신경망 번역으로 진화


여러 번역 기술 종류 중에서 현재 가장 많이 사용되는 기술인 통계기반(SMT) 기계번역은 머신러닝과 신경망 기술이 개발되면서 구문 기반 기계번역(PBMT)에서 인공신경망 기계번역(NMT, Neural Machine Translation)을 사용하는 방식으로 진화되고 있다.


2007년 구글이 처음으로 번역기를 출시했을 때는 구문 기반 기계번역(PBMT) 알고리즘을 사용한 기술을 사용했었다. 구문 기반 기계번역은 문장을 단어와 구 단위로 쪼개서 하나하나 개별적으로 번역하는 방식이다. 이 기술은 자주 사용되는 단어 중심의 번역 방식이다 보니 번역된 문장이 매끄럽지 못하고, 단순히 단어를 나열하는 수준의 번역을 제공해 오류가 많다는 지적이 있어왔다. 이후 구글은 좀 더 인간의 언어와 비슷한 구조의 자연스러운 번역 서비스를 제공하기 위해 머신러닝을 도입한 인공신경망 기계번역 개발에 나섰고 2016년 9월 ‘구글 신경망 기계번역(GNMT)’ 기술을 처음으로 선보였다.



▲ 구글 번역기

신경망 기계번역 기술의 핵심인 머신러닝(Machine Learning)은 다양한 예시를 통해 기계 스스로 훈련하는 기술로, 몇가지 특정한 사건들보다 다수의 사건에 대한 경험을 기반으로 판단을 내린다는 점에서 ‘패턴인식(Pattern Recognition)’이라고도 불린다. 머신러닝의 성능은 데이터의 양과 질에 크게 의존하기 때문에 무엇보다 예측에 필요한 양질의 데이터를 수집하는 것이 무엇보다 중요하다.


신경망은 기계학습이 가능한 소프트웨어를 말한다. 신경망은 실제 뇌신경을 모방한 전산단위로 수백만 또는 수십억 개의 뉴런이 각각 입력한 정보를 다른 뉴런에게 전달해 지식을 확장시키는 방식이며, 복잡한 정보까지 학습할 수 있게 한다. 여기서 뉴런들이 입력한 각 층의 여러 정보들을 학습하는 것을 딥러닝(Deep Learning)이라고 부른다. 이 과정을 통해 각 층이 입력하는 패턴을 계속해서 습득하게 되는데, 결국 가장 높은 층의 뉴런망은 매우 추상적인 패턴을 학습하게 된다.


따라서 머신러닝, 딥러닝을 기반으로 개발된 인공신경망 기계번역 기술은 대용량의 학습 데이터와 몇 차원 벡터로 표현할 것인지의 정보, 학습에 필요한 변수 정보만 사람이 지정해주면 기계가 알아서 번역하는 법을 학습한다. 이는 기존의 기계번역 방식이 어순과 어법 등 각종 규칙(특징 정보)을 사람이 지정해주던 것과 비교하면 큰 장점인 것이다.


인공신경망 기계번역은 단어를 개별적으로 번역하는 구문 기반과 달리, 전체 문장을 하나의 번역 단위로 간주해 한꺼번에 번역한다. 이는 문장 전체의 맥락을 먼저 파악한 후 어순, 의미, 문맥별 의미 차이 등을 반영해 가장 적합한 문장으로 재배열하는 방식이다. 이로 인해 인공신경망 기계번역은 구문기반 기계번역보다 자연스러운 문장을 제공할 수 있으며, 전체 텍스트의 가독성 또한 향상됐다.


◇ 쉽게 이해하는 신경망 번역 방식의 원리


신경망 기계번역 방식을 보다 쉽게 설명하자면 다음과 같다.


입체 공간이 있다고 가정하자. 먼저 ‘먹다’라는 단어를 공간에 띄운다. 그리고 그 근처에 ‘먹었다’, ‘먹을 거다’, ‘먹고 싶다’ 등 ‘먹다’라는 단어와 관계가 있는 단어들을 유사한 공간에 둔다. 이 ‘먹다’라는 단어에는 다양한 차원이 있을 수 있다. 이 차원에 따라 또 다른 단어들과 관계를 맺을 수 있다. 예컨대 치킨, 피자, 케이크 등 ‘먹다’와 함께 쓰일 수 있는 단어들이 또 ‘먹다’와 나름의 관계를 맺고 공간상에 위치할 수 있다. 이렇게 단어나 구 등이 공간에서 관계를 맺으며 맵핑된다. 이때 가지는 벡터값을 ‘단어 표현’이라고 한다. 번역기에 사용되는 단어는 200차원의 단어 표현 값으로 변환된다.



▲ 인공 신경망 기계번역 원리(자료: 네이버)

‘나는’, ‘사과를’, ‘먹는다’, ‘I’, ‘eat’, ‘apple’은 각각 단어 표현 값으로 변환된다. 그리고 이 단어 표현들을 이어가며 번역하려는 문장에서 결과 문장으로 이어주는 최적의 가중치(Weight parameter)들을 찾아 행렬 곱으로 이어가 벡터를 구해가는 방식이다.


여기서 번역하려는 문장과 결과 문장을 컴퓨터에 주고, 결과 문장이 나오게 하는 값을 찾아내는 최적의 가중치(WP)를 반복적인 기계학습을 통해 자동으로 컴퓨터가 학습한다. 번역은 EOS(문장의 끝, End Of Sentence)값이 가장 높아지면 끝난다. 번역 언어가 달라질 때마다 가중치 값이 바뀐다. 이처럼 인공신경망 기계번역은 입력 문장과 출력 문장을 하나의 쌍으로 두고, 최적의 답을 찾는 중간 값을 학습한다.


인공신경망 기계번역 방식은 통계적 기계번역보다 번역 시스템이 단순하다는 장점을 가진다. 입력 문장과 출력 문장만 있으면 알아서 학습하게끔 유도하기 때문에 구조 자체가 그렇게 어렵지 않기 때문이다.


인공신경망 기계번역은 확장하기 쉽고 다양한 구조를 채택할 수 있다는 것도 장점이다. 다만 학습 시간이 다소 오래 걸릴 수는 있다. 이 문제를 해결하기 위해 병렬처리 등의 방식을 사용한다. 그러나 인공신경망 기계번역은 아직 초창기이기 때문에 많은 문제점과 가능성이 병존하고 있다.




※ 본 내용은 (주)테크월드(http://www.ibeddedworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
    Copyright ⓒ Techworld, Inc. 무단전재 및 재배포 금지


[원문출처 : http://www.cctvnews.co.kr/news/articleView.html?idxno=68165]

맨 위로
맨 위로