본문 바로가기
IT 트렌드 & 팁

[챗gpt 활용법] pdf 파일 요약 방법 (PyPDF2 txt 파일로 변환)

by 데싸루나 2023. 2. 24.

챗gpt가 가장 잘하는 것 중 하나가 긴 글의 내용을 파악해서 핵심내용만 짧게 요약해 주는 일입니다. 하지만 pdf파일에 있는 내용을 요약하고 싶을 때 현재는 파일업로드 기능이 없기 때문에 어떻게 하면 pdf파일 내용도 chatgpt를 이용하여 요약할 수 있는지 알아보겠습니다.

 

chatgpt-summarize-pdf-file
chatgpt-summarize-pdf-file

1. pdf 파일 -> txt 파일로 변환하기

드래그하여 복사+붙여 넣기 했을 때 텍스트가 깨지지 않는 pdf라면 내용을 복사하여 챗gpt에 붙여 넣기 하는 게 가장 편할 텐데요. pdf파일에 따라 복사+붙여 넣기 했을 때 글씨 띄어쓰기 등이 깨지거나 원하는 형태로 잘 추출이 되지 않는 경우가 많습니다. pdf파일을 txt파일로 변환하는 툴 같은 것들도 있지만, 파이썬 코드를 활용하면 쉽게 txt파일로 변환이 가능합니다. 이전에 파이썬을 컴퓨터에 설치하지 않아도 파이썬 코드를 실행할 수 있는 방법을 알려드렸는데요. 바로 구글 코랩을 이용하는 방법입니다. 그러니 파이썬을 처음 접하시는 분들도 이 방법을 이용하실 수 있습니다. 구글 코랩 소개드린 포스팅을 참고하시려면 여기를 봐주세요. 

 

 

구글코랩으로 이동하여 우선 가장 첫 셀에 아래 PyPDF2를 설치하는 커맨드를 입력 후 실행해 주세요.

!pip install PyPDF2

PyPDF2 설치
PyPDF2 설치

그런 다음 위와 같이 설치가 완료되면, 아래의 코드를 다음 셀에 넣고 실행시켜 주세요. 아래 코드에서 3번째 줄에  'test.pdf'라고 되어있는 부분은 내가 변환할 pdf파일의 이름으로 변경하시면 됩니다. 

import PyPDF2

# Open the PDF file
pdf_file = open('test.pdf', 'rb')

# Create a PDF reader object
pdf_reader = PyPDF2.PdfReader(pdf_file)

# Get the number of pages in the PDF file
num_pages = len(pdf_reader.pages)

# Create a string variable to hold the text
text = ""

# Loop through each page in the PDF file
for i in range(num_pages):
    # Get the page object
    page = pdf_reader.pages[i]

    # Extract the text from the page
    page_text = page.extract_text()

    # Add the text to the string variable
    text += page_text

# Close the PDF file
pdf_file.close()

# Save the extracted text as a text file
with open('output.txt', 'w') as file:
    file.write(text)

 

처음에 실행하면 아래와 같은 에러가 날 것입니다. 당황하지 마시고 잘 따라오세요.

처음 실행시 에러
처음 실행시 에러

 

왼쪽에 보면 폴더모양 아이콘이 있고 해당 아이콘을 눌러줍니다. 그리고 처음에는 ".."이라고 되어있는 부분을 눌러 폴더 상단으로 올라가신 다음 "content"라고 되어있는 폴더를 찾습니다

구글코랩-content폴더
구글코랩-content폴더

content 폴더 하위에 내가 txt파일로 변환하고자 하는 pdf파일을 넣어줍니다. 드래그 앤 드롭해서 넣어주면 되고 content폴더 좌측에 아래쪽으로 향하는 화살표를 한번 눌러 접었다가 다시 펼쳐주면 제대로 파일이 해당 폴더 안에 들어가 있는 것을 확인하실 수 있습니다. 

pdf파일-content폴더에업로드
pdf파일-content폴더에업로드

 

 

 

여기까지 하신 후 위에서 PyPDF2로 pdf 파일을 txt파일로 변환해 주기 위해 입력한 코드를 재실행해줍니다. 

