NLP/1주차

1. NLP intro & BOW & Word Embedding

jnnwnn 2021. 9. 6. 14:42

NLP: Natural Language Understanding + Natural Language Generating (major conferences: ACL, EMNLP, NAACL)

NLP tasks

  • Low-Level
    • Tokenization, Parsing
  • Word and Phrase Level
    • NER, POS tagging, noun-phrase chunking, dependency parsing, coreference resolution
  • Sentence Level
    • Sentiment analysis, Machine Translation
  • Multi-sentence and paragraph level
    • Entailment prediction: 두 문장간의 논리적 내포를 예측
    • QA, dialog system, Summarization

Text Mining: Extract useful info and insights from text and document data(major confrences: KDD, WSDM, CIKM, ICWSM, The WebConf)

  • Document clustering
  • related to computational social science

Information retrieval: 검색 기술을 연구하는 분야 (major conferences: SIGIR, WSDM, CIKM, RecSys)

  • 어느정도 성숙한 분야
  • 추천시스템 연구를 많이 함

NLP Trend

  • 단어를 벡터로 표현. 텍스트는 이 단어들의 sequence
  • Sequence를 다루기 위해 rnn 모델 사용(LSTM, GRU)
  • Transformer Model
    • self-supervised training
    • task speicific하지 않은 pretrain된 모델을 transfer learning 시키는 방향으로 발전

Bag-of-Words Representation

Bag of Words란 단어들의 순서는 전혀 고려하지 않고, 단어들의 출현 빈도(frequency)에만 집중하는 텍스트 데이터의 수치화 표현 방법입니다. Bag of Words를 직역하면 단어들의 가방이라는 의미입니다. 단어들이 들어있는 가방을 상상해봅시다. 갖고있는 어떤 텍스트 문서에 있는 단어들을 가방에다가 전부 넣습니다. 그러고나서 이 가방을 흔들어 단어들을 섞습니다. 만약, 해당 문서 내에서 특정 단어가 N번 등장했다면, 이 가방에는 그 특정 단어가 N개 있게됩니다. 또한 가방을 흔들어서 단어를 섞었기 때문에 더 이상 단어의 순서는 중요하지 않습니다.

[출처] https://wikidocs.net/22650

John really loves this movie라는 문장을 나타낸다면 [1, 1, 1, 1, 1, 0, 0, 0]

 

NaiveBayes Classifier for Document Classification

document d, 문서가 속할 수 있는 class C개라고 한다면


단어를 벡터로 나타낸다 -> 유사한 단어들은 벡터 공간에서 가까운 거리로, 의미가 다른 단어들은 먼 거리로

 

Word2Vec

"문장 안에서 인접한 단어들은 의미적으로 관련이 있다"

CBOW, Skip-gram 방식

  • 학습방법
    1. 단어들을 tokenization
    2. unique한 단어들로 사전 구축
    3. 각 단어는 사전의 크기를 dimension으로 가지는 one-hot vector
    4. sliding window를 이용해서 문장의 단어들을 단어쌍으로 구성 

 

  • Word intrusion detection에 사용 가능 - 의미가 상이한 단어 찾아내기
  • NLP task의 성능 향상

Word2Vec 예시

https://ronxin.github.io/wevi/

 

wevi

Training data (context|target): Presets: Update and Restart Update Learning Rate Next 20 100 500 PCA

ronxin.github.io

Korean Word2Vec

https://word2vec.kr/search/

 

Korean Word2Vec

ABOUT 이곳은 단어의 효율적인 의미 추정 기법(Word2Vec 알고리즘)을 우리말에 적용해 본 실험 공간입니다. Word2Vec 알고리즘은 인공 신경망을 생성해 각각의 한국어 형태소를 1,000차원의 벡터 스페이

word2vec.kr

 

GloVe

새로운 형태의 loss function 사용

https://wikidocs.net/22885

 

05) 글로브(GloVe)

글로브(Global Vectors for Word Representation, GloVe)는 카운트 기반과 예측 기반을 모두 사용하는 방법론으로 2014년에 미국 스탠포드대 ...

wikidocs.net