네이버(NAVER(035420))의 개발자 컨퍼런스 ‘데뷰(Deview)’가 개최된 지난달 25일 오후. 통번역 애플리케이션(앱) ‘파파고’를 소개하는 세션이 시작되기 직전, 서울 삼성동 코엑스 그랜드볼룸의 1800여개 좌석이 순식간에 가득 찼다. 집중력이 다소 떨어질 수 있는 오후 시간대였음에도 청중의 눈에는 호기심이 가득했다.

이날 청중 앞에서 파파고를 소개한 사람은 네이버랩스 소속 김준석 파파고 리더였다. 김 리더는 LG전자에서 8년 간 음성 인식 기술을 개발하다 2007년 이상호 현 SK플래닛 최고기술책임자(CTO)의 소개로 네이버(당시 NHN)에 입사했고, 지금까지 약 10년 간 네이버랩스에서 일하고 있다.

☞관련기사
[한국어와 인공지능]⑤ 이상호 SK플래닛 CTO "인간의 뇌도 결국 기계적으로 작동...AI가 따라잡는 건 시간 문제" <2016.10.27>

지난 1일 오전, 경기 성남 정자동의 네이버 사옥에서 김준석 네이버랩스 파파고 리더가 조선비즈와 인터뷰하고 있다. 김 리더는 “파파고의 인공신경망 번역은 기존 통계적 기계 번역과 비교해 정확도가 10배나 높다”고 말했다.

김 리더는 이 CTO와 함께 네이버의 음성 인식 기술을 개발했다. 개발에 착수한 지 6개월만에 구글 음성 인식기에 비견될 만한 제품을 만들어냈다. 이후 기계 번역팀으로 옮겨 통계적 기계 번역 엔진을 만들었으며, 현재는 인공신경망 기반 번역(NMT·Neural Machine Translation) 앱인 파파고 개발을 총괄하고 있다.

매서운 칼바람이 귓볼을 얼얼하게 한 지난 1일 오전, 경기 성남 정자동의 네이버 사옥에서 김 리더를 만났다. 김 리더는 말수가 많지 않고 조용한 타입이었다. 질문을 건네면 장황하게 설명하기보다는 건조하고 간결한 답변을 내놓았다. (이날 인터뷰에 동석한 한인수 네이버랩스 수석연구원은 “김 리더가 말수가 상당히 많아졌다”고 말했다.)

김 리더는 인공신경망 번역의 가동 원리, 인공신경망 번역과 기존 통계적 기계 번역(Statistical Machine Translation)과의 차이점 등 기술적인 얘기를 할 때만큼은 눈이 빛났다. 그는 이해를 돕기 위해 사례를 들고 칠판에 그래픽을 그려가며 자세히 설명하는 ‘반전’을 보였다.

― 모바일 앱 파파고는 언제부터 개발해왔는지.

“파파고 앱을 처음 개발한 것은 올해 초다. 네이버는 음성 인식과 음성 합성 등 요소 기술들은 예전부터 갖고 있었다. 음성 인식은 2011년부터, 합성은 2013년부터 해왔다. 이미지 인식 기술만 이번에 새로 적용된 것이다.”

파파고에는 인공신경망 번역(NMT) 기술이 적용됐고, 네이버 웹 번역기에는 기존의 통계적 기계번역(SMT) 방식이 적용되고 있다. 우선 통계적 기계번역부터 알아보자. 어떻게 작동되나.

“한국어 문장을 영어 문장으로 번역한다고 가정하면, 같은 뜻을 지닌 한 쌍의 한·영 문장을 모두 학습해 빈도 수 기반으로 번역 결과를 채택한다. 즉 한 가지 문장이 여러 가지 표현으로 번역될 경우, 이 중 가장 자주 나타나는 번역 결과를 선택한다.

예를 들어 ‘I eat rice’라는 문장을 영어로 번역한다고 가정해보자. 여기서 ‘rice’라는 단어는 ‘밥’으로 번역될 수도, ‘쌀’로 번역될 수도 있다. 그런데 실제 온라인상에서 ‘나는 쌀을 먹는다’는 표현은 거의 없고, ‘나는 밥을 먹는다’는 표현이 보편적으로 쓰인다. 컴퓨터는 통계적으로 후자를 택하게 된다.”

어순이 다른 언어는 어떻게 번역할까? 한국어와 영어의 경우 어순이 달라 번역하는 일이 쉽지는 않을텐데.

