맨위로가기

통계적 기계 번역

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

통계적 기계 번역(SMT)은 소스 언어 문장을 대상 언어 문장으로 번역할 확률을 계산하여 가장 확률이 높은 번역을 선택하는 기계 번역 방식이다. 베이즈 정리를 활용하여 번역 모델과 언어 모델을 결합하며, 빔 서치를 통해 효율적으로 검색을 수행한다. SMT는 단어 기반 모델에서 구 기반, 구문 기반, 계층적 구문 기반 모델로 발전해왔으며, 효율적인 자원 활용과 유창성 향상 등의 장점이 있지만, 말뭉치 의존성, 예측 불가능한 오류, 언어 쌍에 따른 성능 차이 등의 한계가 존재한다. 문장 및 단어 정렬, 기능어 처리, 통계적 이상 현상, 어순 차이, 미등록어 처리 등 다양한 과제를 해결해야 한다.

더 읽어볼만한 페이지

  • 기계 번역 - 시스트란
    시스트란은 1960년대 초 기계 번역 시스템으로 시작하여 50개 이상의 언어를 지원하며, 현재 한국의 CSLi에 인수되었다.
  • 기계 번역 - 신경망 기계 번역
    신경망 기계 번역은 딥 러닝 기술로 문장을 번역하며, 통계적 기계 번역보다 메모리 효율이 높고 모델 전체가 함께 훈련되어 성능을 극대화하는 특징을 가지며, 최근에는 트랜스포머 기반 대규모 언어 모델을 활용하는 연구가 활발하다.
  • 통계적 자연어 처리 - 확률적 앵무새
    확률적 앵무새는 거대 언어 모델이 의미를 이해하지 못하고 확률적으로 단어를 연결하여 텍스트를 생성하는 것을 앵무새에 비유한 용어로, 환경적 비용, 편향성, 허위 정보 생성 가능성 등의 위험성을 경고하며 LLM의 이해 능력에 대한 논쟁을 불러일으킨다.
  • 통계적 자연어 처리 - 언어 모델
    언어 모델은 단어 시퀀스에 확률을 할당하는 통계적 모델로서 자연어 처리 분야에서 중요한 역할을 하며, 초기 마르코프 과정 기반 모델에서 지수 함수 모델, 신경망 모델을 거쳐 음성 입력 모델 등 다양한 형태로 연구되고, 벤치마크 데이터 세트를 통해 성능이 평가된다.
통계적 기계 번역
기본 정보
유형기계 번역 패러다임
역사
개발자피터 브라운
존 코케
S. 델라 피에트라
V. 델라 피에트라
프레데릭 젤리네크
로버트 L. 머서
P. 루신
개발 시작 연도1988년

2. 기본 원리

통계적 기계 번역(SMT)의 기본 아이디어는 정보 이론에서 나왔다. SMT는 소스 언어(예: 프랑스어)의 문자열 f가 주어졌을 때 대상 언어(예: 영어)의 문자열 e가 번역 결과일 확률 p(e|f)를 계산한다. 이 확률을 바탕으로 가장 확률이 높은 번역을 선택한다.

p(e|f)를 모델링하기 위해 베이즈 정리를 적용하면, p(e|f) \propto p(f|e) p(e)와 같이 나타낼 수 있다. 여기서 p(f|e)는 번역 모델로, 소스 문자열이 대상 문자열로 번역될 확률을 나타낸다. p(e)언어 모델로, 대상 언어에서 특정 문자열이 나타날 확률을 의미한다.

최상의 번역 \tilde{e}는 다음 식을 통해 결정된다.

: \tilde{e} = arg \max_{e \in e^*} p(e|f) = arg \max_{e\in e^*} p(f|e) p(e) .

2. 1. 베이즈 정리

통계적 기계 번역(SMT)은 베이즈 정리를 활용하여 번역 모델과 언어 모델을 결합한다. 번역 모델은 소스 언어(예: 프랑스어)의 문장이 주어졌을 때 대상 언어(예: 영어)의 문장이 번역 결과일 확률을 나타내며, 언어 모델은 대상 언어에서 특정 문장이 나타날 확률을 나타낸다.[5][6][7][8]

:p(e|f) \propto p(f|e) p(e)

  • p(f|e): 번역 모델. 소스 문자열이 대상 문자열의 번역일 확률.
  • p(e): 언어 모델. 해당 대상 언어 문자열이 나타날 확률.


