AI_ML

어텐션을 이용한 텍스트 요약

썬2 2021. 7. 30. 16:16

출처: https://wikidocs.net/72820

1. 텍스트 요약이란?

: 상대적으로 큰 원문을 핵심 내용만 간추려서 상대적으로 작은 요약문으로 변환.

추출적 요약과 추상적 요약으로 나뉜다.

 

1) 추출적 요약 (extractive summarization)

  • 중요한 핵심 문장/단어 구를 몇 개 뽑아서 이들로 구성된 요약문을 만드는 방법.
  • 때문에, 추출적 요약의 결과로 나온 요약문의 문장이나 단어구들은 모두 원문에 있는 문장.
  • 대표적 알고리즘: TextRank(머신러닝 알고리즘)
  • 단점: 이미 존재하는 문장/단어구로만 구성하기에 모델의 언어 표현 능력이 제한.

2) 추상적 요약 (abstractive summarization)

  • 원문에 없던 문장이라도 핵심 문맥을 반영한 새로운 문장을 생성해서 원문을 요약하는 방법
  • 대표 알고리즘: seq2seq
  • 단점: 지도 학습 이기에, '실제 요약문'이라는 레이블 데이터가 있어야된다.

2. 아마존 리뷰 데이터 + 추상적 요약

1) 데이터 불러오기

2) 데이터 전처리

  • 불필요한 샘플의 수 줄이기
  • 단어 정규화 (동일의미지만 스펠링이 다른 단어)
  • 불용어 제거 (NLTK)
  • 평균 텍스트 길이 확인 후 패딩 값 설정, 패딩 값보다 크면 제거
  • 디코더의 입력과 레이블에 시작 토큰과 종료 토큰 추가. (시작 토큰: sostoken, 종료 토큰: eostoken)

3) 데이터셋 분리

4) 정수 인코딩

  • tokenizer로 단어 집합 생성 + 각 단어에 고유한 정수 부여
  • 등장 빈도가 적은 단어는 제거
  • 텍스트 시퀀스를 정수 시퀀스로 변환

5) 빈 샘플 제거 (빈도수가 낮은 단어들로만 이루어진 샘플의 경우)

6) 패딩하기

7) seq2seq + attention으로 요약 모델 설계

 

텍스트_요약.ipynb
0.27MB