“통계적 기계 번역을 할 때는 구, 절 단위로 번역한 뒤 어순을 무작위로 섞는다. 예를 들어 ‘I eat an apple’이라는 문장을 번역할 경우 ‘eat’을 먼저 놓기도 해보고, ‘apple’을 먼저 놓기도 해본다. 여러 개 결과 중 가장 자연스러운 문장을 고른다.”

네이버의 통번역 앱 파파고를 직접 테스트해봤다. 자연어 번역 결과도 자연스러우며(왼쪽), 뉴스 기사도 매끄럽게 번역한다(오른쪽).

통계적 기계번역(SMT)이 인공신경망 번역(NMT)으로 바뀌면 어떤 점이 달라지는가.

“기계가 구절 단위로 번역해 문장을 만드는 대신, 문장에 담긴 모든 정보, 네트워크를 통째로 학습하게 된다. 그러면 기계가 한 번도 학습한 적이 없는 문장을 입력하더라도 네트워크를 통과시켜 자동으로 번역해준다.”

문장에 담긴 정보를 인공신경망을 통해 학습한다는 게 무슨 뜻인지.

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

인공신경망 기계번역에서는 입력 문장이 들어오면, 이 문장을 가상 공간의 하나의 점을 의미하는 벡터(좌표값)와 같은 숫자로 변환하고, 학습 데이터를 통해 배운 가중치를 더해 번역을 수행한다. 벡터에는 단어와 구절, 어순 정보까지 다 들어 있다. 인공신경망 기계번역 방식이 문맥을 그만큼 많이 본다는 뜻이다. 이 때문에 번역도 훨씬 자연스럽다.

기존 통계 기반 기계 번역은 한국어 입력 문장이 들어오면, 각 단어가 어떤 영어 단어로 번역될 확률이 얼마인지 데이터 테이블에서 읽어와 가장 확률 높은 단어를 찾는 방식이었다. 놀라운 것은 인공신경망 방식 번역이 불과 1~2년 밖에 안됐는 데, 10년 이상 진화해온 기존 번역 방식보다 품질이 더 좋다는 점이다. ”

문장 정보를 숫자로 바꾼 벡터를 조금 더 쉽게 설명해달라.

김준석 파파고 리더가 1000차원 공간 안의 점(벡터)을 상상해 그린 그래프. 각 벡터의 좌표가 무엇을 가리키는지는 누구도 알 수 없다.

“현재 인공신경망 번역에선 보통 1000차원의 벡터를 쓴다. ‘I love him(나는 그를 사랑한다)’이라는 문장을 번역한다고 가정해보자. (그림을 그리며) 이 문장의 정보를 모두 담은 벡터를 1000차원 공간 안의 한 점으로 놓겠다. 이 점은 ‘He is by loved me(그는 나에게 사랑 받는다)’라는 문장 정보를 담은 벡터인데, 번역기에 입력하면 자동으로 ‘I love him’ 벡터와 아주 가까운 위치에 놓이게 된다. 같은 뜻을 담고 있기 때문이다. 반면 ‘He loves me(그는 나를 사랑한다)’라는 문장 정보를 담은 벡터는 뜻이 다른 만큼 1000차원 공간 안에서도 좀 멀리 떨어져있다.

김준석 파파고 리더가 1000차원 공간 안의 점(벡터)을 상상해 그린 그래프. 각 벡터의 좌표가 무엇을 가리키는지는 누구도 알 수 없다.

또 다른 예를 들어 보겠다. 문장 뿐 아니라 단어도 벡터로 나타낼 수 있다. ‘cat(고양이)’라는 단어 벡터가 1000차원 공간 안에서 이 위치에 있다면, ‘kitten(새끼 고양이)’라는 단어 벡터는 그 옆에 위치한다고 볼 수 있다. ‘dog(개)’ 벡터와 ‘puppy(강아지)’ 벡터는 여기쯤 나란히 위치할 것이다.

통계적 기계 번역은 빈도수를 기반으로 이뤄지기 때문에 인터넷 상에 cat이라는 단어만 많고 kitten이라는 단어가 별로 없다면 kitten이라는 단어를 제대로 번역하지 못한다. 인공신경망은 비슷한 의미를 지닌 단어들을 가까운 위치에 배치하도록 자동 학습하기 때문에, cat과 kitten이 유의어(類義語)라는 사실을 인지하고 번역한다. 1000차원 상의 벡터를 좌표값로 나타낼 수 있겠지만, 우리는 이 좌표값이 각각 무엇을 뜻하는지 알 수 없다. 그저 컴퓨터만이 알 뿐이다.”

