Melhorar o modelo pré-treinado com dados de eventos do cliente (v3)

O Cloud Talent Solution (CTS) é um serviço que incorpora o machine learning à experiência de pesquisa de vagas de emprego, retornando resultados de alta qualidade para os candidatos e indo muito além das limitações dos métodos comuns baseados em palavras-chave. Logo de início, o CTS já aplica automaticamente modelos de relevância e ontologias de vaga/competência aos detalhes da vaga. É possível melhorar os resultados retornados aos candidatos por meio do registro dos eventos do cliente com base nas atividades dos candidatos.

Há dois métodos para usar esse recurso, ambos são descritos neste guia. Recomendamos usar o método de API createClientEventRequest, que contorna os desafios de autenticação no envio de mensagens ao Cloud Talent Solution por meio do Cloud Pub/Sub e fornece um conjunto simples de APIs para implementar o framework de análise.

Quando um candidato executa uma ação específica, use a API para registrar essa ação. Por exemplo, uma vaga (ou uma lista de vagas) foi exibida para o candidato, ou outra entidade que interage com o serviço, como em uma lista de resultados da pesquisa no formato compactado ou recortado. Nesse caso, envie um evento IMPRESSION para a Cloud Talent Solution a fim de fornecer o contexto dos resultados da pesquisa e o que um candidato pode ver. Além disso, quando o candidato clica no resultado de pesquisa de uma vaga para visualizar a descrição completa dela, é possível enviar um evento "VIEW" para registrar o interesse do candidato nessa posição.

Uso

No exemplo a seguir, veja como enviar uma mensagem ao Cloud Talent Solution usando a API. Uma vaga (ou uma lista de vagas) foi processada na exibição do candidato à vaga ou outra entidade que interage com o serviço, como em uma lista de resultados de pesquisa em formato compactado ou cortado. Esse evento geralmente está associado à visualização de uma lista de vagas em uma única página por um candidato.

Python

Para saber mais sobre como instalar e criar um cliente do Cloud Talent Solution, consulte as bibliotecas de cliente do Cloud Talent Solution.

def create_client_event(client_service, event_id, request_id, related_job_names):
    now = datetime.datetime.now()
    date = now.strftime('%Y-%m-%dT%H:%M:%SZ')

    client_event_to_be_created = {
        'create_time': date,
        'event_id': event_id,
        'parent_event_id': 'NULL',
        'job_event': {
            'jobs': related_job_names,
            'type': 'VIEW'
        },
        'request_id': request_id
    }
    request = {
        'client_event': client_event_to_be_created
    }
    response = client_service.projects().clientEvents().create(
        parent=parent, body=request).execute()
    print(response)

Acesse Tipos de evento para ver uma lista completa dos tipos disponíveis.

Registrar eventos do cliente usando o Cloud Pub/Sub

Para usar esse método, envie mensagens estruturadas para o Cloud Talent Solution que registrem as reações do candidato a resultados com base nas consultas deles. Essas mensagens são enviadas para o Cloud Talent Solution usando o Cloud Pub/Sub. A partir daí, a Cloud Talent Solution analisa as mensagens do site do locatário e as encaminha para o modelo de aprendizado de máquina.

Veja abaixo uma descrição do formato das mensagens e das solicitações do Pub/Sub.

Vários cenários e fluxos de trabalho

Estes são dois exemplos que mostram vários cenários do candidato que procura, visualiza e se candidata a uma vaga.

Observe que você deve APENAS publicar no projeto p-jobs e no tópico cloud-jobs-events.

Fluxo de trabalho 1

  1. O candidato realiza uma pesquisa. Por exemplo: Grt produto SF

    Os resultados da pesquisa são retornados para o candidato.

    O objeto de resposta da pesquisa de vagas retornado ao servidor do cliente contém um requestId exclusivo (por exemplo, 8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==). Use esse requestId para todas as futuras mensagens relacionadas a essa chamada de API SearchJobsRequest específica.

    Envie ao Cloud Talent Solution uma mensagem IMPRESSION.

    Mensagem do evento de amostra:

    {
      "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
    }
    
  2. O candidato seleciona um resultado (uma postagem de vaga) para visualizar os detalhes completos.

    Envie uma mensagem VIEW para o Cloud Talent Solution.

    {
      "eventId": "ID2",
      "eventType": "VIEW",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000000"]
      "eventTimestampMillis": 1494379614311
    }
    
  3. A pessoa se candidata à vaga da postagem visualizada.

    a. Caso o candidato seja redirecionado para uma página dentro do mesmo domínio (uma página de aplicativo interno), envie à Cloud Talent Solution uma mensagem APPLICATION_START.

    {
      "eventId": "ID3",
      "eventType": "APPLICATION_START",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000000"]
      "eventTimestampMillis": 1494379614310
    }
    

    b. Caso o candidato seja redirecionado para uma página de aplicativo externo, envie à Cloud Talent Solution uma mensagem APPLICATION_REDIRECT.

       {
         "eventId": "ID3",
         "eventType": "APPLICATION_REDIRECT",
         "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
         "relatedJobNames": ["jobs/4000000000"]
         "eventTimestampMillis": 1494379614310
       }
    
  4. Quando a pessoa concluir uma candidatura interna, envie à Cloud Talent Solution uma mensagem APPLICATION_FINISH:

    {
      "eventId": "ID4",
      "eventType": "APPLICATION_FINISH",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000000"]
      "eventTimestampMillis": 1494379614311
    }
    
  5. Caso o candidato não tenha clicado em uma postagem de vaga ou se ele voltar aos resultados da pesquisa, ele avança à página 2 dos resultados.

    Envie à Cloud Talent Solution uma mensagem IMPRESSION com o próximo conjunto de resultados da página 2. Observação: há um novo requestId que é gerado na resposta da chamada de API SearchJobsRequest que gera a segunda página de resultados. Por exemplo, 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
    }
    
  6. O candidato avança à página 3 dos resultados da pesquisa.

    Envie à Cloud Talent Solution uma mensagem IMPRESSION com o próximo conjunto de resultados. OBSERVAÇÃO: há um novo requestId (por exemplo, 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
    }
    

