본문 바로가기

머신러닝/[딥러닝을 이용한 자연어 처리]

(23)
Overview: a bit of history remark 학습목표 자연어 처리에서 기계번역 문제를 다뤄보기 전에, 우선 기계번역의 역사를 들어봅니다. 핵심키워드 기계번역(Machine Translation) 룰 기반 기계번역(Rule-based Machine Translation) 통계 기반 기계번역(Statistical Machine Translation) 신경망 기반 기계번역(Neural Machine Translation) 소스 언어(Source Language) 타겟 언어(Target Language) 학습하기 자 여태까지 Language model을 공부해봤는데, 제가 처음에 LM를 설명할 때, LM이 스코어링에도 사용이 되지만, 이게 결국 Generation의 문제를 해결할 수 있게 된다. 했었는데요, 지금부터는 Seq2Seq, Neural mach..
Summary 학습목표 지금까지 배운 언어 모델링에 대해서 다시 한번 정리하고 복습합니다. 핵심키워드 언어 모델링(Language Modeling) 문장표현(Sentence Representation) Neural N-Gram Language Model Convolution Language Model Recurrent Lanugage Model Recurrent Memory Networks 학습하기 자 이제 정리해봅시다. 여태했던 Language model이라 함은, 문장이 주어지면 문장의 스코어링을 하는 행위였죠. Autoregression Language Model은 토큰들을 순차적으로 읽어나가면서 (조건부 확률을 기반으로) 문장을 스코어링할 수 있게 만듬으로써, 스코어링을 감독학습으로 진행할 수 있게 관점을 바꾸..
Questions 질문 1. 문장 생성시 다양성은 어떻게 해결하나요? 자 질문이 이런거죠. 사람은 개개인마다 다른 문장을 구사하는데, 문장의 스코어링을 통해서 가장 높은 점수의 문장만 내뱉게되면, 기계는 결국 똑같은 문장만 반복할 것이다. 그렇죠. 그런데 그건 제가 Deteministic한 Generation을 보여줘서 그런거구요. 가장 높은 점수의 문장만 뱉어서 문제가 된다면, 가장 높지 않아도 적당히 높은 것들을 모아 문장을 샘플링하면 되겠죠. Stochastic한 방법이죠. 우린 이미 스코어를 다 알고있으니까, 이런 행위가 충분히 가능하죠. 2. 문장 생성 모델 훈련시, 토픽을 감안한 효율적인 훈련 방법은 있나요? 역으로 문장이 주어졌을 때, 해당 문장을 어떤 토픽으로 분류할 수 있나요? 토픽, 이라는 건 결국 문장..
Long Term Dependency 학습목표 Neural N-gram Language Model이 해결하지 못한 장기의존성 문제를 해결해봅니다. 핵심키워드 Neural N-gram Language Model 데이터 희소성(Data Sparsity) 장기의존성(Long-Term Dependency) Convolution Language Model Recurrent Language Model Recurrent Memory Networks 학습하기 앞에서 Neural N-gram Language Model을 봤는데, 이게 데이터 희소성 문제는 연속 공간으로 임베딩시켜서 해결했지만, 아직 장기의존성문제는 해결을 못했습니다. 기존 N-gram이 왜 해결을 못했었는지에 대해 다시 생각해보면, 딱 N개의 토큰만 보기때문이죠. 그래서 N의 크기를 높이면..
Neural N-Gram Language Model 학습목표 신경망을 이용한 n-gram 언어 모델을 학습하고 이전에 해결하지 못한 데이터 희소성 문제를 해결해봅니다. 핵심키워드 Neural N-Gram Language Model 데이터 희소성(Data Sparsity) 이산 공간(Discrete Space) 연속 벡터 공간(Continuous Vector Space) 학습하기 앞서, 고전적 방법인 N-gram Language model (Counting model)에 대해 알아봤고, 두 가지 문제가 있다고 말했습니다. 데이터 희박성과 Long-Term Dependency. 기존 N-gram 방법론으로는 두 가지 문제를 만족스럽게 해결하는게 불가능했고, 그래서 Neural N-gram을 사용해서, 조금 더 개선했습니다. 처음에는 인풋으로 N-gram, 그..
N-Gram Language Models 학습목표 신경망 이전에 사용했던 언어 모델인 n-gram 언어 모델을 학습하고, 어떤 문제점이 있는지 살펴봅니다. 핵심키워드 n-gram Language Model 최대우도추정(Maximum Likelihood Estimation) 데이터 희소성(Data Sparsity) 장기의존성(Long-Term Dependencies) 학습하기 자 앞에서, Language modeling이 결국 스코어링의 개념이란는 걸 알았는데요. 그럼 정확히 어떻게 스코어링을 하는가에 대해서 알아야겠죠? 그리고 그걸위해서는, 딥러닝이 있기 이전에 어떤 방법론을 사용했었는지 파악할 필요가 있습니다. 이걸 알고나면, 왜 딥러닝을 쓰고싶어지는지 알 수 있습니다. 33년 전, IBM에서 Speech recognition을 건들기 시작하..
Autoregressive language modeling 학습목표 자가회귀 언어 모델링 방법에 대해서 학습합니다. 핵심키워드 자가회귀 언어 모델링(Autoregressive language modeling) 학습하기 이제 자가회귀 언어 모델링을 보죠. 이건 시퀀스가 주어졌을 때, 이것을 어떻게 스코어링 할 것인가. 어떻게 확률 분포를 계산할 것인가. 에 대한 문제입니다. 위 계산식을 보시면, 조건 확률 분포와 정확하게 같죠. 이렇게 모델링하게 되면 앞에서 봤던 Language modeling이, 감독학습이 되는거에요. 왜냐하면, 한 문장안의 토큰들의 확률을(y) 이전 단어들의 확률로(X) 계산하게 됬으니까요. 그러니까 한 문장안에 많은 Text classification이 필요하게된 것. 그 뿐인거죠. 그래서, 똑같습니다. 1번부터 t-1번 토큰들을 앞의 5가..
Overview: Language Modeling 학습목표 자연어 처리에서 언어 모델링 문제를 다뤄봅니다. 핵심키워드 언어 모델링(Language Modeling) 학습하기 자 앞서서 Text classification들을 몇 개 봤는데요. 이걸 먼저 말했던 이유가, 이런 문제는 실질적으로 CBoW, n-gram 쓰면 정말 굉장히 잘 되거든요. 그런데도 불구하고 얘기를 많이 했던게, Sentence representation을 이해하는데 도움이 되기 때문이었죠. 그런데 Natural Language Processing, NLP에서 큰 파트가 Text classification이나 Text understanding도 있지만, Generating 도 있죠. 지금부터 말한 Language Modeling이 엄밀히 말해서 Generating은 아니지만 먼저 봅..