MediaPipe 語言偵測工具工作可讓您找出一段文字的語言。這些 操作說明會示範如何搭配使用語言偵測器與 Python。程式碼範例 您可在 GitHub。
您可以前往 demo」。 進一步瞭解功能、模型和設定選項 請參閱總覽。
程式碼範例
語言偵測器的範例程式碼提供了 執行相關作業這個程式碼可協助您測試這項工作 您就可以開始打造自己的語言偵測功能您可以查看、執行 編輯語言偵測器 程式碼範例 只要使用網路瀏覽器即可。
設定
本節說明設定開發環境的重要步驟,以及 專門使用 Language Detector 的程式碼專案如需 設定開發環境以使用 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 語言偵測器工作需要一個與此相容的已訓練模型 工作。如要進一步瞭解語言偵測器可用的已訓練模型,請參閱: 工作總覽的「Models」(模型) 區段。
選取並下載模型,然後將模型儲存在專案目錄中:
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
) 資料。這個工作會處理資料輸入
預先處理作業,包括權杖化和 Tensor 預先處理所有語言
預先處理會在 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 範例應用程式。