본문 바로가기

BLOG/데이터 리뷰기

[데이터 리뷰] AIHUB(음성/자연어) - 기계독해 데이터(질의응답 데이터셋)

데이터 리뷰 : 데이터 대신 읽어드립니다!
#24 AIHUB(음성/자연어) - 기계독해 데이터(질의응답 데이터셋)

 

 

 

 

 만약 인공지능에게 한 뉴스 기사를 읽게 하고, 육하원칙과 같은 질문을 한다면 인공지능은 올바르게 대답을 할 수 있을까요~? 올바른 대답을 하기 위해선 한 문장에 대해 주어, 목적어, 동사가 어느 부분인지 미리 학습되어야 할 것인데요, 만약 주어진 지문이 몇 문장에 걸친 지문이라면 더욱더 그 정확도가 떨어질 수 있습니다.

 

이와 관련해서 AIHUB에서는 기계독해 개발에 활용될 수 있는 뉴스 본문 기반 학습 데이터셋을 구축한 '기계독해 데이터'를 제공하고 있는데요, 기계독해(Machine Reading Comprehension)이란 제시된 본문 안에서 질의에 대한 정답을 추론하는 딥러닝 기반 기술을 말합니다. 그렇다면 이번 데이터 리뷰기에서는 이 데이터가 어떻게 이루어져있는지 살펴보고, 어떻게 분석 및 활용하면 좋을지 생각해보도록 하겠습니다.

 

 

 

 

 

 

기계독해 데이터

 

(1) 데이터 정보

  • 제공기관 : ㈜마인즈랩
  • 데이터 개수 : 45만 개
  • 데이터 형식 : json
  • 데이터 칼럼 : 제목, 카테고리, 본문, 질문번호, 육하원칙, 질문, 정답시작위치, 정답, 단서시작위치, 단서
  • 다운로드 : https://aihub.or.kr/aidata/86

 

'기계독해' 데이터는 기계독해 개발에 활용될 수 있는 뉴스 본문 기반 학습 데이터셋 45만 건을 구축한 데이터로, 뉴스 본문과 질문, 답으로 구성되어 있는데요, 질문과 답으로만 구성되어 있는 표준 데이터셋(25만 건), 본문에서 답을 찾을 수 없는 질문이 포함된 정답 없는 데이터셋(10만 건), 질문과 답과 그 답을 선택한 단서가 포함된 설명 가능 데이터셋(10만 건)이 있습니다.

 

위에 다운로드 링크로 들어가면 회원가입 또는 로그인 후 데이터를 다운받을 수 있는데요, 데이터를 다운받아서 한번 데이터가 어떻게 이루어져 있는지 살펴보도록 하겠습니다~

 

 

(2) 데이터 리뷰

데이터를 다운로드하면 앞서 언급한 것처럼 3가지 종류의 데이터셋이 있는데요, 그중 단서가 포함된 '설명 가능 데이터셋'을 살펴보도록 하겠습니다.

 

