Skip to main content

AI 번역 소개

AI 번역이 발전해 우리의 삶을 더 편리하게 만들수록, 그 영향과 미래 가능성에 대한 많은 질문이 생깁니다. 이 글은 알아두어야 할 핵심 내용을 담고 있습니다. 이 기사는 AI로 번역되었습니다. 잠재적인 오역이 있다면 댓글로 알려주세요.
Created on September 12|Last edited on September 12
인간의 언어는 미묘함, 규칙, 뉘앙스, 예외로 가득한 복잡한 구조입니다. 오랫동안 언어학자들은 다른 어떤 생명체도 인간 언어와 문장 구조를 분석할 수 없다고 믿었습니다. 그 약속은 자연어 처리 — 특히 AI 번역 — 은 그 믿음에 도전해 왔으며, 많은 사람들이 그것이 어떻게 작동하는지 궁금해합니다.
이 글에서는 AI 번역을 간단히 소개합니다. 다음 내용을 다룹니다:

목차



시작해 봅시다!

인공지능에서의 번역이란 무엇인가

규칙 기반 기계 번역(RBMT)과 통계적 기계 번역(SMT)을 거쳐 발전한 결과, 지금은 인공 신경망(ANN)을 사용해 인간의 뇌세포 작동을 모사하는 신경 기계 번역(NMT)이 등장했습니다. 이를 통해 피드백 수용과 적응이 용이해졌으며, 정확도도 지속적으로 향상되고 있습니다.
대표적인 사례는 SYSTRAN의 AI 번역기로, 딥러닝 번역을 사용해 인공 신경망(ANN)을 구성합니다. 시퀀스-투-시퀀스(sequence-to-sequence)라 불리는 구조를 기반으로, 한 순환 신경망(RNN) 첫 번째 RNN은 L1 문장을 인코딩하고, 두 번째 RNN은 텍스트를 디코딩하여 L2 문장을 생성합니다.

AI가 언어를 학습할 수 있을까?

AI는 언어를 학습할 수 있습니다. NMT 시스템은 우리가 뇌로 학습하듯 ANN에 번역 방법을 가르칩니다. ANN의 모든 뉴런은 파라미터로 연결되어 있으며, 네트워크가 더 많은 데이터를 받을수록 그 파라미터가 자동으로 수정되어 최종 출력이 개선됩니다.
학습 과정을 제어하려면 사전에 하이퍼파라미터를 설정할 수 있습니다. 하이퍼파라미터의 한 예는 학습률로, 파라미터가 얼마나 빠르게 수정되는지를 결정합니다.

AI 번역은 어떻게 동작할까?

AI 번역은 인공 신경망(ANN)을 사용해 단어의 시퀀스를 숫자의 시퀀스로 변환함으로써 동작합니다. 이때 인코더 RNN이 L1 문장을 숫자 표현으로 인코딩합니다. 이후 신경 번역 모델이 출력 숫자를 생성하며, 디코더 RNN이 이 출력 숫자를 디코딩해 L2 문장을 만들어 냅니다.
간단한 영어-스페인어 번역 과정의 예:
“I have a cat”은 251, 2134, 953, 4로 인코딩됩니다.
출력은 4356, 7654, 76, 5325입니다.
디코더 RNN은 출력을 “tengo un gato”로 변환합니다.

NLP는 번역에 사용되나요?

NLP AI 번역에서 핵심적인 역할을 하는데, 텍스트를 이진 코드로 변환하기 때문이다. 이 과정은 두 단계로 이루어진다. 먼저 텍스트에서 관련 정보를 추출할 수 있도록 데이터를 전처리하고, 그다음 다양한 알고리즘을 사용해 데이터 분석과 분류를 수행한다.
첫 번째 단계에서는 NLP가 어근화/표제어 추출(단어의 기본 형태를 찾는 과정), 토크나이징(문자, 단어, 하위 단어를 토큰으로 변환), 품사 태깅(POS 태깅)과 같은 기법을 사용하여 텍스트에서 동사, 형용사, 부사 등을 식별합니다.
NLP는 전처리된 데이터를 분석하기 위해 다양한 알고리즘을 사용하며, 그중 규칙 기반 시스템과 머신러닝 시스템이 대표적입니다.

AI 번역은 정확할까요?

