-
CLOVA OCR을 활용한 타임트래커 수집Infra/ncloud 2024. 1. 28. 18:37
작년 6월부터 타임트래커라는 노트를 활용해 하루하루 발생한 일들을 시간별로 꾸준히 기록해오고 있는데 한 가지 아쉬웠던 점은 기록을 수기로만 쌓아왔기 때문에 과거의 행적들을 돌이켜보고자 할 때 계속해서 이전 노트들을 찾아볼 수밖에 없었다는 점이었습니다. 그래서 올초에 문득 이런 다짐을 했습니다.
“타임트래커에 적어놓은 글들을 전부 데이터로 저장하고 관리해야겠다.”
타임트래커에 적어놓은 글 들을 전부 데이터로 저장해 놓는다면 한 눈에 분석이 가능한 대시보드도 만들어볼 수 있고 또 AI 피드백 이런 것도 만들어볼 수 있지 않을까 하는 생각이 들어서 저의 기록들을 데이터로 수치화하여 관리하는 것을 올해 달성하고 싶은 중요한 목표 중 하나로 자리매김 하였습니다.
💡 타임트래커란?
문제는 작년 6월부터 지금까지 대략 노트 2권에 적힌 내용들을 데이터로 만든다니 엄청난 노가다가 동반될 예정이었습니다. 그래서 저는 OCR을 이용해서 데이터를 수집해 저장해야겠다고 생각했습니다.
OCR이란 Optical character recognition의 약어로 이미지(사진)에서 글자 위치를 찾고 인식하여 컴퓨터 텍스트로 변환하는 기술입니다. OCR 중에서도 가장 높은 한글 인식률을 보이는 서비스는 바로 CLOVA OCR인데요. 이번 포스팅에서는 바로 이 CLOVA OCR을 활용해 타임트래커의 데이터를 수집할 수 있는지 검토해 보도록 하겠습니다.
🍀 CLOVA OCR 사용방법
먼저 CLOVA OCR을 사용하기 위해서 네이버클라우드 플랫폼의 콘솔로 접속합니다.
CLOVA OCR 서비스에 접속하시게 되면 다음과 같은 화면이 나타납니다. [+ 이용 신청] 버튼을 클릭하여 서비스 내부로 진입해 보겠습니다.
CLOVA OCR을 사용하려면 먼저 서비스 이용약관을 읽고 동의를 해주셔야 하는데요. 여기서 주의 깊게 보시면 좋을 점은 7조와 9조 입니다. 먼저 7조에 해당하는 항목들을 살펴보면 1년 이상 사용하지 않을 경우 데이터가 삭제될 수 있다고 주의하고 있습니다. 이점을 점을 꼭 기억해 두시고 추후에 OCR을 사용하지 않으신다면 데이터를 미리 백업해 두시는 것을 권장드립니다.
추가적으로 9조 4항에 따르면 배치성 프로그램 등을 통해 일괄적으로 OCR을 사용하여 대량의 트래픽을 유발하는 경우 제한조치를 당하실 수 있다는 점도 유의해주시면 좋을것 같습니다.
이용약관을 체크하고 넘어가시면 다음과 같이 도메인을 생성할 수 있는 팝업창이 나타나게 됩니다. 도메인을 생성할 때 중요하게 보아야 할 것은 서비스 타입입니다. 일반적으로 서비스 타입은 일반과 템플릿 두 가지 유형이 존재합니다.
서비스 타입을 일반으로 선택하는 경우 OCR 사용시 이미지 내 텍스트와 표를 그대로 추출할 수 있습니다. 반대로 템플릿 도메인을 선택하는 경우 판독 영역을 직접 지정하는 템플릿 빌더를 사용할 수 있습니다. 저는 타임트래커가 갖고 있는 노트의 형식을 이용해 직접 영역을 지정할 예정이므로 템플릿 타입을 선택하였습니다.
추가로 인식 모델은 Basic 모델에 서비스 플랜을 Free를 선택하였습니다. Basic 모델은 Premium 모델에 비해 인식률은 조금 떨어질 수 있을지라도 무료로 사용할 수 있는 Free 플랜을 선택할 수 있다는 장점이 있습니다. 상세한 요금은 네이버클라우드 플랫폼 CLOVA OCR 가이드에서 확인하시길 바랍니다.
🍀 CLOVA OCR에 타임트래커 템플릿 등록
도메인 생성이 완료되면 다음과 같이 도메인 목록을 확인하실 수 있는 화면으로 전환됩니다.
도메인 목록 중에서 한 도메인을 선택하여 [템플릿 빌더] 버튼을 클릭하면 다음과 같이 템플릿 빌더 내부로 이동할 수 있습니다.
OCR을 이용하려면 먼저 템플릿을 생성해야하는데요. [템플릿 목록] 메뉴를 클릭하여 해당 페이지로 이동한 뒤에 [+ 템플릿 생성] 버튼을 클릭하여 템플릿을 생성할 수 있습니다.
템플릿을 등록하려면 먼저 템플릿 기본 정보를 저장해야 합니다. 다음과 같이 템플릿명을 입력하고 인식 모델을 선택하여 [확인] 버튼을 클릭합니다.
템플릿 기본 설정까지 완료하고 나면 다음과 같이 대표 샘플을 등록할 수 있게 됩니다.
저는 이곳에 제가 작성해 놓은 타임트래커 이미지를 업로드해보도록 하겠습니다.
타임트래커 이미지를 올려놓고 나면 다음과 같이 오른쪽에서 판독 필드를 지정할 수 있게 됩니다. [+ 필드 추가] 컴포넌트를 클릭하면 왼쪽 화면에서 영역을 지정할 수 있게 되는데 추출하고 싶은 영역을 선택해서 오른쪽에 필드 이름을 기입할 수 있게 됩니다.
저는 타임트래커 포맷에서 오른쪽 상단에 있는 '시간기록' 부분과 하단의 '보고 느낀 것', '감사한 일', '적용할 것' 3개의 영역을 지정해 보도록 하겠습니다. 저장을 다하고 나시면 이제 원본문서와 실제로 얼마나 유사하게 추출되는지 확인해 보도록 하겠습니다.
🍀 CLOVA OCR 테스트해보기
다시 템플릿 목록으로 돌아와서 왼쪽 내비게이션바에서 [테스트] 메뉴를 클릭하여 테스트 조건을 [템플릿 판독]으로 변경 후 [파일 업로드] 버튼을 클릭하여 조금 전에 템플릿으로 등록해 놓았던 이미지를 업로드해보도록 하겠습니다. (베타는 배포 후 사용가능합니다.)
파일 업로드 팝업이 나타나면 준비해 둔 이미지를 업로드하고 확인 버튼을 클릭하여 테스트를 진행합니다. 앞서 Basic 모델에 Free 플랜을 선택했기 때문에 월 300회까지 무료 테스트가 가능하므로 부담없이 편하게 테스트해보실 수 있습니다.
테스트 결과는 다음과 같이 나왔습니다. 판별영역이 비교적 다닥다닥 붙어있었던 타임트래커 오른쪽 상단의 시간 분석 영역의 경우에는 정확하게 구별되어 인식되지는 못했지만 하단에 있었던 '보고 느낀 것', '감사한 일', '적용할 것'에 대한 영역은 정확하게 판별해 내는 게 신기하네요.
이번에는 템플릿으로 등록한 이미지 대신 다른 날짜에 작성했던 타임트래커 이미지를 업로드해서 사용해 보도록 하겠습니다.
마찬가지로 하단의 보고 느낀 것, 감사한 일, 적용할 것 3가지는 정확하게 추출되었지만 상단의 시간 분석 영역은 추출이 잘 되지 않았네요. 영역은 확실히 넓게 지정하는 것이 좋은 것 같습니다.
다음으로는 태블릿용 PDF로 작성된 디지털 타임트래커가 아닌 작년에 실제로 수기로 작성한 필기용 타임트래커를 카메라로 촬영 후 업로드 해보았습니다.
제 악필 덕분인지 100% 정확하게 일치한건 아니지만 이 정도 인식률이면 정말 훌륭한 것 같습니다. Basic 모델이 이 정도이면 Premium은 어느 정도 인식률을 보일지 정말 기대가 되네요.
🌠 회고하기
지금까지 CLOVA OCR을 활용해서 타임트래커 데이터를 수집할 수 있을지에 대한 분석 및 검토를 진행해 보았는데요. 아쉬웠던 점은 OCR 결과 내용을 저장하거나 편집할 수 있는 기능이 없다는 점입니다.
물론 CLOVA OCR의 배치 기능을 사용하면 Object storage와 연동하여 일괄적으로 저장할 수 있습니다. 그러나 지금처럼 100% 일치하지 않는다는 상황에서는 분명 일일이 수동으로 검증해서 저장하는 작업이 필요하다고 생각이 들기 때문에 추후에 OCR Reader 등을 통해서 데이터를 직접 편집하고 저장까지 할 수 있는 기능이 추가되었으면 좋겠다는 생각이 듭니다.
Template OCR에는 General 타입에 존재하는 표를 추출할 수 있는 기능이 없다는 점도 타임트래커 데이터를 수집하는데 한계가 있었습니다. 타임트래커에는 다음과 같이 시간 계획 및 실제 시간 사용을 기록할 수 있는 작성 칸이 있는데 해당 내용들은 사용한 시간에 따라 영역이 매번 바뀌기 때문에 Template으로 등록할 수 없었습니다. 그래서 타임트래커 수집용으로 CLOVA OCR을 사용하기에는 한계가 있었습니다.
그럼에도 불구하고 OCR 분야에서 업계 1위를 달리고 있는 만큼 사용하기 간편한 UI와 한글 인식률은 정말 뛰어났다고 생각합니다. 추후에 다시 데이터를 수집해야 하는 일이 생긴다면 CLOVA OCR을 활용해서 또 재미있는 실험을 해보고 싶다는 생각이 듭니다.
'Infra > ncloud' 카테고리의 다른 글
Streamlit 챗봇 외부접속 가능하도록 배포하기 - 네이버클라우드 활용 (2) 2024.08.12 네이버클라우드 서비스를 활용한 알림(PUSH) 앱 배포하기 (5) 2023.11.19 안드로이드, IOS 지식 없이 SENS로 알림(PUSH) 서비스 개발하기 (84) 2023.10.15 CLOVA Chatbot 카카오톡 연동하기 (18) 2023.08.30 CLOVA Chatbot으로 간단한 자기소개봇 만들기 (46) 2023.08.19