Deep contextualized word representations
subinium opened this issue · comments
Subin An commented
- https://arxiv.org/abs/1802.05365
- a.k.a ELMo
Subin An commented
Concept
-
Contextualized Word Embedding
- Language Model은 언어를 확률적으로 이해하고자 하는 모델
- Word Embedding은 단어를 벡터로 변환하는 방법론
- 문맥 반영 워드 임베딩으로 보자.
- 이전에 사용한 Word2Vec, FastText, GloVe등도 보면 좋음 (얘네는 같은 단어는 같은 벡터로 표현, 즉 문맥 이해 불가)
-
biLM(Bidirectional Language Model)
- 정방향 LM + 역방향 LM을 사용했음
- LSTM 기반임
- 대신 top level뿐만 아니라 중간 level간의 선형 결합을 통해 단어의 representation 학습
- LSTM 중간층 (정방향/역방향)에서 concatenate, linear combination(weigthed sum)
- 이 과정에서 사용하는 각 측간 가중치는 학습 과정에서 학습
- 그래서 최종적으로 나온게 ELMo representation
-
문맥을 이해해야 하므로 입력은 word 단위가 아닌 sequence 단위
-
학습 과정은 기존 LM과 유사하게 앞의 N개 단어를 사용했을 때 N+1번째 단어를 학습하는 방식
Subin An commented
Model Detail : Character-level CNN???
-
CNN을 사용하여 context-independent token을 만듬
- 이게 왜 잘될까는 의문. 워드벡터에서 spatial한 정보가 어떤 식으로 장점인가?
- 머릿속으로 그림이 안그려지는 것도 있음 => 그림을 보면 이해가 쉽지 않을까?
- 찾아보니 2014, 2015에 Text+Conv의 논문이 엄청남 (인용수도 엄청남)
- 근본 논문 : POS tagging에서 Character-level CNN 성공적 사용
- morphological한 구조(prefix or suffix)를 잘 학습한다고 해석 (그리고 가장 이해가 쉽게 word cnn 그려둠)
- Character-level Convolutional Networks for Text Classification 여기서 데이터규모가 커지면 bag of words, m-grams, TF-IDF 보다 잘된다고 함 (르쿤이 공동저자라 대충 살펴봄)
- 좀 불균형한 데이터나 특정 데이터에 대해 안된다는 내용이 있음
- 그리고 왜 accuracy로 측정하는지??
- 그림 보고나니 subword를 보는 데 fasttext 상위호환이라는 생각. subword를 보는 느낌?
-
Jaemin Cho : Deep Learning for Chatbot (2/4)에 다양한 Character-based CNN 설명이 되어 있음.
Subin An commented
ETC
- 다의어를 보여주기 위해 특정 단어의 Nearest Neighbors를 보여줌
- LM의 투명성과 관련하여 논문이 있지 않을까? (관련 score 찾아볼 것.)
- Text Cleaning Score??
- 가중치 시각화가 좀 불편하다.
- AllenNLP v1.3.0에서 torch로 사용가능한 것 같은데 잘은 모르겠음
도움되는 글
- A Study on CoVe, Context2Vec, ELMo, ULMFiT and BERT : CoVe와 Context2vec의 차이를 가볍게 살펴보려고 찾은 아티클