brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jun 24. 2024

 AI 1탄-2-3. PDF에서 데이터 추출

나만의 챗GPT 만들기-3/5

PDF에서 텍스트 데이터 추출해 보자.

청구서 비정형 데이터를 CSV파일로 만들어보자.

그래프로 그려보자.




<1> PDF에서 데이터 추출 순서는?

<2> PDF를 불러 구조화된 데이터로 변환하자

<3> JSON을 CSV로 출력하기

<4> 그래프로 그리기

<4> 활용 사례




<1> PDF에서 데이터 추출 순서는?


7장

PDF에서 데이터르  추출해 그래프 그리기


https://github.com/ychoi-kr/ChatGPT-API-Python/tree/main/ch7/3-2-1




<2> PDF를 불러 구조화된 데이터로 변환하자


1

PDF를 불러와 챗GPT의 API를 사용하여 JSON형식으로 변환하자.

비정형 데이터를 정형 데이터로 변환할 때 JSON형식을 많이 사용한다.

여기서 컴퓨터로 작성된 PDF데이터를 사용 



2

1 work  디렉터리

data폴더 만들고 PDF파일을 저장한다.



3

# VsCode

file > Open folder  > 1 work



4

# PDF를 불러오기 위해 pypdf 라이브러리를 사용한다.

# 터미널, pypdf설치


pip install pypdf



5

# 5개의 PDF를 불러와서 JSON코드로 만들어 보자.

load_pdf.py



6

#터미널

pip install langchain-community==0.0.17

pip install langchain==0.1.4 langchain-core==0.1.17

pip install langchain-openai==0.0.5



7

python load_pdf.py


JSON 파일로 변환되었다.





<3> JSON을 CSV로 출력하기


1

# app.py을 만들어보자.


# app.py 에 아래 내용  키 추가


import os

os.environ ["OPENAI_API_KEY"] = "sk-proj-gmP2 swflnrO"

from openai import OpenAI

client = OpenAI()



2

# 실행

D:\1 work> python app.py

로딩이 완료되었습니다

CSV 파일 쓰기가 완료되었습니다



3

결과

생성된 CSV파일을 보자.

PDF 데이터가 CSV로 정리되어 있다.




<4> 그래프로 그리기


1

CSV를 그래프로  그려보자.


# 필요한 라이브러리 설치 = matplotlib pandas


D:\1 work> pip install matplotlib pandas



2

# app.py  에 그래프 그리는 내용 추가 + 아래 내용  키 추가


import os

os.environ ["OPENAI_API_KEY"] = "sk-proj-gmP2 swflnrO"

from openai import OpenAI

client = OpenAI()



3

# 실행

D:\1 work> python app.py


데이터 로드 완료

CSV 파일 쓰기 완료



# 그래프 그려짐





<4> 활용 사례


# 비정형 데이터를 사용법


고객의 피드백과 리뷰 분석

SNS에 게시물 분류

계약서 분석 등




다음 

챗봇 만들기 = PDF 내용을 바탕으로 챗봇이 답변.


https://brunch.co.kr/@topasvga/3868


매거진의 이전글 AI 1탄-2-2. 챗GPT, RAG이용해 챗봇 서비스
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari