본문 바로가기
딥러닝

자연어처리(NLP)분야의 다양한 Task와 데이터

by 미스터탁 2020. 12. 10.

자연어처리 (Text)

- 텍스트 (Text) : 텍스트 분야에서의 딥러닝 적용 또한 꾸준히 연구 되었습니다. 텍스트 분야는 세부 Task로 나뉘어 연구가 되었는데 대표적으로 다음과 같은 것 들이 있습니다.

 

- Sentiment Analysis (감정 분석)

 

 문장에 대한 정보를 통해 분류하는 문제 중 하나로 그 중 문장에 대한 특정 감정을 분류해내는 문제로 NLP의 대표적인 Task라고 할 수 있습니다. '이 집은 맛집이야', '이 영화는 재미 없어' 이러한 문장 속 의미가 긍정인지 부정인지를 판단하는 것이라고 볼 수 있습니다. 보통 긍정과 부정을 분류하는 문제들이 많지만, 긍정의 정도를 나타내는 점수 5점 척도로 표현하여 예측하는 문제로 접근하는 경우도 있습니다.

Dataset : The Stanford Sentiment Treebank (SST-2)

Rotten Tomatoes의 영화 코멘트 데이터로 각 코멘트의 긍정적인 정도를 점수로 0에서 1까지 숫자로 매겼으며 즉, 1에 가까울수록 긍정의 표현을 뜻합니다.

<Data Sample>
 
lend some dignity to a dumb story 0
the greatest musicians        1
cold movie    0
with his usual intelligence and subtlety      1
redundant concept   0

 

