Home [NLP] KoBART 요약 실행해보기(2/3)
Post
Cancel

[NLP] KoBART 요약 실행해보기(2/3)

KoBART Summarization (2/3)

지난 포스팅에 이어 추가적인 데이터 처리에 대한 내용을 적을 것이다.


Clone

KoBART-summarization에서 제공하고 있는 뉴스 데이터를 함께 사용하기 위해 우선 클론을 진행해준다.

1
git clone https://github.com/seujung/KoBART-summarization.git


진행에 앞서 필요한 패키지를 설치하기 위한 코드를 작성해주었다.

  • 디렉토리 이동

    1
    
    cd /content/drive/MyDrive/KoBART-summarization
    
  • 필요 패키지 설치

    1
    
    pip install -r requirements.txt
    
  • 토치, 토치비전 버전 세팅 (코랩 환경에서 사용했다.)

    1
    
    pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 -f https://download.pytorch.org/whl/torch_stable.html
    



데이터 처리

KoBART-summarization/data 내의 train, test 데이터의 압축을 해제한다.

1
2
3
4
5
# 클론한 파일 제공 데이터
%cd data
!tar -zxvf train.tar.gz
!tar -zxvf test.tar.gz
!ls

압축이 잘 해제되었다면 train.tsv, test.tsv 파일이 프린트될 것이다.


1
2
3
# 파일 확인
!cat train.tsv
!cat test.tsv

파일을 한번 확인해본다.


1
2
3
4
5
6
# 추가할 데이터를 현재 커널로 가져온다.
import shutil
# train
shutil.copy("/content/drive/MyDrive/Data/law/train.tsv", "/content/drive/My Drive/KoBART-summarization/data/law_train.tsv")
# valid(test)
shutil.copy("/content/drive/MyDrive/Data/law/valid.tsv", "/content/drive/My Drive/KoBART-summarization/data/law_test.tsv")

학습할 데이터를 merge하기 위해 클론한 파일 외 이전 포스팅에서 가공한 데이터를 가져온다.


1
2
3
4
# 데이터 가공을 위해 DataFrame으로 읽어들인다. (최초 1회)
import pandas as pd
df_train = pd.read_csv('law_train.tsv', sep='\t')
df_valid = pd.read_csv('law_test.tsv', sep='\t')


데이터를 한번 확인해보자.

1
df_train.head(3)

Output

image-20211227100631586


가져온 DataFrame을 그대로 사용하면 안된다. (자바로 가공한 코드를 바로 클론한 파일의 데이터와 합쳐 학습 시에도 오류가 났고, DataFrame으로 가져와 합쳐도 오류가 났다. 왜 계속 오류가 날까 3일정도 고민했다. 문득 가공 시 널값을 처리했나?하는 생각을 했는데, 역시 안했다… 지금 진행해야겠다……ㅜ)


Null 값 제거

null 값 여부 확인

1
df_train.isnull().sum(axis = 0)

Output

image-20211227101543067

1
df_valid.isnull().sum(axis = 0)

Output

image-20211227101612470


역시나 널값이 존재하는 것을 확인할 수 있다.


dropna

1
2
df_train = df_train.dropna(axis=0)
df_valid = df_valid.dropna(axis=0)

널 값을 제거했다. 잘 제거되었는지 확인해보려면 위에서 null 값 여부 확인을 위해 사용한 코드를 입력하면 된다.


일단 학습이 잘 돌아가니 추가적인 데이터 처리는 끝내야겠다.


Merge

1
2
df_train.to_csv("/content/drive/My Drive/KoBART-summarization/data/train.tsv", mode='a', header=0, sep='\t', index=False)
df_valid.to_csv("/content/drive/My Drive/KoBART-summarization/data/test.tsv", mode='a', header=0, sep='\t', index=False)

위에서 처리한 DataFrame을 기존 tsv 파일과 합치는 코드이다.

append 모드, tsv 파일을 위한 seperator를 사용한다. 기존 파일엔 index 없이 news, summary 열만 가졌으니 index를 False로 설정한다.



👋👋👋 모델 학습 및 테스트는 다음 포스팅에서 진행하겠다. 😀


This post is licensed under younghwani by the author.

[NLP] KoBART 요약 실행해보기(1/3)

[NLP] KoBART 요약 실행해보기(3/3)

Comments powered by Disqus.