본문 바로가기

NLP40

[논문 리뷰] A Neural Network Approach to Context-Sensitive Generation of Conversational Responses (수정 중) (NAACL 2015) Open-domain conversational system을 만들기 위한 다양한 노력들이 있었다. 대표적인 방법으로는 machine translation 을 사용해서, 다음 제공될 대화 내용을 "번역(translate)" 해서 사용자에 제공하는 방식이 있다. 하지만 이러한 방식은 문맥으로 고려하는(context sentitive) 대답을 제공하지 못한다는 단점이 있다. 문맥을 고려하기 위해서는 이전 대화 내용들을 참고해서 문맥에 맞는 응답을 생성해야 한다. 이번 논문에서는 단어들의 임베딩을 이용해서 문장의 문법과 의미를 압축해서 나타내는 방식을 사용한 context sensitive response generation에 대해서 다룬다. 이번 논문에서는 2개의 Recurrent Neural Network.. 2020. 11. 18.
[논문 리뷰] A Neural Conversational Model (ICML 2015) 2015년 구글에서 제안한 Seq2seq 구조를 사용해서 dialogue generation을 구현하는 논문이다. 논문의 원본은 여기에서 볼 수 있다. Conversational modeling은 NLP 에서 중요한 task 중 하나이다. 해당 분야에 대한 다양한 연구들이 있었지만, 아직까지는 특정한 domain에 한정적이거나, 규칙을 따르는 방식들이 대부분이다. 이번 논문에서는 sequence-to-sequence 모델을 기반으로, 대화 내의 과거 문장들을 기반으로 다음 문장(답변)을 예측하는 모델을 제안한다. 과거에 Conversational agent를 만들기 위해서는 다양하고 복잡한 subcomponent로 구성된 pipeline을 사용해야 했는데, 해당 모델의 장점은 end-to-end로 학습이.. 2020. 11. 13.
[논문 리뷰] TransferTransfo: A Transfer Learning Approach for Neural Network Based Conversational Agents (NIPS 2019) Dialogue generation을 통해 사람과 대화는 나누는 Conversational agent에 대한 논문이다. Transformer와 전이 학습(Transfer learning)을 통해서 모델을 구성한다. 원본 논문의 원본은 여기에서 볼 수 있고, Transformer에 대한 글은 여기에서 볼 수 있다. Huggingface에서 제공하는 TransferTransfo의 코드는 여기 GitHub에서 확인할 수 있다. Non-goal-oriented dialogue system(chatbots, open domain dialogue generation)은 다양한 NLP system에서 사용될 수 있는 시스템이다. 최근에 많은 데이터셋의 사용이 가능해지면서 다양한 conversational model에.. 2020. 11. 12.
[논문 리뷰] BLEU: a Method for Automatic Evaluation of Machine Translation (2002 ACL) Machine Translation task에서 많이 사용하는 automatic evaluation 방식이다. 해당 논문의 원본은 여기에서 볼 수 있다. 논문의 내용을 다루기 전에 precision, recall, accuracy 에 대한 사전 지식을 가지고 있으면 이해하기 훨씬 편하다. Machine Translation의 결과를 사람이 직접 평가하는 Human evaluation은 정확하지만 비용이 너무 많이 든다는 단점이 있다. 또한, 사람이 직접 평가하기 때문에, 평가하려는 언어에 대한 제한이 발생하게 된다. 마지막으로, 모든 결과를 평가하는데 너무 오랜 시간이 걸린다는 단점이 있는데, 빠르게 기술이 발전하고 변화하는 상황에서 평가에 이렇게 오랜 시간이 걸리는 것은 큰 걸림돌이 될 수 있다. 이러.. 2020. 11. 11.
[CS224N] Assignment 4 (풀이 중) 이번 과제는 크게 2가지 파트 : RNN을 이용한 Neural Machine Translation과 NMT 시스템의 분석으로 이루어진다. # Neural Machine Translation with RNNs Neural Machine Translation(NMT)는 source language에서 target language로 변환을 하는 task 이다. (이번 과제에서는 스페인어에서 영어로 변환한다.) 이번 과제에서는 attention을 활용한 Seq2seq 모델을 사용할 것이다. Seq2seq 모델은 bidirectional encoder와 unidirectional decoder로 구성된다. 길이 $ m $ 의 입력을 embedding matrix를 통해 $ e $ 크기의 word embedding.. 2020. 11. 10.
[CS224N] Assignment 3 이번 과제에서는 neural dependency parser를 만들어 본다. # 문제 문제 해석 : 우리가 기존에 사용하던 stochastic gradient descent 의 경우 다음과 같은 식을 만족한다. 이 때, $ J $ 는 loss function 이고 $ \alpha $ 는 learning rate 를 의미한다. 우리는 각 loss 에 대한 파라미터의 gradient 값을 learning rate에 곱해서 파라미터 값을 업데이트하는 방식으로 학습을 진행했다. 이번에 새로 다뤄볼 Adam optimizer 의 경우 다음과 같은 식을 만속시키면서 학습을 진행한다. $ \beta $ 값은 0에서 1 사이의 (보통 0.9를 사용한다) 하이퍼파라미터로 사용한다. Adam optimizer가 m을 사용.. 2020. 11. 2.
[논문 리뷰] Neural machine translation by jointly learning to align and translate (2014 NIPS) Attention 기법을 사용해서 Neural Machine Translation의 성능을 향상시킨 내용이다. 논문의 원본은 여기서 확인할 수 있다. 과거의 Machine Translation은 phrase based로서, 다양한 sub-component로 구성되어 있었고, 각 component는 각각 학습되고 구성되었다. 이후에는 하나의 큰 neural network를 이용한 translation 방법들이 제안되었다. Neural Machine Translation은 대부분 encoder-decoder 형식으로 이루어져 있다. Encoder의 경우, 입력 문장을 고정 길이 벡터로 변환시키고, decoder는 해당 벡터를 이용해서 번역 결과를 생성해낸다. 해당 모델을 입력으로 제공된 Input sente.. 2020. 10. 26.
[CS224N] Assignment 2 한 단어($ c $)는 그 단어의 주위 단어에 의해서 뜻을 유추할 수 있다. [그림-1]을 보면 center word 는 "banking" 이고, 해당 단어를 둘러싸고있는 context word 는 각각 "turning", "into", "crises", "as" 등으로 구성된다. Word2vec에서는 주변 단어 $ o $ 와 중간 단어 $ c $ 사이의 관계 $ P(O = o | C = c) $ 를 계산하려고 한다. 이 방법의 경우는 skip-gram 방식으로, 중간 단어가 주어졌을 때, 주번 단어를 예측하는 방식이다. 다른 방식으로는 Continuous bag-of-words (CBOW)가 있는데, 이 방식의 경우에는 주변 단어에 따라서 중간 단어를 예측하는 방식으로 학습이 진행된다. 해당 Condi.. 2020. 10. 26.
[논문 리뷰] Sequence to Sequence Learning with Neural Networks (2014 NIPS) LSTM을 이용한 sequence to sequence 모델에 대한 논문이다. 논문의 원본은 여기에서 볼 수 있다. 기존 Deep Neural Network(DNN) 은 speech recognition, visual object recognition 등 다양한 분야에서 뛰어난 성능을 제공한다. 하지만, DNN은 크기(차원)이 고정된 입력에 대해서만 데이터를 처리할 수 있다는 단점이 있다. 대부분의 경우 입력의 크기를 미리 알고 있을 수 없기 때문에 DNN의 단점은 더 치명적일 수 있다. 입력의 크기를 알 수 없는 sequential problem 들은 speech recognition, machine translation 등이 있다. DNN의 이러한 단점을 보완하기 위해서 이번 논문에서는 Long Sh.. 2020. 10. 22.