[졸업 프로젝트] 전체적인 구상도
정승우 (2)
할 거
문제 정의
간단히 정리하면 ppt나 pptx를 RAG로 학습시키기 용이하게 텍스트로 변환하는 것이다
요구하는 내용은 다음과 같다.
- 사진에 있는 table과 plaintext를 마크다운으로 추출하기
- 1번이 아닌 사진이라면, 간단한 description을 출력할 것
ppt와 pptx가 무엇인가(진행 중)
그 전에 앞서 위 파일 확장자에 대해 이해할 필요가 있다.
일단 ppt는 바이너리 파일 + CFB 포맷이고, pptx는 OOXML 포맷이다.
우리 문제에서 문제가 될 만한 부분은 결국 이미지인데, 아마 파이프라인에서 ppt를 전부 pptx로 변환하여 문제를 단순화할 때 ppt에서의 여러 구성요소(표, 도형 등)이 사진으로 변할 가능성이 존재한다.
일단 이정도까지만 찾아보고 더 자세한 구조는 아래 페이지를 참고해야함(안봄)
https://www.loc.gov/preservation/digital/formats/fdd/fdd000511.shtml
https://learn.microsoft.com/ko-kr/openspecs/office_file_formats/ms-ppt/6be79dde-33c1-4c1b-8ccc-4b2301c08662
https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-cfb/53989ce4-7b05-4f8d-829b-d08d6148375b
https://www.loc.gov/preservation/digital/formats/fdd/fdd000399.shtml
https://ecma-international.org/publications-and-standards/standards/ecma-376/
https://support.microsoft.com/en-us/office/about-compatibility-mode-in-powerpoint-aa6983bb-7858-40c5-bcc8-756faa7d29b0
ppt2pptx open source(진행 중)
pptx2md open source(진행 중)
https://github.com/ssine/pptx2md
이전에 ppt 2개 정도를 예제로 돌려보았을 때 어느정도 준수한 성능을 얻었다.
이 오픈소스에서 어찌보면 가장 중요한 부분은 python-ppt open source를 내부적으로 이용한다는 것이다,
따라서 이에 대해 공부해야 할 가능성도 존재한다.
생각해야 할 부분은 다음과 같다.
- 위의 오픈소스가 사진을 100% 추출 가능한지
- 내부적인 파이프라인 이해
- pptx의 구성 요소를 어떻게 잘 버리는지.
OCR open source + description(진행 중)
파이프라인 구상도(진행 중)
따라서 정리하면 다음과 같다.
ppt → pptx → markdown with non-OCRed photos → markdown with OCRed photos
Complex Table Problem(진행 중)
가령, PPTX는 테이블 안의 테이블 구조를 표현할 수 있다.
하지만, 마크다운은 테이블 안의 테이블을 표현 불가능하다.
의논된 사항은, 이러한 구조를 지키기 위해서는 html같은 도구 사용이 불가피하나,
기업에서 요구하는 결과는 순수한 마크다운 파일이므로 이러한 구조적인 문제를 해결할 생각도 해야한다.