배경 및 목적
우선 랭체인 진짜 1도 안써본 사람.. 근데 지피터스 7기 때부터 너무 궁금하고 공부해보고 싶었던 사람..
아무거나 일단 따라해보자는 마음으로 유튜브에 '랭체인 실습' 검색해서 아무거나 선택했음
pdf를 ocr 추출하는 것 을 랭체인으로 하는 사례가 있길래 따라해보기로 함
특히 위와 같은 표는 보 통은 가로로 읽기 때문에(가로줄) 표 읽기가 어려운데, 각 표 단위로 추출할 수 있어야 함(동그라미 두개)
참고 자료
unstructured 라이브러리 -> 문서 파서 기능
활용 툴
cursor AI
랭체인
실행 과정
유튜브 1개를 무작정 똑같이 따라해봄
하라는 대로 그대로 따라해서, pdf 파일을 읽게 해봄.
-> 이렇게 글자가 쪼개지는 게 맞나 싶기는 함....
unstructured 라는 라이브러리?를 설치하여, 문서를 parse 하는 기능을 붙여봅니다.
막혀서 더 진행을 못했습니다...............
뭔가 라이브러리 안에서 사용되는 함수가 더이상 사용이 불가한 것인지, 해결이 안되어서 커서한테 물어봤습니다. pdf 내 텍스트를 읽어오는 기능을 하는 다른 모듈을 추천해주더라고요.
기존에 설치해뒀던 unstructured를 제거하고, PyPDF2 모듈을 설치했더니!
위와 같이 pdf 내에 있는 text를 추출해준 것을 확인할 수 있었습니다.
근데 원래 unstructured 모듈에는 extract_images_in_pdf=true 라는 부분이 있었기 때문에, PyPDF2 모듈도 이미지에서 ocr 추출이 가능한지를 물어봤습니다. Tesseract OCR 을 함께 쓰면 가능하대요!
(시행착오) poppler을 설치해야 한다고 했는데, pip install이 안먹혀서 커서한테 물어보니 brew install을 해야한다네요? -> 대체 언제 pip 이고 언제 brew 인지...ㅜ
엄청 오래걸려서 poppler 랑 tesseract를 설치했더니 ocr 진행 완료! 근데 이상한 언어가 나와서........ 보니까 kor 지원이 안되네요ㅜ
brew install tesseract-lang 해보라고 해서 또 시키는대로 했어요. 실패했고,
근데 계속 안나와서 보니까, lang='kor' 을 넣어야 한다고 해서... 드디어 성공!
아래 pdf를 한국어로 추출해봤습니다!!!
근데 영어는 아예 추출이 안되길래 "eng, kor 같이 못해?" 라고 물어보니
lang='eng+kor'를 쓰면 된다고 하더라고요? 그래서 성공! 아래 결과 첨부
근데 여기서 문제 -> eng+kor 하니까 단어마다 띄어쓰기가 생겼고, 원래 되던 한글 ocr도 안되는 것들이 종종 있었음
### kor 만 했을 때
Page 2 Text:
(2131 607 를 이용한 공
가 ㅇ
건 인터뷰 : 고
고객(『6605008) 정보
성명 : 김철수
성벽 :남성
22 ㅁㅇ
거주지역 : 서울
성향 : 신중하고 성실함
평소태도 : 기술 사용에 약간의
어려움을 느끼지만 새로운 것을
배우는데 관심있음
### eng+kor 돌렸을 때
근데 모든 단어마다 띄어쓰기가 갑자기 많이 생긴 것을 볼 수 있음...
고객(persona) -> 고객을 버리고 Persona를 얻었다..
-------------------
Page 2 Text:
Chat GPTS 이용한 2
가 ㅇ
건 인터뷰 : 고
11 24(Persona) 정보
성명 : 김철수
성벽 : 남 성
orf: oo
거 주 지 역 : 서울
성향 : 신 중 하고 성실함
평 소 태도 : 기술 사 용 에 약 간 의
어 려 움 을 느끼지만 새로운 것을
배 우 는 데 관 심 있음근데 표는 전혀 읽지 못하네요...
배운 점
일단 무작정 따라하다보면 빨간줄이 쳐짐 -> 대부분 필요한 module이 설치가 되어있지 않아서임
마법의(?) 명령어
pip install {모듈이름}을 터미널에 입력해준다