Download presentation
Presentation is loading. Please wait.
1
2007년 02월 15일 수요일 랩 세미나 띄어쓰기 및 철자 오류 동시 교정 작성,발표:이주호
2
목 차 요약 서론 자소 단위의 오류수정 띄어쓰기 및 철자 오류 교정을 위한 통합모델 실험결과
3
요 약 띄어 쓰기 오류와 철자 오류를 동시에 교정 가능한 전 처리기 기존의 전 처리기 알고리즘 의 한계극복
요 약 띄어 쓰기 오류와 철자 오류를 동시에 교정 가능한 전 처리기 기존의 전 처리기 알고리즘 의 한계극복 기존의 noisy-channel model을 확장 최대한 사전을 적게 이용하여 효과적으로 교정후보생성
4
서 론 대화시스템(메신져, SMS) 증가로 인해 구어체 문장의 텍스트 전 처리를 효율적으로 해야 할 필요성이 커짐
서 론 대화시스템(메신져, SMS) 증가로 인해 구어체 문장의 텍스트 전 처리를 효율적으로 해야 할 필요성이 커짐 구어체 문장을 전처리 하는 과정에서 띄어쓰기와 철자오류 교정은 가장 기본적인 문제들 중 하나이다.
5
서 론 띄어쓰기 교정에 많이 사용되는 방법들 통계적 방법 규칙을 이용한 방법 어절,음절간 n-gram
서 론 띄어쓰기 교정에 많이 사용되는 방법들 통계적 방법 어절,음절간 n-gram Noisy-channel model 규칙을 이용한 방법 휴리스틱 알고리즘 언어학적 지식을 이용하여 언어의 특성을 반영
6
서 론 철자 교정 방법 문장에 포함된 단어 중 사전에 없는 단어를 오류가 포함된 단어로 찾아 가장 대체 확률이 높은 후보 단어로 대체 후보를 찾는 과정 n-gram등의 문맥 정보 이용 edit-distance등의 기준을 이용 철자오류가 포함된 단어와 그 단어의 후보간 근접도를 측정하기 위한 방법 교정대상 단어에서 교정 결과 단어들 문자간의 근접도 만을 이용해 추정이 가능한 문어체 문장에서만 효과적으로 적용된다.
7
서 론 근접도를 이용한 방법의 한계를 극복하기 위해 제안된 모델
서 론 근접도를 이용한 방법의 한계를 극복하기 위해 제안된 모델 교정 대상 단어와 교정 결과 단어의 앞뒤 문맥을 이용하여 유사도 비교 방법 이 방법을 통해 전혀 다른 문자로의 전환도 후보로 생성 가능 일반적 텍스트 전처리 방법으로 사용할 수 없다. 일본어를 위해 제안된 모델 OCR로 인식된 문자들의 철자 오류를 교정하기 위해 제안됨 각 문자의 변환 확률,단어의 POS태그간의 n-gram을 이용 단어사전 사용 불가피함 단순 전처리기로 사용하기에는 시간에 대한 비용이 너무큼
8
서 론 띄어쓰기, 철자 오류를 동시에 전 처리가 가능한 새로운 통계적 방법의 제안 Noisy-channel model이 바탕
서 론 띄어쓰기, 철자 오류를 동시에 전 처리가 가능한 새로운 통계적 방법의 제안 Noisy-channel model이 바탕 각 자소의 변환 확률값과 어절변환 패턴 사전을 이용하여 철자 교정 후보들을 생성 생성된 후보에 띄어쓰기 교정을 위해 공백문자가 더해진 후보가 더해진다. 이렇게 생성된 자소/어절 후보 경로에서 최종적으로 교정된 결과를 얻게 된다. 자소 변환 확률을 이용하여 어절변환패턴 사전의 크기를 상당히 줄이고 사전에 없는 패턴 또한 교정이 가능하다.
9
자소 단위의 오류 수정 자소 단위의 변환 확률 값을 이용한 교정방법을 이용 자소 단위 변환을 이용한 이유
철자 오류의 많은 부분은 자소의 변환만으로도 교정이 가능함 어절 변환 패턴 사전의 크기를 줄일 수 있게 됨 음절단위 모델에 비해 자체크기가 작음
10
자소 단위의 오류 수정 자소 단위의 오류 수정 이점
음절들의 많은 변화를 작은 크기의 자소 단위 오류 수정 모델만으로 초,중,종성의 조합을 이용해 교정 가능 학습 말뭉치에서 나타나지 않았던 다양한 음절 변환도 교정이 가능하다. 자소 단위 후보 생성은 말뭉치에 없는 음절이라 하더라도 자소 조합을 통해 후보생성이 가능하다. 단순히 음절단위의 후보만을 말뭉치에서 뽑아낸다면 말뭉치에서 나타나지 않은 음절의 교정은 불가능하다. 교정 대상 단어를 다른 후보단어로 치환하는 방법에서 나타나는 문제점 (영어권 언어에서 많이 사용) 이 문제를 해결하기 위해서는 학습을 위한 방대한 양의 말뭉치가 필요하다.
11
자소 단위의 오류 수정 자소 단위의 오류 수정 이점
많지 않은 말뭉치만으로도 자소 단위 변환 정보를 얻을 수 있다. 수많은 자소 조합이 가능하므로 후보 과생성 문제를 야기할 수 있다. 이를 해결하기 위해 일정 임계값보다 변환 확률이 작은 자소들을 애초에 후보로 생성시키지 않는다. 한글에서 인정하지 않는 자소 조합이 나타날 경우 후보에서 제외한다. 교정 대상 문장의 각 자소들로부터 변환 후보들을 생성하고 최적 경로를 찾는 방법으로 많은 철자 교정 문제를 해결할 수 있다
12
자소 단위 변환 데이터 추출 한 문장간 평행하게 일대일 대응하는 띄어쓰기 오류와 철자 오류가 포함된 말뭉치와 수작업으로 교정한 말뭉치를 이용 어절들을 자소 단위로 비교철자 교정 과정이 한 개,두 개,세 개 이상의 단위로 이루어지는 경우로 나눔
13
자소 단위 변환 데이터 추출 한 개의 자소 단위로 교정이 되는 경우
발음 실수 혹은 고의로 다르게 표기한 경우가 많음 예)같애요→같아요/ㅐ →ㅏ, 먹어여→먹어요/ㅕ →ㅛ 맞춤법 지식의 부재로 인한 경우 예)희안한→희한한/ㅇ →ㅎ 자소가 빠져서 교정되는 경우 예)나와욧→나와요/ㅅ →X 오류 자소가 어떤 자소로 교정이 되었는지 수를 세어서 확률변환 데이터로 구축 각각의 자소 변환 확률은 초,중,종성을 구분하여 계산 성능 향상과 후보 과 생성을 막고자 함이다
14
자소 단위 변환 데이터 추출 두 개의 자소 단위로 교정이 되는 경우
두 개의 자소가 한꺼번에 바뀌어 교정되는 패턴 특정 음절 A,B가 연속한 경우 A의 종성이 B의 초성과 연계하여 변화하는 경우 맞춤법과 달리 발음 그대로 쓰는 경우 고의적으로 바꾸어 사용하는 경우 예)있자나요→있잖아요/Xㄴ→ㄶㅇ 예)촙오→초보/ㅂㅇ→Xㅂ 두 개의 자소를 하나의 변환 단위로 보고 각각의 단위 변환 횟수를 통계 데이터로 이용한다
15
자소 단위 변환 데이터 추출 앞의 두 가지 변환을 자소 단위 교정으로 규정
그 외의 교정 패턴은 음절들의 자체 변환된 경우로 자소 단위로 접근 불가능(복잡한 자소 변환 경우도 포함) 오류 음절들의 변화가 너무 심해 단순한 자소 변환만으로 그 원래의 음절을 복원할 수 없는경우 채팅시 많이 쓰이는 신조어나 은어,초성만으로 이루어진 형태 이러한 패턴은 어절 혹은 음절 자체를 하나의 단위로 보고 어절변환패턴 사전을 구성한다 자소 단위 외의 후보를 생성하는데 이 사전이 이용됨
16
통합 모델의 필요성 띄어쓰기 및 철자 오류 교정을 위한 통합모델 띄어쓰기 오류교정 철자 오류 교정
각 음절 사이에 공백문자의 삽입 유무의 판단 철자 오류 교정 각각의 어절 또는 음절의 오류포함 유무판단 교정후보 생성 문제 현재까지의 띄어쓰기 및 철자 교정에 효과적으로 알려진 알고리즘들은 복합적으로 오류가 나타났을 경우 성능이 저하됨
17
띄어쓰기 및 철자 오류 교정을 위한 통합모델 통합 모델의 필요성 띄어쓰기 알고리즘 철자 교정 알고리즘_1
띄어쓰기에서 사용하는 방법은 그 단어나 문자들이 올바르다는 가정하에서만 띄어쓰기 교정가능 복합적으로 오류가 나타났을 경우 띄어쓰기 알고리즘은 철자 오류를 고려하지 않고 적용됨 철자 교정 알고리즘_1 단어 사전과 문장내의 형태소의 문자간 근접성을 바탕으로 비교함 영어권 언어는 바로 어절 자체가 하나의 단어이므로 바로 적용가능 한국어는 조사,어미 등을 통계적 방법이나 사전을 이용하여 따로 처리 하거나 어절 전체를 사전과 비교할 수도 있음 특히 어미, 조사 등은 띄어쓰기 된 정보를 이용하여 구분하는 방법을 사용
18
통합 모델의 필요성 띄어쓰기 및 철자 오류 교정을 위한 통합모델 철자 교정 알고리즘_2
철자 교정 알고리즘은 주어진 문장의 띄어쓰기를 바탕으로 어절을 나눈 후에 알고리즘을 적용 주어진 문장에 띄어 쓰기 오류가 포함 될 경우 올바른 후보를 생성할 수 없음
19
구어체문장에서는 이 알고리즘들을 실용적으로 이용하기가 매우 어려움
띄어쓰기 및 철자 오류 교정을 위한 통합모델 구어체문장에서는 이 알고리즘들을 실용적으로 이용하기가 매우 어려움 구어체에서는 두 오류가 복합적으로 나타나는 빈도수가 높음 철자 및 띄어쓰기 오류를 동시에 교정이 가능한 전처리기가 필요함
20
※T의 교정후보 C중 극대 값을 가진 교정 후보 C가 C'가 된다.
띄어쓰기 및 철자 오류 교정을 위한 통합모델 문제 정의 C' = argmaxC P(C|T) 띄어쓰기와 철자오류가 모두 포함된 문장 T T로부터의 교정후보 C 후보 중 교정 확률이 가장 높은 C' ※T의 교정후보 C중 극대 값을 가진 교정 후보 C가 C'가 된다.
21
띄어쓰기 및 철자 오류 교정을 위한 통합모델 모델 구성 T = s1b1s2b2s3b3.......snbn ,n은 음절의 개수
si는 음절 bi 는공백문자 T는 기본적으로 si bi 가 포함되어 있음 si = ji1ji2ji3(ji1:초성ji2:중성ji3:종성) si는 초,중,종성 총 3개의 자소로 구성 구성 요소가 없는 자소는 ‘X’로 정의 bi는 공백이 존재시 ‘B’ 공백이 없을시 ‘Φ’로 정의 C = s1b1s2b2s3b snbn C역시 T와 마찬 가지로 음절과 공백 문자로 정의 할수 있음
22
띄어쓰기 및 철자 오류 교정을 위한 통합모델 모델 구성
C' = argmaxC P(C|T) =argmaxC P(T|C)P(C)/P(T) =argmaxC P(T|C)P(C) C' = argmaxC P(C|T)를 만족하는 C' 를 구하기 위해서 Bayes’ Rule을 적용하여 푼다. P(C)는 C를 이루는 각 음절의 trigram을 이용한다. P(C|T)는 각각의 자소의 변환 확률값을 이용, 자소간 문맥을 고려하지 않고 이들의 곱으로 정의한다.
23
띄어쓰기 및 철자 오류 교정을 위한 통합모델 모델 구성
각각의 공백 문자 변환확률을 곱할 경우 ※실제 noisy-channel model 구현시에는 P(C|T)에 로그를 취하여 누적 로그값의 합들로 계산
24
띄어쓰기 및 철자 오류 교정을 위한 통합모델 자소 단위 후보 생성의 예
25
띄어쓰기 및 철자 오류 교정을 위한 통합모델 자소 단위 후보 생성의 예 그림의 맨 윗줄은 입력문장을 자소 단위로 나눈것
둘째 줄 이하부터는 원 자소의 후보 자소들이다 각 자소노드는 자소변환확률값 의 로그값인 log P(jik|j’ik)가지고 있어 P(C|T)의 계산에 사용됨 인접한 자소 2개가 후보 생성이 가능할 때 그 후보 또한 생성 된다. Xㅋ→ㅎㄱ,ㅎㅋ,ㅋㅎ,ㄱㅇ 음절 이상 단위의 변환 또한 어절변환패턴 사전으로부터 후보가 생성된다. ㅇㅓXㅋㅔX→ㅇㅓXㄸㅓㅎㄱㅔX
26
띄어쓰기 및 철자 오류 교정을 위한 통합모델 P(C)를 계산하기 위해서는 음절단위의 노드가 필요하므로 이 자소 후보로부터 다시 음절단위의 후보 노드들로의 변환이 이루어진다 이때 공백 문자가 삽입되고 이 단계에서 후보생성이 완성된다 생성된 노드로부터 최적 경로를 찾기 위해 Viterbi 방식의 탐색을 맨 왼쪽 노드에서 부터 진행 Viterbi 알고리즘은 가능성이 없는 경로를 버리고 가능한 한 탐색거리 를 짧고 간단하게 한다. 각 음절후보를 선택할 때마다 그 동안 누적된 로그 값이 낮은 후보들은 beam search를 통해 beam value에서 벗어나는 후보 들을 잘라낸다. beam search는 beam value에 미치지 않는 탐색영역에 대하여 제한을 가하는 방법
27
띄어쓰기 및 철자 오류 교정을 위한 통합모델
28
실험결과 철자가 교정된 말뭉치를 대상으로 띄어쓰기만을 적용한 실험 띄어쓰기 성능을 음절, 어절 단위로 측정한 것
음절단위(F-1) 어절단위(%) 입력 띄어쓰기 무시 0.90 80.87 입력 띄어쓰기 유지 0.95 92.29
29
실험결과 띄어 쓰기와 철자 교정을 동시에 수행한 실험 결과 ※실험결과 표에서 사용된 상수는
실험 결과 초,중,종성을 구분하면서 확률 데이터 값을 적용 하였을 때 가장 성능이 높음 ※실험결과 표에서 사용된 상수는 log(P(j|j’)=-1.6) 이다. 자소 변환 확률이용 상수이용 초,중,종성 구분 73.57% 65.10% 구분안함 61.89% 63.71% 자소 변환 확률이용 상수이용 초,중,종성 구분 84.25% 80.92% 구분안함 79.67% 80.61% 이미 입력된 띄어쓰기를 무시한 경우 이미 입력된 띄어쓰기를 유지한 경우
30
실험결과 띄어 쓰기와 철자 교정을 동시에 수행한 실험 결과 띄어쓰기 성능이 전체 결과에 상당한 영향을 준다.
입력문장의 띄어쓰기를 유지하고 알고리즘을 적용한 경우 교정률은 80% 내외로 나타나는 이유는 후보탐색이 어절 내로 국한되어 좁아졌기 때문에 n-gram데이터의 영향보다는 후보변환 확률 데이터의 영향이 누적 로그값을 매기는데 더 컸기 때문이다.
31
실험결과 띄어 쓰기와 철자 교정을 동시에 수행한 실험 결과 낮은 성능을 보인 이유
자소나 음절 단위의 변환 확률 값은 어느 정도의 말뭉치만으로도 신뢰할 만한 수치를 얻을 수 있었음 P(C)를 계산하기 위한 n-gram데이터는 충분한 양의 말뭉치가 있어야 신뢰성 있는 데이터를 얻을 수 있다 말뭉치의 오류 태깅이 일관성이 없으므로 성능측정치가 신뢰성이 높다고 할 수 없음 말뭉치 자체가 전문 용어가 많아서 n-gram데이터의 질에 영향을 많이 준다
Similar presentations