감정을 5(매우 부정, 부정, 중립, 긍정, 매우 긍정)로 나누어 분류하는 문제에 대한 데이터와 모델링 정보는 다음 kaggle 링크(https://www.kaggle.com/c/sentiment-analysis-on-movie-reviews)를 참조하시길 바랍니다.

 

 

 

- Summarization (요약)

 

요약 분야는 주어진 Text에서 중요한 부분을 찾아내는 Extractive Summarization과 모델이 주어진 Text의 의미를 완전히 이해하여 이를 요약하는 새로운 문장을 만들어내는 Abstractive Summarization으로 나뉘어집니다. 특히 Abstractive Summarization은 글을 이해하는 것은 물론 중요한 부분을 찾아 새로운 문장을 만들어내는 면에서 어려운 Task라고 할 수 있습니다. 하지만 요약은 모델링의 어려움 뿐 아니라, 정답 요약문을 만들어야 하는 데이터 수급 문제, 정답 평가의 어려움도 있어 NLP에서 난이도가 높은 Task라고 할 수 있습니다.

Dataset : CNN/DailyMail

CNN 뉴스 데이터와 해당 뉴스의 핵심 부분이 되는 부분을 제공합니다.

<input>
 
marouane fellaini and adnan januzaj continue to show the world they are not just teammates but also best mates. the manchester united and belgium duo both posted pictures of themselves out at a restaurant on monday night ahead of their game against newcastle on wednesday . januzaj poses in the middle of fellaini and a friend looking like somebody who failed to receive the memo about it being a jackson 5 themed night. premier league duo adnan januzaj and marouane fellaini pose with a friend on the dance floor . manchester united and belgium duo fellaini and januzaj are good friends both on and off the pitch . manchester united ace fellaini runs over to the bench to celebrate his goal against qpr with friend januzaj . the disco effect in the background adds to the theory, but januzaj doesn’t seem to mind as they later pose on the dance floor with other friends. united haven’t had too many reasons to have a song and dance this season so it seems they may be hitting the discotheques as another form of release. however, victory against newcastle on wednesday would leave manager louis van gaal at least tapping his toes as they continue to fight for a champions league spot this season. januzaj and robin van persie join fellaini in celebrating in front of the manchester united fans at west brom . januzaj receives some words of wisdom from manchester united’s dutch manager louis van gaal . januzaj and fellaini are joined by some friends as they take to the dance floor ahead of the newcastle game .
 
<summary>
 
the belgian duo took to the dance floor on monday night with some friends. manchester united face newcastle in the premier league on wednesday . red devils will be looking for just their second league away win in seven . louis van gaal’s side currently sit two points clear of liverpool in fourth .
 

 

다양한 Task에서 좋은 성능을 보여준 구글의 Language Model T5 (Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer, Colin Raffel et al., 2019)의 요약문 결과는 아래와 같습니다. 모델의 결과가 정답과 완전히 유사하다고 보기는 어렵지만 좋은 결과만 뽑아 보여주는 Cherry-picked이 아닌 임의로 선택된 결과가 이 정도의 결과물인 점과 마지막 줄에는 기사에서 많이 볼 수 있을 법한 문장도 생성해 낸 것이 흥미로운 부분이라고 볼 수 있습니다.

# Ground-truth : 정답 요약문 
Ground-truth: dani alves was not selected for the brazil squad to face France and chile . barcelona defender was filmed serving up hot dogs to people on saturday. this week alves released a charity single with former team-mat jose pinto . alves looks set to leave barcelona on a free transfer this summer . reports in spanish press claim he will sign for paris saint-germain . 

Prediction: dani alves was not selected for brazil’s friendlies against France and chile . the barcelona right back has released a charity single with jose pinto. alves was filmed serving up snacks from behind the counter of a hot dog bar on saturday . alves is yet to be offered a new deal at the nou camp . click here for all the latest barcelona news .

 

이미지 영역에서는 딥러닝 모델이 인간보다 더 좋은 성능을 보이는 모습을 보인 반면, 텍스트 분야에서는 인간의 성능을 따라잡기 어려웠습니다. 이미지에 비해 텍스트 Task는 배경지식이 요구된다는 점도 어려운 점이었고, 주로 사용한 Recurrent Neural Network (RNN) 계열의 모델의 한계 역시 해결해야 할 문제 중 하나였습니다. 하지만 2017년 구글이 발표한 Attention Is All You Need 라는 논문의 Transformer 모듈 연구를 시작으로 이와 관련된 모델들이 활발히 연구되기 시작했고, 인간의 성능을 넘어서는 Language Model이 개발되기 시작했습니다. 그리고 최근에는 이를 이용하여 학계에서는 다양한 분야의 추가 연구가, 산업계에서는 이와 관련된 서비스나 제품 연구가 활발히 이루어지고 있습니다.

 

 

- Machine Translation (기계 번역)

 

NLP의 다양한 Task 중에 가장 서비스와 직접적인 연관이 있는 영역이라고 볼 수 있습니다. 왜냐하면 다양한 번역 서비스들에서 이미 딥러닝 모델을 사용하고 있기 때문입니다. 최근에는 번역 서비스를 넘어 실시간 번역에 대한 가능성도 많이 보이고 있습니다. 하지만 이 또한 위 요약과 마찬가지로 문장을 생성 해야하는 Task 이기 때문에 결과에 대한 평가의 어려움을 가지고 있고, 언어 종류에 따른 데이터 불균형이 심해 이에 대한 많은 연구가 진행되고 있습니다.

Dataset : 아래 예제는 The Workshop On Machine Translation (WMT) 2014 English-German dataset (WMT English to German) 데이터의 일부입니다. 보통 번역을 하고자 하는 문장을 Source Sentence, 번역 정답 문장을 Target Sentence 라고 표현하며, 이 데이터의 경우에는 영어를 독어로 변역하는 문제이지만, 다른 언어로의 번역 데이터도 존재합니다.

input: "Luigi often said to me that he never wanted the brothers to end up incourt," she wrote. 

target: "Luigi sagte oft zu mir, dass er nie wollte, dass die Brüder vor Gerichtlanden", schrieb sie. 

 

반응형

 

 

- Question Answering (질문 응답)

 

주어진 문서를 이해하고, 문서 속 정보에 대한 질문을 했을 때 답을 이끌어내는 Task입니다. 사실 인간에게도 언어 시험문제로 봤을 법한 유명한 문제 유형으로 주어진 문단과 질문에 대한 이해가 필요한 Reading Comprehension 영역 중 하나입니다. 유명한 데이터셋으로 Stanford Question Answering Dataset (SQuAD) Conversational Question Answering systems (CoQA) 등이 있으며, 한국어 version korQuAD 도 존재합니다. 특히 해당 데이터셋들은 데이터 공개와 함께 모델 성능을 비교할 수 있는 Leaderboard도 공유하고 있는데, 인간의 성능 (Human Baseline)을 넘는 모델의 성능을 보여주고 있습니

Dataset : SQuAD Sample

Context: Hyperbaric (high-pressure) medicine uses special oxygen chambers to increase the partial pressure of O 2 around the patient and, when needed, the medical staff. Carbon monoxide poisoning, gas gangrene, and decompression sickness (the ’bends’)are sometimes treated using these devices. Increased O 2 concentration in the lungs helps to displace carbon monoxide from the heme group of hemoglobin. Oxygen gas is poisonous to the anaerobic bacteria that cause gas gangrene, so increasing its partial pressure helps kill them. Decompression sickness occurs in divers who decompress too quickly after a dive, resulting in bubbles of inert gas, mostly nitrogen and helium, forming in their blood. Increasing the pressure of O 2 as soon as possible is part of the treatment. 

Question: What does increased oxygen concentrations in the patient’s lungs displace? 

target: carbon monoxide 

 

다음은 OpenAI 에서 개발한 모델 GPT-2 (Language Models are Unsupervised Multitask Learners, Alec Radford et al., 2019) CoQA 데이터 셋에 대한 결과 예제입니다. 답안을 보면 산을 오르는 것에 대한 대답 뿐 아니라 어떤 산인지도 설명하는 부분이 인상적인 결과라고 볼 수 있습니다.

Context: 
The 2008 Summer Olympics torch relay was run from March 24 until August 8, 2008, prior to the 2008 Summer Olympics, with the theme of “one world, one dream”. Plans for the relay were announced on April 26, 2007, in Beijing, China. The relay, also called by the organizers as the “Journey of Harmony”, lasted 129 days and carried the torch 137,000 km (85,000 mi) – the longest distance of any Olympic torch relay since the tradition was started ahead of the 1936 Summer Olympics. 
After being lit at the birthplace of the Olympic Games in Olympia, Greece on March 24, the torch traveled to the Panathinaiko Stadium in Athens, and then to Beijing, arriving on March 31. From Beijing, the torch was following a route passing through six continents. The torch has visited cities along the Silk Road, symbolizing ancient links between China and the rest of the world. The relay also included an ascent with the flame to the top of Mount Everest on the border of Nepal and Tibet, China from the Chinese side, which was closed specially for the event. 

Q: And did they climb any mountains? 
A: 

Target answers: unknown or yes 
Model answer: Everest 

 

위에서 소개한 Task들 말고도 다양한 NLP의 풀어야하는 문제들은 많습니다.

각 단어의 품사를 예측하는 Part-Of-Speech Tagging (POS Tagging) 분야, 많은 회사들이 연구하고 있는 챗봇 연구, 문장 간의 논리적인 관계에 대한 분류 모델, 각 단어의 중의적 표현을 구분해내는 Word Sense Disambiguation (WSD), 주어진 이미지 속 상황을 설명하는 글을 만들어내는 Image Captioning 등등 다양한 문제가 존재하고, 이에 대한 데이터와 모델에 대한 연구들이 활발히 진행 중입니다. 더 많은 Task들이 대해서 궁금하다면, 다음 사이트들을 확인하시길 바랍니다.

NLP에서는 데이터를 구하는 것도 모델링도 어렵지만, 모델의 평가를 하고 비교하는 것이 어려운 일 중 하나입니다. 문장을 생성하는 경우에는 생성된 문장과 답에 해당 하는 문장간의 일치를 나타내는 평가지표를 만들어내는 것도 어려운 일이고, 워낙 많은 데이터들이 존재하다보니 논문마다 사용하는 데이터가 다른 경우가 대부분이며, 딥러닝 모델의 특징 중 하나인 Parameter Tuning에 따른 모델간 성능 차이도 극심하다는 점도 모델 비교의 어려움 요소입니다.

 그리하여 다양한 Leaderboard 형태의 모델 성능 비교 사이트가 새로 생겨나거나 활성화되기 시작했고, 이를 통한 비교적 객관적인 모델 성능 비교가 이루어짐에 따라 NLP 분야의 딥러닝 모델의 발전은 가속화 되었습니다. 그래서 연구를 위해 최신의 좋은 성능을 보이는 모델을 알아야한다면 아래 사이트의 Leaderboard들을 확인하시는 것을 추천합니다.

 

 

딥러닝에 대한 기본적인 내용과 PyTorch 실습 내용을 결합하여 책으로 출판하였습니다.

 

m.yes24.com/Goods/Detail/93376077?ozsrank=10

 

파이썬 딥러닝 파이토치 (Python Deep Learning PyTorch)

파이썬은 선택이 아닌 필수! 파이토치로 딥러닝 입문하기!딥러닝 기술에 초점을 두고 딥러닝을 구현하기 위해 파이썬을 이용하는데, 머신러닝 라이브러리인 파이토치를 활용하여

m.yes24.com

mbook.interpark.com/shop/product/detail?prdNo=339742291&is1=book&is2=product

 

싸니까 믿으니까 인터파크도서

 

book.interpark.com

 

 

 

 

반응형

댓글