Vortrainiertes Modell mit Clientereignisdaten verbessern (v3)

Cloud Talent Solution ist ein Dienst, der die Suche nach Jobs mit maschinellem Lernen kombiniert und Jobsuchenden qualitativ hochwertige Ergebnisse liefert, die weit über die Möglichkeiten von traditionellen Suchmethoden mit Suchbegriffen hinausgehen. CTS wendet vorkonfigurierte Relevanzmodelle und Job-/Qualifikationsontologien auf Ihre Jobdetails an. Sie können die an Jobsuchende zurückgegebenen Ergebnisse verbessern. Dazu zeichnen Sie Clientereignisse basierend auf der Aktivität des Jobsuchenden auf.

Es gibt zwei Methoden, um diese Funktion zu nutzen, die beide in dieser Anleitung beschrieben werden. Wir empfehlen die Verwendung der API-Methode createClientEventRequest, die die Authentifizierungsprobleme beim Senden von Nachrichten an Cloud Talent Solution mithilfe von Cloud Pub/Sub umgeht und einen sauberen Satz von APIs zur Implementierung von Analytics Framework bereitstellt.

Wenn ein Jobsuchender eine bestimmte Aktion ausführt, können Sie diese mit der API aufzeichnen. Beispielsweise hat sich der Jobsuchende oder die sonstige mit dem Dienst interagierende Entität einen Job (oder eine Liste von Jobs) anzeigen lassen, etwa in einer Liste mit Suchergebnissen in einem komprimierten oder verkürzten Format. In diesem Fall können Sie ein IMPRESSION-Ereignis an Cloud Talent Solution senden, um den Kontext der Suchergebnisse und das, was ein Arbeitssuchender sehen kann, bereitzustellen. Wenn der Jobsuchende auf ein Ergebnis klickt, um die vollständige Jobbeschreibung aufzurufen, können Sie ein VIEW-Ereignis senden, um das Interesse dieses Jobsuchenden an dieser Stelle zu registrieren.

Nutzung

Das folgende Beispiel zeigt, wie Sie mithilfe der API eine Nachricht an Cloud Talent Solution senden. Der Arbeitssuchende oder eine andere Entität, die mit dem Dienst interagiert, hat einen Job (oder eine Liste von Jobs) in seiner Ansicht gerendert, z. B. in einer Liste von Suchergebnissen in einem komprimierten oder abgeschnittenen Format. Dieses Ereignis ist normalerweise mit der Anzeige einer Jobliste auf einer einzelnen Seite durch einen Jobsuchenden verbunden.

Python

Weitere Informationen zum Installieren und Erstellen eines Cloud Talent Solution-Clients finden Sie unter Cloud Talent Solution-Clientbibliotheken.

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)

Eine vollständige Liste der verfügbaren Ereignistypen finden Sie unter Ereignistypen.

Clientereignisse mit Cloud Pub/Sub aufzeichnen

Zur Verwendung dieser Methode werden strukturierte Nachrichten an Cloud Talent Solution gesendet, die die Reaktionen des Jobsuchenden auf die von seinen Abfragen zurückgegebenen Ergebnisse erfassen. Die Übertragung dieser Nachrichten an Cloud Talent Solution erfolgt über Cloud Pub/Sub. Von dort aus parst Cloud Talent Solution die Nachrichten von der Mandanten-Website und speist sie in das Modell für maschinelles Lernen ein.

Das Nachrichtenformat und Pub/Sub-Anfragen werden unten beschrieben.

Verschiedene Szenarien und Workflows

Die folgenden zwei Beispiele zeigen verschiedene Szenarien, in denen ein Jobsuchender nach einem Job sucht, diesen ansieht und sich dafür bewirbt.

Beachten Sie, dass Sie NUR im Projekt p-jobs und im Thema cloud-jobs-events veröffentlichen sollten.

