본문 바로가기

Archive171

[NLP] Syntax Analysis / Language Model. * 풀잎스쿨 4주차 준비. Syntax Analysis - 구문분석 https://www.youtube.com/watch?v=DdFKFqZyv5s&list=PLetSlH8YjIfVzHuSXtG4jAC2zbEAErXWm&index=6 강의 요약. + 추가 https://wikidocs.net/21697 - Sentence이 들어왔을 때, 문법 구조를 분석하는 것. -> 적절한 parser를 찾아줘야 한다. parser의 속성 - Directionally : 방향성 (위에서 아래인지, 아래에서 위인지) - Search strategy : 탐색 전략.(depth-first, breadth-first) -> 언어의 모호성때문에 쉽지 않음 - Lexical ambiguity : 하나의 단어가 서로 다른 품사로 쓰.. 2022. 5. 3.
[NLP] FastText란? FastText란? Word Embedding 의 또 다른 방법이다. Word2Vec으로 돌아가보면 주어지는 corpus를 기반으로 학습을 진행한다. 문제는, 학습되지 않은 단어를 던져주면 Word2Vec에는 에러가 발생한다. 학습 되지 않은 단어에 대해 어떻게 보정을 해야할까에 대해 생각해 볼 수 있다. 이에 대한 보정을 고려한 것이 바로 페이스북에서 개발한 FastText이다. FastText가 학습하는 방법. FastText가, Word2Vec과 가장 큰 차이를 보이는 지점으로, FastText는 단어를 다시 n-gram으로 인식하여, 단어를 또 쪼개게 된다. (1) 단어의 앞에 를 추가한다. (2) 이 단어를 n-gram 값으로 쪼갠다. (3) 추가로, 전체 단어에 를 추가한 토큰을 추가한다. E.. 2022. 4. 30.
[NLP] ELMo란 무엇일까? ELMo가 나오게 된 배경은? Glove나 Word2Vec의 경우는 단어간의 위치나 동시 발생 빈도를 고려하여 임베딩을 해왔다. 이렇게 하면, 하나의 토큰에는 하나의 임베딩 벡터가 부여된다. 하지만 문맥을 잘 반영하기 위해서는 "동음이의어"에 대해서도 잘 고려해야 할 것이다. 현재까지의 방법론으로는 "동음이의어"에도 같은 임베딩 벡터를 출력하게 된다. ELMo의 구체적인 절차 ELMo는 pre-trained된 모델로, 우선 전체 문장을 활용하여 학습한다. 또한, 이미 학습된 양방향 LSTM 을 이용하여, 각 단어의 임베딩 벡터를 생성한다. 문장을 넣으면, 문장의 단어별로 임베딩 벡터를 뱉어주는 구조가 된다. 그러면 엘모가 어떻게 양방향 LSTM을 쓰고 있는지 확인해보자. 기본적으로, ELMo는 두 개의 .. 2022. 4. 28.
[NLP] N-gram, Word2Vec, Glove의 간단 개요. * 풀잎스쿨 사전학습을 위한, 이론 파악. * 각각에 대한 자세한 내용 보다도, 개괄적으로 어떤 부분이 이것을 만들었고 주요 모델의 특징에 대해 이해하고자 한다. NLP에서의 희소문제 등장 확률을 기반으로 하는, 통계적 언어 모델에서 만일 특정 단어나 어구가 corpus에 등장하지 않는다면, 그 확률은 당연히 0이 될 것이다. 문제는 수치적 확률은 0인데, 존재할 법한 단어나 문장이라면? 예측 성능에 문제가 될 것이다. 이에 대한 해결책에 대해 고민해야 할 것이다. 이를 개선할 수 있는 방법을 고려해보려고 한다. N-gram N-gram도 횟수를 사용하여 단어를 표현하는 방법이다. N-gram은 한 단어 이상의 단어 시퀀스를 분석 대상으로 삼게 된다. Ex) This is a sentence면 2-gra.. 2022. 4. 27.
[NLP] Word Embeddings - Basics * 풀잎스쿨 3주차 대비! 사전학습 Embedding이란? - 자연어를 컴퓨터가 이해할 수 있는 숫자 형태로 변환. 임베딩의 여러 방법 1. 희소 표현 기반 임베딩 : One-hot Encoding 2. 횟수 기반 임베딩 : TF-IDF 3. 예측 기반 임베딩 : Word2Vec, FastText 4. 횟수/예측 기반 임베딩 : Glove * 그 외 추가로, ELMO. * 좋은 임베딩이란? - 의미론적인 잘 차이를 보존할 수 있는지, - 유사한 관계에, 유사한 벡터 방향을 보여주는지 등등.. * One-hot Encoding의 단점 (1) 하나의 요소만 1 값을 가지고 나머지는 0을 가지기에, 내적을 구하면 무조건 모두 0이다. -> 단어끼리의 관계성을 표현할 수 없다. (2) 차원의 저주의 문제가 발생.. 2022. 4. 25.
[TIL] 품사 태깅 알고리즘들. https://yngie-c.github.io/nlp/2020/05/10/nlp_pos_tagging/ Pos tagging 기본적으로 크게, 다음 3가지로 나뉜다. (1) Pointwise prediction (2) Probabilistic prediction (3) Neural Network based Models (1) Pointwise prediction Maximum Entrophy Model / Support Vector Machine 활용. 단어의 품사를 매길 때, 더 중요한 정보에 대해 가중치를 주는 방식으로 계산. 각 품사가 태깅될 확률을 계산한다. (2) Probabilistic prediction 입력 문장을 X, 할당되는 품사를 Y라고 하자. argmax(Y|X)를 찾는 목표로 표현.. 2022. 4. 23.