5 1 The Spelling Correction Task
https://youtu.be/iYFqYL9RsRs

image
image
image

5 2 The Noisy Channel Model of Spelling
https://youtu.be/q6BFerSaUEA

image

원래의 단어가 noisy channel를 거쳐 noisy word가 될수 있다고 가정하고 noisy word (spelling이 맞지 않는 단어)를 가지고 원래 어떤 단어가 되어야 하는지 추측하는 과정을 보여주고 있다. 

image

x 는 misspelled된 잘못된 단어이다. 잘못된 단어 x가 주어진 상태에서 원래 단어 w일 확률을 구한다. 이를 beyes rule을 이용 변형하면 두번째 공식이 되고 여기서 P(x)는 최대값을 구하는 과정에서 중요하지 않으므로 생략할수 있다. 

image

결과적으로 나온 맨 밑줄의 공식에서 P(x|w)를 channel model, error model이라고 한다. P(w)를 language model이라고 한다.

image
image

기존 edit distance는 insertion, deletion, substitution 만을 이야기 했다. Damerau-Levenshtein은 여기에 transposition을 추가 했다.

image

“acress” 의 edit distance 1의 예

image

 80%의 spelling 문제는 edit distance 1 안에서 발생. 대부분은 edit distance 2안에서 발생한다.

image

이전 강의에서 배운 기존의 language model을 사용한다.

image

unigram을 이용한 language model을 보여주고 있다.

image
image
image
image

confusion matrix의 예를 볼수 있는 곳

image

이부분은 잘 이해하지 못했다. (원래 논문 https://www.aclweb.org/anthology/C90-2036)

image

confusion matrix를 이용 channel modle의 확률을 구하고 language model을 통해 구해진 확률을 곱하면 최종의 확률을 얻을수 있다. 

image

한 단어(이 강의에서는 unigram을 language model로 사용)의 철자들을 이용해 얻은 확률보다 때로는 bigram을 이용해 보완하면 보다 좋을 결과를 얻을수 있는 것을 보여주고 있다.

image

자신이 만든 모델을 평가하고 싶을때 참조사용할만한 웹페이지를 보여주고 있다.

5 3 Real Word Spelling Correction
https://youtu.be/bZNU2FwTXDc

image

실제 존재하는 단어로 misspelled되는 경우가 전체 misspelled 문제의 25 – 40%를 차지한다. 예를 들어 minutes를 사용해야하는데 minuets를 사용하는 경우

image
image

단어 하나 하나 마다의 틀린 스펠 단어의 후보를 여러개 뽑아 놓는 것을 보여준다. 

image

각 단어마다의 여러 후보를 뽑고 이의 총 조합 경우를 확인한다. 

image

각 단어별로 여러개의 단어후보를 뽑아 모든 조합의 경우를 확인하는 것이 번거로울수 있다. 보통은 한 문장에서 한단어가 문제가 있는 경우가 많기 때문이다. 

image

non-word spelling problem에서 사용했던 channel model방법을 그대로 사용한다 다만 real-word spelling problem의 경우 맞는 단어가 주어진 상황에서 맞는 단어일 확률을 추가해서 확인해준다.

image

5 4 State of the Art Systems
https://youtu.be/aAvOOZRsby8

spelling correction 결과의 신뢰도에 따른 실제 어플리케이션에서 사용자에게 제시하는 방법들

이론상으로 channel model (error model) 과 language model (prior model) 의 곱으로 spelling의 맞을 확률을 구한다고는 했으나 사실 순수하게 두 값의 곱으로 결과값으로 사용하지는 않고 위의 그림처럼 람다값을 이용해 준다. 이 람다값은 test set을 이용해 통해 얻는다.

위의 3개의 그림처럼 다양한 기법을 총체적으로 사용한다.

classifier 에 따라 어떤 단어를 선택할지를 정할수 있다.

Comments are closed.

Post Navigation