KR102601803B1 - 채용 중개 서비스에서 구직자 및 구인자의 매칭 확률 예측을 위한 신경망 모델 제공 전자 장치 및 방법 - Google Patents

채용 중개 서비스에서 구직자 및 구인자의 매칭 확률 예측을 위한 신경망 모델 제공 전자 장치 및 방법 Download PDF

Info

Publication number
KR102601803B1
KR102601803B1 KR1020210033402A KR20210033402A KR102601803B1 KR 102601803 B1 KR102601803 B1 KR 102601803B1 KR 1020210033402 A KR1020210033402 A KR 1020210033402A KR 20210033402 A KR20210033402 A KR 20210033402A KR 102601803 B1 KR102601803 B1 KR 102601803B1
Authority
KR
South Korea
Prior art keywords
feature vector
information
document
job seeker
company
Prior art date
Application number
KR1020210033402A
Other languages
English (en)
Other versions
KR20220128808A (ko
Inventor
장인호
Original Assignee
주식회사 원티드랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 원티드랩 filed Critical 주식회사 원티드랩
Priority to KR1020210033402A priority Critical patent/KR102601803B1/ko
Priority to PCT/KR2022/003526 priority patent/WO2022197033A1/ko
Publication of KR20220128808A publication Critical patent/KR20220128808A/ko
Application granted granted Critical
Publication of KR102601803B1 publication Critical patent/KR102601803B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources
    • G06Q10/1053Employment or hiring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Economics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Development Economics (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 문서에 개시되는 일 실시예에 따른 전자 장치는 기업의 공고 정보를 포함하는 제1 문서와 구직자의 이력서 정보를 포함하는 제2 문서를 획득하는 동작; 제1 및 제2 문서에 포함된 텍스트의 의미와 동일성을 갖는 최소 단위로 분리한 복수의 토큰 텍스트를 생성하고 각 토큰 텍스트의 특징값을 도출하는 동작; 복수의 특징값을 입력하면 복수의 특징값을 조합한 단일 규격의 특징 벡터를 생성하도록 학습된 합성곱 네트워크를 기초로, 제1 및 제2 문서 각각에 포함된 토큰 텍스트로부터 도출된 제1 특징 벡터 및 제2 특징 벡터를 생성하는 동작; 및 입력된 특징 벡터 간의 적합도를 판별하도록 학습된 분류 네트워크에 제1 특징 벡터 및 제2 특징 벡터를 입력하여, 분류 네트워크의 학습된 가중치에 따라 제2 특징 벡터에 대응하는 기업의 공고 정보에 대한 제1 특징 벡터에 대응하는 구직자의 이력 정보의 적합도를 판별하는 동작을 수행할 수 있다.

Description

채용 중개 서비스에서 구직자 및 구인자의 매칭 확률 예측을 위한 신경망 모델 제공 전자 장치 및 방법{ELECTRONIC DEVICE AND METHOD FOR PROVIDING NEURAL NETWORK MODEL FOR PREDICTING MATCHING PROBABILITY OF EMPLOYER AND EMPLOYEE IN RECRUITMENT SERVICE}
본 문서에서 개시되는 실시예는 채용 공고에 대한 구직자와 구인자 사이의 적합도를 예측하는 신경망 모델을 제공하는 전자 장치와 그 전자 장치의 동작 방법에 관한 것이다.
최근, 다양한 분야에서 비대면 서비스를 적극적으로 활용함에 따라 채용 분야에서도 채용을 중개해주는 플랫폼(이하, 중개 서비스)을 통해 구인 또는 구직 활동이 활발히 이루어지고 있다. 구직자는 중개 서비스를 통해 제공된 채용 공고를 살펴보고 구직활동을 진행하게 된다. 구인을 하고자 하는 기업(이하, 기업)은 중개 서비스를 통해 구직자가 업로드한 이력서를 살펴보고 헤드 헌팅을 진행하거나, 중개 서비스를 통해 구직자가 직접 제출한 이력서를 보고 채용을 진행하게 된다.
중개 서비스는 서비스 상의 구인 활동 및 구직 활동이 효율적으로 이루어질 수 있도록 구직자 또는 기업에게 추천 서비스를 제공할 수 있다. 예를 들어, 추천 서비스는 구직자에게 적합한 채용 공고를 추천하거나, 기업에게 채용 공고에 적합한 인력을 추천할 수 있다.
기존의 중개 서비스는 구직자가 미리 설정한 관심 분야에 기초하여 검색된 채용 공고를 보여주는 것에 그치고 있다. 이로 인해 구직자 자신이 해당 기업의 환경이나 직무에 맞는지 적합성 여부는 알기 어렵고, 추천하는 채용 공고에 지원자가 몰릴 경우 오히려 합격률이 낮아지는 문제가 발생할 수 있다.
구직자들의 평균 서류 통과율은 통계적으로 5~10% 정도의 매우 낮은 합격률을 보이지만, 기존에는 채용 결과를 예측하는 기술이 없었기 때문에 구직자는 일일이 많은 채용 공고에 직접 지원하는 과정을 거쳐야 하였고, 채용으로 이루어지기까지 많은 시간과 노력이 들어가기 때문에 사회적으로 일자리 탐색 비용이 문제가 되고 있다.
또한, 기업의 입장에서도 수많은 구직자들의 이력을 일일이 검토하고 면접을 진행하여야 하기 때문에 인사 과정에서 사용하는 시간과 비용이 상당 부분을 차지하고 있다.
이에 따라, 본 문서의 실시예는 중개 서비스에 업로드 된 채용 공고에 대한 구직자의 적합도를 미리 예측하는 신경망 모델을 제공하고자 한다.
본 문서에 개시되는 일 실시예에 따른 전자 장치는 소정의 동작을 수행하도록 하는 명령어들을 저장하는 하나 이상의 메모리, 및 상기 하나 이상의 메모리와 동작 가능 하도록 연결되어 상기 명령어들을 실행하도록 설정된 하나 이상의 프로세서를 포함하고, 상기 프로세서가 수행하는 동작은 기업의 공고 정보를 포함하는 제1 문서와 구직자의 이력서 정보를 포함하는 제2 문서를 획득하는 동작, 상기 제1 및 제2 문서에 포함된 텍스트의 의미와 동일성을 갖는 최소 단위로 분리한 복수의 토큰 텍스트를 생성하고 각 토큰 텍스트의 특징값을 도출하는 동작, 복수의 특징값을 입력하면 상기 복수의 특징값을 조합한 단일 규격의 특징 벡터를 생성하도록 학습된 합성곱 네트워크를 기초로, 상기 제1 및 제2 문서 각각의 특징값을 상기 합성곱 네트워크에 입력하여 제1 특징 벡터 및 제2 특징 벡터를 생성하는 동작, 및 입력된 특징 벡터 간의 적합도를 판별하도록 학습된 분류 네트워크에 상기 제1 특징 벡터 및 상기 제2 특징 벡터를 입력하여, 상기 분류 네트워크의 학습된 가중치에 따라 상기 제2 특징 벡터에 대응하는 기업의 공고 정보에 대한 상기 제1 특징 벡터에 대응하는 구직자의 적합도를 판별하는 동작을 포함할 수 있다.
본 문서에 개시되는 일 실시예에 따른 전자 장치가 수행하는 동작 방법은 구직자의 이력서 정보를 포함하는 제1 문서와 기업의 공고 정보를 포함하는 제2 문서를 획득하는 동작, 상기 제1 및 제2 문서에 포함된 텍스트의 의미와 동일성을 갖는 최소 단위로 분리한 복수의 토큰 텍스트를 생성하고 각 토큰 텍스트의 특징값을 도출하는 동작, 복수의 특징값을 입력하면 상기 복수의 특징값을 조합한 단일 규격의 특징 벡터를 생성하도록 학습된 합성곱 네트워크를 기초로, 상기 제1 및 제2 문서 각각의 특징값을 상기 합성곱 네트워크에 입력하여 제1 특징 벡터 및 제2 특징 벡터를 생성하는 동작; 및 입력된 특징 벡터 간의 적합도를 판별하도록 학습된 분류 네트워크에 상기 제1 특징 벡터 및 상기 제2 특징 벡터를 입력하여, 상기 분류 네트워크의 학습된 가중치에 따라 상기 제2 특징 벡터에 대응하는 기업의 공고 정보에 대한 상기 제1 특징 벡터에 대응하는 구직자의 이력서 정보의 적합도를 판별하는 동작을 포함할 수 있다.
본 문서에 개시되는 실시예는 구직자의 이력서나 기업의 채용 공고에 포함된 전체 텍스트를 분리한 각 토큰 텍스트의 특징값을 이용하여 채용 분야의 서류 통과율을 예측하는 신경망 모델을 제공할 수 있다.
특히, 본 문서에 개시되는 실시예는 문서에 포함된 각각의 텍스트가 분리되어도 그 의미의 동일성을 유지하는 최소 단위의 토큰 텍스트로 분리하고, 이력서와 채용 공고 간의 상관 관계를 분석하여 채용 결과를 예측할 수 있다.
나아가, 신경망 모델을 활용함에 있어 이력서 및 채용 공고에 더해 구직자 또는 기업 관련 부가 정보를 포함하는 데이터베이스에서 추출된 정보를 신경망 모델의 추가 입력 데이터로 활용하여 예측의 정확도를 향상시킬 수 있다. 이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 본 문서의 일 실시예에 따른 전자 장치의 기능 블록도이다.
도 2는 본 문서의 일 실시예에 따른 전자 장치가 수행하는 동작 방법의 흐름도이다.
도 3은 본 문서의 일 실시예에 따른 전자 장치가 수행하는 동작 방법의 흐름을 신경망 모델의 내부 레이어 및 네트워크와 함께 도시한 예시도이다.
도 4는 본 문서의 일 실시예에 따라 공고 정보 또는 이력 정보에 포함된 텍스트로부터 토큰 텍스트를 분리하여 인덱싱 번호를 태깅하는 과정의 예시도이다.
도 5는 본 문서의 일 실시예에 따라 제1 특징 벡터 및 제2 특징 벡터 간의 거리에 따라 원소값을 보정하는 동작의 예시도이다.
도 6은 본 문서의 일 실시예에 따라 구직자 또는 기업 관련 부가 정보를 포함하는 데이터베이스에서 추출된 정보를 기초로 신경망 모델의 추가 입력 데이터로 활용되는 제3 특징 벡터를 생성하는 동작의 예시도이다.
도 7은 본 문서의 일 실시예에 따라 구직자 DB에 동일한 구직자 정보가 존재하지 않는 경우, 유사 구직자 정보를 데이터베이스에서 검색하여 추출된 정보를 기초로 신경망 모델의 추가 입력 데이터로 활용되는 특징 벡터를 생성하는 동작의 예시도이다.
도 8은 본 문서의 일 실시예에 따른 전자 장치를 활용하여 중개 서비스 상에서 특정 구직자가 특정 채용 공고에 지원하는 경우 적합도를 예측하여 출력하는 서비스 UI의 예시도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
도 1은 본 문서의 일 실시예에 따른 전자 장치(100)의 기능 블록도이다.
도 1을 참조하면, 일 실시예에 따른 전자 장치(100)는 메모리(110), 프로세서(120), 입력 인터페이스(130), 디스플레이부(140) 및 통신 인터페이스(150)를 포함할 수 있다.
도 1에 따른 전자 장치(100)는 인터넷을 통해 중개 서비스를 제공하는 컴퓨터 서버 또는 인터넷을 통해 중개 서비스를 사용하는 구직자/기업의 단말일 수 있고, 별도의 장치가 생성한 신경망 모델(118)을 저장하거나 연동하여 신경망 모델(118)을 활용하여 중개 서비스를 제공하거나 제공받는 컴퓨팅 장치일 수 있다. 따라서, 본 문서에서 전자 장치(100)는 중개 서비스를 제공하는 “서버” 또는 중개 서비스에 참여하는 “단말”을 포함할 수 있다.
메모리(110)는 채용 공고 DB(111), 이력서 DB(113), 기업 DB(115), 구직자 DB(117), 신경망 모델(118) 및 명령어 DB(119)를 포함할 수 있다. 상술한 DB들은 전자 장치(100)의 메모리(110)를 통해 관리되거나 외부 서버를 통해 연동된 DB일 수 있다. 또한, 상기 DB들은 하나의 데이터베이스로 통합적으로 관리될 수 있으나 본 문서는 이해의 편의를 위해 저장하는 정보의 종류에 따라 DB를 나누어 설명한다.
채용 공고 DB(111)는 중개 서비스에서 기업이 제시하는 채용 공고와 관련된 정보를 저장할 수 있다. 채용 공고 DB(111)는 채용 공고에 포함되는 각종 정보를 포함할 수 있다. 예를 들어, 채용 공고는 기업의 정보, 채용 인력과 관련된 정보 등과 관련된 텍스트, 이미지, 영상 정보를 포함할 수 있다.
이력서 DB(113) 중개 서비스에서 구직자가 제시하는 이력서와 관련된 정보를 저장할 수 있다. 이력서 DB(113)는 구직자가 작성한 이력서에 포함되는 각종 정보를 포함할 수 있다. 예를 들어, 이력서는 구직자의 개인 정보, 구직자의 경력 등과 관련된 텍스트, 이미지, 영상 정보를 포함할 수 있다.
기업 DB(115)는 중개 서비스에서 사용되는 정보뿐만 아니라, 보다 포괄적인 기업 정보를 저장할 수 있다. 예를 들어, 기업 정보는 기업의 이력, 규모, 매출, 시가 총액, 입사자 수, 퇴사자 수, 해당 기업의 특정 채용 공고에 대한 구직자들의 지원 이력, 특정 채용 공고에 대해서 서류 합격된 구직자들/이력서들의 리스트(서류 합격 이력), 최종 합격된 구직자들/이력서들의 리스트(채용 이력)등과 관련된 정보를 포함할 수 있다.
구직자 DB(117)는 중개 서비스에서 사용되는 정보뿐만 아니라, 보다 포괄적인 구직자 정보를 저장할 수 있다. 예를 들어, 구직자 정보는 특정 구직자의 경력, 연차, 채용된 횟수, SNS 정보, 지원 이력, 채용 / 서류 통과에 대한 통계 정보 등을 포함할 수 있다. 채용 및 서류 통과에 대한 통계 정보란 채용 이력, 서류 통과 이력, 최종 합격률, 서류통과율을 포함할 수 있다. 서류 통과 이력은 1차 통과, 2차 통과 및 N차 통과까지 단계 별 통과 이력을 포함할 수 있다.
신경망 모델(118)은 인공지능 알고리즘 기반으로 설계되고 학습에 의하여 소정의 입력에 대한 소정의 출력 간의 상관 관계를 도출하는 가중치가 학습되어, 새로운 입력에 대하여 학습된 상관 관계에 따른 출력을 도출하도록 동작하는 모델이다. 신경망 모델(118)의 구성은 임베딩 레이어, 합성곱 네트워크, 샴 네트워크 및 분류 네트워크(도 3 참조)를 포함할 수 있다. 도 2 및 도 3과 함께 신경망 모델(118)의 구체적 구성과 함께 전자 장치(100)가 신경망 모델(118)을 활용하여 이력서와 채용 공고 간의 상관 관계를 분석하여 채용 결과를 예측하는 동작을 후술하기로 한다.
명령어 DB(119)는 프로세서(120)의 동작을 수행시킬 수 있는 명령어들을 저장할 수 있다. 예를 들어, 명령어 DB(119)는 후술할 프로세서(120)의 동작들과 대응되는 동작을 수행하도록 하는 컴퓨터 코드를 저장할 수 있다.
프로세서(120)는 전자 장치(100)가 포함하는 구성들, 메모리(110), 입력 인터페이스(130), 디스플레이부(140) 및 통신 인터페이스(150)의 전반적인 동작을 제어할 수 있다. 프로세서(120)는 학습 모듈(121), 텍스트 모듈(123), 제어 모듈(125) 및 탐색 모듈(127)을 포함할 수 있다. 프로세서(120)는 메모리(110)에 저장된 명령어들을 실행해 학습 모듈(121), 텍스트 모듈(123), 제어 모듈(125) 및 탐색 모듈(127)을 구동시킬 수 있다. 학습 모듈(121), 텍스트 모듈(123), 제어 모듈(125) 및 탐색 모듈(127)에 의해 수행되는 동작은 프로세서(120)에 의해 수행되는 동작으로 이해될 수 있다.
학습 모듈(121)은 신경망 모델(118)을 구성하는 임베딩 레이어, 합성곱 네트워크, 샴 네트워크 및 분류 네트워크(도 3 참조)의 모델 파라미터 및 하이퍼 파라미터를 설정할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 레이어 연결의 가중치와 뉴런의 편향 등이 포함될 수 있다. 하이퍼 파라미터는 인공지능 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 네트워크 계층 수(num_layer), 학습 데이터 개수(num_training_samples), 클래스 개수(num_classes), 학습률(Learning Rate), 학습 횟수(epochs), 미니 배치 크기(mini_batch_size), 손실 함수(optimizer) 등이 포함될 수 있다. 이러한 하이퍼 파라미터의 설정값들은 설계에 따라 달라질 수 있으며 특정 수치에 한정되는 것은 아니다.
학습 모듈(121)은 신경망 모델(118)의 구조와 파라미터 값이 결정된 이후, 채용 공고 DB(111), 이력서 DB(113), 기업 DB(115), 및 구직자 DB(117)에 저장된 정보들과 상응하는 종류의 데이터를 이용하여 신경망 모델(118)을 구성하는 임베딩 레이어 및 합성곱 네트워크들 구성하는 가중치인 모델 파라미터를 갱신하는 학습 과정을 수행할 수 있고, 신경망 모델(118)에 입력된 데이터(ex. 제1, 제2, 제3 특징 벡터)의 상관 관계에 따라 이력서와 채용 공고와의 적합도를 판별하는 기 지정한 범위의 출력값을 생성하도록 분류 네트워크의 가중치를 학습시킬 수 있다.
본 문서는 제시한 목적을 달성하기 위한 방법으로서, 본 문서에 개시된 신경망 모델의 구조, 각 레이어 및 네트워크의 구체적 구성 및 연동 과정을 도 2 내지 도 8과 함께 제시한다. 한편, 본 문서에 제시된 신경망 모델의 학습에 사용되는 학습 데이터 및 파라미터 등은 각 레이어 및 네트워크가 입출력 하는 데이터에 대한 본 문서의 구체적 설명을 전반적으로 참조한 이후 신경망 설계자의 선택에 따라 다양하게 변경될 수 있는 부분으로써, 본 문서에서 학습 데이터나 파라미터를 별도로 한정하지 않는다.
텍스트 모듈(123)은 구직자의 이력서 또는 기업의 채용 공고 중 어느 하나의 문서 단위에 포함된 전체 텍스트를 의미가 유지되는 최소 단위(토큰)로 분리할 수 있다. 예를 들어 텍스트가 한글로 작성된 경우라면, 텍스트 모듈(123)은 텍스트를 형태소 단위로 분리할 수 있다. 예를 들어 텍스트가 영어로 작성된 경우라면, 텍스트 모듈(123)은 텍스트를 알파벳 또는 단어 단위로 분리할 수 있다.
도 4는 본 문서의 일 실시예에 따라 공고 정보 또는 이력 정보에 포함된 텍스트로부터 토큰 텍스트를 분리하여 인덱싱 번호를 태깅하는 과정의 예시도이다.
도 4를 참조하면, 텍스트 모듈(123)은 소정의 형태소 분석 알고리즘(ex. Sentencepiece API(https://donghwa-kim.github.io/SPM.html))을 이용하여 하나의 문서 단위에 포함된 텍스트를 형태소 단위로 분리한 토큰 텍스트를 추출할 수 있고, 형태소 품사 분별 알고리즘(ex. python Mecab library)을 이용하여 해당 형태소의 품사를 판별할 수 있다. 또한, 텍스트 모듈(123)은 복수의 단어에 대한 인덱싱 번호가 기 저장된 말뭉치 사전(ex. KoNLPy, sejong-corpus)을 기초로 추출된 토큰 텍스트 각각에 인덱싱 번호를 부여할 수 있다.
Sentencepiece API는 단어를 부분 단어(sub-word)로 나누어줄 수 있어, 형태소 품사 분별 알고리즘에 비하여 더 적은 수의 단어로 문장을 표현할 수 있게 된다. Sentencepiece API와 형태소 품사 분별 알고리즘을 함께 사용함으로써, 텍스트 모듈(123)은 더 적은 수의 단어로 토큰화를 수행하면서도, 형태소 단위의 의미가 중요한 한글에 대해 효과적으로 토큰화를 수행할 수 있다. 또한 Sentencepiece API를 사용함으로써, 텍스트 모듈(123)은 한글 외의 다국어도 효율적으로 토큰화 할 수 있게 된다. 이로써 텍스트 모듈(123)은 한글과 다국어에 대해 범용적으로 적용될 수 있다.
텍스트 모듈(123)은 신경망 모델에 입력되는 채용 공고 또는 이력서의 정보에 대한 정보를 상술한 과정에 따라 생성한 인덱싱 번호의 집합을 입력 데이터로서 생성할 수 있다.
예를 들면, 특정 문서에 포함된 전체 텍스트가 “안녕하세요 원티드랩 입니다.”라는 문장이고, 인덱싱 번호가 기 저장된 말뭉치 사전이 “vocab = {하세요:0, 원티드:1, 입니다:2, 안녕:3, 랩:4, .:5}”와 같은 단어에 매핑된 인덱싱 번호를 저장할 수 있다. 이 경우 텍스트 모듈(123)은 Sentencepiece 및 Mecab을 통해 “안녕하세요. 원티드랩 입니다.”라는 문장을 ['안녕', '하세요', '.', '원티드', '랩', '입니다', '.']와 같이 토큰 텍스트로 분리할 수 있고, 각 토큰 텍스트에 상기 말뭉치 사전에서 할당된 인덱싱 번호가 태깅될 수 있다. 텍스트 모듈(123)은 문서에 포함된 텍스트 ['안녕', '하세요', '.', '원티드', '랩', '입니다', '.']를 변환하여 [3, 0, 5, 1, 4, 5]의 인덱싱 번호로 구성된 집합을 출력할 수 있다. 인덱싱 번호의 집합은 신경망 모델(118)의 입력 데이터로 사용될 수 있다.
또 다른 예를 들면, 특정 문서에 포함된 전체 텍스트가 “wanted is Asia's first referral-based recruiting platform.”라는 문장이고, 인덱싱 번호가 기 저장된 말뭉치 사전이 “vocab = {'ed':1, '-':2, 'ra':3, 'ir':4, '_w':5, '_f':6, 'ant':7, '_as':8, 'st':9, 'based':10, '_platform':11, 'ia':12, '_is':13, 'fer':14, '_recruiting':15, ''':16, '_re':17, 'l':18, 's':19}”와 같은 단어에 매핑된 인덱싱 번호를 저장할 수 있다. 이 경우 텍스트 모듈(123)은 Sentencepiece 및 Mecab을 통해 “wanted is as IA's first referral-based recruiting platform.” 이라는 문장을 ['_w', 'ant', 'ed', '_is', '_as', 'ia', ''', 's', '_f', 'ir', 'st', '_re', 'fer', 'ra', 'l', '-', 'based', '_recruiting', '_platform'] 와 같이 토큰 텍스트로 분리할 수 있고, 각 토큰 텍스트에 상기 말뭉치 사전에서 할당된 인덱싱 번호가 태깅될 수 있다. 텍스트 모듈(123)은 문서에 포함된 텍스트 ['_w', 'ant', 'ed', '_is', '_as', 'ia', ''', 's', '_f', 'ir', 'st', '_re', 'fer', 'ra', 'l', '-', 'based', '_recruiting', '_platform']를 변환하여 [5, 7, 1, 13, 8, 12, 16, 19, 6, 4, 9, 17, 14, 3, 18, 2, 10, 15, 11] 의 인덱싱 번호로 구성된 집합을 출력할 수 있다. 인덱싱 번호의 집합은 신경망 모델(118)의 입력 데이터로 사용될 수 있다.
제어 모듈(125)은 신경망 모델(118)이 동작하도록 데이터들의 입출력 흐름과 신경망 모델(118)을 구성하는 임베딩 레이어, 합성곱 네트워크 및 분류 네트워크의 전반적인 동작을 제어할 수 있다. 제어 모듈(125)이 신경망 모델(118)을 제어하는 동작들은 도 2 내지 도 8과 함께 후술한다.
탐색 모듈(127)은 기업 DB(115) 및 구직자 DB(117)에 기 저장된 정보에 기초하여 신경망 모델(118)에 입력될 새로운 데이터(ex. 제3 특징 벡터)를 생성할 수 있다. 상기 새로운 데이터가 신경망 모델(118)에 입력됨으로써, 신경망 모델(118)이 구직자와 기업의 상관 관계를 예측할 때, 구직자의 이력 정보와 기업의 공고 정보에 더하여, 구직자나 기업에 대한 추가 정보를 활용할 수 있다. 탐색 모듈(127)의 동작은 도 6 및 도 7과 함께 후술한다.
입력 인터페이스(130)는 사용자의 입력을 수신할 수 있다. 예를 들면, 중개 서비스를 사용하는 사용자(ex. 구직자, 기업)의 입력을 수신할 수 있다.
디스플레이부(140)는 디스플레이 패널을 포함하여 화상을 출력하는 하드웨어 구성을 포함할 수 있다.
통신 인터페이스(150)는 외부 장치(ex. 외부 DB 서버, 단말 등)와 통신하여 정보를 송수신 할 수 있게 한다. 이를 위해, 통신 인터페이스(150)는 무선 통신 모듈 또는 유선 통신 모듈을 포함할 수 있다.
이하, 도 2 내지 도 8을 통해 전자 장치(100)의 구성 요소들이 연동하여 동작하는 구체적인 실시예에 대해 설명한다.
도 2는 본 문서의 일 실시예에 따른 전자 장치(100)가 수행하는 동작 방법의 흐름도이고, 도 3은 본 문서의 일 실시예에 따른 전자 장치(100)가 수행하는 동작 방법의 흐름을 신경망 모델(118)의 내부 레이어 및 네트워크와 함께 도시한 예시도이다. 도 2 및 도 3에 따른 전자 장치(100)의 동작 방법 각 단계는 도 1을 통해 설명된 전자 장치(100)의 구성들에 의해 수행될 수 있다.
텍스트 모듈(123)은 중개 서비스에서 신경망 모델(118)을 활용하여 적합도 판단의 대상이 될 공고 정보 및 이력서 정보를 획득할 수 있다(S210). 텍스트 모듈(123)은 채용 공고 DB(111)로부터 기업의 공고 정보를 포함하는 제1 문서를 획득하고, 이력서 DB(113)로부터 구직자의 이력서 정보를 포함하는 제2 문서를 획득할 수 있다.
텍스트 모듈(123)은 제1 문서 및 제2 문서에 포함된 텍스트의 의미와 동일성을 갖는 최소 단위로 분리한 복수의 토큰 텍스트를 생성하고, 제어 모듈(125)은 각 토큰 텍스트의 특징값을 도출할 수 있다(S220). 예를 들어, 텍스트 모듈(123)은 제1 문서 및 제2 문서에 포함된 정보를 신경망 모델(118)이 활용할 수 있도록 하기 위해, 도 4와 함께 상술한 텍스트 모듈(123)의 동작에 따라 제1 문서 또는 제2 문서에 포함된 텍스트를 기초로 도출한 인덱싱 번호의 집합을 생성한다.
이후, 제어 모듈(125)은 제1 문서의 인덱싱 번호 집합을 신경망 모델(118)의 임베딩 레이어에 입력함으로써 생성된 임베딩 벡터를 제1 문서의 특징값으로 결정할 수 있다. 제어 모듈(125)은 제2 문서의 인덱싱 번호 집합을 신경망 모델(118)의 임베딩 레이어에 입력하함으로써 생성된 임베딩 벡터를 제2 문서의 특징값으로 결정할 수 있다.
예를 들어, [3, 0, 5, 1, 4, 5]의 인덱싱 번호로 구성된 집합이 임베딩 레이어에 입력되면, 각 인덱싱 번호에 대응되는 6개의 임베딩 벡터가 특징값으로 결정될 수 있다.
임베딩 레이어는 소정의 인덱싱 번호가 입력되면 해당 인덱싱 번호의 임베딩 벡터를 특징값으로 도출하는 워드 임베딩(word embedding) 과정을 수행하도록 학습된 레이어이다. 예를 들어, 임베딩 레이어는 convolutional neural networks for sentence classification(https://www.aclweb.org/anthology/D14-1181/), LSA, Word2Vec, FastText, Glove 등의 API를 통해 구현될 수 있으나 이에 한정되지 않는다.
일 실시 예에 따른 임베딩 레이어는 convolutional neural networks for sentence classification 방식을 기초로 하되 합성곱 신경망이 세 개의 층으로 구성되도록 설계 될 수 있다. 상기 세 개의 합성곱 신경망은 병렬로 구성될 수 있다. 임베딩 레이어는 입력되는 토큰의 인덱싱 번호와 출력되는 임베딩 벡터 간의 상관 관계를 학습시킴으로써, 서로 다른 인덱싱 번호에 대응되는 토큰들이 유사한 의미를 가지는 경우에, 상기 토큰들이 유사한 위상의 임베딩 벡터 값을 출력하도록 할 수 있다. 예를 들어, '이십', '스물'과 같이 의미는 유사하나 표기가 다른 토큰들은 서로 다른 인덱싱 번호를 가지게 된다. 임베딩 레이어는 상기 토큰들의 인덱싱 번호들이 비슷한 위상의 임베딩 벡터 값을 출력하도록 정교하게 학습될 수 있다.
제어 모듈(125)은 특정 문서로부터 도출된 복수의 특징값을 단일 규격의 특징 벡터로 변환할 수 있다(S230). 합성곱 네트워크는 복수의 특징값이 입력되면 상기 복수의 특징값을 조합한 단일 규격의 다차원 특징 벡터를 생성하도록 학습될 수 있다. , 제어 모듈(125)은 제1 문서로부터 도출된 복수의 특징값을 상기 합성곱 네트워크에 입력하고 단일 규격의 제1 특징 벡터를 생성할 수 있고, 제2 문서로부터 도출된 복수의 특징값을 합성곱 네트워크에 입력하여 제2 특징 벡터를 생성할 수 있다.
예를 들어, 합성곱 네트워크는 컨볼루션 신경망 네트워크 중 하나인 VDCNN(Very Deep Convolutional Neural Network)으로 설계된 신경망 네트워크를 포함할 수 있고, 입력 레이어에 복수의 특징값이 입력되면 상기 복수의 특징값을 기초로 단일 규격의 다차원 특징 벡터를 출력하도록 학습될 수 있다.
제어 모듈(125)은 입력된 특징 벡터 간의 거리에 따라 입력된 특징 벡터 간에 소정의 가중치를 할당하는 샴 네트워크(Siamese Network) 방식을 기초로 제1 특징 벡터 및 복수의 제2 특징 벡터 중 어느 하나의 제2 특징 벡터를 샴 네트워크에 입력하여 제1 특징 벡터 및 제2 특징 벡터 간의 거리에 따른 가중치를 각각의 특징 벡터에 가하여 보정된 제1 특징 벡터 및 보정된 제2 특징 벡터를 생성할 수 있다(S240). 샴 네트워크 방식은 각 특징 벡터의 거리(=유사도)에 기반하여 각 특징 벡터의 원소값을 보정하는 과정을 통해, 제1 문서와 제2 문서 간에 공통으로 포함된 단어를 특정하는 특징 벡터의 원소값에 대한 거리가 서로 보다 가까워지도록 하고, 제1 문서와 제2 문서 간의 상관 관계가 떨어지는 원소값은 거리가 보다 거나 멀어지도록 하여, 특징 벡터의 원소값에 가중치를 반영하는 역할을 한다.
도 5는 본 문서의 일 실시예에 따라 제1 특징 벡터 및 제2 특징 벡터 간의 거리에 따라 원소값을 보정하는 동작의 예시도이다.
도 5를 참조하면, 상기 샴 네트워크 방식을 사용하기 위해 멀티 헤드 어텐션알고리즘(https://papers.nips.cc/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf)으로 설계된 신경망을 포함할 수 있다.
제1 특징 벡터와 제2 특징 벡터의 거리를 기초로 보정된 제1 특징 벡터를 생성하는 레이어에는 제1 특징 벡터가 Query, 제2 특징 벡터가 Key, 제2 특징 벡터가 Value의 특징값을 갖도록 입력되어, 어텐션 메커니즘(Attention Mechanism, https://wikidocs.net/22893)을 기초로 보정된 제1 특징 벡터가 생성될 수 있다.
또한, 제1 특징 벡터와 제2 특징 벡터의 거리를 기초로 보정된 제2 특징 벡터를 생성하는 레이어에는 제2 특징 벡터가 Query, 제1 특징 벡터가 Key, 제1 특징 벡터가 Value의 특징값을 갖도록 입력되어, 어텐션 메커니즘을 기초로 보정된 제2 특징 벡터가 생성될 수 있다.
상기 보정된 제1 특징 벡터 및 상기 보정된 제2 특징 벡터는 기업의 공고 정보와 이력서 정보의 어떤 부분이 목적 함수(서류 합격 또는 불합격)에 중요하게 작용하는지를 반영할 수 있다. 문서 단위의 특징 벡터와 비교할 때, 문서의 토큰 텍스트 단위의 특징 벡터 간의 상관 관계가 도출됨으로써 보다 정교하게 상관 관계가 도출될 수 있다.
본 문서의 일 실시예에 따르면, 기업의 공고 정보를 반영하는 제1 특징 벡터 및 구직자의 이력 정보를 반영하는 제2 특징 벡터에 더하여, 기업과 구직자과 관련된 추가 정보를 반영하는 제3 특징 벡터가 생성될 수 수 있다. 신경망 모델(118)은 제1 특징 벡터 및 제2 특징 벡터의 상관 관계 분석에 제3 특징 벡터를 추가적으로 활용할 수 있다.
도 6은 본 문서의 일 실시예에 따라 전자 장치(100)가 구직자 또는 기업 관련 부가 정보를 포함하는 데이터베이스(115, 117)에서 추출된 정보를 기초로 신경망 모델(118)의 추가 입력 데이터로 활용되는 제3 특징 벡터를 생성하는 동작의 예시도이다.
도 6을 참조하면, 탐색 모듈(127)은 복수의 기업의 정보를 저장하는 기업 DB(115)로부터 기업 공고 정보에 대응하는 기업의 추가 정보를 추출할 수 있다(S250). 예를 들어, 기업의 추가 정보는 채용 공고에 대한 기업의 이력, 요구 경력, 요구 연차, 입사자 수, 퇴사자 수에 대한 정보를 포함할 수 있다.
탐색 모듈(127)은 복수의 구직자의 정보를 저장하는 구직자 DB(117)로부터 구직자 이력서 정보에 대응하는 구직자의 추가 정보를 추출할 수 있다(S260). 예를 들어, 구직자의 추가 정보는 구직자의 경력, 연차, 채용된 횟수, 지원 이력 및 채용 및 서류 통과에 대한 통계 정보를 포함할 수 있다.
탐색 모듈(127)이 구직자 DB(117)를 검색한 결과, 이력서 정보에 대응되는 구직자에 대한 정보가 구직자 DB(117)에 존재하지 않는다면, 탐색 모듈(127)은 도 7의 실시예와 같이 동작할 수 있다.
도 7은 본 문서의 일 실시예에 따라 구직자 DB(117)에 이력서 정보를 입력한 구직자와 연관된 구직자 정보가 존재하지 않는 경우, 상기 구직자와 유사한 구직자의 정보를 신경망 모델(118)의 추가 입력 데이터로 활용하여 특징 벡터를 생성하는 동작의 예시도이다.
도 7을 참조하면, 탐색 모듈(127)은 구직자 DB(117)에 이력서 정보와 대응되는 구직자 정보가 저장되어 있지 않는 경우, 상기 이력서 정보를 기초로 유사한 구직자 정보를 추출할 수 있다. 탐색 모듈(127)은 구직자 DB(117)에 저장된 다른 구직자의 정보 중에서 추출한 유사한 구직자 정보를 상기 이력서 정보에 대응되는 구직자 정보로서 사용할 수 있다(S261).
예를 들어, 중개 서비스 상에서 지원 이력이 없는 제1 사용자의 구직자 정보에는 지원 이력, 채용/서류 통과에 대한 통계 정보가 저장되어 있지 않다. 이 경우 제1 사용자와 유사한 제2 사용자의 지원 이력 및 채용 및 서류 통과에 대한 통계 정보를 제1 사용자의 구직자 정보에 포함시킬 수 있다. 탐색 모듈(127)은 지원 이력 및 통계 정보 외에도 구직자 정보에 포함되는 항목을 대체 또는 보완하기 위하여 이력서를 제출한 사용자와 유사한 사용자의 구직자 정보를 이용할 수 있다.
탐색 모듈(127)은 다양한 Language Model을 이용한 분류기(Classification)를 적용하여 구직자 DB(117)에 저장된 정보 중 이력서 정보와 대응되는 구직자 정보와 가장 유사한 구직자의 정보를 추출할 수 있다. 일 예로, 탐색 모듈(127)은 Hierarchical Attention Network(https://www.aclweb.org/anthology/N16-1174/)의 네트워크를 이용하여 유사 문서를 추출할 수 있고, 설계자의 선택에 따라 Hierarchical Attention Network에서 LSTM 레이어를 ALBERT(https://jeongukjae.github.io/posts/4-albert-review/) 레이어로 치환하여 구성할 수 있다.
제어 모듈(125)은 구직자의 정보 및 기업의 정보를 기초로 제3 특징 벡터를 생성할 수 있다(S270). 예를 들어, 제어 모듈(125)은 상술한 도 4의 과정 및 S220 동작을 통해, 기업의 정보 및 구직자의 정보에 포함된 텍스트의 의미와 동일성을 갖는 최소 단위로 분리한 복수의 토큰 텍스트를 생성한 후, 각 토큰 텍스트의 특징값을 도출할 수 있다. 제어 모듈(125)은 기업의 정보 및 구직자의 정보에 포함된 토큰 텍스트를 합성곱 네트워크에 입력하여 단일 규격의 제3 특징 벡터를 생성하는 동작을 수행할 수 있다.
한편, 기업 DB(115) 및 구직자 DB(117)로부터 도출된 추가 정보를 하나의 특징 벡터로 생성하여 사용할 것인지, 또는 복수의 특징 벡터로 생성하여 사용할 것인지는 신경망 설계자의 선택에 따라 변경될 수 있다. 예를 들어, 제어 모듈(125)은 기업의 정보에 포함된 텍스트 및 구직자의 정보에 포함된 텍스트를 각각 별도로 처리하여, 기업의 정보 및 구직자의 정보 각각으로부터 제3 특징 벡터 및 제4 특징 벡터를 생성할 수 있다.
제어 모듈(125)은 복수의 특징 벡터 간의 상관 관계를 분석하여 기업의 공고 정보와 구직자의 이력서 정보 간의 적합도를 판별할 수 있다(S280). 제어 모듈(125)은 기업의 공고 정보와 구직자의 이력서 정보 간의 적합도를 판별하도록 학습된 분류 네트워크에 제1 특징 벡터, 제2 특징 벡터 및 제3 특징 벡터를 입력하여, 분류 네트워크의 학습된 가중치에 따라 제3 특징 벡터를 반영하여, 제2 특징 벡터에 대응하는 기업의 공고 정보에 대한 제1 특징 벡터에 대응하는 구직자의 적합도를 판별할 수 있다.
예를 들어, 분류 네트워크는 GMP(Global Max Pooling), GAP(Global Average Pooling), FC 레이어(Full Connected Layer) 중 하나로 설계된 신경망을 포함할 수 있고, GMP로 설계하는 경우 정확도를 유지하면서 계산량을 최소화할 수 있다.
분류 네트워크는 학습에 사용된 구직자의 이력서 정보와 기업의 공고 정보가 매칭되는 데이터인 경우 출력값이 1인 클래스, 매칭되지 않은 데이터인 경우 출력값이 0인 클래스를 출력하도록 학습되어, 제1 특징 벡터, 제2 특징 벡터 및 제3 특징 벡터가 입력되면 분류 네트워크의 학습된 가중치에 따라 0과 1 사이의 적합도를 출력하도록 학습된 신경망을 포함할 수 있다.
한편, 도 2 내지 도 7의 설명에서는 본 문서의 실시예에서 사용하는 도 3에 도시된 신경망 모델(118)의 실시예를 기준으로 설명하였으나, 본 문서를 참조하여 설계자의 선택에 따라 특정 레이어/네트워크/파라미터를 추가, 변경, 제외될 수 있다. 예를 들어, 본 문서의 실시예는 기업 또는 구직자의 추가 정보로부터 생성된 제3 특징 벡터를 사용하는 구성을 제외하고, 제1 특징 벡터 및 제2 특징 벡터만을 사용하는 실시예를 포함할 수 있고, 샴 네트워크의 구성을 제외하고 특징 벡터에 대한 보정 없이 제1 특징 벡터 및 제2 특징 벡터를 사용하는 실시예를 포함할 수 있고, 본 문서에서 설명한 동작과 동일한 기능을 수행하는 별도의 API 또는 알고리즘으로 변경하는 실시예를 포함할 수 있다.
도 8은 본 문서의 일 실시예에 따른 전자 장치(100)를 활용하여 중개 서비스 상에서 특정 구직자가 특정 채용 공고에 지원하는 경우 적합도를 예측하여 출력하는 서비스 UI의 예시도이다. 다양한 실시 예에서, 출력된 적합도 X 100 의 값을 합격 예측 확률(%)로 사용할 수 있다.
도 8을 참조하면, 전자 장치(100)는 구직자가 중개 서비스에서 기 입력한 이력서 정보를 기초로 특정 기업(도 8의 “A 기업”)에 지원할 경우 합격율을 미리 예측(도 8의 “AI 예측 87%”)하는 서비스를 제공할 수 있다.
상술한 실시예에 따르면, 구직자의 이력서나 기업의 채용 공고에 포함된 전체 텍스트를 분리한 각 토큰 텍스트의 특징값을 이용하여 채용 분야의 서류 통과율을 예측하는 신경망 모델(118)을 제공할 수 있다. 특히, 본 문서에 개시되는 실시예는 문서에 포함된 각각의 텍스트가 분리되어도 그 의미의 동일성을 유지하는 최소 단위의 토큰 텍스트로 분리하고, 이력서와 채용 공고 간의 상관 관계를 분석하여 채용 결과를 예측할 수 있다.
나아가, 신경망 모델(118)을 활용함에 있어 이력서 및 채용 공고에 더해 구직자 관련 부가 정보 또는 기업 관련 부가 정보를 포함하는 데이터베이스에서 추출된 정보를 신경망 모델(118)의 추가 입력 데이터로 활용하여 예측의 정확도를 향상시킬 수 있다.
본 문서에 개시된 다양한 실시예에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", “A 또는 B 중 적어도 하나,”"A, B 또는 C," "A, B 및 C 중 적어도 하나,”및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예는 기기(machine)(예: 전자 장치) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리 또는 외장 메모리)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램)로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치)의 프로세서는 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중개 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (12)

  1. 전자 장치에 있어서,
    소정의 동작을 수행하도록 하는 명령어들을 저장하는 하나 이상의 메모리; 및 상기 하나 이상의 메모리와 동작 가능 하도록 연결되어 상기 명령어들을 실행하도록 설정된 하나 이상의 프로세서를 포함하고,
    상기 프로세서가 수행하는 동작은,
    기업의 공고 정보를 포함하는 제1 문서와 구직자의 이력서 정보를 포함하는 제2 문서를 획득하는 동작;
    상기 제1 문서 및 상기 제2 문서에 포함된 전체 텍스트를 최소 단위로 분리한 제1 및 제2 복수의 토큰 텍스트를 생성하고, 상기 생성된 제1 및 제2 복수의 토큰 텍스트에 대응되는 제1 및 제2 인덱싱 번호 집합을 생성하는 동작;
    소정의 워드 임베딩 알고리즘을 기초로 설계된 임베딩 레이어를 이용하여 상기 제1 및 상기 제2 인덱싱 번호 집합으로부터 제1 및 제2 복수의 임베딩 벡터를 도출하는 동작;
    복수의 임베딩 벡터를 입력하면 상기 복수의 임베딩 벡터를 조합한 단일 규격의 특징 벡터를 생성하도록 학습된 합성곱 네트워크를 기초로, 상기 제1 및 제2 복수의 임베딩 벡터를 상기 합성곱 네트워크에 입력하여 제1 특징 벡터 및 제2 특징 벡터를 생성하는 동작; 및
    입력된 특징 벡터 간의 적합도를 판별하도록 학습된 분류 네트워크에 상기 제1 특징 벡터 및 상기 제2 특징 벡터를 입력하여, 상기 분류 네트워크의 학습된 가중치에 따라 상기 제2 특징 벡터에 대응하는 기업의 공고 정보에 대한 상기 제1 특징 벡터에 대응하는 구직자의 이력서 정보의 적합도를 판별하는 동작을 포함하는,
    전자 장치.
  2. 청구항 1에 있어서,
    상기 제1 및 제2 인덱싱 번호 집합을 생성하는 동작은,
    소정의 형태소 분석 알고리즘을 기초로 상기 제1 문서 및 상기 제2 문서에 포함된 전체 텍스트를 형태소 단위의 상기 제1 및 제2 복수의 토큰 텍스트로 분리하는 동작; 및
    모든 단어에 대한 인덱싱 번호가 기 저장된 말뭉치 사전을 기초로 상기 제1 및 제2 복수의 토큰 텍스트 각각에 인덱싱 번호를 부여함으로써 상기 제1 및 제2 인덱싱 번호 집합을 생성하는 동작을 포함하는,
    전자 장치.
  3. 청구항 1에 있어서,
    상기 합성곱 네트워크는,
    VDCNN(Very Deep Convolutional Neural Network)으로 설계된 신경망으로서 입력 레이어에 복수의 임베딩 벡터가 입력되면 상기 복수의 임베딩 벡터를 기초로 단일 규격의 다차원 특징 벡터를 출력하도록 학습된 신경망인,
    전자 장치.
  4. 청구항 1에 있어서,
    상기 프로세서가 수행하는 동작은,
    상기 제1 특징 벡터 및 상기 제2 특징 벡터를 생성하는 동작 이후,
    입력된 특징 벡터 간의 거리에 따라 입력된 특징 벡터 간에 소정의 가중치를 할당하도록 학습된 샴 네트워크를 기초로, 상기 제1 특징 벡터 및 상기 제2 특징 벡터를 상기 샴 네트워크에 입력하여 상기 제1 특징 벡터 및 상기 제2 특징 벡터 간의 거리에 따른 가중치를 각각의 특징 벡터에 가하여 보정된 제1 특징 벡터 및 상기 제2 특징 벡터를 생성하는 동작을 더 포함하고,
    상기 분류 네트워크는 상기 보정된 제1 특징 벡터 및 상기 제2 특징 벡터를 입력 받는,
    전자 장치.
  5. 청구항 4에 있어서,
    상기 샴 네트워크는,
    멀티 헤드 어텐션(Multi-Head Attention) 알고리즘으로 설계된 신경망으로서, 상기 제1 특징 벡터가 Query, 상기 제2 특징 벡터가 Key, 상기 제2 특징 벡터가 Value의 특징값을 갖도록 상기 샴 네트워크에 입력되면 상기 멀티 헤드 어텐션 알고리즘의 어텐션 매커니즘(Attention Mechanism)에 따라 상기 보정된 제1 특징 벡터를 생성하고, 상기 제2 특징 벡터가 Query, 상기 제1 특징 벡터가 Key, 상기 제1 특징 벡터가 Value의 특징값을 갖도록 상기 샴 네트워크에 입력되면 상기 멀티 헤드 어텐션 알고리즘의 어텐션 매커니즘에 따라 상기 보정된 제2 특징 벡터를 생성하는,
    전자 장치.
  6. 청구항 1에 있어서,
    상기 분류 네트워크는,
    GMP(Global Max Pooling) 레이어로 설계된 신경망으로서 학습에 사용된 구직자의 이력서 정보와 기업의 공고 정보가 매칭되는 데이터인 경우 출력값이 1인 클래스, 매칭되지 않은 데이터인 경우 출력값이 0인 클래스를 출력하도록 학습되어, 상기 제1 특징 벡터 및 상기 제2 특징 벡터가 입력되면 상기 분류 네트워크의 학습된 가중치에 따라 0과 1 사이의 적합도를 출력하도록 학습된 신경망인,
    전자 장치.
  7. 청구항 1에 있어서,
    상기 프로세서가 수행하는 동작은,
    복수의 기업의 정보를 저장하는 기업 데이터베이스로부터 상기 제1 문서에 대응되는 기업의 정보를 추출하는 동작;
    복수의 구직자의 정보를 저장하는 구직자 데이터베이스로부터 상기 제2 문서에 대응되는 구직자의 정보를 추출하는 동작; 및
    상기 구직자의 정보 및 상기 기업의 정보를 조합한 제3 특징 벡터를 생성하는 동작을 더 포함하고,
    상기 구직자의 이력 정보의 적합도를 판별하는 동작은,
    상기 제1 특징 벡터, 상기 제2 특징 벡터 및 상기 제3 특징 벡터를 상기 분류 네트워크에 입력하여 상기 분류 네트워크의 학습된 가중치에 따라 상기 제3 특징 벡터를 더 반영하여 상기 제2 특징 벡터에 대응하는 기업의 공고 정보에 대한 상기 제1 특징 벡터에 대응하는 구직자의 이력 정보의 적합도를 판별하는 동작을 포함하는,
    전자 장치.
  8. 청구항 7에 있어서,
    상기 제3 특징 벡터를 생성하는 동작은,
    상기 구직자의 정보 및 상기 기업의 정보에 포함된 텍스트의 의미와 동일성을 갖는 최소 단위로 분리한 복수의 토큰 텍스트를 생성하고 각 토큰 텍스트의 특징값을 도출하는 동작; 및
    상기 구직자의 정보 및 상기 기업의 정보에 포함된 토큰 텍스트를 상기 합성곱 네트워크에 입력하여 단일 규격의 제3 특징 벡터를 생성하는 동작을 포함하는,
    전자 장치.
  9. 청구항 7에 있어서,
    상기 구직자의 정보를 추출하는 동작은,
    상기 구직자 데이터베이스에 상기 제2 문서에 대응되는 구직자의 정보의 적어도 일부 가 저장되어 있지 않는 경우, Document embedding ALBERT 알고리즘 및 제2 문서를 기초로 상기 구직자 데이터베이스에 저장된 다른 구직자의 정보 중 상기 제2 문서와 가장 유사한 구직자 정보의 적어도 일부를 상기 구직자의 정보로서 추출하는 동작을 포함하는,
    전자 장치.
  10. 청구항 7에 있어서,
    상기 기업의 정보는,
    상기 기업의 채용 공고에 대한 기업의 이력, 요구 경력, 요구 연차, 입사자 수, 퇴사자 수에 대한 정보를 포함하고,
    상기 구직자의 정보는,
    상기 구직자의 경력, 연차, 채용된 횟수, 지원 이력 및 채용 및 서류 통과에 대한 통계 정보를 포함하는,
    전자 장치.
  11. 전자 장치가 수행하는 동작 방법에 있어서,
    구직자의 이력서 정보를 포함하는 제1 문서와 기업의 공고 정보를 포함하는 제2 문서를 획득하는 동작;
    상기 제1 문서 및 상기 제2 문서에 포함된 전체 텍스트를 최소 단위로 분리한 제1 및 제2 복수의 토큰 텍스트를 생성하고, 상기 생성된 제1 및 제2 복수의 토큰 텍스트에 대응되는 제1 및 제2 인덱싱 번호 집합을 생성하는 동작;
    소정의 워드 임베딩 알고리즘을 기초로 설계된 임베딩 레이어를 이용하여 상기 제1 및 제2 인덱싱 번호 집합으로부터 제1 및 제2 복수의 임베딩 벡터를 도출하는 동작;
    복수의 임베딩 벡터를 입력하면 상기 복수의 임베딩 벡터를 조합한 단일 규격의 특징 벡터를 생성하도록 학습된 합성곱 네트워크를 기초로, 상기 제1 문서 및 상기 제2 임베딩 벡터를 상기 합성곱 네트워크에 입력하여 제1 특징 벡터 및 제2 특징 벡터를 생성하는 동작; 및
    입력된 특징 벡터 간의 적합도를 판별하도록 학습된 분류 네트워크에 상기 제1 특징 벡터 및 상기 제2 특징 벡터를 입력하여, 상기 분류 네트워크의 학습된 가중치에 따라 상기 제2 특징 벡터에 대응하는 기업의 공고 정보에 대한 상기 제1 특징 벡터에 대응하는 구직자의 이력 정보의 적합도를 판별하는 동작을 포함하는,
    전자 장치의 동작 방법.
  12. 제11항의 동작 방법을 프로세서가 수행하게 하는 명령어를 포함하는 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능 기록매체.
KR1020210033402A 2021-03-15 2021-03-15 채용 중개 서비스에서 구직자 및 구인자의 매칭 확률 예측을 위한 신경망 모델 제공 전자 장치 및 방법 KR102601803B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210033402A KR102601803B1 (ko) 2021-03-15 2021-03-15 채용 중개 서비스에서 구직자 및 구인자의 매칭 확률 예측을 위한 신경망 모델 제공 전자 장치 및 방법
PCT/KR2022/003526 WO2022197033A1 (ko) 2021-03-15 2022-03-14 채용 중개 서비스에서 구직자 및 구인자의 매칭 확률 예측을 위한 신경망 모델 제공 전자 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210033402A KR102601803B1 (ko) 2021-03-15 2021-03-15 채용 중개 서비스에서 구직자 및 구인자의 매칭 확률 예측을 위한 신경망 모델 제공 전자 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220128808A KR20220128808A (ko) 2022-09-22
KR102601803B1 true KR102601803B1 (ko) 2023-11-14

Family

ID=83445533

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210033402A KR102601803B1 (ko) 2021-03-15 2021-03-15 채용 중개 서비스에서 구직자 및 구인자의 매칭 확률 예측을 위한 신경망 모델 제공 전자 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102601803B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102085217B1 (ko) * 2019-10-14 2020-03-04 (주)디앤아이파비스 특허문서의 유사도 판단 방법, 장치 및 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102011667B1 (ko) * 2016-11-29 2019-08-20 (주)아크릴 딥러닝-기반 키워드에 연관된 단어를 도출하는 방법과 컴퓨터프로그램
KR102200334B1 (ko) * 2018-12-13 2021-01-08 (주)코멘토 구직 서류 기반 직무능력 분석매칭 시스템 및 그 제어방법
KR102318103B1 (ko) * 2019-06-11 2021-10-27 주식회사 에이아이앤잡 구직자-구인자 매칭의 합격 여부 판단을 위한 기계 학습 방법 및 이를 이용한 추천 장치
KR20210023385A (ko) * 2019-08-23 2021-03-04 주식회사 세진마인드 신경망을 이용한 데이터 처리 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102085217B1 (ko) * 2019-10-14 2020-03-04 (주)디앤아이파비스 특허문서의 유사도 판단 방법, 장치 및 시스템

Also Published As

Publication number Publication date
KR20220128808A (ko) 2022-09-22

Similar Documents

Publication Publication Date Title
Young et al. Recent trends in deep learning based natural language processing
US10474478B2 (en) Methods, systems, and computer program product for implementing software applications with dynamic conditions and dynamic actions
US20190130305A1 (en) Methods, systems, and computer program product for implementing an intelligent system with dynamic configurability
CN111401077A (zh) 语言模型的处理方法、装置和计算机设备
KR102155768B1 (ko) 학습을 통하여 진화하는 질의응답 데이터 셋을 이용한 쇼핑몰 질의응답 추천 서비스 제공 방법
Kausar et al. ProSOUL: a framework to identify propaganda from online Urdu content
Borg et al. E-mail classification with machine learning and word embeddings for improved customer support
JP7297458B2 (ja) 対話コンテンツ作成支援方法
Yang et al. Propagating over phrase relations for one-stage visual grounding
WO2021260554A1 (en) Domain-specific grammar correction system, server and method for academic text
Guo et al. Proposing an open-sourced tool for computational framing analysis of multilingual data
CN113961666A (zh) 关键词识别方法、装置、设备、介质及计算机程序产品
Ulčar et al. Cross-lingual alignments of ELMo contextual embeddings
CN115878752A (zh) 文本情感的分析方法、装置、设备、介质及程序产品
Zhang et al. Using entity relation to improve event detection via attention mechanism
KR102260396B1 (ko) 범용 신경망 기계번역기를 활용한 하이브리드 번역 시스템
KR102601804B1 (ko) 신경망 모델 기반의 채용 추천 서비스 제공 전자 장치 및 방법
Chen et al. Document-level multi-task learning approach based on coreference-aware dynamic heterogeneous graph network for event extraction
Panahandeh Nigjeh et al. Leveraging ParsBERT for cross-domain polarity sentiment classification of Persian social media comments
KR102601803B1 (ko) 채용 중개 서비스에서 구직자 및 구인자의 매칭 확률 예측을 위한 신경망 모델 제공 전자 장치 및 방법
Li et al. Learning sentiment-enhanced word representations by fusing external hybrid sentiment knowledge
Alwaneen et al. Stacked dynamic memory-coattention network for answering why-questions in Arabic
Adel et al. Type-aware convolutional neural networks for slot filling
Marques-Lucena et al. Framework for customers’ sentiment analysis
CN115129863A (zh) 意图识别方法、装置、设备、存储介质和计算机程序产品

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant