파이썬 프로젝트 및 응용/chatGPT3.5로 자동으로 책 요약 후 아바타 숏츠만들기

[프로젝트]chatGPT3.5로 자동으로 책 요약 후 아바타 숏츠만들기 - 1.책 요약하기 > pdf파일을 텍스트로 변환

파기차차 2023. 4. 21. 07:55
728x90
반응형
SMALL

ㅁ 개요

 

O 프로그램 소개

 

 

 

이번글은 이전글([프로젝트]chatGPT3.5로 자동으로 책 요약 후 아바타 숏츠만들기 - 1.책요약하기 > pdf파일을 텍스트로 변환)에 이은 2번재 글로 책을 요약하기 위해 먼저 pdf(책) 파일을 텍스트로 변환하는 방법에 대하여 알아봅니다.

 

 

**본 포스팅 글은 아래 유튜브 사이트(국내 파이썬 최고 실력자 중 한 분)의 내용을 참고하여 작성하였으며, 초보자들이 좀 더 쉽고, 잘 따라할 수 있도록 해당 내용을 세부적으로 잘게 쪼개서 설명한 글입니다. 자세한 내용은 아래 사이트를 참고하여 주시기 바랍니다.

[GPT-4] 책 요약해서 유튜브 쇼츠 영상으로 돈버는 인공지능 만들기|빵형의 개발도상국

https://www.youtube.com/watch?v=_TVyF_4JJgk&t=814shttps://www.youtube.com/watch?v=sLgYJIpqUJg

 

 

 

 

 

O 완성된 프로그램 실행 화면

 

 

 - 본 포스팅의 최종 완성된 프로그램의 결과화면은 아래와 같습니다.

 

1.먼저 chatGPT3.5 API 요청/응답의 비용을 최소화하기 위해 가지고 있는 파일 리스트 중에서 가장 작은 파일 2개를 선태합니다.

 

 

 

 

2. 001.pdf 파일을 열어 보면 5페이지의 작은 소설책인 것을 알 수 있습니다.

 

 

 

 

 

 

3. 프로그램을 실행하면 위의 책(pdf)을 읽어서 텍스트로 잘 뿌려주는 것을 확인 할 수 있습니다.

 

 


 

 

ㅁ 세부 내용

 

O 완성된 소스

 

 

소스 : 1.py

 

import fitz # pip install --upgrade pymupdf or pip install PyMuPDF
import re

def pdfTotext():
    # global doc

    book_path = 'paper_list/001.pdf'

    doc = fitz.open(book_path)

    text = doc.get_page_text(pno=0)

    text = re.sub(r"\s+", " ", text)
    # print(text,"++++++++++++++++++++++++++++ 3")
    text = text.replace('THIRD CONCEPT, NOVEMBER 2020', '').strip()
    text = ' '.join(text.split(' ')[1:])

    print(text)

    return text

pdfTotext()

 

 

 - 소스파일을 cmd, 파워쉘 또는 vscode 등에서 아래와 같이 실행하시기 바랍니다.
 

 

 > python 1.py

 

 


 

O 주요 내용

 

1.소스코드에 대해 간략히 설명 드리겠습니다.

 

 

아래 소스를 실행하면 001.pdf 파일이 첫번재 페이지(pno=0)을 읽어서 text변수에 담은 후 출력해 주는데,

 

 

 

2. 아래와 같이 실행됩니다.

 

여기서

'46' (페이지 번호)과

'THIRD CONCEPT, NOVEMBER 2020' (단락 제목??)은 불필요한 내용으로

우리가 실제 필요한 내용은 본문 내용이므로 위의 페이지 번호와 단락 제목은 삭제해야 합니다.

 

 

 

 

 

3. 소스를 아래와 같이 수정/추가 후 실행하면

 

 

4. 아래와 같이 단락 제목('THIRD CONCEPT, NOVEMBER 2020')은 제거 되었습니다.

 

 

5. 다시 아래와 같이 (6)번(line 16)을 추가한 후 실행하면

 

 

 

6. 이번에는 숫자가 제거된 상태로 본문 내용만 출력되는 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 


 

ㅁ 정리

 

O 우리가 배운 내용

 

 

 - 오늘은 책을 요약하기 위해 먼저 pdf(책) 파일을 텍스트로 변환하는 방법에 대하여 알아보았습니다.

 

 
 

 

 - 오늘 우리가 배운 내용을 간략히 정리해 보면 아래와 같습니다.
 > 1.정규표현식을 이용하여 긴 공백, 엔터 등을 빈칸(" ")으로 바꿈
text = re.sub(r"\s+", " ", text)
 
 > 2.불필요한 텍스트를 제거('')하고, 공백(' ')으로 단어를 분리한 후 맨 앞 단어('46')를 제거

text = text.replace('THIRD CONCEPT, NOVEMBER 2020', '').strip()
text = ' '.join(text.split(' ')[1:])

 

 

오늘은 여기까지이며,  댓글하트는 제가 이글을 지속할 수 있게 해주는 힘이 됩니다.

위의 내용이 유익하셨다면, 댓글과 하트 부탁드립니다.

 

 

 

 

감사합니다.

 

 

※ 추가적인 정보는 아래 유튜브 영상에서 해당 내용을 더욱 자세히 보실 수 있습니다.

 

 

728x90
반응형
LIST