Intro to Natural Language Processing(NLP)
- 자연어 처리(NLP)란?
- 컴퓨터가 주어진 단어나 문장을 이해하는 과정(NLU)
- 자연어를 상황에 따라 자연스럽게 생성(NLG)
- 두 과정이 포함되어 있음
Academic Disciplines related to NLP
- NLP 최신 논문들이 주로 공개되는 학회
- ACL, EMNLP, NAACL
- Low-level parsing
- tokenization, stemming
- Word and pharse level
- NER : 고유 단어를 파악하는 task
- POS tagging : 단어들이 문장 내부에서의 어떠한 품사인지 알아내는 task
- noun-phrase chunking
- dependency parsing
- coreference rsolution
- Sentense level
- sentiment analysis : 감정 분석
- machine translation : 기계 번역
- Multi-sentence and paragraph level
- entailment prediction : 두 문장 간의 논리적이고 모순적인 관계 파악
- question answering : 독해기반의 질의응답
- dialogue systems
- summarization
- Text mining
- 빅데이터 분석과 많은 연관이 존재 → 문서에서 여러 정보와 인사이트를 추출
- document clustering (ex. topic modeling)
- computational social science와도 밀접한 관계를 갖고 있음
✅ 학회 : KDD, WWW, WSDM, CIKM, ICWSM
- Information retrieval (정보 검색)
- google, naver에서 사용되는 검색 기술
- 추천 시스템이 포함됨
Bag-of-Words
👉 “John really really loves this movie” , ”Jane really likes this song”
위 두 문장에서 unique한 단어만을 모아서 vocabulary를 만들어보자
- vocabulary : {“John“, “really“, “loves“, “this“, “movie“, “Jane“, “likes“, “song”}
- 각각의 단어들은 categorical variable(범주형 변수)로 볼 수 있음
- categorical variable을 각각 one-hot vector로 나타내면 위와 같다.
- vocabulary 수를 차원으로 하여, 그 차원만큼의 벡터공간에서 각각의 축(dimension)을 vocabulary의 단어에 1로 할당하여 나타낼 수 있다.
- one-hot vector 간의 유클리드 거리는 모두 $\sqrt{2}$ 이고, cosine similarity는 모두 0이다.
- 단어의 의미에 상관 없이, 모두 동일한 관계를 가진 형태로 단어를 표현
- 문서를 나타내는 방법
- 문서 안의 각각의 단어의 one-hot vector를 더하여 표현 가능
- bag-of-words vector
- 문서 안의 각각의 단어의 one-hot vector를 더하여 표현 가능
NaiveBayes Classifier for Document Classification
- bag-of-words vector로 나타낸 문서를 정해진 class로 분류하기
- ⇒ NaiveBayes Classifier
- 문서가 분류될 수 있는 class ⇒ C개
- 특정한 문서 ⇒ d
- 특정한 문서 d가 주어졌을 때, 그 문서가 C개의 각각의 class에 속할 확률
- => $P(C|d)$
- 위 확률분포에서 가장 높은 확률을 가지는 class C를 택하는 방식으로 문서 분류 수행
- => maximum a posteriori
- 문서 d가 뽑힐 확률 ⇒ 문서가 항상 존재하기 때문에 상수 값으로 볼 수 있음
- 특정 카테고리 C가 고정되었을 때, 문서 D가 나타날 확률
- 문서 D ⇒ 첫 번째 단어부터 마지막 단어까지 동시에 나타나는 동시 사건으로 볼 수 있음
- C가 고정되어 있는 경우, 독립으로 볼 수 있고, 각 단어가 등장할 확률을 곱하여 나타낼 수 있음
위 내용은 부스트캠프 AI Tech 에서 제공한 내용을 바탕으로 작성하였습니다.
'부스트캠프 AI Tech' 카테고리의 다른 글
3주차 - CNN (Convolutional Neural Network) (1) | 2022.10.06 |
---|---|
3주차 - 최적화 (0) | 2022.10.05 |
3주차 - 딥러닝 기본 (0) | 2022.10.04 |
2주차 - PyTorch 구조 학습하기 (0) | 2022.09.30 |
2주차 - Pytorch 기본 (0) | 2022.09.29 |