최상의 번역 \tilde{e}는 다음 식을 통해 찾을 수 있다.

: \tilde{e} = arg \max_{e \in e^*} p(e|f) = arg \max_{e\in e^*} p(f|e) p(e) .

이 식을 실제로 구현하려면 모든 가능한 대상 언어 문자열 e^*을 탐색해야 하는데, 이는 매우 많은 시간이 소요된다. 따라서 기계 번역 디코더는 휴리스틱 등의 방법을 사용하여 탐색 공간을 줄이고, 적절한 품질을 유지하면서 효율적으로 번역을 수행한다.

2. 2. 디코딩

정보 이론에서 비롯된 통계적 기계 번역은 소스 언어(예: 프랑스어)의 문자열 f가 주어졌을 때 대상 언어(예: 영어)의 문자열 e가 번역일 확률 분포 p(e|f)를 기반으로 번역을 수행한다.

최적의 번역 \tilde{e}를 찾기 위해 베이즈 정리를 적용하면, p(e|f) \propto p(f|e) p(e)로 표현할 수 있다. 여기서 p(f|e)는 번역 모델로, 소스 문자열이 대상 문자열의 번역일 확률을 나타내고, p(e)언어 모델로, 대상 언어 문자열이 나타날 확률을 나타낸다. 따라서 최상의 번역은 다음 식으로 결정된다.

: \tilde{e} = arg \max_{e \in e^*} p(e|f) = arg \max_{e\in e^*} p(f|e) p(e) .

이 식을 엄밀하게 구현하려면 모국어의 모든 문자열 e^*을 탐색해야 하는데, 이는 매우 비효율적이다. 따라서 실제로는 기계 번역 디코더가 외국어 문자열, 휴리스틱 등을 사용하여 탐색 공간을 제한하면서도 적절한 품질을 유지하는 방식으로 검색을 수행한다. 이러한 품질과 시간 사용 간의 균형은 음성 인식에서도 나타난다.

번역 시스템은 모든 모국어 문자열과 번역을 저장할 수 없기 때문에, 일반적으로 문서를 문장 단위로 번역한다. 언어 모델은 주로 스무딩된 ''n''-gram 모델로 근사되며, 번역 모델에도 유사한 방식이 적용되지만, 언어 간 문장 길이와 단어 순서 차이로 인해 복잡성이 증가한다.

초기 통계적 번역 모델은 단어 기반이었지만(Stephan Vogel의 IBM 은닉 마르코프 모델의 모델 1-5[5] 및 Franz-Joseph Och의 모델 6[6]), 기반 모델이 도입되면서 큰 발전이 이루어졌다.[7] 이후 연구에서는 구문 또는 준구문 구조를 통합하기도 했다.[8]

3. 모델의 발전

SMT 모델은 초기 단어 기반 모델에서 구 기반 번역, 구문 기반 번역, 계층적 구문 기반 모델 등으로 발전해왔다.

3. 1. 구 기반 번역

구 기반 번역의 목표는 단어 기반 번역의 제약을 줄여 단어의 전체 시퀀스(구)를 번역하는 것이었다. 여기서 시퀀스의 길이는 다를 수 있다. 구는 전형적으로 언어학적 가 아니었고, 구문론과 같은 통계적 방법으로 병렬 말뭉치에서 발견된 것이었다. 구를 언어학적 구문(구문론적으로 동기 부여된 단어 그룹, 구문 범주 참조)으로 제한하면 번역 품질이 떨어진다는 것이 밝혀졌다.[10]

선택된 구는 구 번역 표를 기반으로 일대일로 매핑되었고, 재정렬될 수 있었다. 이 표는 단어 정렬을 기반으로 하거나 병렬 말뭉치에서 직접 학습할 수 있었다. 두 번째 모델은 단어 기반 IBM 정렬 모델과 유사하게 기대-최대화 알고리즘을 사용하여 훈련되었다.[12]

3. 2. 구문 기반 번역

구문 기반 번역은 단어나 단어열이 아닌, 통사론적 단위, 즉 문장/발화의 (부분) 구문 분석 트리를 번역한다는 아이디어에 기반을 둔다.[11] 1990년대까지 강력한 확률적 구문 분석의 등장과 함께, 구문 기반 번역의 통계적 대응물은 널리 사용되지 않았다. 이 접근 방식의 예로는 DOP 기반 기계 번역과 이후의 동기적 문맥 자유 문법 등이 있다.

