observe_db

[NLP] 10. 기계번역 본문

학교 공부/자연언어처리(4-2)

[NLP] 10. 기계번역

쩡윤 2024. 11. 8. 13:13

11/06

 

기계번역(MT: Machine Translation)

: 기계를 이용하여 한 언어로 쓰인 글(원어)를 다른 언어의 글(번역어)로 변환

ex) 파파고, 구글번역

 

기계 번역의 역사

규칙기반-통계기반-신경망

규칙기반에서 통계기반이 시작될 수 있던 이유는, 컴퓨터 규모가 커지고 통계적 데이터가 대량 축적되었기 때문.

 

 

규칙기반 기계 번역

- 언어학적, 문법적 규칙을 이용해 문장을 번역

- 문장을 형태소나 구문 등으로 분석하고 분해된 내용을 번역 후 재조합

- 직접 번역/ 전달 번역/피봇 번역

-N개의 언어를 번역할 때, 직접 번역과 전달 번역은 N*N(정확히는 N(N-1). 자기자신으로 번역하진 않으니), Interlingua는 2N의 번역 복잡도를 가진다.

직접(direct) 번역

: 언어 구조 변형 없이 거의 1:1 매핑 번역

같은 계열의 언어 사이에서 가능(예외는 있다만)

 

구문 전달 번역

: 구조가 다른 언어 사이의 번역

구문의 구조가 변형된 후 각 요소 번역

 

의미 전달 번역

: 단어를 그대로 번역하지 않고, 상대 언어의 의미에 맞게 번역

 

피봇(pivot) 번역

: 원어를 분석하여 의미 표현으로 바꾸고 이 의미 표현을 다시 단계적으로 번역.

: 문장을 하나의 벡터로.

규칙기반 기계 번역의 장단점

  • 일단 성공시 문법적으로 정확
  • 시스템을 만들기 위한 언어학적 지식을 많이 필요로 함.
  • 문법을 코드로 작성해야하며, 문법 예외가 있어 오류 발생 확률이 높음.
  • 1:1 대응하여 문법에 맞게 번역하므로 단어나 구 사이 연결이 자연스럽지 않음
  • 잘못된 분석의 오류 전파 가능.=>번역 성능 저하
  • 명확한 한계로 다른 방법의 기계 번역 시도.=>통계, 신경망

 

통계 기반 기계 번역

: 병렬 말뭉치(parallel corpus, bi-lingual corpus)에서 두 언어 사이 상관관계를 통계적으로 분석하여 번역.

병렬 말뭉치: 원문과 번역문 1:1 쌍으로 구성된 말뭉치.

대량 병렬 말뭉치 획득이 용이한 2개 이상의 공용어 사용 국가-캐나다, 스위스, 홍콩 등.

 

텍스트 정렬(alignment)

: 병렬 텍스트에서 원어와 번역어를 연결시키는 일

기본 수식: 주어진 두 텍스트 S, T에서 최대 확률의 정렬 A를 구하는 것.

argmaxA P(A|S,T)

자동으로 대역어 사전 구축 가능: 결과적으로 두 단어 사이 번역 확률 계산

구축시 단어 순서, 정렬 단위 등 고려할 거 많다.

 

주어진 영어 문장 E에 대해 가장 번역확률이 높은 불어 문장 F를 찾는 문제

 

언어 모델 P(F)

  • F가 언어(문장)으로서 자연스러운지를 확률적으로 계산
  • n-gram 등

번역 모델 P(E|F)

  • 불어 F가 주어질 때 영어 E가 될 확률
  • E와 F의 각 단어 사이의 정렬 확률을 곱해서 계산
  • 텍스트 정렬에서 계산된 단어들간의 정렬 확률 이용
  • (실제론 모든 정렬 가능한 경우에 대해 모두 확률 계산을 해서 더해야하나, 간단한 설명을 위해 하나의 경우만 표시)

∏P(Fi)*P(Ei | Fi)

성능: 언어 종류가 비슷하면 우수.

 충분한 크기 학습말뭉치가 있어야 적절한 성능의 번역 가능.

 

신경망 기반 기계 번역 추세

- 초기에는 RNN seq2seq 구조(인코더-디코더) 딥러닝 기계 번역

-단순 RNN, LSTM에서는 통계 기반과 비슷한 성능

Attention 추가후 유의미한 성능 향상.

 

RNN 기반 기계 번역

  • n:n  Seq2Seq 문제로 처리
  • 인코더는 원본 문장을 하나의 hidden state로 만들어 디코더에 전달(h_n)
  • 디코더는 주어진 hidden state를 출력 토큰열 생성에 사용

한계

  • 인코더-디코더 사이의 원거리 정보 소실 문제.
  • 노출 편향
  • 학습과 테스트시 차이로 인한 성능 하락
    • 학습: 출력과 정답의 비교.
    • 테스트: 출력

 

Attention 기반 RNN 기계 번역 구조

  • 기존 RNN 구조에 Attention 추가
  • Attention을 통해 원본 언어의 단어 문맥을 참조.
  • Attention 계산을 위해 인코더는 각 단계의 hidden state를 모두 디코더에 전달.=>cross Attention
  • 원거리 정보 소실, 노출 편향 문제가 어느정도 해결.

Transformer 기반-RNN은 배제하고 Attention만을 이용하여 Encoder-Decoder 구조를 만듦

 
 
 

'학교 공부 > 자연언어처리(4-2)' 카테고리의 다른 글

[NLP] 12. n-gram 언어 모델  (0) 2024.11.15
[NLP] 11. 단어 벡터  (1) 2024.11.08
[NLP] 9. 정보 추출  (0) 2024.11.01
[NLP] 8. 의미역 분석  (0) 2024.11.01
[NLP] 7. 단어 의미 모호성 해소  (0) 2024.11.01
Comments