인공신경망을 학습 시킬 때 어떤 데이터를 쓰나.

“알파고의 신경망은 과거 방대한 기보를 통해 학습했다. 네이버의 번역기는 병렬 코퍼스(한국어 문장과 그에 해당하는 번역된 영어 문장이 쌍으로 있는 것. 번역 문제와 정답의 집합)로 학습한다. 입력용으로 한국어 문장을 주고, 출력용으로 영어 문장을 준 다음에 신경망을 학습시키는 것이다. 알파고의 신경망 구조와 네이버 번역기의 신경망 구조는 당연히 다르다. 단어를 몇 차원으로 표현할 것인가, 가중치 변수는 몇 개로 할 것인가에 따라 전혀 다른 아키텍처(구조)를 짜야 하기 때문이다. 신경망의 구조를 결정하면 학습 데이터를 넣고 번역을 위한 신경망이 나온다. 그걸 이용해 새 문장을 번역할 수 있게 되는 것이다.”

인공신경망 번역이 문장이 아닌 문단 단위로도 이뤄지나.

"보통 문장 단위로 번역한다. 문단 단위 번역은 아직 못 한다. 번역기의 학습 데이터가 훨씬 더 많아져야 가능한 일이다. 파파고는 아직 학습 데이터를 그정도로 많이 갖고 있지 않다(학습 데이터의 양은 공개할 수 없다고 한다)."

지난달 SK플래닛이 개최한 '테크플래닛' 행사에서 IBM 왓슨의 CTO가 공개한 번역 서비스를 보니, 문단 단위로 번역해 대명사 'he'가 문맥상 어떤 사람을 가리키는지 표시해주는 수준까지 도달했더라.

“앞뒤 문장을 참조해 특정 대명사가 어떤 인물을 지칭하는지 알아내는 기술은 번역의 영역에 해당되진 않는다. 현재 네이버 뿐 아니라 모든 인공신경망 번역은 문장 단위로 이뤄진다.”

만약 학습 데이터의 양이 증가한다면, 비유적인 표현이 실제로 가리키는 대상도 번역할 수 있을까?

“꾸준히 새로운 학습 데이터를 추가한다면 가능하다. 네이버에서는 연예인들의 실시간 개인 방송 서비스인 V라이브에서 제공되는 자막, 그리고 웹툰 내용의 번역문 등을 인공신경망 번역기에 꾸준히 학습시킨다. 젊은 친구들이 일상 생활에서 실제로 쓰는 표현들이 많기 때문에 자연스러운 번역에 도움이 된다.”

인공신경망 번역 시스템을 개발하다가 시행착오를 겪기도 했을텐데.

“통계적 기계 번역을 하던 때, 구글이나 몬트리올대학 등 다른 곳에서 개발한 인공신경망 번역기 오픈소스를 가져다가 우리가 보유한 데이터를 넣어 테스트해본 적이 있다. 번역이 매끄럽게 잘 됐다.

네이버의 인공신경망 번역기 오픈소스를 자체 개발하자는 생각으로 1년 간 고생해 개발했는데, 품질이 영 마음에 안 들더라. 번역은 되는데 외부에서 가져다 사용하던 인공신경망 번역기와 비교해 성능히 현저히 떨어졌다. 굉장히 오랜 시간에 걸쳐 버그를 찾아냈다.”

글로벌 경쟁 업체들 가운데 인공신경망 번역을 가장 잘 하는 회사는 어디인가.

“구글과 바이두다. 특히 바이두는 중국어나 아시아권 언어 번역에 있어서는 구글보다 훨씬 더 잘 한다. 인공지능 센터장을 맡고 있는 앤드류 응(Andrew Ng) 스탠퍼드대 교수를 포함해 연구 개발 인력도 훌륭하다. 구글은 영어나 스페인어 등 라틴어 기반 언어는 잘 번역하나, 아시아권 언어 번역 기능은 아직 바이두에 뒤처진다.”

네이버 웹에는 언제쯤 인공신경망 번역 방식이 적용될까.

“현재 인공신경망 번역을 네이버 어학사전에 적용하기 위해 그래픽처리장치(GPU) 장비를 주문한 상태다. 이르면 다음달 중 네이버 웹 어학사전에 먼저 적용될 예정이다. 네이버랩스 내부에서는 통계적 기계번역과 인공신경망 번역의 정확도가 약 2배 차이 난다고 본다.”

파파고의 이미지 번역을 직접 테스트해봤다. 번역할 문장을 손가락으로 문질러(아래) 인식시켰다. 엉뚱한 번역 결과가 나왔다.

파파고의 음성 번역과 문자 번역은 잘 되는데, 이미지 번역은 아직 잘 안 된다.

“음성 합성과 음성 인식 기술은 길게는 5년 동안 개발했다. 이미지 인식은 이번에 처음 도입돼 부족한 점이 많다. 욕을 많이 먹고 있다(웃음). 담당자가 데이터베이스를 보강하고 알고리즘을 개선하고 있다. 이미지 번역을 위해서는 글자의 폰트라든지 사진을 찍는 각도, 문지르는 범위 등 다양한 변수를 고려해야 한다. 이를 모두 고려해 문자만 건져낸 뒤 번역한다는 게 결코 쉬운 일은 아니다.”

번역할 문장을 손으로 일일이 문지르는 방식이 은근히 귀찮다. 문지르기보다는 번역할 문장 주위를 드래그하는 것이 어떨까.

“문장 주위를 드래그하는 방식도 개발 중이다. 곧 파파고에 도입될 것이다. 사용자에게 드래그와 문지르기 옵션을 둘 다 제공할 계획이다.”

번역하기 특히 어려운 언어는 없는지.

“말했다시피 한국어와 영어처럼 어순이 다른 언어를 번역하는 것이 어렵다. 또 학습 데이터를 구하기 힘든 언어를 번역하는 게 상당히 어렵다. 동남아시아 같은 국가는 정보화가 잘 안 돼있어 좋은 텍스트를 구해 학습하기 힘들다.”

번역 기술이 발달하기 위해서는 학습 데이터를 모으는 것이 더 중요할까, 아니면 더 나은 알고리즘을 개발하는 것이 더 중요할까.

“학습 데이터는 통계적 번역에서도 중요했다. 최근의 인공신경망 번역 경쟁은 기술력 경쟁이다. 누가 먼저 더 좋은 알고리즘을 개발하고, 인공신경망 번역의 부족한 부분을 보완할 수 있는 장치를 만들 수 있을지가 관건이다.”

김준석 네이버랩스 파파고 리더가 음성 인식과 음성 합성의 차이에 대해 설명하고 있다.

번역을 담당하기 전에는 음성 인식 기술을 개발했다. 음성 인식도 딥러닝을 통해 이뤄지는지.

“음성 인식도 번역과 비슷한 체계로 이뤄진다. 번역과 마찬가지로, 음성 인식 역시 인공신경망 방식으로 전환되고 있다.”

음성 인식과 음성 합성은 어떻게 다른가.

“음성인식은 입력 신호(소리)를 잘개 쪼개서 그 조각이 어떤 음소에 해당하는지 찾아내는 작업이다. ‘나는’이라는 소리를 인식한다고 가정해보자. 이를 초성·중성·종성, 즉 ‘ㄴ - ㅏ - ㄴ - ㅡ - ㄴ’로 잘게 쪼개는 것이 바로 음성인식이다.

음성합성은 잘게 쪼갠 소리의 단위를 다시 붙이는 작업이다. 보통 초성·중성·종성 세 개를 하나로 묶어 그 소리가 어떤 뜻을 나타내는지 파악한다. 자음동화와 두음법칙 등을 모두 고려해 합성한 뒤 뜻을 찾아낸다.”

예를 들어 '밟다'라는 단어는 '밥따'로 발음된다. 이 소리를 듣고 이 단어가 '밟다'인가 '밥다'인지 어떻게 구별할 수 있을까.

“동음이의어는 앞뒤 문맥상 어떤 단어인지 파악해야 한다. 단순히 발음만 갖고는 구별할 수 없다.”

파파고의 지향점은.

“여행을 한다든지 일상 생활에서 외국인을 만났을 때 통역해주는 커뮤니케이션 도구로 자리잡는 것이다. 파파고는 작은 앱이다. 다른 앱과 얼마든지 제휴해 서비스 영역을 확장할 수 있다. 현재 많은 업체에서 파파고와의 서비스 제휴를 제안하고 있다. 몇 개 업체와는 계약 직전 최종 단계를 밟고 있다.”