Cloud Talent Solution은 머신러닝을 채용정보 검색 환경에 적용하여 일반적인 키워드 기반 방법의 한계를 훨씬 뛰어넘는 우수한 검색결과를 구직자에게 제공하는 서비스입니다. CTS는 처음부터 관련성 모델 및 직업/기술 온톨로지를 취업정보 세부정보에 적용합니다. 구직자의 활동에 따라 클라이언트 이벤트를 기록하면 구직자에게 반환되는 결과를 개선할 수 있습니다.
이 기능 활용 방법에는 두 가지가 있으며 이 가이드에서 모두 설명합니다. Cloud Pub/Sub를 사용하여 Cloud Talent Solution에 메시지를 보내는 인증 문제를 무시하고 분석 프레임워크를 구현하는 간결한 API 세트를 제공하는 createClientEventRequest
API 메서드를 사용하는 것이 좋습니다.
createClientEventRequest
를 사용하여 클라이언트 이벤트 기록(권장)
구직자가 특정 작업을 수행하는 경우, API를 사용하여 해당 작업을 기록할 수 있습니다. 예를 들어, 구직자 또는 서비스와 상호작용하는 다른 개체에서는 압축되거나 잘린 형식의 검색결과 목록과 같이 자신의 시각에서 렌더링된 취업정보(또는 취업정보 목록)를 가지고 있습니다. 이러한 경우 Cloud Talent Solution에 IMPRESSION 이벤트를 전송하여 검색결과의 컨텍스트 및 구직자가 볼 수 있는 내용을 제공할 수 있습니다. 뿐만 아니라 구직자가 취업정보 결과를 클릭하여 전체 세부정보를 조회하면 VIEW 이벤트를 전송하여 구직자가 해당 직책에 관심을 보인 사실을 등록할 수 있습니다.
용도
다음 예시는 API를 사용하여 Cloud Talent Solution에 메시지를 보내는 방법을 보여줍니다. 구직자 또는 서비스와 상호작용하는 다른 개체에서는 압축되거나 잘린 형식의 검색결과 목록과 같이 자신의 시각에서 렌더링된 취업정보(또는 취업정보 목록)를 가지고 있습니다. 이 이벤트는 일반적으로 구직자가 한 페이지에서 채용정보 목록을 열람하는 것과 관련이 있습니다.
Python
Cloud Talent Solution 클라이언트 설치 및 생성에 대한 자세한 내용은 Cloud Talent Solution 클라이언트 라이브러리를 참조하세요.
사용 가능한 이벤트 유형의 전체 목록은 이벤트 유형을 참조하세요.
Cloud Pub/Sub를 사용하여 클라이언트 이벤트 기록
이 기능을 활용하려면 구직자의 쿼리를 기반으로 한 결과에 대한 구직자 반응을 캡처하는 Cloud Talent Solution에 구조화된 메시지를 보냅니다. 이러한 메시지는 Cloud Pub/Sub을 사용하여 Cloud Talent Solution에 전송됩니다. 해당 위치에서 Cloud Talent Solution은 테넌트 사이트의 메시지를 파싱하여 머신러닝 모델에 제공합니다.
메시지 형식 및 Pub/Sub 요청은 아래에서 설명됩니다.
다양한 시나리오 및 워크플로
다음 두 가지 예에서는 구직자가 채용정보를 검색 및 확인하고 채용에 지원하는 다양한 시나리오를 보여줍니다.
프로젝트 p-jobs
및 주제 cloud-jobs-events
에 대해서만 게시해야합니다.
워크플로 1
구직자가 검색을 수행합니다. 예를 들면 Product mgr SF입니다.
검색결과가 구직자에게 반환됩니다.
고객의 서버로 다시 전송된 채용정보 검색 응답 객체에는 고유한
requestId
(예:8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==
)가 포함되어 있습니다. 이 SearchJobsRequest API 호출에requestId
를 사용합니다.Cloud Talent Solution에
IMPRESSION
메시지를 보냅니다.샘플 이벤트 메시지:
{ "eventId": "ID1", "eventType": "IMPRESSION", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000", "jobs/4000000001","jobs/4000000002", "jobs/4000000003", "jobs/4000000004"] "eventTimestampMillis": 1494379614309 }
구직자가 결과(채용 공고)를 선택하여 채용정보의 전체 세부정보를 확인합니다.
Cloud Talent Solution에
VIEW
메시지를 보냅니다.{ "eventId": "ID2", "eventType": "VIEW", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000"] "eventTimestampMillis": 1494379614311 }
구직자가 열람한 채용 공고에 지원합니다.
a. 구직자가 동일한 도메인 내 페이지(내부 지원 페이지)로 리디렉션되면 Cloud Talent Solution에
APPLICATION_START
메시지를 보냅니다.{ "eventId": "ID3", "eventType": "APPLICATION_START", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000"] "eventTimestampMillis": 1494379614310 }
b. 구직자가 외부 지원 페이지로 리디렉션되는 경우 Cloud Talent Solution에
APPLICATION_REDIRECT
메시지를 보냅니다.{ "eventId": "ID3", "eventType": "APPLICATION_REDIRECT", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000"] "eventTimestampMillis": 1494379614310 }
구직자가 내부 지원을 완료하면 Cloud Talent Solution에
APPLICATION_FINISH
메시지를 보냅니다.{ "eventId": "ID4", "eventType": "APPLICATION_FINISH", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000"] "eventTimestampMillis": 1494379614311 }
구직자가 검색결과로 돌아갑니다. 또는 채용 공고를 클릭하지 않은 경우 결과의 2페이지로 넘어갑니다.
2페이지의 다음 결과 세트가 포함된
IMPRESSION
메시지를 Cloud Talent Solution에 보냅니다. 참고: 두 번째 결과 페이지를 생성하는SearchJobsRequest
API 호출의 응답으로 생성되는 새로운requestId
가 있습니다. (예:99e5b99c-f1ba-4f85-b17d-ccf878f451f9:APAb7IRESj+/Hzwa3bBd54P3qPx2yOWm5w==
).{ "eventId": "ID5", "eventType": "IMPRESSION", "requestId": "99e5b99c-f1ba-4f85-b17d-ccf878f451f9:APAb7IRESj+/Hzwa3bBd54P3qPx2yOWm5w==", "relatedJobNames": ["jobs/4000000005", "jobs/4000000006","jobs/4000000007", "jobs/4000000008", "jobs/4000000009"] "eventTimestampMillis": 1494379614400 }
구직자가 검색결과의 3페이지로 넘어갑니다.
다음 결과 세트가 포함된
IMPRESSION
메시지를 Cloud Talent Solution에 보냅니다. 참고: 새로운requestId
가 있습니다(예:e2d2b916-78c3-4c65-aecc-d8452bc0afb0:APAb7IRvCsNPiRXYkgF8PN5e8BkbFzKOyg==
).{ "eventId": "ID6", "eventType": "IMPRESSION", "requestId": "e2d2b916-78c3-4c65-aecc-d8452bc0afb0:APAb7IRvCsNPiRXYkgF8PN5e8BkbFzKOyg==", "relatedJobNames": ["jobs/4000000010", "jobs/4000000011","jobs/4000000012", "jobs/400000013", "jobs/4000000014"] "eventTimestampMillis": 1494379614500 }
워크플로 2
구직자가 검색을 수행합니다. 예를 들면 Product mgr SF입니다.
검색결과가 구직자에게 반환됩니다.
채용정보 검색 응답 객체에는 고유한
requestId
(예:a2179a9b-cf73-413e-8076-98af08b991ad
)가 포함되어 있습니다. 이SearchJobsRequest
API 호출과 관련되어 이후에 발생하는 모든 메시지에 이requestId
를 사용합니다.Cloud Talent Solution에
IMPRESSION
메시지를 보냅니다.{ "eventId": "ID1", "eventType": "IMPRESSION", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000", "jobs/4000000001","jobs/4000000002", "jobs/4000000003", "jobs/4000000004"] , "eventTimestampMillis": 1494379614309 }
구직자가 결과(채용 공고)를 선택하여 채용정보의 전체 세부정보를 확인합니다.
Cloud Talent Solution에
VIEW
메시지를 보냅니다.{ "eventId": "ID2", "eventType": "VIEW", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000"] "eventTimestampMillis": 1494379614311 }
구직자가 APPLICATION_QUICK_SUBMISSION의 설명대로 한 번 클릭하여 채용에 지원합니다.
다음 결과 세트가 포함된
APPLICATION_QUICK_SUBMISSION
메시지를 Cloud Talent Solution에 보냅니다.{ "eventId": "ID3", "eventType": "APPLICATION_QUICK_SUBMISSION", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000000"] "eventTimestampMillis": 1494379614500 }
구직자가 다음 작업을 수행합니다.
a. 구직자가 검색결과로 돌아가 검색결과 페이지에서 직접 채용정보에 지원합니다. 지원 프로세스는 APPLICATION_QUICK_SUBMISSION에 정의된 것보다 긴 프로세스입니다. 즉, 다중 단계 지원 프로세스입니다.
Cloud Talent Solution에
APPLICATION_START_FROM_SERP
메시지를 보냅니다.{ "eventId": "ID4", "eventType": "APPLICATION_START_FROM_SERP", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000014"] "eventTimestampMillis": 1494379927500 }
b. 구직자가 채용정보 지원을 완료합니다. Cloud Talent Solution에
APPLICATION_FINISH
메시지를 보냅니다.{ "eventId": "ID5", "eventType": "APPLICATION_FINISH", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000014"] "eventTimestampMillis": 1494379935500
}
구직자가 검색결과로 돌아가 검색결과 페이지에서 직접 채용정보에 지원합니다. 지원 프로세스는 지원자 진행 상황을 추적할 수 없는 테넌트 사이트(외부 지원) 외부에 있는 다른 도메인으로 구직자를 리디렉션합니다.
Cloud Talent Solution에
APPLICATION_REDIRECT_FROM_SERP
메시지를 보냅니다.{ "eventId": "ID6", "eventType": "APPLICATION_START_FROM_SERP", "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==", "relatedJobNames": ["jobs/4000000017"] "eventTimestampMillis": 149438807500 }
APPLICATION_REDIRECT
와 다른 점은 구직자가 다시 라우팅될 때 채용정보 설명 페이지에 있다는 점입니다.
이벤트 메시지
필수 필드:
eventId
(고객 정의): Cloud Talent Solution으로 전송된 각 메시지에는 고유한eventId
가 있어야 합니다. 중복되지 않도록 하려면 이 필드를 정의하는 동안 타임스탬프를 포함하는 것이 좋습니다. 이 필드의 최대 길이는 255자입니다.requestId
는 채용정보 검색 응답 객체가 반환한requestId
의 값입니다. 이 값은 특정SearchJobsRequest
API 호출에 고유한 값으로, 원래의 검색IMPRESSION
이벤트에서 파생된 모든 후속 메시지에 사용됩니다. 새SearchJobsRequest
API 호출이 수행되면(예: 구직자가 결과의 다음 페이지로 이동)requestId
가 변경됩니다.requestID가 포함되지 않은 pubsub 메시지는 삭제됩니다.
eventType
은VIEW
또는IMPRESSION
같은 이벤트 유형입니다. 전체 값 목록은EventType
참조를 확인하세요. 모델 개선을 사용 설정하는 데 필요한 최소 필드는IMPRESSION
,VIEW
,APPLICATION_START
(및/또는APPLICATION_REDIRECT
)입니다.relatedJobNames
: 이벤트가 발생했을 때 구직자에게 표시되는 모든 채용정보에 대한 채용정보 이름 값입니다.IMPRESSION
이벤트의 경우 페이지의 모든 채용정보 목록입니다.VIEW
이벤트의 경우 열람한 채용정보의 이름이 됩니다. 이름 값은 projects/project-id/jobs/12343213 등의 형식으로 되어 있습니다(정의는 채용정보 필드 참조).eventTimestampMillis
해당 세대부터 밀리초로 측정된 이벤트의 타임스탬프입니다. 이 타임스탬프는 메시지가 전송되었을 때가 아니라 이벤트가 실제로 발생했을 때 반영되어야 합니다.
메시지 보내기
이벤트 메시지는 특정 프로젝트 ID와 주제 ID를 사용하여 Cloud Pub/Sub 서비스에 전송되어야 합니다. 이를 수행하는 방법은 빠른 시작: Cloud Talent Solution 클라이언트 이벤트에 맞게 미세 조정을 참조하세요.