自然語言理解最佳做法

本頁提供一些自然語言理解 (NLU) 最佳做法和建議,可協助您建構高品質動作。

一般

  • 對話和口頭互動可能有多種形式,而取得早期使用者資料有助於提高動作的實用性、成效和趣味性。
  • 留意錯誤和警告。即使您的動作運作正常,日後仍可能造成問題,而您會花更多時間來調查問題。

意圖

  • 盡可能重複使用場景之間的意圖。如果有多個意圖能夠比對,使用者很難比對出想要的意圖,更難讓 Google 助理更難根據使用者輸入內容選擇正確的意圖。
  • 從最常見的動作要求或互動流程開始,建立意圖訓練詞組。
  • 想想訓練詞組有哪些極端情況,例如可以接受的最短和最長的查詢。
  • 意圖處理的複雜程度和廣度取決於您在意圖中新增的訓練詞組數量。也就是說,只要有 5 個詞組屬於簡單理解 (「yes」「no」) 也沒關係,但您可以加入數百個訓練詞組供較複雜的語言模型使用。
  • 如果是複雜的意圖,使用者輸入內容可能會有所不同,請視需要提供多個訓練詞組,涵蓋所有潛在的使用者回應。
  • 如果您需要向使用者收集特定資料,請使用運算單元填充功能。
  • 請勿建立只包含任意文字意圖參數的意圖。如果您必須比對使用者輸入內容中的所有內容,請使用運算單元填充或 NO_MATCH 系統意圖。

類型

  • 如果您的類型同義詞含有多個字詞,例如歌名或食物項目,請考慮啟用模糊比對功能。這個方法可讓使用者省略不重要的字詞或變更預期的輸入順序。
  • 只要提供其他同義詞,即可避免使用「接受未知值」選項。
  • 如要針對您的類型使用「接受不明的值」選項,請提供不同的訓練詞組,確保 Google 助理能識別正確的資訊。舉例來說,如果將類型 message 設為「接受不明值」,訓練詞組可能如下所示:

    • Send $message
    • Send $message to Tim
    • Send mom $message
  • 如果需要比對 ID 或其他結構化輸入內容,建議您使用規則運算式。

  • 謹慎使用「任意形式文字」選項。這個選項會比對任何非空白的輸入內容,而且會讓語言處理器難以有效訓練和比對資料。只有在無法預知使用者可能會說的內容時,才應該使用這個方法。