以用戶端事件資料改善預先訓練模型 (v3)

Cloud Talent Solution 服務能將機器學習技術融入職缺搜尋體驗,突破傳統關鍵字搜尋方法的限制,向求職者傳回高品質的搜尋結果。CTS 不必經過設定,直接就能將關聯性模型和職缺/技能本體套用到您的職缺詳細資料。您可以根據求職者的活動記錄用戶端事件,藉此提升求職者的搜尋結果準確度。

本指南將概述利用此功能的兩種方式。建議您使用 createClientEventRequest API 方法。此方法可略過因使用 Cloud Pub/Sub 將訊息傳送到 Cloud Talent Solution 時產生的驗證問題,並提供一組乾淨的 API 供您設置數據分析架構

求職者執行特定動作時,您可以使用此 API 記錄該項動作。舉例來說,與服務進行互動的求職者或其他實體已在畫面上看見工作或工作清單,例如以壓縮或剪輯格式呈現的搜尋結果清單。在這個情況下,您可以將 IMPRESSION 事件傳送至 Cloud Talent Solution,藉此提供搜尋結果的相關資訊和求職者會看見的內容。除此之外,求職者為了查看完整工作說明而點選某項工作搜尋結果時,您可以傳送 VIEW 事件,記錄求職者對這個職缺感興趣。

使用 Cloud Pub/Sub 記錄用戶端事件

如要利用此方法,請將結構化訊息傳送到 Cloud Talent Solution,以擷取求職者對查詢結果的回應。這些訊息會透過 Cloud Pub/Sub 傳送到 Cloud Talent Solution。接著 Cloud Talent Solution 會剖析來自用戶群網站的訊息,並將這些訊息饋送至機器學習模型。

訊息格式和 Pub/Sub 要求說明如下。

各種情境和工作流程

以下兩例說明求職者搜尋、查看和應徵工作的各種情境。

請注意,您只能發布到專案 p-jobs 和主題 cloud-jobs-events

工作流程 1

  1. 求職者執行搜尋。 例如:「產品經理 SF」

    服務將搜尋結果傳回給求職者。

    回傳給客戶伺服器的職缺搜尋回應物件包含一個唯一的 requestId (例如:8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==)。這個 requestId 將用於未來與這個特定 SearchJobsRequest API 呼叫相關的所有訊息。

    IMPRESSION 訊息傳送至 Cloud Talent Solution。

    範例事件訊息:

    {
      "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. 求職者選取一筆結果 (職缺公告) 來查看該職缺的完整詳細資料。

    VIEW 訊息傳送到 Cloud Talent Solution。

    {
      "eventId": "ID2",
      "eventType": "VIEW",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000000"]
      "eventTimestampMillis": 1494379614311
    }
    
  3. 求職者應徵查看過的職缺公告。

    a. 如果服務將求職者重新導向至同一網域內的頁面 (內部應徵頁面),則將 APPLICATION_START 訊息傳送至 Cloud Talent Solution。

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

    b. 如果服務將求職者重新導向至外部應徵頁面,則將 APPLICATION_REDIRECT 訊息傳送至 Cloud Talent Solution。

       {
         "eventId": "ID3",
         "eventType": "APPLICATION_REDIRECT",
         "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
         "relatedJobNames": ["jobs/4000000000"]
         "eventTimestampMillis": 1494379614310
       }
    
  4. 當求職者完成內部應徵,傳送 APPLICATION_FINISH 訊息至 Cloud Talent Solution。

    {
      "eventId": "ID4",
      "eventType": "APPLICATION_FINISH",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000000"]
      "eventTimestampMillis": 1494379614311
    }
    
  5. 求職者回到搜尋結果;或者,如果求職者未按下任何職缺公告,則會往前結果的第 2 頁。

    將含有第 2 頁下一組結果的 IMPRESSION 訊息傳送至 Cloud Talent Solution。注意:SearchJobsRequest API 呼叫會產生搜尋結果第 2 頁,在此呼叫的回應中會產生新的 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
    }
    
  6. 求職者繼續查看搜尋結果第 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

  1. 求職者執行搜尋。 例如:「產品經理 SF」

    服務將搜尋結果傳回給求職者。

    職缺搜尋回應物件會包含一個唯一的 requestId (例如:a2179a9b-cf73-413e-8076-98af08b991ad)。這個 requestId 將用於未來與這個 SearchJobsRequest API 呼叫相關的所有訊息。

    IMPRESSION 訊息傳送至 Cloud Talent Solution。

    {
      "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. 求職者選取一筆結果 (職缺公告) 來查看該職缺的完整詳細資料。

    VIEW 訊息傳送到 Cloud Talent Solution。

    {
      "eventId": "ID2",
      "eventType": "VIEW",
      "requestId": "8d2bdd5d-1361-42a5-a0fd-bd2b58b7d8fb:APAb7ISd4Sc5faibw2V5hTU/OoC2WAW5AA==",
      "relatedJobNames": ["jobs/4000000000"]
      "eventTimestampMillis": 1494379614311
    }
    
  3. 求職者按一下滑鼠來應徵工作,如「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
    }
    
  4. 求職者執行下列動作。

    a. 求職者回到搜尋結果頁面,直接從該頁面應徵工作。應徵程序所耗費的時間比 APPLICATION_QUICK_SUBMISSION 定義的還久,因為這是一個有多個步驟的應徵程序。

    APPLICATION_START_FROM_SERP 訊息傳送至 Cloud Talent Solution。

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

    b. 求職者完成應徵工作。 將 APPLICATION_FINISH 訊息傳送至 Cloud Talent Solution。

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

    }

  5. 求職者回到搜尋結果頁面,直接從該頁面應徵工作。應徵程序會將求職者重新導向至位於用戶群網站外的另一個網域 (外部應徵)。服務將無法追蹤應徵者的進度。

    APPLICATION_REDIRECT_FROM_SERP 訊息傳送至 Cloud Talent Solution。

    {
      "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 的 Pub/Sub 訊息都會遭到捨棄。

  • eventType 是事件類型,例如 VIEWIMPRESSION。(如需完整的值清單,請參閱EventType參考資料)。如要改善模型,至少需要 IMPRESSIONVIEWAPPLICATION_START (及/或 APPLICATION_REDIRECT) 欄位。

  • relatedJobNames:這些是在事件發生時,求職者會看到的所有職缺的職缺名稱值。若為 IMPRESSION 事件,這會是頁面上所有職缺的清單,如果是 VIEW 事件,會是查看的職缺的名稱。名稱值的格式為 projects/project-id/jobs/12343213,以此類推 (相關定義請參閱職缺欄位)

  • eventTimestampMillis 事件的時間戳記,自訓練週期開始,以毫秒數為單位。這個時間戳記應反映出實際發生事件的時間,而不是傳送訊息的時間。

傳送訊息

您必須使用特定專案 ID 和主題 ID,才能將事件訊息傳送到 Cloud Pub/Sub 服務。相關操作說明請參閱快速入門:使用 Cloud Talent Solution 用戶端事件進行微調