원티드는 어떻게 AI로 채용 결과를 예측하고 매칭할까?

황리건 Reagan Hwang
원티드랩 기술 블로그
7 min readMay 10, 2021

원티드에서는 2017년부터 딥러닝 기반의 AI를 채용에 활용하고자 연구개발을 지속해오고 있습니다.

이번 글에서는 원티드가 어떻게 채용 분야의 AI를 어떻게 만들고, 실제 서비스에서는 어떻게 적용되어 있는지 소개해보려고 합니다.

원티드에서 지인추천 채용 서비스를 시작한 것이 2015년이었고, 그 다음 해 2016년 3월에 알파고와 이세돌의 바둑 대결이 있었습니다. 그 당시 저희도 큰 충격을 받게 되었고, AI의 발전에 관심을 갖고 HR 분야를 혁신할 수 있는 기회가 있을지 알아보는 계기가 되었습니다.

1개의 지원서가 채용에 성공할 확률은 통계적으로 1% 정도 밖에 안 되는데요. 그 말은 구직자가 취업에 성공하기 위해서 평균 100회의 지원을 해야 한다는 의미이기도 합니다. 합격률이 2배만 증가해도 50회로 줄일 수가 있죠.

만약에 AI가 내가 합격할 것으로 예측되는 채용공고를 미리 알려줄 수 있다면, 취업의 어려움을 크게 줄이고 사회적 비용도 크게 낮출 수 있지 않을까요?

이런 아이디어를 바탕으로 원티드가 2017년부터 본격적으로 AI를 연구하여 실제 서비스까지 하게 된 이야기를 이 글에서 다뤄보고자 합니다.

원티드는 처음부터 기존 채용 서비스와 다르게 채용시 수수료를 받는 비즈니스 모델로 성장해왔기 때문에, 구직자와 기업들의 채용 활동과 실제 결과 데이터를 수백만건 쌓을 수 있었습니다.

데이터를 최대한 간단히 나타내면 다음과 같습니다.

이력서 A + 채용공고 1= 합격(1)

이력서 B + 채용공고 2= 불합격(0)

서류 합격과 불합격을 각각 1과 0으로 하고, 이력서와 채용공고 텍스트를 수치 데이터화하여, 머신러닝으로 수백만 건의 데이터를 학습을 시킨다면, 이론적으로 새로운 이력서와 채용공고 쌍에 대해서 결과를 예측할 수가 있을 것이라고 봤습니다.

이력서 C + 채용공고 3 = (결과 예측)

채용 결과를 예측하는 머신러닝 모델을 간단히 도식화하면 다음과 같이 나타낼 수 있습니다.

위와 같은 구조로 머신러닝 모델을 학습시켜서 충분한 예측 정확도를 가질 수 있게 한다면, 입력값인 이력서와 채용공고 쌍 데이터만 있어도 합격/불합격 결과를 예측할 수 있게 됩니다.

그럼 이 머신러닝 모델은 어떻게 만들었을까요?

https://www.youtube.com/watch?v=ixF5WNpTzCA

위 그림은 머신러닝 기법 중 하나인 CNN 방식의 딥러닝을 이용한 이미지 인식(분류) 사례인데요. 좌측에 있는 자동차 그림을 작은 단위로 쪼갠 후에 여러 층의 신경망을 거쳐서 최종적으로 사물의 종류를 분류하는 모델입니다. 수 많은 이미지와 분류 쌍 데이터를 반복적으로 학습시켜서, 중간 신경망 층에 있는 행렬 형태의 수 많은 파라미터값을 최적화합니다.

원티드의 채용 결과 예측모델도 딥러닝을 쓰고 있기 때문에 원리는 유사합니다. CNN은 원래 이미지 인식 주로 쓰이는 모델이지만 자연어 처리에 적용한 논문들이 등장하였고, 다른 자연어 처리 모델과 비교했을 때 대량 계산에서 좀 더 빠르게 처리할 수 있어서 원티드에서도 활용하고 있습니다.

