文字分類工作指南

範例 UI:顯示正面電影評論的輸入內容,以及五顆星和大拇指向上的輸出內容

您可以使用 MediaPipe Text Classifier 工作,將文字分類為一組已定義的類別,例如正面或負面情緒。這些類別會在模型訓練期間定義。此工作會使用機器學習 (ML) 模型做為靜態資料,對文字資料進行運算,並輸出類別清單及其可能性分數。

試試看吧!

開始使用

請按照下列任一實作指南的說明,開始使用這個工作:

這些平台專屬指南會逐步引導您完成這項工作的基本實作方式,包括建議的模型,以及含有建議設定選項的程式碼範例。

任務詳細資料

本節說明此工作的功能、輸入內容、輸出內容和設定選項。

功能

  • 輸入文字處理:針對不支援圖形內符記化的模型,支援圖形外符記化
  • 多個分類主體:每個主體可使用自己的類別組合
  • 標籤對應語言代碼:設定顯示名稱所使用的語言
  • 分數門檻:依據預測分數篩選結果
  • 前幾名分類結果:篩選偵測結果的數量
  • 標籤許可清單和拒絕清單:指定偵測到的類別
工作輸入內容 任務輸出
Text Classifier 接受下列輸入資料類型:
  • 字串
文字分類器會輸出包含以下項目的類別清單:
  • 類別索引:模型輸出內容中的類別索引
  • 分數:這個類別的可信度分數,以浮點值表示的機率介於 0 和 1 之間。
  • 類別名稱 (選用):TensorFlow Lite 模型中繼資料中指定的類別名稱 (如有)。
  • 類別顯示名稱 (選用):類別的顯示名稱,如在 TensorFlow Lite 模型中指定,使用顯示名稱語言代碼選項 (如有) 指定的語言。

設定選項

此工作提供下列設定選項:

選項名稱 說明 值範圍 預設值
displayNamesLocale 設定標籤語言,用於工作模型中繼資料中提供的顯示名稱 (如有)。預設值為英文的 en。您可以使用 TensorFlow Lite Metadata Writer API,在自訂模型的中繼資料中新增本地化標籤。語言代碼 en
maxResults 設定要傳回的最高分數分類結果選用數量上限。如果小於 0,則會傳回所有可用的結果。 任何正數 -1
scoreThreshold 設定預測分數門檻,覆寫模型中繼資料中提供的門檻 (如果有)。低於這個值的結果會遭到拒絕。 任何浮點 未設定
categoryAllowlist 設定允許的選項類別名稱清單。如果不為空白,系統會篩除類別名稱不在這個集合中的分類結果。系統會忽略重複或不明的類別名稱。這個選項與 categoryDenylist 互斥,如果同時使用這兩個選項,系統會傳回錯誤。 任何字串 未設定
categoryDenylist 設定選用的不允許類別名稱清單。如果不為空白,則系統會篩除類別名稱位於此組合的分類結果。系統會忽略重複或不明的類別名稱。這個選項與 categoryAllowlist 互斥,如果同時使用這兩個選項,會導致錯誤。 任何字串 未設定

模型

文字分類器可與多個機器學習模型搭配使用。開始使用此工作進行開發時,請先使用目標平台的預設建議模型。其他可用的模型通常會在效能、準確度、解析度和資源需求之間取得平衡,在某些情況下還會包含額外功能。

預先訓練的模型是為了情緒分析而訓練,可預測輸入文字的情緒是正面還是負面。這些模型是使用 SST-2 (史丹佛情緒樹庫) 資料集訓練而成,其中包含標示為正面或負面的電影評論。請注意,模型僅支援英文。由於這些模型是使用電影評論資料集訓練而成,因此可能無法處理其他主題的文字。

這個模型採用 BERT 架構 (具體來說是 MobileBERT 模型),由於準確度高,因此是我們的推薦模型。其中包含可讓工作執行圖表外 BERT 標記的中繼資料。

模型名稱 輸入形狀 量化類型 版本
BERT 分類器 [1x128],[1x128],[1x128] 動態範圍 最新

平均字詞嵌入模型

這個模型採用平均字詞嵌入架構。相較於 BERT 分類器,這個模型的模型大小較小,延遲時間也較短,但預測準確度較低。透過額外訓練自訂此模型,比起訓練以 BERT 為基礎的分類器,速度也更快。這個模型包含中繼資料,可讓工作執行圖表外正規表示式標記化。

模型名稱 輸入形狀 量化類型 版本
平均字詞嵌入 1 x 256 None (float32) 最新

工作基準

以下是根據上述預先訓練模型,針對整個管道的工作基準。延遲結果是 Pixel 6 使用 CPU / GPU 的平均延遲時間。

模型名稱 CPU 延遲時間 GPU 延遲時間
平均字詞嵌入 0.14 毫秒 -
BERT 分類器 57.68 毫秒 -

自訂模型

如果您想改善或變更提供的模型功能,可以使用自訂的機器學習模型來執行此工作。您可以使用 Model Maker 修改現有模型,或使用 TensorFlow 等工具建構模型。搭配 MediaPipe 使用的自訂模型必須採用 TensorFlow Lite 格式,且必須包含描述模型運作參數的特定metadata。建議您先使用 Model Maker 修改此任務的提供模型,再自行建立模型。