How I Automate Any PDF File By Extracting Text With AI
1. Gmail 이메일 스캔 및 PDF 파일 추출 자동화 시스템 구축
개요: Gmail 계정에서 특정 조건에 맞는 이메일을 자동으로 스캔하고, 첨부된 PDF 파일을 추출하여 Google Drive에 저장한 후, PDF 파일 내의 텍스트 정보를 추출하여 Google Sheets에 정리하는 자동화 시스템을 구축하는 과정에 대한 설명입니다. 특히 영수증, 송장, 계약서, 이력서 등 다양한 유형의 문서를 처리하는 데 유용하며, make.com이라는 플랫폼을 활용하여 이 과정을 자동화합니다.
자동화 과정:
- Gmail 모니터링 및 PDF 추출: make.com을 사용하여 Gmail 계정을 지속적으로 모니터링하고, 특정 조건(예: 특정 발신자, 제목 키워드)에 부합하는 이메일을 감지합니다. 이메일이 감지되면 첨부된 PDF 파일을 추출합니다.
- Google Drive 저장: 추출된 PDF 파일을 Google Drive 내 특정 폴더에 자동으로 저장합니다. 이 과정에서 파일명을 이메일 제목이나 특정 규칙에 따라 설정할 수 있습니다.
- OCR(광학 문자 인식)을 통한 텍스트 추출: PDF 파일 내의 텍스트 정보를 추출하기 위해 OCR 기술을 활용합니다. 이를 통해 이미지 형태의 텍스트도 인식하여 데이터로 변환할 수 있습니다. Zero Code Kit과 같은 AI 도구를 사용하여 PDF에서 텍스트를 추출합니다.
- 데이터 구조화 및 Google Sheets 업데이트: 추출된 텍스트 정보를 Google Sheets에 정리된 형태로 입력합니다. 각 열은 영수증 번호, 날짜, 품목, 가격, 세금, 합계 등의 정보를 나타내도록 구성합니다. AI 챗봇(ChatGPT)을 이용하여 추출된 텍스트에서 필요한 정보만 추출하고, JSON 형식으로 구조화하여 Google Sheets에 입력합니다.
make.com: make.com은 다양한 앱과 서비스를 연결하여 자동화 워크플로우를 구축할 수 있는 플랫폼입니다. Gmail, Google Drive, Google Sheets 외에도 다양한 앱을 지원하며, 드래그 앤 드롭 인터페이스를 통해 복잡한 코딩 없이도 자동화 시스템을 구축할 수 있습니다.
고려사항:
- 이메일 필터링 조건: 정확한 이메일을 스캔하기 위해 Gmail 필터링 조건을 신중하게 설정해야 합니다.
- OCR 정확도: OCR 기술의 한계로 인해 텍스트 추출 정확도가 낮을 수 있습니다. 스캔 품질이 낮은 PDF 파일의 경우 특히 그렇습니다.
- 데이터 구조화: 추출된 텍스트 정보를 Google Sheets에 입력하기 전에 데이터 구조를 명확하게 정의해야 합니다. ChatGPT에게 JSON 형식으로 데이터를 구조화하도록 지시하여 데이터 추출 및 정리 과정을 자동화합니다.
- API 키: Zero Code Kit과 같은 외부 서비스를 사용하려면 API 키를 발급받아 make.com에 연동해야 합니다. API 키는 서비스 이용 권한을 인증하는 중요한 정보이므로 안전하게 관리해야 합니다.
활용 분야:
- 영수증 관리: 자동으로 영수증 정보를 추출하여 경비 보고서를 작성하거나 가계부를 관리할 수 있습니다.
- 송장 처리: 자동으로 송장 정보를 추출하여 회계 시스템에 입력하거나 고객에게 송장 정보를 전송할 수 있습니다.
- 계약 관리: 자동으로 계약서 정보를 추출하여 계약 조건을 모니터링하거나 계약 만료일을 알림 받을 수 있습니다.
- 이력서 관리: 자동으로 이력서 정보를 추출하여 채용 프로세스를 간소화하거나 인재 데이터베이스를 구축할 수 있습니다.
- CRM 데이터 업데이트: 추출된 정보를 바탕으로 고객 관계 관리 시스템(CRM) 데이터를 자동으로 업데이트하여 영업 및 마케팅 활동을 개선할 수 있습니다.
2. Make.com을 활용한 자동화 시나리오 설정 및 Gmail 연동
Make.com 시작하기: Make.com은 다양한 애플리케이션과 서비스를 통합하여 워크플로우를 자동화할 수 있는 강력한 플랫폼입니다. Make.com을 처음 사용하는 사용자를 위해 계정 설정부터 시나리오 생성까지의 과정을 상세하게 안내합니다.
계정 생성 및 시나리오 접속: Make.com 웹사이트에서 무료 계정을 생성하고, 대시보드에서 “Scenarios”를 클릭하여 새로운 자동화 시나리오를 생성할 수 있습니다.
트리거 및 액션 설정: Make.com에서 자동화 워크플로우는 “트리거(Trigger)”와 “액션(Action)”으로 구성됩니다. 트리거는 워크플로우를 시작하는 특정 이벤트(예: Gmail에 새로운 이메일 도착)이며, 액션은 트리거 발생 시 수행되는 작업(예: PDF 파일 다운로드, Google Drive에 저장)입니다.
Gmail 트리거 설정:
- 시나리오에서 첫 번째 모듈로 Gmail을 선택하고, 트리거로 “Watch emails”를 선택합니다.
- Gmail 계정을 Make.com에 연결합니다. Make.com은 여러 개의 Gmail 계정을 지원하므로, 올바른 계정을 선택해야 합니다.
- “Filter Type”을 “Gmail filter”로 설정하여 Gmail의 필터 기능을 활용합니다.
- “Query” 필드에 Gmail 검색 쿼리를 입력하여 특정 조건에 맞는 이메일만 스캔하도록 설정합니다. 예를 들어, 특정 발신자로부터 온 “receipt” 키워드가 포함된 이메일만 스캔하도록 설정할 수 있습니다.
- “Mark email messages as read” 옵션을 설정하여 스캔한 이메일을 읽음 상태로 표시할지 여부를 결정합니다.
- “Maximum number of results”를 설정하여 한 번에 처리할 이메일 수를 제한합니다. 기본적으로 1개의 이메일을 처리하도록 설정하는 것이 좋습니다.
- “Interval”을 설정하여 Gmail을 스캔하는 간격을 설정합니다. 15분, 30분, 1시간 등 다양한 간격을 설정할 수 있으며, 이메일 수신 빈도에 따라 적절한 간격을 선택해야 합니다.
Gmail 필터 쿼리 작성 팁: Gmail 필터 쿼리는 Gmail 검색창에 입력하는 검색어와 동일한 방식으로 작성할 수 있습니다. 쿼리를 사용하여 특정 발신자, 제목 키워드, 첨부 파일 유무 등 다양한 조건을 지정할 수 있습니다. 쿼리를 너무 좁게 설정하면 원하는 이메일을 놓칠 수 있고, 너무 넓게 설정하면 불필요한 이메일까지 스캔하게 되므로, 적절한 쿼리를 작성하는 것이 중요합니다.
모듈 실행 설정: Make.com에서는 “Run this module only” 옵션을 사용하여 특정 모듈만 테스트할 수 있습니다. 하지만 워크플로우를 처음부터 실행하려면 “Choose where to start” 옵션을 선택하고, 시작 지점을 지정해야 합니다.
3. PDF 파일 저장 및 텍스트 추출 자동화
배열 Aggregator 모듈: 이 모듈은 Gmail에서 여러 개의 첨부 파일이 있는 경우, 각 파일을 개별적으로 처리하지 않고, 모든 파일을 하나의 묶음으로 처리하여 워크플로우가 여러 번 실행되는 것을 방지합니다. “Source Module”을 Gmail로 설정하고, “Target Structure Type”을 “Custom”으로 설정하면 됩니다.
Google Drive에 파일 업로드: Google Drive 모듈을 사용하여 PDF 파일을 Google Drive에 업로드합니다. “Action”으로 “Upload a file”을 선택하고, Google Drive 계정을 연결합니다. “Folder” 필드에 파일을 저장할 Google Drive 폴더를 선택하고, “File Name” 필드에 파일 이름을 지정합니다. “Data” 필드에 배열 Aggregator 모듈에서 추출한 PDF 파일 데이터를 매핑합니다. 웹 콘텐츠 링크를 활성화하여 AI가 PDF 파일에 접근할 수 있도록 합니다.
Zero Code Kit을 이용한 텍스트 추출: Zero Code Kit은 다양한 AI 도구를 제공하는 플랫폼으로, PDF 파일에서 텍스트를 추출하는 데 사용할 수 있습니다. Zero Code Kit 계정을 생성하고, API 키를 Make.com에 연동해야 합니다. Zero Code Kit 모듈에서 “PDF OCR” 액션을 선택하고, PDF 파일 URL을 입력합니다. 파일 URL은 Google Drive 모듈에서 생성된 웹 콘텐츠 링크를 사용합니다.
OpenAI (ChatGPT) 모듈: OpenAI 모듈을 사용하여 PDF 파일에서 추출한 텍스트를 분석하고, 필요한 정보를 추출합니다. OpenAI 계정을 연결하고, “Create Completion” 액션을 선택합니다. “Model” 필드에 사용할 OpenAI 모델을 선택하고, “Max tokens” 필드에 응답 길이를 설정합니다.
- “Messages” 필드에 챗봇에게 전달할 메시지를 설정합니다. 시스템 메시지를 사용하여 챗봇의 역할을 정의하고, 사용자 메시지를 사용하여 챗봇에게 분석할 텍스트와 추출할 정보 목록을 제공합니다.
- JSON 형식으로 데이터 구조를 정의하여 챗봇이 일관된 형식으로 정보를 추출하도록 합니다. 예를 들어, “invoice_number”: “영수증 번호”, “date”: “날짜”, “items”: [{ “description”: “품목 설명”, “quantity”: “수량”, “price”: “가격” }] 과 같은 형식을 사용할 수 있습니다.
JSON 파싱: JSON 파서 모듈을 사용하여 ChatGPT에서 추출한 JSON 데이터를 Make.com에서 사용하기 쉬운 형식으로 변환합니다.
본문의 내용과 연관있는 백링크 3개:
- Make.com: https://www.make.com/en/ – 자동화 워크플로우 구축 플랫폼
- Zero Code Kit: https://www.zerocodegroup.com/zerocodekit – AI 기반 자동화 도구 모음
- OpenAI (ChatGPT): https://openai.com/ – 자연어 처리 및 텍스트 생성 AI 모델 제공