일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 애자일
- 파싱
- C언어
- 벡터
- css
- 데이터분석
- Linear Algebra
- 스케줄러
- 정보검색
- 랩실일기
- 운영체제
- 컴파일러
- 가상메모리
- 클래스
- 웹소프트웨어
- DB
- 프로세스
- 언어모델
- Agile
- 데이터베이스
- 컴파일
- React
- 자연어처리
- 오픈소스웹소프트웨어
- 파싱테이블
- 소프트웨어공학
- 836
- OS
- 객체지향설계
- NLP
- Today
- Total
observe_db
[NLP] 10. 기계번역 본문
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 |