什麼是 MediaPipe Text Classifier?
MediaPipe Text Classifier 是 Google AI Edge 旗下 MediaPipe 解決方案的一部分,專為將文本資料自動分類
而設計。開發者可以使用它,將輸入的文字歸類到預先定義的類別中,例如判斷文本的情感傾向(正面或負面)。
這項技術基於機器學習模型運作,將文字作為靜態資料處理,並輸出包含各類別及其對應機率分數的結果清單。
目前,MediaPipe Text Classifier 支援在 Web、Android、Python 和 Flutter 等多種平台上部署,實現跨端一致的開發體驗。
為何選擇在瀏覽器上執行情緒分析?
MediaPipe Text Classifier 擁有廣泛的應用場景,包括情感分析、內容分類、意圖識別、有害內容檢測、客戶反饋分類,以及多語言文本處理。 不僅能分析文章、評論或社群貼文的情感傾向,還能自動識別指令意圖,偵測攻擊性或不適當內容,甚至結合語言識別器與文本嵌入器,組建更完整的文字處理流程。 尤其是在瀏覽器端執行,讓情感分析能夠即時、低延遲地完成,適合需要快速回應的應用場景,例如即時客服、社群互動或個人化推薦系統。
MediaPipe Text Classifier 的優勢
MediaPipe Text Classifier 的一大特色是其低代碼、高效率的設計理念。開發者僅需少量程式碼,就能完成過去需要繁複機器學習背景才能實現的文本分析任務,大幅降低技術門檻。 同時,它的機器學習推論流程經過優化,可在 CPU、GPU 甚至 TPU 上進行端到端加速,特別適合對即時性要求高的應用。
此外,分類過程完全在用戶端設備上執行,不僅減少了依賴伺服器的延遲,還強化了使用者隱私保護,因為資料不必上傳到雲端。用戶僅需透過瀏覽器即可使用,無需安裝額外應用或插件,真正做到即點即用。
更進一步,MediaPipe Model Maker 提供了靈活的自訂功能,允許開發者基於自己的資料集訓練專屬模型,滿足特定領域或業務需求。 無論在哪個平台上開發,MediaPipe 任務都遵循統一的結構與風格,極大地降低了跨平台學習與維護成本,提升整體開發效率。
線上體驗範例
為了讓大家能更直觀體驗 MediaPipe Text Classifier 的強大功能,我也特別製作了一個線上示範工具。 您可以直接在瀏覽器中輸入任意文字,立即分析其情感傾向(正面或負面),無需安裝任何額外軟體。
👉 歡迎前往體驗:線上文字情緒分析工具
詳細步驟
我們可以使用 MediaPipe Text Classifier 來分析文本情緒,例如判斷文本的情感傾向(正面或負面)。
配置選項
MediaPipe Text Classifier 提供多種配置選項來自定義其行為:
選項名稱 | 描述 | 值範圍 | 預設值 |
---|---|---|---|
displayNamesLocale | 設置用於顯示名稱的標籤語言 | 語言代碼 | en |
maxResults | 設置返回的最高得分分類結果的最大數量 | 任何正數 | -1 |
scoreThreshold | 設置預測分數閾值 | 任何浮點數 | 未設置 |
categoryAllowlist | 設置允許的類別名稱的可選列表 | 任何字符串 | 未設置 |
categoryDenylist | 設置不允許的類別名稱的可選列表 | 任何字符串 | 未設置 |
初始化分類器
以下是啟動 MediaPipe 文本分類器的步驟:首先,我們使用 FilesetResolver.forTextTasks()
加載必要的 WASM 模組。接著,透過 TextClassifier.createFromOptions()
創建分類器實例,配置預訓練的 BERT 文本分類模型路徑,並將最大結果數設為 3。
const initializeClassifier = async () => {
const fileset = await FilesetResolver.forTextTasks(
"https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@0.10.22-rc.20250304/wasm"
);
textClassifier.value = await TextClassifier.createFromOptions(fileset, {
baseOptions: {
modelAssetPath:
"https://storage.googleapis.com/mediapipe-tasks/text_classifier/bert_text_classifier.tflite",
},
maxResults: 3,
});
isWASMReady.value = true;
};
執行分類任務
以下是執行文本分類的步驟:首先,我們檢查分類器是否已初始化。接著,使用 textClassifier.value.classify()
方法對輸入文本進行分類,返回分類結果。
const classifyInputText = async () => {
if (!textClassifier.value) {
return;
}
const classificationResult: ClassificationResult = await textClassifier.value.classify(inputText.value);
console.log(JSON.stringify(classificationResult, null, 2));
classificationResult.classifications.forEach((classification) =>
classification.categories.forEach((category) => {
if (category.categoryName === "positive") {
positiveScore.value = Number(category.score.toFixed(2));
} else if (category.categoryName === "negative") {
negativeScore.value = Number(category.score.toFixed(2));
}
})
);
};
結論
MediaPipe Text Classifier 是一款功能強大且靈活的工具,專為高準確度的文本分類而設計。透過 Vue.js 範例,我們瞭解到其實現簡單、易於集成,同時具備專業級的文本分析功能。這使得開發者能夠輕鬆將情感分析、內容分類及意圖識別等多種文本處理功能集成到應用中,提供高效的跨平台解決方案。
憑藉預訓練模型和自定義配置選項,MediaPipe Text Classifier 不僅提升了用戶體驗,還擴展了應用的功能。隨著自然語言處理技術的進步,該工具將不斷演化,提供更強大和精確的分析能力,為開發者開創更多可能性,並推動創新應用的發展。