Workflow 1

  1. Der Jobsuchende führt eine Suche aus. Beispiel: Produkt-Mgr SF

    An den Jobsuchenden werden Suchergebnisse zurückgegeben.

    Das an den Server des Kunden zurückgesendete Antwortobjekt für die Jobsuche enthält eine eindeutige requestId (zum Beispiel: 8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==). Verwenden Sie diese requestId für alle zukünftigen Nachrichten, die sich auf diesen bestimmten SearchJobsRequest-API-Aufruf beziehen.

    Eine IMPRESSION-Nachricht wird an Cloud Talent Solution gesendet.

    Beispiel für die Ereignisnachricht:

    {
      "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. Der Jobsuchende wählt ein Ergebnis (eine Jobanzeige) aus, um alle Details des Jobs zu sehen.

    Eine VIEW-Nachricht wird an Cloud Talent Solution gesendet.

    {
      "eventId": "ID2",
      "eventType": "VIEW",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000000"]
      "eventTimestampMillis": 1494379614311
    }
    
  3. Der Jobsuchende bewirbt sich für den Job, den er sich angesehen hat.

    a. Wird der Jobsuchende an eine Seite innerhalb derselben Domain (interne Bewerbungsseite) weitergeleitet, wird eine Nachricht vom Typ APPLICATION_START an Cloud Talent Solution gesendet.

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

    b. Wird der Jobsuchende an eine externe Bewerbungsseite weitergeleitet, wird eine Nachricht vom Typ APPLICATION_REDIRECT an Cloud Talent Solution gesendet.

       {
         "eventId": "ID3",
         "eventType": "APPLICATION_REDIRECT",
         "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
         "relatedJobNames": ["jobs/4000000000"]
         "eventTimestampMillis": 1494379614310
       }
    
  4. Wenn der Jobsuchende mit einer internen Bewerbung fertig ist, wird eine Nachricht vom Typ APPLICATION_FINISH an Cloud Talent Solution gesendet:

    {
      "eventId": "ID4",
      "eventType": "APPLICATION_FINISH",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000000"]
      "eventTimestampMillis": 1494379614311
    }
    
  5. Der Jobsuchende kehrt zu den Suchergebnissen zurück oder fährt mit Seite 2 der Ergebnisse fort, wenn er auf keine Jobanzeige geklickt hat.

    An Cloud Talent Solution wird eine IMPRESSION-Nachricht mit den nächsten Ergebnissen von Seite 2 gesendet. Hinweis: In der Antwort des SearchJobsRequest API-Aufrufs, der die zweite Ergebnisseite generiert, wird eine neue requestId generiert. (Zum Beispiel: 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. Der Jobsuchende fährt mit Seite 3 der Suchergebnisse fort.

    An Cloud Talent Solution wird eine IMPRESSION-Nachricht mit den nächsten Ergebnissen gesendet. HINWEIS: Es gibt eine neue requestId (zum Beispiel 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
    }
    

Workflow 2

  1. Der Jobsuchende führt eine Suche aus. Beispiel: Produkt-Mgr SF

    An den Jobsuchenden werden Suchergebnisse zurückgegeben.

    Das Antwortobjekt für die Jobsuche enthält ein eindeutiges requestId (zum Beispiel: a2179a9b-cf73-413e-8076-98af08b991ad). Verwenden Sie diese requestId für alle zukünftigen Nachrichten im Zusammenhang mit diesem SearchJobsRequest API-Aufruf.

    Eine IMPRESSION-Nachricht wird an Cloud Talent Solution gesendet.

    {
      "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. Der Jobsuchende wählt ein Ergebnis (eine Jobanzeige) aus, um alle Details des Jobs zu sehen.

    Eine VIEW-Nachricht wird an Cloud Talent Solution gesendet.

    {
      "eventId": "ID2",
      "eventType": "VIEW",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000000"]
      "eventTimestampMillis": 1494379614311
    }
    
  3. Der Jobsuchende führt eine Einzelklick-Anwendung für einen Job aus, wie in APPLICATION_QUICK_SUBMISSION beschrieben.

    An Cloud Talent Solution wird eine Nachricht vom Typ APPLICATION_QUICK_SUBMISSION mit den nächsten Ergebnissen gesendet.

    {
      "eventId": "ID3",
      "eventType": "APPLICATION_QUICK_SUBMISSION",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000000"]
      "eventTimestampMillis": 1494379614500
    }
    
  4. Der Jobsuchende führt folgende Schritte aus.

    a. Der Jobsuchende kehrt zu den Suchergebnissen zurück und bewirbt sich direkt auf der Suchergebnisseite für einen Job. Der Bewerbungsprozess ist länger als in APPLICATION_QUICK_SUBMISSION definiert, setzt sich also aus mehreren Schritten zusammen.

    Eine APPLICATION_START_FROM_SERP-Nachricht wird an Cloud Talent Solution gesendet.

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

    b. Der Jobsuchende ist mit der Bewerbung für den Job fertig. Eine APPLICATION_FINISH-Nachricht wird an Cloud Talent Solution gesendet.

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

    }

  5. Der Jobsuchende kehrt zu den Suchergebnissen zurück und bewirbt sich direkt auf der Suchergebnisseite für einen Job. Der Bewerbungsprozess leitet den Jobsuchenden an eine andere Domain weiter, die sich außerhalb der Mandanten-Website befindet (externe Bewerbung) und von der aus die weiteren Aktionen des Bewerbers nicht nachverfolgt werden können.

    Eine APPLICATION_REDIRECT_FROM_SERP-Nachricht wird an Cloud Talent Solution gesendet.

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

    Dies unterscheidet sich von der Nachricht APPLICATION_REDIRECT, bei der ein Jobsuchender von der Seite mit der Jobbeschreibung aus weitergeleitet wird.

Ereignisnachricht

Pflichtfelder:

  • eventId (vom Kunden definiert): Jede an Cloud Talent Solution gesendete Nachricht muss eine eindeutige eventId haben. Beziehen Sie beim Definieren dieses Feldes möglichst den Zeitstempel ein, um Duplikate zu vermeiden. Die maximale Länge dieses Feldes beträgt 255 Zeichen.

  • requestId ist der Wert des requestId, der vom Antwortobjekt der Jobsuche zurückgegeben wird. Dieser Wert ist für einen bestimmten SearchJobsRequest API-Aufruf eindeutig. Er wird für alle nachfolgenden Nachrichten verwendet, die auf das ursprüngliche IMPRESSION-Ereignis der Suche zurückgehen. Wenn ein neuer SearchJobsRequest API-Aufruf erfolgt (Beispiel: Der Jobsuchende wechselt zur nächsten Ergebnisseite), ändert sich requestId.

    Jede Pubsub-Nachricht, die keine Anfrage-ID enthält, wird gelöscht.

  • eventType ist ein Ereignistyp wie VIEW oder IMPRESSION. (Eine vollständige Liste der Werte finden Sie in der Referenz zu EventType.) Damit eine Verbesserung des Modells möglich ist, sind mindestens die Felder IMPRESSION, VIEW und APPLICATION_START (und/oder APPLICATION_REDIRECT) erforderlich.

  • relatedJobNames: Dies sind die Jobnamenwerte für alle Jobs, die dem Jobsuchenden zum Zeitpunkt des Ereignisses angezeigt werden. Für das Ereignis IMPRESSION ist dies eine Liste aller Jobs auf der Seite. Für das Ereignis VIEW wäre dies der Name des angesehenen Jobs. Namenswerte haben das Format "jobs/12343213" usw. Definitionen finden Sie unter Jobfelder.

  • eventTimestampMillis Der Zeitstempel des Ereignisses, gemessen in Millisekunden seit der Epoche. Dieser Zeitstempel sollte angeben, wann das Ereignis tatsächlich aufgetreten ist, nicht wann die Nachricht gesendet wurde.

Nachricht senden

Ihre Ereignisnachricht muss mithilfe einer bestimmten Projekt-ID und Thema-ID an den Cloud Pub/Sub-Dienst gesendet werden. Anleitungen finden Sie unter Kurzanleitung: Mit Cloud Talent Solution-Clientereignissen optimieren.