3. 3. 계층적 구문 기반 번역

계층적 구문 기반 번역은 구문 기반 번역과 구 기반 번역 방식을 결합한 것이다. 동기적 문맥 자유 문법 규칙을 사용하지만, 문법은 언어학적으로 동기 부여된 구문 구성 요소에 대한 참조 없이 구문 기반 번역에 대한 방법의 확장을 통해 구성될 수 있었다. 이 아이디어는 2005년 Chiang의 Hiero 시스템에서 처음 소개되었다.[8]

4. 장점과 한계

통계적 기계 번역(SMT)은 규칙 기반 번역에 비해 몇 가지 장점을 가진다. 우선, 병렬 말뭉치와 단일 언어 데이터를 효율적으로 활용하여 특정 언어 쌍에 대한 전문 지식 없이도 번역 시스템을 구축할 수 있다. 또한 언어 모델을 통해 번역의 유창성을 높인다.

하지만 SMT에는 한계도 존재한다. 말뭉치 생성 비용이 높고, 예측 불가능한 오류가 발생할 수 있다. 결과가 피상적 유창성을 띄어 번역 문제를 감추기도 한다.[9] 특히 단어 순서가 다른 언어 쌍에서는 성능이 떨어지며, 서유럽 언어 간 번역의 이점이 다른 언어 쌍에서는 나타나지 않을 수 있다.

4. 1. 효율적인 자원 활용

통계적 기계 번역(SMT)은 규칙 기반 접근 방식보다 다음과 같은 이점을 가진다.[1]

  • 효율적인 자원 활용:

:* 병렬 말뭉치와 단일 언어 데이터를 효과적으로 활용할 수 있다.

:* 특정 언어 쌍에 대한 전문 지식 없이도 번역 시스템을 구축할 수 있다.

  • 언어 모델을 사용하여 번역의 유창성을 향상시킨다.

4. 2. 유창성 향상

언어 모델을 사용하여 번역의 유창성을 향상시킬 수 있다.

4. 3. 말뭉치 의존성

말뭉치 생성에는 많은 비용이 들 수 있다. 특정 오류는 예측하고 수정하기 어렵다. 결과는 번역 문제를 감추는 피상적인 유창성을 가질 수 있다.[9] 통계적 기계 번역은 단어 순서가 상당히 다른 언어 쌍의 경우 일반적으로 성능이 좋지 않다. 서유럽 언어 간의 번역에서 얻은 이점은 더 작은 훈련 말뭉치와 더 큰 문법적 차이로 인해 다른 언어 쌍의 결과와는 차이가 있을 수 있다.

4. 4. 예측 불가능한 오류

특정 오류는 예측하고 수정하기 어렵다. 결과는 피상적인 유창성을 가질 수 있어 번역 문제를 감추기도 한다.[9]

4. 5. 언어 쌍에 따른 성능 차이

통계적 기계 번역은 단어 순서가 상당히 다른 언어 쌍에서 일반적으로 성능이 좋지 않다.[9] 서유럽 언어 간의 번역에서 얻은 이점은 훈련 말뭉치가 더 작고 문법적 차이가 더 크기 때문에 다른 언어 쌍의 결과에 대표성을 띠지 못한다.

5. SMT의 과제