큰 폭의 발전 덕분에 AI 번역은 어떤 인간 번역가보다도 빠르며, 하나의 L1을 여러 L2로 동시에 번역할 수 있습니다. 반복적인 작업에서 효율적이지만, 품질이 인간 번역가에 크게 미치지 못하기 때문에 높은 정확도를 요구하지 않는 작업에서 주로 강점을 보입니다.
AI 번역기는 형식 간 번역에서도 효과적입니다. 대표적인 예로 Google Translate가 있는데, 이미지에서 텍스트로의 번역에 특히 뛰어난 AI 도구 중 하나입니다. 현재와 같은 발전 속도라면 품질은 크게 향상될 것으로 예상됩니다.

AI가 번역가를 대체할까요?

자연스러운 문장을 생성하더라도, AI 번역은 정확성에서 어려움을 겪습니다. 번역 엔진이 올바르거나 적절하지 않을 수 있는 단어 노드를 선택해 오류가 발생하기 때문입니다. 가장 좋은 해법은 인간 번역을 대체하도록 AI를 사용하는 것이 아니라, NMT를 활용해 인간 번역을 보완하고 향상하는 것입니다.
AI 번역이 반복적이고 단순한 작업을 처리해 인간 번역가의 시간을 절약해 주는 한편, 인간 번역가는 사후 편집을 통해 NMT 출력의 정확도를 높입니다. 이러한 과정은 컴퓨터 보조 번역(CAT) 도구를 통해 이루어집니다.
또한 전 세계에는 공통된 문자 체계가 없는 구술 언어가 3,000여 개 이상 존재하며, 이들 언어는 현재 인간 중개자 없이 번역할 수 없습니다. Meta의 No Language Left Behind(NLLB)는 현재 200개 언어를 지원합니다. 향후에는 이러한 비문자 언어까지 포괄하도록 확장될 예정입니다.

최고의 AI 번역기는 무엇일까요?

가장 발전된 AI 번역기 중 하나는 OpenAI의 GPT-3 모델로, 최고 수준의 기계번역 소프트웨어와 견줄 만합니다. 이 모델은 방대한 인터넷 데이터베이스를 바탕으로 자연어 처리(NLP)와 자연어 생성을 활용해, 가장 적절한 출력을 예측하는 언어 예측 모델입니다.
또 다른 예로 DeepL Translator가 있습니다. 이 서비스는 수억~수십억 개의 파라미터와, 주로 대기업에서 수집한 수백만 건의 목적성 텍스트 데이터 포인트를 활용하는 인공신경망(ANN)을 사용해 더 높은 품질을 제공합니다.
MemoQ는 잘 알려진 번역 소프트웨어 제공업체로, 메모리와 용어 베이스 기능을 통합한 Pro 버전을 통해 높은 품질의 결과물을 제공합니다.

OpenAI의 GPT-3 번역: 예시

생성 사전학습을 통해 GPT-3는 Common Crawl, Wikipedia와 같은 소스를 포함한 데이터셋에서 1,750억 개 이상의 머신러닝 파라미터를 기반으로 스스로 학습합니다. 이 도구로 번역하려면 프롬프트(작업 설명 + 원문 텍스트)를 제공하고, GPT-3가 번역을 생성하도록 하면 됩니다. 예시는 다음과 같습니다:
프롬프트
다음 문장을 1) 프랑스어, 2) 스페인어, 3) 일본어로 번역하세요: “이용 가능한 객실이 무엇이 있나요?”
샘플 응답
이용 가능한 객실이 무엇이 있나요?
2. 이용 가능한 객실이 무엇이 있나요?
3. 어떤 객실이 이용 가능합니까?

GPT-3가 이 작업에 대해 학습되지 않았기 때문에 이를 제로샷 번역이라고 합니다. 다만 품질을 더 높이려면 프롬프트에 예시를 하나(원샷) 또는 여러 개(퓨샷) 포함할 수 있습니다.
import os
import openai

openai.api_key = os.getenv("OPENAI_API_KEY")

response = openai.Completion.create(
model="text-davinci-003",
prompt="Translate this into 1. French, 2. Spanish and 3. Japanese:\n\nWhat rooms do you have available?\n\n1.",
temperature=0.3,
max_tokens=100,
top_p=1.0,
frequency_penalty=0.0,
presence_penalty=0.0
)

결론

AI 번역이 아직 인간 번역가의 품질에 미치지 못하지만, 이제는 AI가 법률 문서, 논문, 심지어 연설까지도 뛰어난 품질로 번역하는 모습을 상상하는 것이 더 이상 무리가 아니라는 사실을 우리는 알고 있습니다.

이 글은 AI로 번역된 기사입니다. 오역이 의심되는 부분이 있으면 댓글로 알려 주세요. 원문 보고서는 아래 링크에서 확인할 수 있습니다: 원문 보고서 보기