구글코랩-PyPDF2-pdf파일-txt파일로 변환 예시
구글코랩-PyPDF2-pdf파일-txt파일로 변환 예시

 

그러면 코드가 에러 없이 실행이 되고 output.txt파일이 content폴더 밑에 생성된 것을 확인하실 수 있습니다. 여기서도 마찬가지로 해당 파일이 보이지 않는 경우 content폴더 좌측 화살표를 눌러 폴더를 접었다 펼쳐주시면 리프레시되면서 나타납니다. 이 파일 - 우클릭하여 다운로드합니다. 

 

pdf파일-txt파일로 변환된 모습
pdf파일-txt파일로 변환된 모습

 

그러면 위와 같이 pdf파일이 텍스트 파일로 제대로 변환된 것을 확인할 수 있습니다.

 

 

2. chatgpt에게 요약시키기

이제 이 텍스트를 chatgpt 프롬프트에 주면서 " Summarize : 여기에 복사한 텍스트 내용 붙이기"라고만 명령하면 chat gpt가 핵심내용만 파악하여 짧게 요약해 줍니다.  저는 미국에서 대학원을 다니고 있어서 대부분 영어 자료들을 읽고 거기에 챗gpt를 많이 활용하고 있는데, 한글 서비스도 가능하니 "요약해 줘 + 요약시킬 내용복붙"과 같은 형식으로 프롬프트를 주셔도 됩니다. 다만 챗gpt가 한글로 답변을 생성하는 속도가 매우 느리므로 이 점은 참고해 주세요. 

chatgpt-프롬프트
chatgpt-프롬프트

 

아래는 챗gpt가 깔끔하게 요약해 준 내용입니다. 영문 article들을 읽을 때 너무 길면 내용이 잘 안 읽혀서 오래 걸리는데 챗gpt에게 먼저 요약을 맡기고 요약된 내용을 읽어보면서 핵심내용을 먼저 파악한 다음에 article을 읽으니 훨씬 더 파악이 잘되고 읽는 속도도 더 빨라져서 이 방법을 잘 활용하고 있습니다.

챗gpt - 요약
챗gpt - 요약

 

 

주의할 점

챗gpt의 프롬프트는 3000자까지만 허용을 하고 있습니다. 그래서 글이 너무 긴 경우에는 아래와 같이 에러가 납니다. 이 경우 단락별로 조금씩 나눠서 요약을 시켜야 합니다. 

챗gpt-긴프롬프트-오류
챗gpt-긴프롬프트-오류

 

챗gpt가 언어에 강한 챗봇 서비스이다 보니 요약시켰을 때 퀄리티가 꽤나 괜찮은 결과물을 보여줍니다. 실제로 요약된 내용을 보고 아티클을 읽어보니 글 내용 중 핵심적인 내용만 잘 뽑아냈다는 것을 확인할 수 있었습니다. chatgpt가 영어에 특히 더 자연스럽고 퀄리티 있는 결과를 생성하므로 대량의 영어 자료를 읽어야 할 때 이 기능을 유용하게 활용할 수 있습니다. 

 

<참고하면 좋을 포스팅>

 

 

[챗gpt 활용] 네이버 크롤링 웹스크래핑 하는 방법(파이썬 노코드)

챗gpt가 코딩에 정말 능하다는 사실을 알고 계시나요? 이제는 코딩을 할 줄 몰라도 챗gpt 도움을 받아서 여러 가지 프로그램을 직접 짜볼 수 있습니다. 이번 포스팅에서는 챗gpt를 이용하여 네이버

datasciencediary.tistory.com

 

 

[챗gpt 활용팁] chatgpt로 차트, 다이어그램 그리는 방법

챗gpt는 챗봇 서비스이기 때문에 텍스트 형태의 답변만 제공이 가능합니다. 하지만 챗gpt를 이용해 차트나 다이어그램을 그릴 수 있는 방법이 있습니다. 챗gpt에게 차트나 다이어그램을 그려달라

datasciencediary.tistory.com

 

댓글