✍️ STUDY/NLP

Language Modeling - Language Model은 텍스트에 확률을 할당하는 시스템으로 생각할 수 있다. (문장의 단어 x(1), x(2) , ... x(t) 가 주어졌을 때 다음에 올 단어 x(t+1) 의 확률) - 예를 들어 텍스트의 일부 x(1),x(2),...,x(t)를 가지고 있을 때, Language Model에 따라 이 텍스트가 발생할 확률(자연스러운 문장일 확률)은 다음과 같다. ⇒ 단어의 시퀀스(문장)에 대해서 얼마나 자연스러운 문장인지를 확률을 이용해 예측한다. 활용 문장의 확률 또는 단어의 등장 확률을 예측 기계번역, 음성인식, 자동완성(ex. 구글 검색) n-gram Language Models - Deep Learning 이전에 Language Model에 주로 사용된..
Sentence Structure Context-Free Grammars(CFGs) 문장의 구조를 단어가 결합된 constituency들의 집합으로 봄. Dependency Structure 문장의 관계를 단어 사이의 dependency로 봄 Why do we need sentence structure? 말하는 사람은 의미 전달을 위해 많은 단어 또는 더 큰 unit을 조합하여 의사소통을 진행, 듣는 사람은 단어 앞에 어떤 단어가 attach(modifer) 되는지를 파악해야함. 또한 NLP 관점에서 모델이 의미를 제대로 파악하기 위해서는 문장의 구조를 이해해야함. 문장 구조의 이해에 따라 다양한 의미 해석이 가능해지기 때문에 정확한 구조 파악은 적절한 의미전달에 필수적이다. Dependency Gram..
Named Entity Recognition(NER) 문장 단어의 이름을 찾고 구분하는 작업 단순하게 구현하면 context window를 활용하여 다음과 같이 구현 가능 개체명을 기준으로 동사와 기타 단어들이 관계를 맺는 구조로 이어지기 때문에, 즉 문법적으로 중요한 품사로 해석되어 문맥을 파악하는데 핵심 역할을 하므로 NER 은 NLP task 에서 중요하게 간주된다. 👉 NER 에 자주 쓰이는 모델 : CRF, RNN 한계점 - 문장내에서 사용되는 entity 의 정확한 개체를 분류하기 어려운 한계점 👉 문맥까지 고려하는 window classification 방법론 등장 Idea : 중심 단어와 주변 단어들을 함께 분류 문제에 활용하는 방법 Method1 : 단어벡터의 평균으로 게산한다. but ..
Word2Vec U는 context word들에 대한 vectors, V는 center word에 대한 vector가 된다. one-hot encoding 된 vector와의 곱 연산을 통해 word vector를 획득한다. Optimization은 GD 알고리즘을 사용한다 했지만, 일반적으로 이는 비효율적이다. 왜냐하면 매 update 마다 모든 word의 gradient를 계산하는 것은 시간이 매우 오래걸리기 때문이다. 그러므로 gradient descent 대신 stochastic gradient descent를 사용한다. Stochastice gradient descent는 모든 word에 대한 gradient를 계산하여 update 하는 것이 아닌 하나의 word 또는 mini-batch siz..
How do we represent the meaning of word? 1. WordNet 동의어(synonym) 및 언어의 상하관계(hypernyms)를 담고있는 사전. But, WordNet은 아래와 같은 몇가지 문제점이 가지고 있음. 뉘앙스를 반영하지 못함.(e.g. proficient는 특정 context에서만 good과 동의어 관계) 새로운 단어 반영이 어려움.(e.g. wicked, badass 등) → 업데이트가 불가능! 주관적임. human labor, 즉 인간의 손을 거쳐야 함. 정확한 word similarity를 계산할 수 없음. 2. One-Hot vector Word를 discrete symbol로 여기는 방식. 특정 단어의 위치에 해당하는 숫자만 1이고 나머지는 0으로 표시. ..
감성 분석은 말 그대로 어떤 텍스트에 대한 감성을 분석하는 것이다. > 긍정 , 중립, 부정 (또는 긍정, 부정으로만 나눌 때도 있음) 이러한 감성을 분류하는 척도를 "극성"이라고 하며 감성의 정도를 의미한다. 보통은 아래의 기준으로 감성을 분류한다. 0 : 중립 양수 : 긍정 음수 : 부정 감성분석 방법론 감성 분석 하는 방법으로는 크게 2가지로 나눌 수 있다. 1. 어휘 기반 : 감성 사전 구축 감성을 표현할 수 있는 명사, 동사, 형용사를 대상으로 모든 단어에 긍정 혹은 부정의 감성을 붙여 감성 사전을 먼저 구축한 후 이를 기반으로 텍스트에 대한 감성 분석 진행 ( 이때 감성 사전은 직접 구축할 수도 있고, 누군가가 이미 구축한 사전을 가져와서 사용할 수도 있다 ) 텍스트에 대한 감성을 계산하는 방..
이번에는 토픽모델링에 대해 공부한 내용을 회고하고자 한다. 토픽모델링은 주로 LDA 모델을 이용한다. LDA LDA는 LatentDirichletAllocation의 약자로, 문서들이 쓰여질 때, 그 문서를 구성하는 몇 개의 토픽이 존재하며 각 토픽은 단어의 집합으로 구성되어있다를 가정으로 한다. 여기서 가정은 가정일 뿐, 각 문서에서 토픽이 무엇이고 각 토픽은 어떤 단어들로 이루어졌다는 사실이 명시적으로 드러나지는 않는다. 그래서 '내재된 주제 혹은 토픽'이라고 부르며 LDA는 이와 같이 내재된 토픽들을 유추하고자 하는 통계적 방법론이라고 부를 수 있다. 이때, 토픽은 문서마다 개별적으로 전혀 다른 토픽이 있는 것이 아니라 전체 말뭉치를 관통하는 토픽들이 있으며, 문서는 이러한 공통적인 토픽들이 다양한..
오늘은 차원 축소에 대해 스터디를 한 것을 회고하고자 한다. 차원은 특성(피쳐)의 개수와 연관이 있는데 만약 차원이 너무 커지면 데이터의 크기가 커지게 되고, 이는 데이터 간의 거리가 멀어지게끔 만들어 준다. 데이터의 거리가 멀어지면 거리 기반 알고리즘(예를 들어 knn) 성능이 떨어지게 된다 이처럼 차원이 커지면 전체적으로 알고리즘의 성능이 떨어질 뿐만 아니라 희소행렬이 되어서 정확도가 떨어지게 된다. 그렇다면 우리는 이를 방지하기 위해 차원을 축소해야 한다. 차원축소 방법에는 크게 2가지로 나눌 수 있다. 1. 특성 선택 : 라쏘회귀와 가티 계수(회귀계수)가 0인 피쳐들은 다 제거하거나 또는 우리가 빈도수를 기반으로 너무 적거나 너무 많은 단어들을 제거했던 과정이 특성 선택에 해당 2. 특성 추출 :..
Ju_pyter
'✍️ STUDY/NLP' 카테고리의 글 목록