호돌찌의 AI 연구소
728x90
article thumbnail
Dependency Parsing (1)
AI/NLP 2022. 4. 17. 18:52

NLP에서 분류와 생성, 키워드 추출, NER, MRC 등 다양한 Task들이 존재합니다. 하지만 이번에 또 다른 영역인 "Parsing"이라는 영역을 공부하게 되었고 그중 단어 간 관계를 파악하는 것이 목적인 "Dependency Parsing"에 대해 공부한 것을 정리하고자 합니다. 우선적으로 컴퓨터과학에서 "Parsing"의 정의를 점검하자면, 각 문장의 문법적인 구성 또는 구문을 분석하는 과정"이라고 표현합니다. 일련의 문자열을 의미있는 Token으로 분해하고 이들로 이루어진 Parse Tree를 만드는 과정을 뜻합니다. parse tree의 예는 아래와 같습니다. 위와 같은 구문분석 트리를 구성하는 것이 "Parsing" 이라고 부릅니다. Tokenizing은 의미를 잘게 쪼개어주고, Pos-T..

article thumbnail
Pretrained Language Model - 8. Transformer
AI/NLP 2021. 10. 15. 18:00

저번 시간에 Attention에 대해 다루었습니다. 솔직히 제일 처음에 Transformer를 공부할 때 이해가 되질 않았던 기억이 있습니다. 또한 논문 'Attention is all you need'도 초보자가 읽기에 너무 힘들었던 기억이 납니다. 여러 글(Jay alammar의 블로그와 ratsgo님의 블로그)과 유튜브 영상 등을 보고 구현을 하다 보니 이해가 되었고 이를 간단히 정리하고자 합니다. Transformer는 Attention 연산을 통해 정보의 encoding과 decoding을 해결합니다. RNN은 구조상 순서의 정보가 반영이 되어있지만 Attention은 그렇지 않아 순서의 사상을 반영해야하기 때문에 Positional Encoding을 사용하여 반영합니다. Positional E..

article thumbnail
Pretrained Language Model - 7. Attention
AI/NLP 2021. 10. 9. 20:10

Natural Language Generation은 auto-regressive task로 접근합니다. 즉, Language Model은 주어진 단어들을 바탕으로 다음 단어를 예측하는 형태이고 가장 기본이 되는 것이 Sequence to Sequence(seq2seq) 입니다. Sequence to Sequence는 3개의 서브 모듈 Encoder, Decoder, Generator로 구성이 되어있습니다. Encoder는 문장 하나를 context vector로 압축하는 역할, Decoder는 context vector를 conditional 하게 받는 조건부 LM입니다. Generator는 Decoder의 매 Time step별 hidden state를 softmax를 통해 multinoulli dis..

article thumbnail
Pretrained Language Model - 6. ELMo
AI/NLP 2021. 10. 2. 14:29

이전 글 Word Embedding에서 동시에 출현하는 단어들이 비슷한 Embedding을 갖도록 학습이 되는 것이 목표라고 이야기를 했었습니다. 하지만 Pre-trained 된 Embedding 벡터를 활용하여 썼을 때 end-to-end 방식보다 성능이 떨어진다고 언급했었습니다. Skip-gram과 같은 Word Embedding 방식들은 단어들이 바뀌다고 해서 문장의 Word Embedding값들이 바뀌는 것이 아닙니다. 해당 Corpus 내의 데이터 셋 내에서는 Global 하게 고정된 것입니다. 정말 간단하게 이야기하면 '배'라는 단어는 3가지 뜻을 가질 수 있습니다. 과일의 배, 바다에 떠다니는 배, 사람 신체의 배 이렇게 동음이의어처럼 이런 경우들은 전부 고정된 임베딩 벡터라는 것이 큰 문제..

article thumbnail
Pretrained Language Model - 5. Word Embedding
AI/NLP 2021. 9. 23. 18:40

1. Motivation Context Window에 단어가 동시에 나타나는 단어일수록 비슷한 단어를 가진다는 가정에서 출발을 합니다. 따라서 비슷한 단어는 비슷한 벡터 값을 가져야 합니다. 대표적인 방법으로는 Skip-gram이 있습니다. 주변 단어들을 맞추려고 하는 것이 큰 Goal이라고 할 수 있습니다. 문장의 문맥에 따라 정해지는 것이 아니고 Context Window 사이즈에 따라 Embedding의 성격이 바뀔 수 있음을 유의하셔야 합니다. 2. Basic Tactics 기본적인 개념은 상당히 AutoEncoder와 비슷합니다. y를 성공적으로 예측하기 위해 필요한 정보를 선택하며 압축을 합니다. 주변 단어를 예측하도록 하는 과정에서 적절한 단어의 Embedding을 구할 수 있습니다. 3. ..

