Python の言語検出ガイド

MediaPipe Language Detector タスクを使用すると、テキストの言語を特定できます。これらの では、Python で言語検出機能を使用する方法について説明します。コードサンプル ここで説明する手順は、 GitHub

このタスクの動作を確認するには、 demo。 機能、モデル、構成オプションの詳細については、 概要をご覧ください。

サンプルコード

言語検出機能のサンプルコードは、この言語の検出機能を完全に実装したものです。 タスクを示しています。このコードは、このタスクをテストして、 では、独自の言語検出機能の構築を始めました。特定のリソースを表示、実行、 言語検出機能を編集 サンプルコード できます。

セットアップ

このセクションでは、開発環境をセットアップする主な手順と Language Detector を使用するコード プロジェクトを作成することにしました。一般的な情報については、 MediaPipe タスクを使用するための開発環境の設定 プラットフォーム バージョンの要件については、 Python のセットアップ ガイド

<ph type="x-smartling-placeholder">

パッケージ

言語検出機能は 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 Language Detector タスクでは、create_from_options 関数を使用して タスクを実行します。create_from_options 関数は構成の値を受け入れます。 検出項目を設定します。gcloud コマンドを使用してタスクを初期化することもできます。 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 最高スコアの言語予測の最大数をオプションで設定します。 戻ります。この値が 0 未満の場合、利用可能な結果がすべて返されます。 正の数 -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 サンプルアプリ