지난주에 '일은 재미있어야 한다'라고 했더니, 일에 미쳐버리는 바람에 회고 조차도 2주가 지난 지금에서야 하고 있다.
배경
•
지난주에 학원 강사로 활동하고 있는 친구의 문제를 해결하는 프로젝트를 수행하기로 하였었다.
•
프로젝트 내용은 본인이 가지고 있는 과학 문제들이 굉장히 많은데, 이걸 분류하는 것을 도와주는 것이었다.
•
우리팀은 AI로 업무를 자동화하는 아이템을 탐색하고 있고, 이를 위한 전략으로 외주라는 엄청난 노력이 드는 작업을 통해 정말 심도깊게 니즈를 탐색하려 하고 있었다. 그 중 업무 자동화 중에 분류 하는 작업에 대한 니즈가 가장 해볼만하다는 생각이 들었기 때문이다.
이번주는
궁극의 PDF OCR&parsing
처음엔 일주일 정도의 시간을 투자할 것이라고 예상했고, 정작 과학 문제 분류를 하면 될 줄 았았는데 가장 큰 문제는 PDF로 된 과학 문제들을 데이터베이스화 하는 것이었다.
받은 PDF는 7권 정도 되었었는데, 그야말로 개판이라고 하지 않을 수 없었다.
나중에 끝내보니 문제가 3600개나 있었다.
어떤 교재는 그나마 텍스트로 된 PDF로 돼있고, 어떤 교재는 이미지로만 되어있고, 문제 양식도 다 들쭉날쭉 달라서 머리가 아팠다.
이 텍스트/이미지로 된 PDF 자료를 먼저 동일한 포맷의 텍스트로 통일하고, 어떤 논리에 의해서 어디서부터 어디까지가 한 문제인지 찾고, 해당하는 부분을 이미지로 캡쳐해서 저장하는 그런 작업을 해야했었다.
이런 PDF OCR&parsing하는 데에만 40시간 정도 사용한 것 같다.
팀 내에서 진행하는 회고도 위와 같이 작성했었다.
근데 재미있었다는게 참 문제다. 분명 전략적으로는 여기에 시간을 많이 들이진 않는 것이 맞는데, 이게 너무 장인정신(?) 같은 것을 자극하다보니 재미있어서 계속해서 시간을 들이게 되었다.
그래도 위안은 정말 일반적으로 쓸 수 있는 OCR 툴을 만들어 볼 수도 있을 것 같다는 생각에, 범용적으로 코드를 작성해보았었고 꽤 괜찮은 코드를 만들 수 있었다.
이런 식으로 정규 표현식이나 텍스트의 위치, 크기, 폰트, 사이즈 등을 설정해서 그 텍스트를 기준으로 파싱 해오는 코드를 적용할 수 있었고, 보낸 7권에 대해서는 하나의 코드로 모든 데이터를 처리할 수 있었다.
만약, 사업 아이템을 잘 잡지 못하겠다면 이런 OCR툴을 만드는 것도 하나의 방법이라는 생각이 들었다. 저 코드의 문제는 텍스트의 패턴을 파악하기 위해서는 내가 일일히 코드를 돌려가면서 문제 번호가 무슨 패턴이지?를 추측하고 확인하고 이상한게 포함돼있으면 제외하는 일련의 과정을 필요로 했었는데, 이 과정이 너무나도 번거롭고 하기 힘들었다. 이를 GUI로 대체하면 상당히 편의성이 올라갈 것 같아서 이런 쪽으로도 사업을 진행해볼만한 여지가 있겠다는 생각이 들었다.
문제 유형 자동 분류기
당시 내 가설은, 학원 강사에게 문제 유형을 자동으로 추천하고 분류할 수 있는 도구가 있다면 효용을 느낀다는 것이었다.
다만 이를 검증하는 방법이 너무나도 힘들었다. PDF를 데이터베이스화 해서 LLM + vector clustreing 등을 해서 자동 분류를 제공했을 때, 어느정도의 효용을 느끼는지 확인하고 싶었다.
하지만 근본적인 문제가 '분류'가 잘돼있는지 확인하기 위해서는 수 많은 다른 데이터들을 봐야한다는 것이었다.
처음에는 우리가 자동 분류를 작동시킨다음, 문제 분류 결과에 따른 엑셀 파일을 자동으로 만들어주는 코드를 열심히짜서 엑셀을 전달해서 피드백을 부탁했다.
그러니 봐야하는 양이 많아져 피드백이 늦어질 뿐만 아니라, 자동 분류에 대한 효용을 정말로 느끼는지 확인하기가 무척 힘들었다. 실질적으로 직접 느끼기에 문제 유형이 이상한 것이 있었고, 이를 고칠수도 없고 볼 뿐이었으므로 얼마나 분류가 잘못되었는지 확인하기가 어려웠다.
그래서 우리는 SaaS형태로 자동 분류 웹 서비스를 고작 1명을 위해 제작하기로 했다. (지금 생각하면 정말 과감했고 이렇게 힘들줄 몰랐다...)
그래도 정말 빠르게 만들었다. 2일정도 소비해서 자동 분류를 직접 해보고 분류를 조정해볼 수 있는 형태까지는 만들고, 주말에 써봐달라고 피드백을 부탁했다.
나는 SaaS 만드는 걸 재밌어하는 사람이다.
위와 같은 과정 중, 팀원과 저녁을 먹는데 우리가 어떤 사업을 괜찮아하는지 논의를 하다가 내가 어떤 사업이 마음에 드는지를 더 잘 알게되었다.
사실 위처럼 OCR을 한다던지, 웹 서비스를 구축한다던지는 중학생 때부터 엄마의 학원 운영을 도우면서 했던 경험들이 있었고, 내가 재밌어서 했던 경우가 많았다.
군대에서도 경찰들의 행정업무를 자동화하는 웹서비스 같은 것을 1년동안 내가 신나서 이것저것 만들면서 경찰의 월루를 매우 효과적으로 도와줄 수 있었다.
반면 나는 인스타, 페이스북 같은 SNS 사업은 정말 마음이 가지않고, 플랫폼 사업도 싫어했는데 깊은 고찰을 하다가 하나의 사실을 발견했다.
앞서 말했듯, 나는 '세련된 방식으로 인정욕구를 채우고 싶은 사람'이고 이에 대한 효과적인 수단 중 하나가 '남들이 하기 싫어하는 일이지만 억지로 해야하는 일을 잘 할 수 있게 도와주기'라는 형태가 있었던 것 같다.
이에 가장 보편적으로 해당하는 것이 업무를 도와주는 방향인 것 같다. 그래서 업무 자동화하는 방향으로 사업아이템을 설정하는 것에 끌렸던 것 같다.
업무는 기본적으로 반드시 해야하는 일이지만 많은 사람들이 하기 싫어하는 경우가 많다. 설령 일을 즐기더라도 반복적이고 의미없는 작업은 더더욱 하기 싫어하기 마련이다.
이런 사람들을 돕는 형태가 일반적으로 SaaS가 굉장히 많고, 그래서 지금 같은 OCR&parsing, 자동 분류기 등의 SaaS tool을 만드는 것을 정말 재밌어하는 것 같다.
결론
이번주는 정말 열심히 살았다.
사실상 MVP를 두 개나 만든 셈이 아닐까 싶다.
또한, 내가 업무를 돕는 SaaS를 만들고 싶어한다는 것도 깨달았다.
비고
•
정말 일에 치여서 정신이 없다보니 우선순위에 밀려서 회고를 자꾸 미루고 미루고 2주가 지나서야 쓰게된 점 반성해야겠다.
•
그래도 오늘도 12시 넘어서 집에 도착했지만, 어떻게 회고를 쓰다보니 오히려 더 힐링이 되는 측면도 있는 것 같다. 사실 최근에는 너무 고된 일에 좀 쉬어야겠다는 생각을 하고 있지만 2주전에는 이런 생각을 했었지라는 것들을 보면서 다시 열의가 차오른다.