定義意圖、表達和實體

已完成

表達是使用者在和使用您的語言模型的應用程式互動時,可能輸入的片語。 「意圖」代表使用者想要執行的工作或動作,或更簡單地說,其代表表達的「意思」。 您可以藉由定義意圖,並將其與一或多個表達建立關聯,以建立模型。

例如,請參考下列意圖清單和相關聯的表達:

  • GetTime
    • "What time is it?" (現在幾點?)
    • "What is the time?" (現在幾點?)
    • "Tell me the time" (請告訴我時間)
  • GetWeather
    • "What is the weather forecast?" (天氣預報說了什麼?)
    • "Do I need an umbrella?" (我是否需要帶傘?)
    • "Will it snow?" (是否會下雪?)
  • TurnOnDevice
    • "Turn the light on." (開燈。)
    • "Switch on the light." (打開燈光。)
    • "Turn on the fan" (開啟風扇)
    • 「您好」
    • "Goodbye" (再見)

在您的模型中,您必須定義想要模型了解的意圖,因此請花一些時間考慮您的模型必須支援的領域,以及使用者可能會要求的動作或資訊類型。 除了您定義的意圖之外,每個模型還會包含意圖,您應該使用這些意圖明確識別使用者可能送出的表達,但不需要對其執行任何特定動作 (例如 "hello" 之類的對話式問候語),或是識別落在此模型領域範圍之外的表達。

在您找出模型必須支援的目標之後,請務必為每個意圖擷取各種不同的表達範例。 收集您認為使用者會輸入的表達,包括代表相同內容但以不同方式構成的表達。 請牢記這些指導方針:

  • 擷取多個不同的範例,或使用替代方式來說出相同的內容
  • 將語句的長度從短變更為中等,再變更為長
  • 改變語句的「名詞」或「主體」位置。 放在開頭、結尾或之間的某處
  • 在不同的語句中使用正確的文法和不正確的文法,以提供良好的定型資料範例
  • 您已加上標籤的資料的精確度、一致性和完整性,是決定模型效能的關鍵因素。
    • 精確標記:一律將每個實體標記為其正確的類型。 在標籤中只要包括您想要擷取的內容,避免不必要的資訊。
    • 標記一致:相同的實體在所有表達中都應該具有相同的標籤。
    • 完整標記:標示所有表達中實體的所有執行個體。

「實體」的作用是將特定相關內容新增至意圖。 例如,您可以定義可套用至多個裝置的 TurnOnDevice 意圖,並使用實體來定義不同的裝置。

請參考下列表達、意圖和實體:

表達 Intent 實體
What is the time? (現在幾點?) GetTime
What time is it in London? (倫敦現在幾點?) GetTime 位置 (倫敦)
What's the weather forecast for Paris? (巴黎的天氣預報說了什麼?) GetWeather 位置 (巴黎)
Will I need an umbrella tonight? (我今晚需要帶傘嗎?) GetWeather 時間 (今晚)
What's the forecast for Seattle tomorrow? (西雅圖明天的天氣預報為何?) GetWeather 位置 (西雅圖)、時間 (明天)
Turn the light on. (開燈。) TurnOnDevice 裝置 (燈)
Switch on the fan. (開啟風扇。) TurnOnDevice 裝置 (風扇)

您可以將實體分割成幾個不同的元件類型:

  • 完成學習的實體是最具彈性的實體類型,應用於大部分情況。 您使用合適的名稱定義完成學習的實體,然後在訓練表達中將單字或片語與其產生關聯。 當您訓練模型時,模型會學著在具有該實體的表達中比對適當元素。
  • 當您需要具有一組特定可能值 (例如一週七天) 的實體時,清單實體十分實用。 您可以在清單實體定義中包含同義字,因此可以定義包含「星期日」、「星期一」、「星期二」等值的 DayOfWeek 實體,而其中每個值都可以有同義字,例如「週日」、「週一」、「週二」等等。
  • 預建實體適用於常見類型,例如數字、日期時間及名稱。 例如,新增預建元件後,您會自動偵測值 (例如 "6") 或 組織 (例如 "Microsoft")。 本文提供支援的預建實體清單。