Fluxo de trabalho 2

  1. O candidato realiza uma pesquisa. Por exemplo: Grt produto SF

    Os resultados da pesquisa são retornados para o candidato.

    O objeto de resposta da pesquisa de vaga contém um requestId exclusivo (por exemplo, a2179a9b-cf73-413e-8076-98af08b991ad). Use este requestId em todas as futuras mensagens relacionadas a esta chamada de API SearchJobsRequest.

    Envie ao Cloud Talent Solution uma mensagem 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
    }
    
  2. O candidato seleciona um resultado (uma postagem de vaga) para visualizar os detalhes completos.

    Envie uma mensagem VIEW para o Cloud Talent Solution.

    {
      "eventId": "ID2",
      "eventType": "VIEW",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000000"]
      "eventTimestampMillis": 1494379614311
    }
    
  3. A pessoa se candidata à vaga clicando uma única vez, conforme descrito em APPLICATION_QUICK_SUBMISSION.

    Envie à Cloud Talent Solution uma mensagem APPLICATION_QUICK_SUBMISSION com o próximo conjunto de resultados.

    {
      "eventId": "ID3",
      "eventType": "APPLICATION_QUICK_SUBMISSION",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000000"]
      "eventTimestampMillis": 1494379614500
    }
    
  4. O candidato realiza as ações a seguir.

    a. A pessoa volta aos resultados da pesquisa e se candidata a uma vaga diretamente na página de resultados da pesquisa. O processo de candidatura é um processo mais longo do que o definido em APPLICATION_QUICK_SUBMISSION (ou seja, trata-se de um processo de candidatura em várias etapas).

    Envie uma mensagem APPLICATION_START_FROM_SERP para o Cloud Talent Solution.

    {
      "eventId": "ID4",
      "eventType": "APPLICATION_START_FROM_SERP",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000014"]
      "eventTimestampMillis": 1494379927500
    }
    

    b. A pessoa conclui a candidatura à vaga. Envie uma mensagem APPLICATION_FINISH para o Cloud Talent Solution.

    {
      "eventId": "ID5",
      "eventType": "APPLICATION_FINISH",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000014"]
      "eventTimestampMillis": 1494379935500
    

    }

  5. A pessoa volta aos resultados da pesquisa e se candidata a uma vaga diretamente na página de resultados da pesquisa. O processo de candidatura redireciona a pessoa para outro domínio que esteja fora do site do locatário (aplicativo externo) em que o progresso do candidato não pode ser rastreado.

    Envie uma mensagem APPLICATION_REDIRECT_FROM_SERP para o Cloud Talent Solution.

    {
      "eventId": "ID6",
      "eventType": "APPLICATION_START_FROM_SERP",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000017"]
      "eventTimestampMillis": 149438807500
    }
    

    Isso é diferente de APPLICATION_REDIRECT, em que um candidato está na página de descrição da vaga quando reencaminhado.

Mensagem de evento

Campos obrigatórios:

  • eventId (definido pelo cliente): cada mensagem enviada ao Cloud Talent Solution precisa ter um eventId exclusivo. Recomenda-se incorporar o carimbo de data/hora ao definir esse campo, para garantir a não duplicidade. O comprimento máximo desse campo tem 255 caracteres.

  • requestId é o valor do requestId retornado pelo objeto de resposta da pesquisa de vaga. Este valor é exclusivo para uma chamada de API SearchJobsRequest específica. Ele é usado em todas as mensagens subsequentes provenientes do evento de pesquisa IMPRESSION original. Quando uma nova chamada de API SearchJobsRequest é feita (por exemplo: o candidato vai para a próxima página de resultados), o requestId é alterado.

    Qualquer mensagem do Pub/Sub sem um requestId será descartada.

  • eventType é um tipo de evento, como VIEW ou IMPRESSION. Consulte a referência de EventType para uma lista completa dos valores. Os campos mínimos obrigatórios para ativar melhorias no modelo são IMPRESSION, VIEW e APPLICATION_START (e/ou APPLICATION_REDIRECT).

  • relatedJobNames: são os valores de nome de vaga para todas as vagas exibidas ao candidato no momento do evento. Para um evento IMPRESSION, é uma lista de todas as vagas na página. Para um evento VIEW, seria o nome da vaga visualizada. Os valores de nome estão no formato projetos/ID do projeto/vagas/12343213 etc. Consulte Campos de vaga para saber as definições.

  • eventTimestampMillis: o carimbo de data/hora do evento, medido em milissegundos desde o início. Esse carimbo precisa corresponder ao momento em que o evento realmente ocorreu, e não ao que a mensagem foi enviada.

Enviar mensagem

A mensagem de evento precisa ser enviada para o serviço do Cloud Pub/Sub usando um ID de projeto e um ID de tópico específicos. Consulte Guia de início rápido: conheça os eventos do cliente da Cloud Talent Solution para ver as instruções.