[NLP] NLP 개요, Bag-of-words,

윰진·2023년 3월 3일
0

NaverAIBoostCamp정리

목록 보기
27/30

1강. Intro to NLP

GOAL : 단어와 문서를 벡터로 표현하는 방법에 대한 고민

  • NLP 소개
  • Bag of Words 소개
    • 단어를 표현할 때 one-hot-encoding 을 이용하고, 단어의 등장 순서를 고려하지 않는 간단한 방법
    • 간단하지만 많은 자연어 처리 task 에서 효과적으로 동작
  • Bag of Words 를 이용해 문서를 분류하는 Naive Bayes Classifier 에 대한 이해

01. 소개

  • NLP (Natural Language Processing)
  • Text Mining
    • 문서에서 주요한 정보를 추출하거나 문서를 군집화하고 사회 과학적인 연관성을 찾아내는 Text mining
  • Information Retrieval (정보 검색)

NLP 는 Natural language processing 으로, 주로 문서를 이해하는 NLU 와 문서를 생성하는 NLG 태스크로 나뉜다.

  • 아래 레벨 별로 태스크가 수행된다.
    • Tokenization 이나 의미 변화 없이 어근을 추출하는 stemming 같은 Low-level parsing
    • 문장에서 품사나 성분을 태깅하거나 고유 명사를 추출하는 등의 Word and phrase level
    • 감정 분석이나 기계 번역같은 Sentence level
    • 질의응답, 요약, 대화 같은 Multi-sentence 그리고 paragraph level

모든 문장은 vector 로써 표현될 수 있다.

  • 문장을 구성하는 word 들의 vector 로 구성되어, word 의 순서가 바뀔 때 의미도 바뀜

02. Bag-of-Words

단어 및 문서를 숫자로 나타내는 간단한 표현법

1 ) 예시 : I very very love mandarine.

  • vocabulary : {"I", "very", "love", "mandarine"}
  • one-hot vectors
    • I : [1 0 0 0] , very : [0 1 0 0] , love : [0 0 1 0] , mandarine : [0 0 0 1]

각 문장은 문서에 포함된 word 들의 one-hot vector 를 모두 더한 벡터로 나타낼 수 있다.

  • I very love mandarine : [1 1 1 1]
  • I love mandarine : [1 0 1 1]

2 ) Bayes' Rule Applied to Documents and Classes

P(dc)P(c)=P(w1,w2,...,wnc)P(c)P(c)πwiWP(wic){P(d|c)P(c) = P(w_1, w_2, ..., w_n|c)P(c) \rightarrow P(c)\pi_{w_i \in W} P(w_i|c)} (by conditional independence assumption)

  • P(dc){P(d|c)} : 특정 카테코리 c가 고정되었을 때, 문서 d의 카테고리가 c일 확률
  • 카테고리 c가 고정되었을 때 각 단어가 등장할 확률이 독립 이라면 각 확률의 곱으로 나타내질 수 있음

  • 문서 4개 중에 2개가 "CV" 로 분류되었을 때, P(CCV)=24{P(C_{CV})=\frac{2}{4}}
  • 문장의 단어가 10개 일 때, 문서 d5{d_5} 에 등장하는 단어의 빈도를 통해 P(cCVd5){P(c_{CV}|d_5)}가 계산됨

이 때, 어떤 단어가 문서에 한 번도 등장하지 않은 경우, 다른 단어들이 얼마나 밀접한지와 관계없이 확률이 0이된다.

  • 이를 피하기 위해 Regularization 이 사용된다.

또 어떤 문서 d5{d_5} 가 어떤 클래스에 속할 확률은 Maximum Likelihood Estimation 으로 결정된다.

이 글은 네이버 커넥트재단 부스트캠프 AI Tech 교육자료를 참고했습니다.

0개의 댓글