{"data": [{
         "source": 6,
         "paragraphs": [{
                 "qas": [{
                         "question": "야마아트 프로듀싱 그룹 ‘파란’ 출신 시윤의 새 싱글앨범은?",
                         "id": "m4_278529-1",
                         "answers":[{
                         "answer_start": 0,
                         "text": "너와 내 사이"
                 }],
                 "clue":[{
                         "clue_start": 2,
                         "clue_text": "최근 JTBC ‘슈가맨 시즌‘에서 근황을 알린 시윤의 신곡 ‘너와 내 사이’는 권태기를                                           맞은 연인의 이별 이야기를 그렸다."
                 }],
                 "classtype": "work_what"
                 }],
                 "context": "파란 출신 시윤 새 싱글 ‘너와 내 사이’ 강민희 피처링, 야마아트 프로듀싱 그룹 ‘파란’ 출신 시윤의 새 싱글앨범 ‘너와 내 사이’가 12일 정오에 공개돼 화제다. 최근 JTBC ‘슈가맨 시즌‘에서 근황을 알린 시윤의 신곡 ‘너와 내 사이’는 권태기를 맞은 연인의 이별 이야기를 그렸다. 몽환적의 분위기와 누구나 한번쯤 겪어봤을 법한 가사에 시윤의 감성적인 보컬을 더해 눈길을 끈다. 싱어송라이터로 홀로 서는 시윤의 색깔을 충분히 느낄 수 있는 앨범. ‘너와 내 사이’는 아이돌리부팅 프로그램 더유닛에서 보컬리스트로 활약한 강민희가 피처링에 참여했음 프로듀싱팀 야마아트도 함께해 완성도를 더했다. 야마아트는 세븐틴, 뉴이스트W 등과 함께 작업한 바 있ㄷ. 한편 ‘너와 내 사이’는 식어버린 감정 그리고 변해버린 말투와 표정에서부터 우리라는 단어가 어느새 어색해지고 너와 내가 되어버린 연인의 사이를 사실적이고 현실감 있게 표현한 가사가 인상적인 것으로 알려졌다. [사진=시윤 앨범 자켓]"
         }],
         "title": “1"
}

 

위 데이터는 10만 건 중 하나의 데이터로 json 파일 형식으로 이루어져 있는데요, 해당 데이터에는 제목, 본문 카테고리, 본문, 질문 번호, 육하원칙, 질문, 정답의 시작위치, 정답, 단서의 시작위치, 단서를 알 수 있습니다. 다시 데이터를 살펴보면 뉴스 본문은 'context'에, 질문은 'question', 질문은 'answer'-'text', 단서가 되는 문장은 'clue_text'에 있는 것을 확인할 수 있습니다.

 

한편, json 파일을 어떻게 해서 사용해야 하는지 궁금하실 수 있는데요, 데이터마다 뉴스 본문, 단서가 되는 문장, 질문, 답을 출력하는 코드는 아래를 참고하시기 바랍니다.

 

import json

with open('ko_nia_clue0529_squad_all.json', 'r', encoding='UTF8') as f :
    json_data = json.load(f)
    
datas = json_data['data']
print(len(datas))

print(datas[5]['paragraphs'][0]['context'])
print()

print(datas[5]['paragraphs'][0]['qas'][0]['clue'][0]['clue_text'])
print()

print(datas[5]['paragraphs'][0]['qas'][0]['question'])
print(datas[5]['paragraphs'][0]['qas'][0]['answers'][0]['text'])

<출력>
파란 출신 시윤 새 싱글 ‘너와 내 사이’ 강민희 피처링, 야마아트 프로듀싱 그룹 ‘파란’ 출신 시윤의 
새 싱글앨범 ‘너와 내 사이’가 12일 정오에 공개돼 화제다. 최근 JTBC ‘슈가맨 시즌‘에서 근황을 알린
시윤의 신곡 ‘너와 내 사이’는 권태기를 맞은 연인의 이별 이야기를 그렸다. 몽환적의 분위기와 
누구나 한번쯤 겪어봤을 법한 가사에 시윤의 감성적인 보컬을 더해 눈길을 끈다. 싱어송라이터로 
홀로 서는 시윤의 색깔을 충분히 느낄 수 있는 앨범. ‘너와 내 사이’는 아이돌리부팅 프로그램 
더유닛에서 보컬리스트로 활약한 강민희가 피처링에 참여했음 프로듀싱팀 야마아트도 함께해 완성도를 
더했다. 야마아트는 세븐틴, 뉴이스트W 등과 함께 작업한 바 있ㄷ. 한편 ‘너와 내 사이’는 식어버린 
감정 그리고 변해버린 말투와 표정에서부터 우리라는 단어가 어느새 어색해지고 너와 내가 되어버린 
연인의 사이를 사실적이고 현실감 있게 표현한 가사가 인상적인 것으로 알려졌다. [사진=시윤 앨범 자켓]

최근 JTBC ‘슈가맨 시즌‘에서 근황을 알린 시윤의 신곡 ‘너와 내 사이’는 권태기를 맞은 연인의 
이별 이야기를 그렸다.

야마아트 프로듀싱 그룹 ‘파란’ 출신 시윤의 새 싱글앨범은?

너와 내 사이

 

한편, 데이터를 살펴보면 한 본문에 질문-답 데이터 셋이 여러 개일 수 있는데요, 이러한 경우 질문 번호(id) 생성규칙은 고유질문일 경우엔 (1), 유사질문일 경우엔 (2)라고 합니다. 

 

또한 'source'에 6이라고 적혀있는데요, 이는 뉴스기사 카테고리를 나타낸 것으로 정치, 경제, 사회, 생활, IT/과학, 연예, 스포츠, 문화, 미용/건강의 총 9가지 카테고리로 걸쳐 다양한 범위에 해당하는 뉴스를 모아 구축된 데이터라고 합니다.

 

 

마지막으로 'classtype'이 있는데요, 이는 해당 본문 질문의 카테고리로 육하원칙(어디서, 누가, 무엇을, 어떻게, 왜 언제)을 구분하는 기입 형식이라고 합니다!

 

 

(3) 데이터 활용

 그렇다면 이 '기계독해 데이터'를 이용하여 어떻게 활용하면 좋을까요~?

다양한 방법이 있겠지만 기계독해 데이터가 뉴스기사 본문, 질문, 단서 문장, 답을 모두 포함하고 있는 데이터셋이라는 점을 이용하여 질문에 답하는 QA엔진을 개발하거나, 사용자가 문서를 직접 읽지 않아도 육하원칙에 따라 해당 내용을 요약해주는 서비스를 개발할 수 있지 않을까 싶습니다. 또한 질문-답 데이터를 역이용해서 국어 비문학 영역에서의 문제를 자동으로 출제하는 서비스를 만들 수 있지 않을까요~?

 

또한 굳이 서비스를 완성하지 않더라도, 한국어로 이루어진 데이터셋을 학습한다는 점을 이용하여 기존 지식베이스가 가진 한계나 비효율성을 극복할 수 있는 딥러닝 기반의 정답 추론 모델을 발전시킬 수 있지 않을까 싶습니다!

 

한편, 현재 블로그에 '기계독해 데이터'를 이용한 프로젝트 글이 있는데요, Memory Networks를 이용하여 뉴스 기사 내용과 관련된 질의에 대해 적절한 답변을 하는 모델을 만든 프로젝트입니다. 해당 모델을 학습시키기 위해 이 '기계독해 데이터'를 이용하여 학습시켰는데요, 관심이 있으신 분들은 참고하시기 바랍니다!

 

 

[에어] Memory Networks (MemNN) 로 뉴스 기사 QnA(질의응답) 예측 모델 만들기 (파이썬/Colab)

에어 프로젝트 #5 Memory Networks (MemNN)로 뉴스 기사 QnA(질의응답) 예측 모델 만들기 위 이미지를 보면 BTS 관련 뉴스기사 본문과, 문제가 나와 있다. 2개의 문제 모두 본문을 읽고 나면 충분히 답할 수

www.dinolabs.ai

 

 

 

 

 

# AIHUB

 

https://aihub.or.kr

 

 오늘 리뷰한 '기계독해' 데이터는 <AIHUB(AI 허브)>에서 다운로드 받은 '음성/자연어' 카테고리의 데이터로, AI 허브는 AI 기술 및 제품, 서비스 개발에 필요한 AI 인프라(AI데이터, AISWAPI, 컴퓨팅 자원)를 지원함으로써 누구나 활용하고 참여하는 AI통합 플랫폼입니다! 따라서 사용자를 위해 개발 및 활용을 위한 인프라 서비스와 AI 활성화를 위한 서비스를 제공하고 있는 것인데요, 현재 위와 같이 음성/자연어, 비전, 헬스케어, 자율주행 등 다양한 카테고리에 걸친 데이터들을 제공하고 있답니다.

 

 

한편, 오늘 살펴본 데이터는 '음성/자연어' 카테고리에 있는 데이터였는데요, 음성/자연어 카테고리는 음성 파일로 이루어진 데이터나 기계독해 등 텍스트와 관련된 데이터를 제공하는 카테고리입니다. 특히 다른 빅데이터 플랫폼에서는 찾아보기 힘든 데이터들이 제공되고 있고, 한국어, 한국인 음성, 한글로 이루어진 텍스트 등 서양보다는 우리나라에 맞춰져 있는 데이터들이 있기 때문에 상당히 활용하기에 적합한 데이터이기도 합니다. 

 

 

또한 각 데이터 다운로드 페이지에 들어가면 위와 같이 데이터의 구축내용과 필요성, 데이터 구조, 활용예시 등의 정보를 파악할 수 있기 때문에 데이터를 다운로드하기 전에 어떠한 형태로 이루어져 있는지 살펴볼 수 있답니다.

 

이렇게 오늘 데이터 리뷰기에서는 AIHUB의 '기계독해' 데이터를 리뷰해보았는데요, 다음 리뷰기에서도 동일한 '자연어/음성' 카테고리의 다른 데이터를 리뷰해보도록 하겠습니다. 이전 데이터 리뷰기에서는 소방, 사회 범죄, 해양수산, 헬스케어, 농수산물 등 여러 플랫폼에서 제공하는 데이터 리뷰기가 있으니, 관심이 있으신 분들은 참조하시기 바랍니다! 그럼 다음 리뷰기에서 만나요! :D