통계적 기계 번역(SMT)은 다음과 같은 과제를 안고 있다.


  • 문장 정렬: 병렬 말뭉치에서 한 언어의 문장이 다른 언어의 여러 문장으로 번역될 수 있으며, 그 반대도 가능하다. 긴 문장은 분할되고 짧은 문장은 병합될 수 있다. 문장 끝을 명확하게 표시하지 않는 문자를 사용하는 언어(예: ภาษาไทย|태국어th)도 있어 문장 정렬이 필요하다.
  • 단어 정렬: 번역 모델 학습을 위해 소스-타겟 문장 쌍에서 어떤 단어가 서로 대응되는지 알아야 한다. 이 문제를 해결하기 위해 IBM 모델이나 HMM 접근 방식이 시도되었다.
  • 기능어 처리: 대상 언어에 명확한 대응어가 없는 기능어는 통계 모델에서 처리하기 어렵다. 예를 들어 "John does not live here"라는 영어 문장을 독일어로 번역할 때, "does"에 대응하는 단어가 없어 "wohnt"나 "nicht"와 정렬되거나 정렬되지 않을 수 있다.
  • 통계적 이상 현상: 훈련 데이터 편향으로 잘못된 번역이 생성될 수 있다. 예를 들어 훈련 데이터에서 "train to Paris"의 빈도가 높으면 "I took the train to Berlin"이 "I took the train to Paris"로 오역될 수 있다.[1]
  • 관용구 및 언어적 격: 관용어와 언어적 격은 번역을 어렵게 한다.[13] 예를 들어 캐나다 한사드(의사록)에서 "Hear, Hear!"는 "Bravo!"와 자주 연결되어 일상 대화에서 ''hear''가 ''Bravo!''로 오역될 수 있다.[13]
  • 어순 차이: 언어마다 어순이 다르므로 통계적 기계 번역에서 이를 고려해야 한다.
  • 미등록어(OOV): 훈련 데이터에 없는 단어나 구문은 번역할 수 없다. 이는 훈련 데이터 부족, 영역 변화, 형태론적 차이 등으로 발생한다.[1]

5. 1. 문장 정렬

병렬 말뭉치에서 한 언어의 단일 문장은 다른 언어의 여러 문장으로 번역될 수 있으며, 그 반대의 경우도 마찬가지이다.[11] 긴 문장은 분할될 수 있고, 짧은 문장은 병합될 수 있다. 심지어 문장 끝을 명확하게 나타내지 않는 문자를 사용하는 언어(예: ภาษาไทย|태국어th)도 있다. 문장 정렬은 게일-처치 정렬 알고리즘을 통해 수행할 수 있다. 이를 비롯한 다른 수학적 모델을 통해 최고 점수를 받는 문장 정렬을 효율적으로 검색하고 검색할 수 있다.

5. 2. 단어 정렬

문장 정렬은 일반적으로 말뭉치에서 제공되거나 앞서 언급한 게일-처치 정렬 알고리즘에 의해 얻어진다. 예를 들어 번역 모델을 학습하려면 소스와 타겟 문장 쌍에서 어떤 단어가 서로 대응되는지 알아야 한다. IBM 모델 또는 HMM 접근 방식은 이 문제를 해결하기 위한 시도였다.

대상 언어에 명확한 대응어가 없는 기능어는 통계적 모델의 또 다른 과제였다. 예를 들어, "John does not live here"라는 영어 문장을 독일어로 번역할 때, "does"라는 단어는 번역된 문장 "John wohnt hier nicht"에서 명확하게 대응되는 단어가 없다. 논리적으로 추론하면 "wohnt"(영어의 "live"에 해당하는 단어이며 문법적 정보를 포함한다) 또는 "nicht"(부정의 의미를 나타내기 때문에 문장에 나타난다)와 정렬될 수도 있고, 정렬되지 않을 수도 있다.[12]

5. 3. 기능어 처리

대상 언어에 명확한 대응어가 없는 기능어는 통계 모델의 또 다른 과제이다. 예를 들어 영어에서 독일어로 번역할 때 "John does not live here"라는 문장에서 "does"라는 단어는 번역된 문장 "John wohnt hier nicht"에서 명확한 정렬이 없다. 논리적 추론을 통해 "wohnt"(영어에서 "live" 단어에 대한 문법적 정보를 포함하므로) 또는 "nicht"(부정이기 때문에 문장에만 나타나므로)와 정렬되거나 정렬되지 않을 수 있다.[12]

5. 4. 통계적 이상 현상

훈련 데이터의 편향으로 인해 잘못된 번역이 생성될 수 있다. 예를 들어 "I took the train to Berlin" 문장이 훈련 세트에서 "train to Paris"의 통계적 빈도가 높아 "I took the train to Paris"로 잘못 번역되는 경우가 있다.[1]

5. 5. 관용구 및 언어적 격

사용되는 말뭉치에 따라, 관용어와 언어적 격의 사용은 원래 의도를 정확하게 나타내는 번역을 얻기 어렵게 만들 수 있다.[13] 예를 들어, 인기 있는 캐나다의 한사드(의사록) 이중 언어 말뭉치는 주로 의회 연설 예시로 구성되어 있으며, 여기서 "Hear, Hear!"는 "Bravo!"와 자주 연관된다. 이 말뭉치를 기반으로 구축된 모델을 사용하여 일상적인 대화 격의 연설을 번역하면, 단어 ''hear''가 ''Bravo!''로 잘못 번역될 수 있다.[13]