article thumbnail
Pretrained Language Model - 4. Downstream Task
AI/NLP 2021. 9. 17. 21:17

Downstream Task는 간단히 말해 구체적으로 내가 풀고 싶은 문제들을 말합니다. 스택오버플로우에서 퍼온 영문 의미는 아래와 같습니다. Downstream tasks is what the field calls those supervised-learning tasks that utilize a pre-trained model or component. 1. 전형적인 NLP에서의 I/O 빨간색 부분이 Input, 파란색 부분이 Output이라고 할 때, NLP에서 자주 쓰이는 유형은 3가지로 정할 수 있습니다. 1) Many to One : 텍스트 분류 Task가 여기에 해당합니다. 긍정/부정이나 multiclass 등등 제일 많이 활용하는 분야가 분류 Task라고 생각합니다. 2) One to Man..

article thumbnail
Pretrained Language Model - 3. PLM
AI/NLP 2021. 9. 14. 19:08

1. Review 지난 시간에는 Self-supervised Learning을 통해서 좋은 weight parameter를 얻고, Transfer Learning을 통해 본인이 가지고 있는 한정된 데이터셋과 할당된 task에 활용해 더 좋은 성능을 얻는 것이 목표였습니다. 2. transformer 트랜스포머는 추후에 조금 더 자세히 기술할 생각입니다. 워낙 블로그에 좋은 글이 많기 때문입니다. 2017년 구글에서 'Attention is all you need' 논문에서 아키텍처를 제안하며 rnn 기반의 seq to seq를 대체하였습니다. 즉, 어텐션만을 활용하여 더 뛰어난 아키텍처를 구성하였고, 이것이 자연스럽게 유행하면서 이를 PLM에 활용하여 유행하게 되었습니다. 이제는 NLP뿐만 아닌 다른 분..

article thumbnail
Pretrained Language Model - 2. Transfer Learning
AI/NLP 2021. 9. 12. 20:36

1. Motivations 처음에 전이학습이 나온 분야는 비전입니다. 데이터가 다르더라도 이미지를 활용한 공통된 Feature들이 존재할 것이라고 접근합니다. 꽃은 잎 모양, 길이가 비슷하나 조금씩 다 차이가 있습니다. 최소한의 공통적인 Feature를 활용하겠다는 사상에서 출발을 합니다. 2. Common Feature in NLP NLP에서는 공통적인 Feature들을 어떻게 뽑을 수 있을까요? I love to go to market. I would like to go home. You have to go to school. .... Corpus에 위와 같은 쉬운 표현들을 보면 semantic, syntactic 한 요소들이 사람이 보기에 쉽게 보일 수 있습니다. I wish to precariou..

article thumbnail
Pretrained Language Model - 1. Self-supervised Learning
AI/NLP 2021. 9. 12. 19:34

1. comparison of Supervised vs. Unsupervised Learning Supervised Learning은 머신러닝 공부할 때 가장 제일 처음 나오는 부류의 학습방법입니다. label y와 data input의 관계를 학습합니다. 반면 Unsupervised Learning은 label y가 존재하지 않고 data x 분포 자체를 학습하거나 x의 feature를 학습하여 활용합니다. 2. Supervised learning 많은 데이터에 사람이 직접 label을 답니다. 이를 통해 입력 x와 output y사이의 관계를 학습합니다. Data y에 label을 다는 것이 인형에 눈알을 다는 것으로 행위가 유사하다고 빗대는데, 실제로 label을 다는 것은 정말 고되고 힘듭니다. ..

자연어 강좌 추천(2020)
AI/NLP 2020. 7. 12. 17:06

NLP를 공부하면서 도움이 되었던 강좌들을 소개하며 몇줄평을 남겨보도록 하겠습니다. 오로지 자연어 관련 강좌만을 언급을 합니다.(2020년 7월 기준) 1. 허민석님 유튜브→ 자연어처리 재생목록입니다. 용어 잡기에 정말 좋고 짧게 구성되어 있습니다. 2. [Korea University] Text Analytics 2020 Spring → 고려대학교 강필성 교수님 강좌입니다. 텍스트 관련 모든 이론 내용(전처리, topic modeling, deep learning 등)을 다루고 있다고 무방합니다. 정말 추천하는 강좌입니다. 3. 딥러닝을 이용한 자연어 처리 Edwith → 조경현 교수님 자연어 처리 강좌입니다. 처음 듣는 사람들에게 다소 어려울 수 있지만 꽤나 depth있게 필요한 내용들을 전부 다루고..