전체 글 28

[자연어처리][paper review] Ask Me Anything:Dynamic Memory Networks for Natural Language Processing

1. Question & Answering Question Answering(QA) task는 말그대로 질문에 대한 대답을 생성하는 NLP task 입니다. QA는 Text에 대한 이해와 사실(fact)에 대한 추론 능력을 모델에게 요구하기 하기 때문에 매우 복잡한 작업 중 하나로 손꼽힙니다. 하지만 머신러닝 알고리즘을 사용하는 이유 자체가 특정 문제(Q)에 대한 해결(A)이라는 관점에서 봤을 때, QA Task는 사실 매우 General한 문제를 다루고 있습니다. 이는 NLP Task에도 동일하게 적용되며, 아래의 예시와 같이 대부분의 NLP Task는 QA Task로 general하게 표현될 수 있습니다. 2. Dynamic Memory Networks 2016년 발표된 본 논문은 general Qu..

[자연어처리][Metric] Perplexity

Perplexity Perplexity는 BLEU, ROUGE와 더불어 언어모델의 Generation 성능을 판단할 수 있는 지표입니다. Machine translation, text summarization과 같은 Generation task의 성능 비교를 위해 주로 사용됩니다. 단어 \(\{w_{1}, w_{2}, w_{3}, ... , w_{N}\}\)로 구성된 문장의 Perplexity는 다음과 같은 수식으로 나타낼 수 있습니다. $$Perplexity=\sqrt[N]{\frac{1}{P(w_{1}, w_{2}, w_{3}, ... , w_{N})}}=\sqrt[N]{\frac{1}{\prod_{i=1}^{N}P(w_{i}| w_{1}, w_{2}, ... , w_{i-1})}}$$ 분모의 \(P..

[자연어처리][paper review] A Neural Attention Model for Abstractive Sentence Summarization

1.Background Sentence Summarization Sentence Summarization은 Input Text의 핵심 의미를 포착하여 압축된 표현(Condensed representation = summary)을 생성하는 NLP Task로, 매우 중요한 동시에 어려운 과제 중 하나로 손꼽힙니다. Sentence Summarization은 다음과 같은 수식으로 표현될 수 있습니다. $$ \{\mathbf{x_1},...,\mathbf{x_M}\} \rightarrow \{\mathbf{y_1},...,\mathbf{y_N}\}$$ $$M>N$$ 우선, 요약 될 문장은 \(M\)개의 단어 \(\mathbf{x_1},...,\mathbf{x_M}\)로 구성된 sequence입니다. 각각의 단어..

[자연어처리][paper review] TextRank: Bringing Order into Texts

본 논문은 그래프 기반의 text summarization 방법론인 TextRank에 대하여 소개하고 있습니다. TextRank는 대표적인 그래프 기반 랭킹 알고리즘인 PageRank에 기반하여 문서 내의 키워드 추출을 가능하게 합니다. Graph 그래프는 vertex와 edge로 구성된 유한한 자료구조 입니다. vertex는 정점, edge는 정점과 정점을 연결하는 간선을 의미합니다. 그래프 구조는 edge의 방향 유무에 따라 undirected graph(무방향 그래프)와 directed graph(유향 그래프)로 나뉩니다. 또한 엣지를 동일한 값으로 가정하는 unweighted graph와 가중치를 갖도록 하는 weighted graph(가중 그래프)가 존재합니다. Graph-based rankin..

[자연어처리][paper review] Character-level Convolutional Networks for Text Classification

CNN CNN은 컴퓨터 비전 분야를 위해 개발되었으며, 대중적으로 사용되고 있는 가장 보편화된 이미지 처리 알고리즘입니다. CNN은 가중치를 갖는 필터를 사용하기 때문에 개별 픽셀에 대한 가중치를 고려하지 않아도 됩니다. 따라서 CNN을 사용하는 모델은 파라미터를 효율적으로 사용하여 매우 큰 차원의 이미지를 처리할 수 있습니다. CNN in NLP CNN은 자연어 처리를 위해서도 효과적으로 사용되고 있습니다. 실제로 전통적인 일부 자연어처리 Task의 경우, CNN이 훌륭한 성능을 보인 사례들이 존재합니다. 대표적인 CNN의 적용분야는 자연어처리의 가장 주된 Task 중 하나인 Text Classifiction입니다. 앞서 리뷰하였던 "Convolutional Neural Networks for Sent..