도전을 원했던 이유
2023년 3월 20일부터 2023년 8월 17일까지 고용노동부에서 주관하는 공공데이터 활용 공모전에 참여하였다.
내가 나간 분야는 [제품 및 서비스 개발] 부문이었다.
어떤 비즈니스 문제를 풀어낼 것인지, 이를 어떻게 돌파할지에 대해 구체화 된 프로덕트를 내놓는 방식이었다.
사실은 창업자, 직장인들을 대상으로 모집하는 분야였으나,
주제넘게도 많은 학생들이 갈법한 [아이디어 기획] 부문이 아니라 이 길을 선택했다.
선택의 가장 큰 이유는 학생 콤플렉스를 벗어던지기 위해서이다.
대학교에 다닌 4년 동안 내가 들었던 모든 수업들의 한계점은 아이디어와 기획까지였다.
즉, 누구나 할 수 있고, 수업을 듣는 학생이었다면 누구든 해야했다.
내가 생각하는 학생 콤플렉스는 한계점에 갇힌 채로 만족하며 사는 것이었다.
힘들지라도 이번 프로젝트는 눈으로 볼 수 있는 프로덕트를 꼭 만들자는 것이 목표였다.
새로운 사람들과 협업
운이 좋게도 이 공모전에 스카우트되면서 새로운 사람들과 만나게 되었다.
많은 사람들과 협업을 해오며 나름의 노하우와 마인드셋을 길렀지만,
늘 긴장감은 안고 살아가는 것 같다.
심지어는 학교와 회사가 정의하는 관계와 공간적인 특성이 너무나 달라서
대화하는 방식, 일을 처리할 때 고려해야하는 주변 요소들을 더 세심하게 신경쓰게된다.
추천시스템과 그로스해킹
학부 시절 배운 광고의 광의적 정의에서 공통적으로 등장하는 키워드가 있다.
광고주, 소비자, 미디어, 제품, 돈.
광고주가 자신의 제품의 소구점을 미디어를 통해 소비자에게 돈을들여 전달한다.
10년 전까지만 해도 그랬다.
저 다섯가지 단어에서 단 한 가지 달라진게 있다. 바로 '미디어'이다.
매스미디어가 마이크로미디어로 변했을 뿐인데, TVc는 죽어가고있다.
이제는 작은 화면으로 각기 다른 것을 보고있기 때문에,
전국민에게 똑같은 광고를 보여줄 이유도, 그럴 필요도 없어지게된다.
추천시스템은 바로 이 곳에서 태어나게 되었다.
개인화 된 광고를 보여줄 수 있는 가능성에서부터 시작했다.
이 기술은 비즈니스의 판도를 바꿨다.
측정 불가한 광고 효과의 문제를 측정 가능한 형태로 해결할 수 있게 되었다.
광고에 대한 조회, 관심, 구매 등을 수치화 할 수 있게 되었고,
기업들은 더 확실하고 효율적으로 돈을 쓸 수 있게 되었다.
나는 추천시스템을 공부했다. 추천은 그저 개인화 된 광고이다.
시스템은 위의 행위를 정교하게 만들고 자동화한 것이다.
이번 프로젝트에서 나는 한 단위의 추천을 만들기 위해
어떤 서비스에서, 어떤 목적을 가졌고, 어떤 추천을 할 것이며,
어떤 데이터를 수집하고, 어떤 방식으로 보여줄 것이며,
어떻게 자동화 할 것인지에 대한 고민을 많이 했다.
이 모든 것들이 하나의 비즈니스 목표와 동치되는 요소가 되어야 한다는 것을 유념해야했다.
서비스 선택 : 워크넷
회사에서처럼 주어진 프로젝트가 아니기 때문에 자유롭게 서비스를 선택할 수 있었다.
우리 팀은 추천 시스템에 열정이 있어 일자리를 추천하는 서비스를 개발하고자 했다.
온 국민이 아는 워크넷이라는 서비스에서 말이다.
서비스 목적 : 검색은 줄이고 지원율은 높이고
워크넷은 3가지의 추천서비스를 하고있다.
내 이력서와 기본정보를 바탕으로 추천하는 AI잡케어
내가 희망하는 직종의 유저들이 가장 선호하는 일자리를 추천하는 Peer Group 기반 추천
내가 보는 채용공고와 유사한 공고를 추천하는 콘텐츠 기반 추천이 있었다.
세 가지 방식의 추천 모두 Hit Rate(추천 성공률)이 보장된다는 가정 하에
서비스의 목적인 검색은 줄이고 지원율은 높일 수가 있다.
하지만 기존 워크넷의 추천 알고리즘은 아직 미흡한 단계에 있다.
특히 우리가 개발할 콘텐츠 기반의 추천에서는 관계없는 일자리가 추천되는 경우가 허다했으며,
나와 관계없는 정보라고 느낄만한 정보를 다수 접촉했다.
만약 실제 유저라면 추천받은 콘텐츠를 진입하는 액션 대신 뒤로가기를 누를 것이다.
뒤로가기가 불러올 나비효과는 치명적이다.
추천이 계속해서 실패한다면, 검색에 피로를 느껴 서비스를 이탈하는 경우밖에 남지 않기 때문이다.
우리는 본래 워크넷의 추천시스템의 본질적인 목적을 설정하고
뒤로가기를 누를 필요가 없는 추천 서비스를 개발하고자 하였다.
수집 데이터 : 채용공고 데이터
유사한 채용공고를 추천하기 위해서는 채용공고 데이터가 있어야한다.
워크넷은 매일 7만건의 채용공고를 올려놓고 있으며,
채용공고 내에 있는 모든 데이터(제목, 직무내용, 경력사항, 우대사항 등)를 이용해
유사한 채용공고를 추천할 수 있는 모델을 만들고자 했다.
공모전의 제약 상 공공데이터 포털에 존재하는 데이터만 사용해야한다고 명시되어있어
유저 로그와 데이터 없이 추천 서비스를 만드는 방법을 강구했다.
(해당 데이터는 워크넷 측에 연락하여 API를 직접 따와야했다)
방법론 : 언어모델
유사 공고를 추천하기 위해 채택한 핵심 기술로 언어모델을 이용한 추천을 선택했다.
자연어를 Vector Represent 하는 접근은 동일하나
TF-IDF처럼 문서를 단어 빈도의 벡터로 표현하지 않았다.
Random한 벡터에서 토큰 간의 학습을 지향하는 Word2vec에 더 가까웠으며,
우리는 한국어 사전학습 모델인 KoBERT의 Fine-tuning 버전을 사용키로 하였다.
해당 방법론의 장점은 각 형태소 간의 조합으로 단어를 형성할 수 있고
형성된 단어로 문장을 벡터로 표현할 수 있으며,
각 문장을 문서 단위의 벡터로 쉽게 표현할 수 있기 때문이다.
또한 Back-Bone 모델 사용의 이점을 극대화하며
워크넷 서비스의 목적에 맞도록 채용공고를 학습시키면
각 토큰 벡터가 작은 학습으로도 의미론적인 개편 과정을 거치기 때문에
워크넷만의 특화된 언어 모델을 독자적으로 구축할 수 있다.
무엇보다도 가장 중요한 것은
매일 학습하지 않아도되며, 매일 빠르게 추천하기에 적합한 방법이라는 것이다.
결론
우리의 서비스를 한 문장으로 설명하면
불필요한 검색을 줄여주는 유사 채용공고 추천 서비스이다.
높은 추천 성공률이 지원 성공률을 높일 것이라는 것이 주요 가설이며
이 가설을 증명하기 위한 기획과 개발에 대한 이야기를 작성하려한다.
'Data Analysis > [Project] Job Description RecSys' 카테고리의 다른 글
[일자리 추천시스템 개발하기] ch.4 데이터 수집과 전처리 (0) | 2023.10.22 |
---|---|
[일자리 추천시스템 개발하기] ch.3 제품 개발 기획 (0) | 2023.09.13 |
[일자리 추천시스템 개발하기] ch.2 MVP 정의와 아이디어 (0) | 2023.08.23 |