이 문제는 단어 정렬과 관련이 있는데, 매우 특정한 맥락에서는 관용적 표현이 대상 언어에서 동일한 의미를 가진 관용적 표현을 생성하는 단어와 정렬된다. 그러나 정렬이 다른 맥락에서는 일반적으로 작동하지 않으므로 그럴 가능성은 낮다. 이러한 이유로 관용구는 의미를 잃지 않고 더 이상 분해할 수 없으므로 구문 정렬에만 적용될 수 있다. 이 문제는 단어 기반 번역에 특정한 문제였다.[12]

5. 6. 어순 차이

언어마다 단어 순서가 다르다. 문장에서 주어(S), 동사(V), 목적어(O)의 전형적인 순서를 통해 분류할 수 있으며, 예를 들어 SVO 또는 VSO 언어 등이 있다. 또한 명사에 대한 수식어의 위치, 또는 동일한 단어가 질문이나 진술로 사용되는 경우와 같이 단어 순서에 추가적인 차이가 있다.

음성 인식에서는 음성 신호와 해당 텍스트 표현을 블록 단위로 순서대로 서로 매핑할 수 있다. 이는 두 언어에서 동일한 텍스트의 경우 항상 그런 것은 아니다. 통계적 기계 번역(SMT)의 경우, 기계 번역기는 소규모 단어 시퀀스만 관리할 수 있으며, 단어 순서는 프로그램 설계자가 고려해야 한다. 해결책에는 재정렬 모델이 포함되었으며, 여기서는 정렬된 바이텍스트에서 각 번역 항목에 대한 위치 변경의 분포를 추정한다. 언어 모델의 도움으로 다른 위치 변경의 순위를 매길 수 있으며, 최상의 항목을 선택할 수 있다.

5. 7. 미등록어(OOV)

통계적 기계 번역(SMT) 시스템은 보통 서로 관련된 단어 형태를 별도의 기호로 저장하며, 훈련 데이터에 없는 단어 형태나 구문은 번역할 수 없다. 이는 훈련 데이터 부족, 시스템이 사용되는 인간 영역의 변화 또는 형태론적 차이로 인해 발생할 수 있다.[1]

참조

[1] 논문 Translation (1949) MIT Press 1955
[2] 간행물 A statistical approach to language translation http://dl.acm.org/ci[...] Association for Computational Linguistics 2015-03-22
[3] 간행물 A statistical approach to machine translation http://dl.acm.org/ci[...] MIT Press 2015-03-22
[4] 간행물 The mathematics of statistical machine translation: parameter estimation. http://dl.acm.org/ci[...] MIT Press 2015-03-22
[5] 문서 HMM-based Word Alignment in Statistical Translation https://aclanthology[...] 1996
[6] 간행물 A Systematic Comparison of Various Statistical Alignment Models
[7] 간행물 Statistical phrase based translation https://aclanthology[...] 2003
[8] 간행물 A Hierarchical Phrase-Based Model for Statistical Machine Translation https://aclanthology[...] 2005
[9] 잡지 Has AI surpassed humans at translation? Not even close! https://www.skynetto[...] 2018-08-02
[10] 문서 Statistical Phrase-Based Translation https://aclanthology[...] 2003
[11] 서적 Syntax-based Statistical Machine Translation https://books.google[...] Morgan & Claypool Publishers 2016-08-01
[12] 서적 Statistical Machine Translation Cambridge University Press
[13] 서적 An Introduction to Machine Translation 1992
[14] 서적 Statistical Machine Translation http://www.statmt.or[...] Cambridge University Press 2015-03-22
[15] 논문 Translation (1949) MIT Press 1955
[16] 저널 A statistical approach to language translation http://dl.acm.org/ci[...] Association for Computational Linguistics 2015-03-22
[17] 저널 A statistical approach to machine translation http://dl.acm.org/ci[...] MIT Press 2015-03-22
[18] 저널 The mathematics of statistical machine translation: parameter estimation. http://dl.acm.org/ci[...] MIT Press 2015-03-22



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com