CNN 외에도 자연어 처리를 위한 딥러닝 모델은 다양한데요. 원티드는 지난 몇 년간 합격 예측 정확도를 높이기 위해서 CNN, RNN, Bi-LSTM, Attention 등 모델을 직접 구현하여 20여 개의 모델을 비교 테스트해서 성능을 검증하였고, 이를 바탕으로 가장 정확도가 높으면서 빠르고 경제적으로 서비스할 수 있는 모델 아키텍처를 구현하여 서비스에 활용하고 있습니다.

예를 들어, 실제 이력서를 검토할 때 보면 채용공고의 자격요건 등과 비교하여 후보자가 충분한 직무 경험이 있는지를 비교하는데요. 원티드 AI 모델에서는 이력서-채용공고 간에 어떤 문구가 채용 결과에 영향을 미치는지 등의 패턴을 머신러닝 모델이 학습하게 됩니다. 이를 위해서 원티드는 Attention 모델을 사용하고 있는데, 문서 상에서 단어 단위로 중요도를 계산할 수 있습니다.

https://awesomeopensource.com/project/jiesutd/Text-Attention-Heatmap-Visualization

채용 결과에 영향을 미치는 요인은, 채용공고와 이력서 외에도 많이 있기 때문에 그 밖에 원티드가 보유하고 있는 구직자와 기업의 다양한 데이터 역시 머신러닝의 정확도를 높이는데 활용이 됩니다. 예를 들어 구직자의 평균 합격률, 기업의 규모, 평균 연봉과 같은 데이터가 활용됩니다.

머신러닝 모델은 합격 여부를 0~1 사이의 값으로 예측하고, 0.5를 기준으로 1에 가까울수록 합격, 0에 가까울수록 불합격으로 예측한 결과값을 출력해 줍니다.

합격 예측 모델은 몇 초 이내로 결과 예측이 가능하기 때문에 실시간으로 점수 요청이 왔을 때, 새롭게 합격 결과를 예측하거나, 미리 계산을 해둔 결과값을 가져와서 사용자에게 제공합니다.

현재 원티드 서비스에서는 이력서를 400자 이상 작성하면, 각각의 채용 공고 데이터와 함께 머신러닝 모델에 입력하여 합격 확률을 계산합니다.

각 채용공고마다 확률이 다르게 계산이 되므로, 높은 확률을 가진 포지션을 우선 정렬해서 아래와 같이 보여줍니다.

AI의 합격 예측과 추천 결과가 실제로 효과가 있었는지는 데이터를 통해서 검증을 해보았는데요.

AI 확률이 높은 공고를 우선 노출하고 점수화하여 표시하는 것을 A/B 테스트로 실험한 결과, 이전 대비 채용 공고의 열람율이 평균 33%에서 45%로 증가하였습니다.

이메일로 채용공고를 추천해주는 경우에도 AI를 적용한 결과 클릭률이 6배 증가했습니다.

AI 모델이 실제로 잘 동작하는지 알기 위해서는 단순히 열람률이나 클릭률을 높이는 것에서 더 나아가, 원티드 AI가 결과적으로 구직자의 취업에 도움이 되었는지도 중요한데요.

AI가 채용공고를 추천해주는 모델을 적용한 결과, 가이드에 따라 지원한 구직자의 합격률이 4배 증가하는 효과를 얻을 수 있었습니다.

지금까지의 성과도 의미있지만 앞으로도 합격률을 더 높이기 위해서는 모델의 정확도를 지속 개선하고 양질의 데이터를 더 확보해야 합니다.

그리고 앞으로는 채용 과정의 자동화를 통해서 채용 시간을 단축하는 연구를 할 예정입니다. 그동안은 텍스트 데이터를 주로 다루어왔지만, 실제 채용 과정에는 (화상)면접과 같이 영상이나 음성 데이터도 있기 때문에 최근에는 영상/음성 데이터에 대한 리서치도 하고 있습니다.

AI를 통해서 구인구직에 걸리는 시간과 노력을 단축하는 도전에 함께하실 분들은 현재 관련해서 채용 중인 포지션에도 관심가져 주세요!

--

--