Skip to content

kksonge/Text_abstractive_summarization

 
 

Repository files navigation

AI 기반 데일리 뉴스 요약 챗봇 서비스

참조 폴더

  • Crawling-main: N사 포털의 뉴스 기사를 크롤링하는 코드입니다.
  • Explanation_about_code: T5 fine-tuning에 대한 설명 주석이 담겨있는 코드입니다.
  • Flask-main: API의 기반이 되는 Flask 코드입니다.
  • NLP-model-main-scoring: bert score를 측정하는 코드입니다.
  • model_ET5: 최종 모델(epoch:12, data:290,000건)의 학습 과정이 담긴 코드 폴더입니다.

요약

1. 서비스 개요

  • AI 기반 뉴스 요약기 구축 후 다양한 신문사의 기사를 요약하여 전달하는 챗봇 서비스 진행

image

2. 모델 개발

  • 개발 환경: VScode(크롤링), Google Colab(딥러닝 모델), PyCharm(서비스 구현)
  • 주요 사용 라이브러리 PyTorch, Transformers, Sentencepiece(0.1.91), Flask 등
  • 학습 데이터셋(Fine-tuning): AI Hub 문서요약 텍스트(https://aihub.or.kr/aidata/8054) 다운로드 후, 뉴스텍스트 총 30만 건(train, validation 포함) 중에 기사 원본(sentence), 생성요약문(abstractive) 을 추출하여 데이터셋을 구축함(train 29만 건, test 1만 건)

3. 모델 구축

  • 2019년 Google에서 출시한 T5(Text To Text Transfer Transformer) 모델을 이용하여 요약 모델 구축

image

image

  • 생성 요약문 예시

image

4. 모델 성능 비교

image

  • Colab 런타임 24시간 제한으로 인해 데이터를 나누어 Fine-tuning 진행 후 모델을 저장한 뒤 추가 학습 진행

image

5. 서비스 배포

  • 포털에서 뉴스기사를 크롤링하고 Fine-tuning으로 구축한 모델을 통해 요약문을 생성한 뒤 kakao i open builder를 이용하여 사용자에게 챗봇으로 뉴스 기사 요약문 서비스를 배포함

image

6. 서비스 구동 시 필수 요소

  1. kakao 채널 개설
  2. kakao I open builder (승인 요청 후 약 7일 소요)
  3. 성능좋은 GPU 혹은 CPU, RAM까지 갖춰져있는 고성능 PC
  4. 로컬에 모델 저장
  5. crawling.py에 모델 경로 수정

About

중앙정보처리학원 K-digital Training 3기 3차 프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 98.2%
  • Python 1.8%