본문 바로가기

N-gram model과 등장 배경 (1) 본문

딥러닝/자연어처리

N-gram model과 등장 배경 (1)

jaegomhoji 2022. 3. 23. 23:32

< 큰 흐름 >

* rule based NLP의 경우 실제 사용한 예를 분석 -> 규칙을 만들어 적용 -> 일반화 하기가 어렵다 

 

-> 그래서 확률값을 기준으로 language model 을 구하기 시작했다 

 

* machine readable 한 file 인 corpora : large databases of texts ( corpus 의 복수형 명사 ) 

> 실제 사용된 문장들의 모음

> raw texts , 이제는 인터넷 상에서 방대한 양의 뉴스 기사 등등 구할 수 있다. 

> 외국은 google, 우리나라는 naver 등에서 엄청난 양의 corpus를 가지고 있는 것이다. 

 

* balanced corpus : 다양한 장르의 문장들을 특정 비율로 모아서 구축한 corpus 

ex : brown corpus , U.S , 1963-64 : 1M words 당시 표준 영어를 연구하기 위한 언어학 연구의 일환이였음  

지금은 100만 단어는 별로..  기본적으로 10억 100억 개.. 사용한다 

 

-> 일일이 규칙을 만드는 것 보다는, 정답을 tagging 하는 것이 쉽다 !! 

 

* tagged corpus : raw corpus를 가공한 형태로 

> p.o.s tagged 

> tree tagged ( penn treebank ) -> 일일이 정답을 parse 하여 tree 형태로 만든 것 

> semantic code tagged

> discourse structure tagged corpus 

> parallel corpus for MT ( machine training ) -> 한 - 영 번역 문장을 allign 한 것 

 

* Statistical Machine Learning for NLP 

> corpus ( tagged or untagged ) 를 이용하여 특정유형 (N-gram)이 나타나는 빈도를 측정하여 NLP에 적용 

> 이러한 방식이 DL을 적용하는데 굉장히 큰 도움이 된다 

 

** conditional probabilty 를 전제

 

** Language Models 

정제된 문법을 기준으로 하면 ( formal grammers : regular - type 3, context free - type 2 ) 는 a hard binary model 이다. 

결과는 문장이 맞거나 틀리거나 

 

그러나 nlp 에서 probabilistic model 은 맞고 틀리고가 아니라 확률적으로 계산해야 한다.

결과는 ~~% 맞았다. ( 점수 )

-> 확률은 과학적인 방법으로 점수를 매기는 방법이다

-> 모든 문장의 확률 값은 1이 된다. 

 

그렇다면 language를 어떻게 하면 확률로 표현할 수 있을까?

 

** Use of language models 

> speech recognition 음성인식

> OCR & Handwriting recognition 문자 인식  

> Machine translation 기계 번역

> Generation  언어 생성 

> Context sensitive spelling correction  맥락 기반 철자 교정  

 

> 문장 예측 ( 완성 ) : please turn off your cell____. -> 이런걸로도 학습 많이 함 ( DNM ) 

> 텍스트 입력 예측 시스템 : guesses what you are typing and gives choices on how to complete it  

Comments