Skip to content

HaKaTaHan/Document_Classifier

Repository files navigation

Document_Classifier

인공지능을 이용한 문서 분류

개요

반복적으로 분류할 필요가 있는 문서의 표지를 학습시킨 모델을 기반으로 문서를 표지와 내용으로 분류하고, 표지 단위로 문서를 나누어 저장합니다. 또한 표지의 제목에 해당하는 문자열을 OCR로 읽어 원하는 문서들을 따로 분류할 수 있습니다.

주요 기능

  1. PDF 문서 묶음을 장 단위로 분리하여 IMG/IMG 폴더에 jpg 파일로 저장합니다.
PDFtoIMG
  1. 스캔 등으로 인하여 기울어진 이미지를 보정합니다.
degree
  1. 보정이 끝난 이미지들을 모델을 통해 분류하고, 사용자에게 보여줍니다. 이 때 사용자는 올바르게 분류되지 않은 이미지를 클릭하여 분류를 바꿀 수 있습니다(이미지는 블러처리 하였습니다).
표지로 분류된 이미지들
Cover
내용으로 분류된 이미지들(오차가 작은 상위 10개의 이미지만 표시합니다)
Content
  1. 문자열 탐색을 실행할 것인지 묻습니다. 아니오를 클릭할 시 표지 단위로 문서를 분리하여 저장하고 6번으로 넘어갑니다.
ask

5-1. 예를 클릭할 시 탐색할 문자열을 입력 받습니다.

keyword

5-2. 표지 이미지에 대해 제목 부분을 자르고, OCR로 읽기 쉽게 보정한 후 문자열을 읽습니다.

ocr
  1. Result 폴더에 분류된 결과대로 폴더를 생성하고 프로그램을 종료합니다.
ocr

실행 결과

폴더에 분류하여 저장됩니다.

ocr

사용 환경

  • Python 3.6 이상

  • pip 20.2.3

  • six 1.15.0

  • Pillow 7.2.0

  • PyPDF2 1.26.0

  • PyQt5 5.14.1

  • PyQt5-sip 12.8.1 (PyQt5와 함께 자동설치)

  • numpy 1.19.2

  • opencv-python 4.1.2.30

  • pdf2image 1.11.0

  • pytesseract 0.3.1

  • torch 1.4.0

  • torchvision 0.5.0

실행 전 설정

  • 프로젝트 폴더에 CROP, IMG, Improvement, PDF, RePDF, Result 라는 이름의 폴더를 생성합니다.
folder_list
  • IMG 폴더 내에 다시 IMG 폴더를 생성합니다.
IMG_in_IMG
  • 분류를 원하는 PDF 파일(들)을 PDF 폴더 내에 넣습니다.
PDF_located
  • GUImain.py를 실행합니다.
RUN

Open Source Announcement

This can be also checked on NOTICE file.

Component License
Pillow PIL License
PyPDF2 BSD-3-Clause License
PyQt5 GNU General Public License v3.0
numpy BSD-3-Clause License
opencv BSD-3-Clause License
pdf2image MIT License
pytesseract Apache License 2.0
pytorch BSD-3-Clause License
torchvision BSD-3-Clause
six MIT License

About

인공지능을 이용한 문서 분류

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •