MediaPipe 語言偵測器工作可讓您識別一段文字的語言。這些操作說明會示範如何搭配 Python 使用語言偵測器。您可以前往 GitHub 取得這些操作說明所述的程式碼範例。
如要查看這項工作的運作情形,請查看示範。如要進一步瞭解這項工作的功能、模型和設定選項,請參閱總覽。
程式碼範例
語言偵測工具的範例程式碼提供這項工作的完整實作 Python 供您參考。這段程式碼可協助您測試這項工作,並開始建構自己的語言偵測功能。只要使用網路瀏覽器,您就可以查看、執行及編輯語言偵測器程式碼範例。
設定
本節說明設定開發環境的重要步驟,以及專門用來使用語言偵測工具的程式碼專案。如需瞭解如何使用 MediaPipe 工作設定開發環境的一般資訊,包括平台版本需求,請參閱 Python 設定指南。
套裝組合
語言偵測器使用 Mediapipe pip 套件。您可以使用以下項目安裝依附元件:
$ python -m pip install mediapipe
匯入
匯入下列類別即可存取語言偵測工具工作函式:
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import text
型號
MediaPipe Language Detector 工作需要使用與這項工作相容的已訓練模型。如要進一步瞭解語言偵測工具的可用訓練模型,請參閱工作總覽模型一節。
選取並下載模型,然後將其儲存在專案目錄中:
model_path = '/absolute/path/to/language_detector.tflite'
請使用 BaseOptions
物件 model_asset_path
參數指定模型路徑,如下所示:
base_options = BaseOptions(model_asset_path=model_path)
建立工作
MediaPipe 語言偵測工具工作會使用 create_from_options
函式設定工作。create_from_options
函式可接受設定選項的值,用來設定偵測工具選項。此外,您也可以使用 create_from_model_path
工廠函式來初始化工作。create_from_model_path
函式可接受已訓練模型檔案的相對或絕對路徑。如要進一步瞭解如何設定工作,請參閱「設定選項」。
下列程式碼示範如何建構及設定這項工作。
base_options = python.BaseOptions(model_asset_path=model_path)
options = text.LanguageDetectorOptions(base_options=base_options)
設定選項
這項工作的 Python 應用程式設定選項如下:
選項名稱 | 說明 | 值範圍 | 預設值 |
---|---|---|---|
max_results |
設定要傳回的得分最高語言預測結果 (選用) 數量上限。如果這個值小於零,系統會傳回所有可用的結果。 | 任何正數 | -1 |
score_threshold |
設定預測分數門檻,覆寫模型中繼資料 (如有) 中提供的分數門檻。這個值下方的結果遭到拒絕。 | 不限浮點值 | 未設定 |
category_allowlist |
設定允許的語言代碼清單 (選用)。如果不是空白,系統會篩除語言代碼未在此組合中的語言預測。這個選項與 category_denylist 互斥,且同時使用兩者會導致錯誤。 |
任何字串 | 未設定 |
category_denylist |
設定系統不接受的語言代碼清單 (選填)。如果不是空白,系統會篩除語言代碼在此組合中的語言預測。這個選項與 category_allowlist 互斥,且同時使用兩者會導致錯誤。 |
任何字串 | 未設定 |
準備資料
語言偵測工具處理文字 (str
) 資料。這項工作會處理資料輸入預先處理作業,包括代碼化和張量預先處理。所有預先處理作業都會在 detect
函式中處理。不需要事先對輸入文字進行額外的預先處理。
input_text = 'The input text to be classified.'
執行工作
語言偵測工具使用 detect
函式觸發推論。針對語言偵測作業,這意味著傳回輸入文字的可能語言。
下列程式碼示範如何使用工作模型執行處理。
with python.text.LanguageDetector.create_from_options(options) as detector:
detection_result = detector.detect(input_text)
處理並顯示結果
語言偵測工具會輸出 LanguageDetectorResult
,其中包含語言預測結果清單和這些預測結果的機率。以下為這項工作的輸出資料範例:
LanguageDetectorResult:
LanguagePrediction #0:
language_code: "fr"
probability: 0.999781
對輸入文字執行模型後,已取得這項結果:"Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent."
。
如需處理並以視覺化方式呈現這項工作結果所需的程式碼範例,請參閱 Python 範例應用程式。