ウェブの言語検出ガイド

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

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

サンプルコード

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

セットアップ

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

JavaScript パッケージ

Language Detector のコードは @mediapipe/tasks-text パッケージ化されています。これらのライブラリは、 プラットフォーム 設定ガイド

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

ローカル ステージング用に次のコードを使用して、必要なパッケージをインストールできます。 次のコマンドを使用します。

npm install @mediapipe/tasks-text

サーバーにデプロイする場合は、コンテンツ配信 ネットワーク(CDN)サービス(jsDelivr など)を 次のように、HTML ページに直接コードを追加します。

<head>
  <script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/index.js"
    crossorigin="anonymous"></script>
</head>

モデル

MediaPipe Language Detector タスクには、この変換と互換性のあるトレーニング済みモデルが必要です タスクを実行します。言語検出機能で利用可能なトレーニング済みモデルの詳細については、以下をご覧ください。 タスクの概要のモデル セクションをご覧ください。

モデルを選択してダウンロードし、プロジェクト ディレクトリに保存します。

<dev-project-root>/app/shared/models

baseOptions オブジェクト modelAssetPath を使用してモデルのパスを指定する 次のように指定します。

baseOptions: {
        modelAssetPath: `/app/shared/models/language_detector.tflite`
      }

タスクを作成する

言語検出機能の LanguageDetector.createFrom...() 関数を使用して、以下の操作を行います。 タスクを準備します。createFromModelPath() を使用できます。 トレーニング済みモデルファイルの相対パスまたは絶対パスで関数を呼び出します。コード 以下の例は、createFromOptions() 関数の使用方法を示しています。詳細 詳細については、このモジュールの 構成オプション

次のコードは、このタスクをビルドして構成する方法を示しています。

async function createDetector() {
  const textFiles = await FilesetResolver.forTextTasks(
      "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/wasm/");
  languageDetector = await languageDetector.createFromOptions(
    textFiles,
    {
      baseOptions: {
        modelAssetPath: `https://storage.googleapis.com/mediapipe-models/language_detector/language_detector/float32/1/language_detector.tflite`
      },
    }
  );
}
createDetector();

構成オプション

このタスクには、ウェブと JavaScript 用に次の構成オプションがあります。 アプリケーション:

オプション名 説明 値の範囲 デフォルト値
maxResults 最高スコアの言語予測の最大数をオプションで設定します。 戻ります。この値が 0 未満の場合、利用可能な結果がすべて返されます。 正の数 -1
scoreThreshold 予測スコアのしきい値を設定します。このしきい値は、 モデル メタデータ(存在する場合)この値を下回る結果は拒否されます。 任意の浮動小数点数 未設定
categoryAllowlist 使用できる言語コードのリスト(省略可)を設定します。空でない場合、 言語コードがこのセットに含まれない言語予測は、 フィルタで除外されますこのオプションは categoryDenylist を使用し、両方を使用するとエラーになります。 任意の文字列 未設定
categoryDenylist 許可されていない言語コードのリスト(省略可)を設定します。条件 空でない場合、言語コードがこのセットに含まれている言語予測がフィルタされます。 できます。このオプションは、categoryAllowlist および 両方を使用するとエラーになります。 任意の文字列 未設定

データの準備

言語検出機能はテキスト(string)データに対応しています。タスクは、 データ入力の前処理(トークン化やテンソルの前処理など) すべての前処理は detect 関数内で処理されます。データ アナリストが を使用して、入力テキストを事前に追加前処理します。

const inputText = "The input text for the detector.";

タスクを実行する

言語検出機能は、detect 関数を使用して推論をトリガーします。言語 つまり、入力テキストの言語候補を返します。

次のコードは、タスクで処理を実行する方法を示しています。 model:

// Wait to run the function until inner text is set
const detectionResult = languageDetector.detect(inputText);

結果の処理と表示

言語検出タスクは、リストで構成される 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."

この例では、Terraform の結果を処理して可視化するために必要なコードの 詳細については、 ウェブのサンプルアプリ