직접 계산식을 만드느냐 머신러닝 툴을 돌리느냐, 그것이 문제로다.

0
612

지식(GSEEK)이라고 하는 온라인 평생학습 서비스를 관리하기 시작한지 벌써 1년이 훌쩍 지났습니다. 6개월 정도 초기 구축하고, 작년에 약간의 고도화를 거쳐서 이제 더 이상 크게 손댈 것 없이 운영하고 있습니다. 지식 플랫폼을 구축하면서 밑단에 넣었던 기능이 바로 로그 기반 학습분석 방법론입니다.

학습분석을 위한 데이터는 차곡차곡 쌓이고 있습니다. 누가 언제 어디를 통해 접속했고, 어떤 링크를 눌러 어떤 학습활동을 했는지 등을 나름 고민해서 로그를 쌓고 있습니다. 로그를 분석하기 위해 속도 빠른 시계열 데이터베이스도 도입했지 말입니다. 대략 헤아려 보니 로그 데이터만 2억 건이 훌쩍 넘었습니다. 이렇게 쌓아 놓은 데이터로 콘텐츠 추천 기능을 만들려고 계획 중입니다.

추천 로직을 만들려고 했습니다. 추천을 위한 계산식을 우리가 만들어서 데이터를 입력값으로 넣어 출력값으로 콘텐츠 추천 결과를 만들어 내려고 했습니다. 1차적으로는 이렇게 추천 콘텐츠를 보여줄 것입니다. 갑자기 고민이 생겼습니다. “굳이 직접 계산식을 만들어서 검증하지 말고 머신러닝 툴에 넣어 돌리면 어떨까?”라는 고민입니다. 계산식을 만드는 행위도 참 어려운데다가 그것이 맞는지 검증하는 것도 쉽지 않을 것 같습니다.

문제는 머신러닝에 대한 지식이 부족하다는 데에 있습니다. 예를 들어, 텐서플로우를 활용한다고 했을 때에 입력값을 어떻게 설정해야 할지 전혀 감이 안잡힙니다. 결과값은 사용자별로 콘텐츠를 추천해 주는 것입니다. 이를 위해 어떻게 입력값을 조정해서 텐서플로우에 던져주느냐가 고민입니다. 그냥 상상만 했었지 실제 툴에 대한 이해가 부족하기 때문에 고민이 됩니다.

텐서플로우가 동작하는 원리라도 파악해보면 아이디어가 생길까요? 이제 슬슬 데이터를 써야할 시간이 다가오고 있는데 그림이 그려지지 않습니다. 누군가 짠 나타나서 이래이래 저래저래 하면 되지 말입니다, 라고 컨설팅 좀 해주면 좋겠습니다. 이러닝 바닥에 이런 거 해 줄 사람이 있을까요? 없으면 내가 실제 사례를 만들어 내야 하는 것일까요? 이래저래 골 아픈 일이 계속 생깁니다.