본 글은 카이스트 최윤재 교수님의 Programming for AI (AI504, Fall 2020), Class 9: Recurrent Neural Networks를 바탕으로 정리한 글입니다.
Handling Variable-Length Sequences
이미지를 다룰 때는 이미지의 resolution가 predefined 되어있으므로 따로 이미지의 크기를 몰라도 되지만,
문장에 대해서는 network를 train 하기 전에 길이를 define 할 수 없으므로 variable-length sequences를 handling 할 필요가 있습니다.
Bag-of-Words
variable length sentences/documents를 handling하는 classical 한 방법입니다.
토큰/단어의 순서는 신경쓰지 않고 문장 내에서 몇 번 나왔는지만 고려하는 방법입니다. (word frequency)
vector로도 표현이 가능한데, 만약 vocab(Dictionary)가 100K-dimensional이라고 가정을 하면 해당하는 단어 빼고는 다 0이므로 super sparse(희소) count vector라 할 수 있습니다.
이러한 방법은 매우 많은 공간 낭비가 있을 수 있습니다.
추가적으로 만약 모델에서 보지 못한 게 들어올 수도 있으니 vocab에 Unknown(UNK)이라는 항목도 만들어 놓습니다.
이러한 방법은 같은 단어를 가진 문장의 순서가 달라져도 동일하게 표현되는 한계를 지니고 있으므로 meaning을 전달하는데 있어 좋지 않은 표현입니다.
Classical NLP
문장은 다음으로 구성되어있습니다. (very old nlps)
- syntax : grammer
- semantic : meaning
- discourse : more abstract meaning
- pragmatic : more more abstrack meaning
문장의 의미를 인지하거나 추출하기 위해서 다양한 modules이 존재합니다.
- part-of-speech tagging (pos tagging)
- parsing
- named entity recognition
- semantic role labeling
- ...
하지만 이것들은 딥러닝에 의해 쓸모없어졌습니다...
RNN, LSTM, GRU
다음 글에서 각 모델에 대하여 설명하겠습니다.
'Data Science > NLP' 카테고리의 다른 글
[NLP] NLP briefing (0) | 2022.05.04 |
---|---|
[NLP] NLP Introduction (0) | 2022.05.03 |
[NLP] Attention Mechanism (0) | 2022.03.28 |
[NLP] GRU (Gated Recurrent Unit) (0) | 2022.03.28 |
[NLP] LSTM (Long Short-Term Memory, 장단기 메모리) (0) | 2022.03.28 |
댓글