이전 에피소드 리뷰
-
기계 번역의 느린 발전 60년
-
규칙 기반 기계 번역(RBMT)
-
예제 기반 기계 번역(EBMT)
이 기사의 첫 부분을 읽으려면 이미지를 클릭하세요.
통계적 기계 번역(SMT)
1990년대 초, IBM 연구 센터에서는 규칙이나 언어학에 대해 전혀 모르는 기계 번역 시스템을 처음으로 시연했습니다. 아래 이미지의 텍스트를 두 가지 언어로 분석하고 패턴을 이해하려고 시도합니다.
아이디어는 간단하고 아름답습니다. 두 언어 모두 같은 문장을 여러 단어로 나누고 다시 조립합니다. 이러한 작업은 약 5억 번 반복되었습니다. 예를 들어, "Das Haus"라는 단어는 "집" 대 "건물" 대 "건설" 등으로 번역되었습니다.
원본 단어(예: "Das Haus")가 대부분 "집"으로 번역되는 경우, 기계는 이 의미를 가정합니다. 우리는 어떠한 규칙도 정하지 않았고 사전도 사용하지 않았습니다. 모든 결론은 데이터와 논리에 따라 기계가 내렸습니다. 기계가 번역을 하면서, "누가 이렇게 번역하면, 나도 이렇게 할게요"라고 말하는 것 같았습니다. 이렇게 하여 통계적 기계 번역이 탄생했습니다.
이 방법의 장점은 효율적이고 정확하며 언어학자가 필요하지 않다는 것입니다. 더 많은 텍스트를 사용할수록 더 나은 번역을 얻을 수 있습니다.
(구글 통계 번역: 이 의미의 사용 확률을 보여줄 뿐만 아니라 다른 의미에 대한 통계도 제공합니다)
한 가지 더 질문이 있습니다.
기계는 어떻게 "Das Haus"와 "building"이라는 단어를 연결할 수 있을까요? 그리고 우리는 이것이 올바른 번역인지 어떻게 알 수 있을까요?
답은 모른다는 것입니다.
처음에 이 기계는 "Das Haus"라는 단어가 번역된 문장의 모든 단어와 동일한 연관성을 가지고 있다고 가정합니다. 그러면 "Das Haus"가 다른 문장에 등장하면 "house"와의 연관성이 커집니다. 이는 학교 수준의 머신 러닝에서 일반적으로 다루는 과제인 "단어 정렬 알고리즘"입니다.
이 기계는 각 단어에 대한 관련 통계 정보를 수집하기 위해 두 가지 언어로 된 수백만 개의 문장이 필요합니다. 이 언어 정보는 어떻게 얻을 수 있나요? 우리는 유럽 의회와 유엔 안전보장이사회 회의 요약을 사용하기로 결정했습니다. 이 요약은 모든 회원국의 언어로 제공되므로 자료 수집에 많은 시간을 절약할 수 있습니다.
-
단어 기반 SMT
처음에는 최초의 통계적 번역 시스템이 문장을 단어로 나누었습니다. 이러한 접근 방식이 간단하고 논리적이었기 때문에 IBM의 첫 번째 통계적 변환 모델은 "모델 1"이라고 불렸습니다.
모델 1: 단어의 바구니
모델 1은 단어를 나누고 통계를 세는 고전적인 접근 방식을 사용했지만, 단어 순서는 고려하지 않았으며, 유일한 방법은 한 단어를 여러 단어로 번역하는 것이었습니다. 예를 들어, "Der Staubsauger"는 "The Vacuum Cleaner"로 바뀔 수 있지만, 그렇다고 해서 "The Vacuum Cleaner"가 되는 것은 아닙니다.
모델 2: 문장에서 단어의 순서 고려
모델 1의 가장 큰 한계는 단어 순서가 없다는 점인데, 이는 번역 과정에서 매우 중요합니다. 모델 2는 출력 문장에서 단어의 공통적인 위치를 기억하고 중간 단계에서 이를 다시 섞어 번역을 보다 자연스럽게 만들어 이 문제를 해결합니다.
그럼, 상황이 나아졌나요? 아니요.
모델 3: 새로운 단어 추가
번역할 때 의미를 개선하기 위해 새로운 단어를 추가해야 하는 경우가 많습니다. 예를 들어 영어에서 부정이 필요할 때 독일어에서 "do"를 사용하는 경우가 있습니다.독일어 구절 ““Ich will keine Persimonen””은 영어로 “나는 감을 원하지 않는다”로 번역됩니다.
이 문제를 해결하기 위해 Model 3은 이전 단계를 기반으로 두 가지 단계를 더 추가합니다.
-
기계가 새로운 단어를 추가해야 한다고 판단하면 NULL 토큰이 삽입됩니다.
-
각 단어 정렬에 맞는 올바른 문법이나 단어 쌍을 선택하세요.
모델 4: 단어 정렬
모델 2는 단어 정렬을 고려하지만 재정렬에 대해서는 아무것도 모릅니다. 예를 들어, 형용사는 명사와 자리를 바꾸는 경우가 많고, 순서를 어떻게 기억하든 문법적 요소를 추가하지 않고는 미묘한 번역을 얻는 것은 어렵습니다. 따라서 모델 4는 이러한 "상대적 순서"를 고려합니다. 즉, 두 단어의 위치가 항상 바뀌면 모델이 알 수 있습니다.
모델 5: 오류 수정
모델 5는 더 많은 학습 매개변수를 얻고 단어 위치 충돌 문제를 해결합니다. 텍스트 기반 시스템은 아무리 혁신적이었어도 여전히 모든 단어가 단일한 방식으로 번역되는 동음이의어를 처리할 수는 없었습니다.
그러나 이러한 시스템은 더 이상 사용되지 않으며, 더욱 진보된 구문 기반 번역으로 대체되었습니다.
-
구문 기반 SMT
이 방법은 통계, 재정렬, 어휘 기법 등 단어 기반 번역의 모든 원칙을 기반으로 합니다. 텍스트를 단어 단위로만 분할하는 것이 아니라, 여러 단어가 연속적으로 나열된 구문으로도 분할합니다.
그 결과, 기계는 안정적인 단어 조합을 번역하는 법을 배웠고, 정확도가 크게 향상되었습니다.
요점은 이런 구문이 항상 간단한 구문 구조는 아니라는 점이며, 언어학적 측면과 문장 구조의 간섭을 인식한다면 번역의 질은 상당히 떨어질 것입니다. 계산언어학의 선구자인 프레데릭 젤리넥은 한때 "내가 언어학자를 공격할 때마다 음성 인식기의 성능이 향상된다"고 농담을 한 적이 있다.
정확도가 높아진 것 외에도 구문 기반 번역은 이중 언어 텍스트에 대해 더 많은 옵션을 제공합니다. 텍스트 기반 번역의 경우 출처와 정확하게 일치하는 것이 중요하므로 문학적 번역이나 자유 번역에는 가치를 부여하기 어렵습니다.
구문 기반 번역에서는 이런 문제가 없으며, 기계 번역 수준을 개선하기 위해 연구자들은 다양한 언어로 된 뉴스 웹사이트를 분석하기 시작했습니다.
2006년부터 거의 모든 사람이 이 방법을 사용해 왔습니다. Google Translate, Yandex, Bing 등 잘 알려진 온라인 번역 시스템은 모두 2016년 이전까지 구문 기반이었습니다. 따라서 이러한 번역 시스템의 결과는 완벽하거나 무의미하며, 이는 구문 번역의 특징입니다.
이런 오래된 규칙 기반 방법은 항상 편향된 결과를 낳습니다. 구글은 "three hundred"를 주저없이 "300"으로 번역했지만, 사실 "three hundred"는 "300년"을 뜻하기도 합니다. 이는 통계적 번역 기계의 일반적인 한계입니다.
2016년 이전에는 거의 모든 연구에서 구문 기반 번역이 가장 진보된 것으로 간주되었으며, 심지어 '통계적 기계 번역'과 '구문 기반 번역'을 동일시하기도 했습니다. 하지만 사람들은 구글이 기계 번역 전반에 혁명을 일으킬 것이라는 걸 깨달았습니다.
-
구문 기반 SMT
이 방법도 간략하게 언급하겠습니다. 신경망이 등장하기 훨씬 전부터 문법 기반 번역은 "미래"로 여겨졌지만, 그 아이디어는 실현되지 않았습니다.
지지자들은 이것이 규칙 기반 접근 방식과 통합될 수 있다고 주장합니다. 문장의 정확한 문법적 분석을 수행하는 것이 가능합니다. 즉, 주어, 술어 및 문장의 다른 부분을 결정한 다음 문장 트리를 구성하는 것입니다. 이를 사용하여 기계는 언어 간의 구문 단위를 변환하고 단어나 구문으로 번역하는 법을 배웁니다. 이렇게 하면 "번역 오류" 문제가 완전히 해결됩니다.
아이디어는 아름답지만 현실은 매우 암울합니다. 문법 분석은 제대로 작동하지 않는데, 문법 라이브러리 문제는 이미 해결된 적이 있기 때문이다(이미 이미 만들어진 언어 라이브러리가 많기 때문이다).
신경망 기계 번역(NMT)
2014년에 신경망 기계 번역에 대한 흥미로운 논문이 등장했지만, 큰 주목을 받지 못했고, 구글만이 이 분야를 더욱 심도 있게 연구하기 시작했습니다. 2년 후인 2016년 11월, 구글은 주목할 만한 발표를 했습니다. 기계 번역의 게임 규칙이 공식적으로 변경되었다는 것입니다.
이 아이디어는 유명 예술가의 작품 스타일을 모방할 수 있게 해주는 Prisma 기능과 비슷합니다. Prisma에서는 신경망이 예술가의 작품 스타일을 인식하도록 학습되고, 그 결과로 생성된 양식화된 이미지는 예를 들어 사진을 반 고흐의 작품처럼 보이게 만들 수 있습니다. 이것은 인터넷의 환상일 뿐이지만, 우리는 그것이 아름답다고 생각합니다.
사진에 스타일을 적용할 수 있다면 어떨까요? 원본 텍스트에 다른 언어를 적용해 본다면 어떨까요? 텍스트는 정확히 "작가의 스타일"이 될 것이고, 우리는 이미지의 본질(즉, 텍스트의 본질)을 보존하면서 그것을 전달하려고 노력할 것입니다.
이런 종류의 신경망을 번역 시스템에 적용하면 무슨 일이 일어날지 상상해 보세요.
이제 원본 텍스트가 특정 기능의 모음이라고 가정하면, 이를 인코딩한 다음 다른 신경망이 이를 디코더만 아는 언어로 된 텍스트로 디코딩해야 함을 의미합니다. 이러한 특징의 기원은 알 수 없지만, 스페인어로 표현될 수는 있습니다.
한 신경망은 문장을 특정한 특징 집합으로만 인코딩하고, 다른 신경망은 이를 텍스트로만 디코딩하는 것을 보는 것도 흥미로울 듯합니다. 두 사람 모두 상대방이 누구인지 몰랐습니다. 그들은 각자 자신의 언어만 알고 있었습니다. 그들은 서로 낯선 사람이었지만 서로 협력할 수 있었습니다.
하지만 여기서도 문제가 하나 있는데, 바로 이러한 특징을 어떻게 찾아 정의할 것인가입니다. 개에 대해 이야기할 때, 그 특징은 명백하지만, 텍스트에서는 어떨까요? 아시다시피, 30년 전에 과학자들은 보편적인 언어 코드를 만들려고 노력했지만 결국 실패했습니다.
하지만 이제 우리에게는 이 문제를 아주 잘 해결할 수 있는 딥러닝이 있습니다. 왜냐하면 딥러닝은 이러한 목적을 위해 존재하기 때문입니다. 딥 러닝과 기존 신경망의 주요 차이점은 특성에 관계없이 특정 기능을 정확하게 검색할 수 있는 능력입니다. 신경망이 충분히 크고 수천 개의 비디오 카드를 사용할 수 있다면 텍스트에서 이러한 특징을 추출할 수 있습니다.
이론상으로는 신경망에서 얻은 특징을 언어학자들에게 전달해 언어학자들이 완전히 새로운 관점을 스스로 열어볼 수 있게 할 수 있습니다.
한 가지 질문은, 어떤 유형의 신경망을 텍스트 인코딩과 디코딩에 적용할 수 있는가입니다.
우리는 현재 합성곱 신경망(CNN)이 독립적인 픽셀 블록을 기반으로 한 이미지에서만 작동한다는 것을 알고 있습니다. 그러나 텍스트에는 독립적인 블록이 없으며 각 단어는 언어와 음악과 마찬가지로 주변 환경에 따라 달라집니다. 순환 신경망(RNN)은 이전의 모든 결과(이 경우 이전 단어)를 기억하기 때문에 최적의 선택을 제공합니다.
그리고 순환 신경망은 오늘날에도 이미 사용되고 있습니다. 예를 들어 iPhone의 RNN-Siri 음성 인식(소리의 순서를 분석하고, 다음 소리는 이전 소리에 따라 결정됨), 키보드 프롬프트(이전 소리를 기억하면 다음 소리를 추측), 음악 생성, 심지어 챗봇까지 있습니다.
2년 만에 신경망은 지난 20년간의 번역 작업을 완전히 능가했습니다. 이를 통해 어순 오류는 50%, 어휘 오류는 17%, 문법 오류는 19% 감소했습니다. 신경망은 심지어 서로 다른 언어의 동음이의어와 같은 문제를 처리하는 방법도 배웠습니다.
놀랍게도 신경망은 사전이 전혀 필요 없이 진정한 직접 번역을 달성할 수 있습니다. 영어가 아닌 두 언어를 번역할 때, 영어를 중간 언어로 사용할 필요는 없습니다. 이전에는 러시아어를 독일어로 번역하려면 먼저 러시아어를 영어로 번역한 다음 영어를 독일어로 번역해야 했습니다. 이렇게 되면 번역을 반복할 때 오류율이 높아질 것입니다.
Google 번역(2016년부터)
2016년에 그들은 9개 언어로 번역할 수 있는 구글 신경망 기계 번역(GNMT)이라는 시스템을 개발했습니다. 여기에는 8개의 인코더와 8개의 디코더가 포함되어 있으며, 온라인 번역에 사용할 수 있는 네트워크 연결도 제공됩니다.
그들은 문장을 구분할 뿐만 아니라 단어도 구분하는데, 이를 통해 희귀한 단어를 처리합니다. 사전에 없는 단어의 경우 NMT는 아무런 참조도 하지 않습니다. 예를 들어, "Vas3k"라는 문자 그룹을 번역하는 것을 생각해 보세요. 이 경우 GMNT는 단어를 여러 조각으로 나누고 번역을 복구하려고 시도합니다.
팁: 브라우저에서 웹사이트를 번역하는 Google Translate는 여전히 오래된 구문 기반 알고리즘을 사용합니다. 구글이 업그레이드하지 않은 탓에 온라인 버전과 비교했을 때 차이가 확연히 드러납니다.
하지만 현재 브라우저에서 웹사이트 번역에 사용되는 Google Translate는 여전히 구문 기반 알고리즘을 사용합니다. 구글은 이 부분을 업그레이드하지 않았지만, 이를 통해 기존 번역 모드와의 차이점을 확인할 수 있습니다.
Google은 사람들이 가장 정확하다고 생각하는 버전을 선택할 수 있는 온라인 크라우드소싱 메커니즘을 사용하고 있으며, 많은 사용자가 해당 버전을 좋아하면 Google은 이런 방식으로 문구를 계속 번역하고 특별 배지를 표시합니다. 이 기능은 "영화 보러 가자"나 "기다리고 있을게"와 같이 짧고 일상적인 문장을 말할 때 매우 유용합니다.
Yandex 번역(2017년부터)
Yandex는 2017년에 신경망과 통계적 방법을 결합한 CatBoost 알고리즘을 사용하는 신경망 번역 시스템을 출시했습니다.
이 방법은 신경망 번역의 단점을 효과적으로 보완할 수 있습니다. 즉, 자주 등장하지 않는 왜곡된 문구를 쉽게 번역할 수 있습니다. 이 경우 간단한 통계적 번역을 통해 쉽고 빠르게 올바른 단어를 찾을 수 있습니다.
기계 번역의 미래는?
사람들은 여전히 "바벨피쉬"라는 개념, 즉 즉각적인 음성 번역에 열광하고 있습니다. Google은 Pixel Buds를 통해 이를 향한 한 걸음을 내디뎠지만, 현실적으로 완벽하지는 않습니다. 언제 번역을 시작해야 하는지, 언제 번역을 멈추고 들어야 하는지 사용자가 알려줘야 하기 때문입니다. 하지만 시리도 이런 일을 할 수 없습니다.
탐구해야 할 어려움이 하나 있습니다. 모든 학습은 머신 러닝의 범위에 국한된다는 것입니다. 더욱 복잡한 신경망을 설계할 수 있다 하더라도 현재는 제공된 텍스트로부터 학습하는 데 국한되어 있습니다. 인간 번역가는 책이나 기사를 읽어 관련 코퍼스를 보완함으로써 더욱 정확한 번역 결과를 보장할 수 있습니다. 이 부분에서는 기계 번역이 인간 번역에 비해 크게 뒤처집니다.
하지만 인간 번역가도 이런 일을 할 수 있으므로, 이론적으로는 신경망도 같은 일을 할 수 있습니다. 그리고 일부 사람들은 이미 신경망을 사용하여 이 기능을 달성하려고 시도한 것 같습니다. 즉, 자신이 아는 언어를 사용해 다른 언어를 읽어 경험을 얻고, 이를 다시 자신의 번역 시스템에 피드백하여 나중에 사용하는 것입니다. 기다려 보죠.
추가 읽기
《통계적 기계 번역》
필립 코엔 지음
공개 계정을 팔로우하고 "통계 기계 번역"에 답글을 달면 PDF 버전을 다운로드할 수 있습니다.
