본 논문에서는 TextQA 모델의 성능을 향상시키기 위해 Augmented TextQA를 제안합니다. 마지막으로 새로 생성된 데이터를 추가하여 기존 TextQA 모델의 성능을 향상시키려고 합니다.
서 론
TextQA는 컨텍스트, 질문, 답변 데이터를 활용하여 텍스트와 텍스트에서 답변할 수 있는 질문을 보고 답변을 생성하는 문제입니다. 본 논문에서는 외부 데이터를 사용하지 않고 하나의 도메인 내에서 TextQA 모델의 성능을 향상시키기 위해 Augmented TextQA를 제안합니다.
이론적 배경
데이터 증강 기법
반면, 자연어 처리에서는 문장에 포함된 단어의 순서에 따라 문장의 의미가 달라질 수 있고, 단어의 형태나 철자에 따라 의미도 달라지게 됩니다. 영상에 사용되는 데이터 증강 기술은 그대로 사용할 수 없습니다. 이에 Zhang & LeCun(2015)은 자연어 처리에서 데이터 증대 기술을 활용하는 방법으로 동의어 사전이나 인간의 의역을 사용하여 문장 내 단어 교체를 제안했습니다. 그러나 이 방법은 대규모의 시소러스를 구축해야 한다는 단점이 있고, 구축하더라도 시소러스에서 대체 단어에 대한 가장 적절한 기준을 정하는데 모호한 문제가 있다.
그러면 텍스트 하나하나를 수동으로 다시 작성하려면 많은 시간과 비용이 소요된다는 문제가 있습니다.
Seq2Seq 모델
이전 출력을 다음 입력으로 계속해서 디코딩하여 올바른 문장과의 차이가 줄어드는 방식으로 학습합니다. Seq2Seq는 두 개의 RNN을 연결하는 간단한 방법을 통해 순차적 데이터를 효율적으로 처리할 수 있는 프레임워크를 제공합니다. 또한, 기존 자연어 처리에서 가변 길이 처리를 위해 수행하던 많은 작업을 단순화하고, 사용자가 엔드투엔드(end-to-end) 입력과 즉시 출력의 편리함을 누릴 수 있도록 해준다.
Stanford CoreNLP
연구 방법
데이터
설계
- 전체 구조
- 모델 구조
실험에서는 n-layer Seq2Seq, Conv + Seq2Seq 및 Seq2Seq + 2-Fully Connected Layer 모델을 사용했습니다. 최종 LSTM의 은닉벡터(h)는 1계층 완전연결층을 이용하여 단어 사전의 단어 개수에 해당하는 출력 벡터로 표현한 후, Softmax 함수를 통해 각 시간단계마다 출력 단어를 생성한다. Seq2Seq + 2-Fully Connected Layers [그림 8]은 기존 Seq2Seq 모델의 마지막 Fully Connected Layer를 2개의 Layer로 적층한 모델입니다.
Seq2Seq의 결과로 생성된 숨겨진 벡터(h)가 있는 완전 연결 레이어를 추가했습니다. 좀 더 추상적인 결과를 은닉벡터(h')로 얻은 후, 유사하게 단어 사전의 단어 수와 동일한 출력 벡터로 표현하고, 출력 단어는 각 시간 단계마다 Softmax 함수에 의해 생성됩니다. Conv + Seq2Seq는 CNN(Convolutional Neural Networks)(LeCun & Bengio, 1995)을 입력으로 사용하고 결과를 Seq2Seq에 대한 입력으로 사용하여 최종 LSTM의 숨겨진 벡터를 얻습니다.
이미지를 처리할 때와 달리 CNN의 컨볼루션 레이어는 1차원 커널을 사용하고 1차원 맥스풀링을 수행한 후 Seq2Seq의 입력 차원과 일치하도록 제로 패딩을 수행합니다. 단순히 Seq2Seq에 입력을 제공하는 대신 컨볼루셔널 레이어를 통해 지문에서 적절한 특징을 추출하고 학습할 것으로 예상했습니다. 따라서 위에서 제시한 세 가지 모델 구조 중 각 모델의 성능을 테스트하여 질문 생성 모델과 TextQA 모델에 적합한 모델 구조를 찾았다.
실 험
- 전처리
- TextQA
- 키워드 추출
- 질문 생성
- Augmented TextQA
[그림 11]은 각 모델의 학습시간에 따른 검증 데이터의 혼동을 보여주는 그래프이다. TextQA 실험에서는 Conv+Seq2Seq 모델이 가장 좋은 성능을 보였으며, 2레이어 Seq2Seq, 3레이어 Seq2Seq, Seq2Seq+2FCL이 그 뒤를 이었습니다. 이러한 2차 키워드는 기존 QA 데이터에 포함되지 않았으며, 이러한 키워드를 제대로 학습하면 모델 성능이 향상될 것으로 예상되었습니다.
앞서 추출한 키워드를 활용하기 위해 주어진 데이터를 이용해 쿼리를 생성하도록 모델을 학습시켰습니다. 그림 13]은 검증 데이터에 대한 질의 생성 모델의 성능을 보여준다. 결과는 마찬가지로 Conv+Seq2Seq 모델이 최고의 성능을 보인 것으로 나타났습니다.
따라서 후속 실험에서 쿼리를 생성할 때 좋은 성능을 가정하는 Conv+Seq2Seq 모델을 사용했습니다. Augmented TextQA는 Conv+Seq2Seq로 생성된 쿼리 생성 모델과 4.3에서 추출된 키워드를 사용하여 수행되었습니다. 그림 14]는 검증 데이터에 대한 Augmented TextQA 모델의 성능을 보여줍니다.
결 과
Seq2Seq 2-shtresash Seq2Seq_AUG Seq2Seq+2FCL Seq2Seq+2FCL_AUG Conv+Seq2Seq Conv+Seq2Seq_AUG.
결론 및 논의
In Proceedings of the 25th Annual ACM SIGIR International Conference on Research and Development in Information Retrieval (pp. 97-104). Teaching a machine to communicate with humans in natural language is the dream of artificial intelligence researchers. However, language modeling with the traditional rule-based approach has several limitations due to the many exceptions and uncertainties in the language.
Recently, language modeling research has continued to overcome the limitation by introducing deep learning algorithms. Among natural language processing studies, TextQA is a study that generates an answer by looking at context and. Augmented TextQA first creates a question generation model using an answer and a context, and generates a question through the model by entering a keyword extracted from the context.
Finally, we try to improve the performance of the TextQA model by adding extended data. Experimental results using SQuAD (Stanford Question Answering Dataset) show that the performance of the model is improved in Augmented TextQA compared to the original TextQA. In addition, using Augmented TextQA can augment train data domain data without using external data, so that it would learn the representation of a word in a specific domain more appropriately.
This method can also generalize the TextQA model to not be limited to the original train data, but to fit the extended train data.