テキスト ラベル付けプロジェクトを設定してラベルをエクスポートする

Azure Machine Learning でデータのラベル付けプロジェクトを作成して実行し、テキスト データにラベル付けする方法について説明します。 各テキスト項目に適用する 1 つまたは複数のラベルを指定します。

Azure Machine Learning でデータのラベル付けツールを使用して、画像ラベル付けプロジェクトを作成することもできます。

テキスト ラベル付け機能

Azure Machine Learning のデータのラベル付けは、以下のように、データのラベル付けプロジェクトを作成、管理、監視するために使用できるツールです。 これは次の目的で使用されます。

  • データ、ラベル、チーム メンバーを調整して、ラベル付けタスクを効率的に管理する。
  • 進行状況を追跡し、未完了のラベル付けタスクのキューを維持する。
  • プロジェクトを開始および停止し、ラベル付けの進行状況を制御する。
  • ラベル付きのデータを確認し、Azure Machine Learning データセットとしてエクスポートする。

重要

Azure Machine Learning データ ラベル付けツールで操作するテキスト データは、Azure Blob Storage データストアで使用できる必要があります。 既存のデータストアがない場合は、プロジェクトの作成時にデータ ファイルを新しいデータストアにアップロードできます。

以下のデータ形式をテキスト データに使用できます。

  • .txt: 各ファイルはラベル付けされる 1 つの項目を表します。
  • .csv または .tsv: 各行は、ラベラーに示される 1 つの項目を表します。 行にラベル付けするときに、ラベラーが表示できる列を決定します。

前提条件

次の項目を使用して、Azure Machine Learning でテキストのラベル付けを設定します。

  • ローカル ファイルまたは Azure Blob Storage 内にあるラベル付け対象のデータ。
  • 適用するラベルのセット。
  • ラベル付けに関する指示。
  • Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
  • Azure Machine Learning ワークスペース。 Azure Machine Learning ワークスペースを作成する方法に関するページを参照してください。

テキスト ラベル付けプロジェクトの作成

ラベル付けプロジェクトは、Azure Machine Learning で管理します。 Machine Learning の [データのラベル付け] ページを使用して、プロジェクトを管理します。

データが既に Azure Blob Storage 内にある場合は、ラベル付けプロジェクトを作成する前に、それをデータストアとして使用できるようにします。

  1. プロジェクトを作成するには、 [プロジェクトの追加] を選択します。

  2. [プロジェクト名] に、プロジェクトの名前を入力します。

    プロジェクトを削除しても、そのプロジェクト名を再利用することはできません。

  3. テキスト ラベル付けプロジェクトを作成するには、[メディアの種類][テキスト] を選択します。

  4. [ラベル付けタスクの種類] で、シナリオのオプションを選択します。

    • 一連のラベルからテキストの各部分に 1 つのラベルのみを適用するには、[テキスト分類マルチクラス] を選択します。
    • 一連のラベルからテキストの各部分に 1 つ以上のラベルを適用するには、[テキスト分類マルチラベル] を選択します。
    • 各エントリの個々のテキスト単語または複数のテキスト単語にラベルを適用するには、[テキスト固有表現認識] を選択します。

    Screenshot that shows creating a labeling project for text labeling.

  5. [次へ] を選択して続行します。

従業員を追加する (省略可能)

Azure Marketplace からデータのラベル付け会社と契約している場合のみ、 [Azure Marketplace でベンダーのラベル付け会社を利用する] を選択します。 次に、ベンダーを選択します。 ベンダーがリストに表示されない場合は、このオプションを解除します。

必ず最初にベンダーに連絡してから、契約に署名してください。 詳細については、データのラベル付けベンダー企業との連携 (プレビュー) に関するページを参照してください。

[次へ] を選択して続行します。

データセットを選択または作成する

対象のデータが含まれるデータセットを既に作成済みの場合は、[既存のデータセットを選択します] ドロップダウンからそれを選択します。 [データセットを作成する] を選んで、既存の Azure データストアを使うか、ローカル ファイルをアップロードすることもできます。

注意

1 つのプロジェクトに 50 万個を超えるファイルを含めることはできません。 データセットのファイル数がこれを超える場合は、最初の 50 万件のファイルだけが読み込まれます。

Azure データストアからデータセットを作成する

多くの場合、ローカル ファイルをアップロードできます。 ただし、Azure Storage Explorer には、大量のデータをより高速かつ堅牢に転送する方法が用意されています。 既定のファイル移動方法としては、Storage Explorer をお勧めします。

Blob Storage に既に格納済みのデータからデータセットを作成するには:

  1. [作成] を選択します
  2. [名前] に、データセットの名前を入力します。 必要に応じて、説明を入力します。
  3. 次のように、データセットの種類を選択します。
    • .csv ファイルまたは .tsv ファイルを使用していて、各行に 1 つの応答が含まれる場合は、[表形式] を選びます。
    • 応答ごとに個別の .txt ファイルを使用している場合は、[ファイル] を選びます。
  4. [次へ] を選択します。
  5. [Azure ストレージから] を選んでから、[次へ] を選択します。
  6. データストアを選んでから、[次へ] を選択します。
  7. データがお使いの Blob Storage 内のサブフォルダーにある場合は、[参照] を選んでパスを選択します。
    • 選んだパスのサブフォルダー内にあるすべてのファイルを含めるには、パスに /** を追加します。
    • 現在のコンテナーとそのサブフォルダー内にあるすべてのデータを含めるには、**/*.* を追加します。
  8. [作成] を選択します
  9. 作成したデータ資産を選びます。

アップロードしたデータからデータセットを作成する

データを直接アップロードするには:

  1. [作成] を選択します
  2. [名前] に、データセットの名前を入力します。 必要に応じて、説明を入力します。
  3. 次のように、データセットの種類を選択します。
    • .csv ファイルまたは .tsv ファイルを使用していて、各行に 1 つの応答が含まれる場合は、[表形式] を選びます。
    • 応答ごとに個別の .txt ファイルを使用している場合は、[ファイル] を選びます。
  4. [次へ] を選択します。
  5. [ローカル ファイルから] を選んでから、[次へ] を選択します。
  6. (省略可能) データストアを選びます。 既定では、Machine Learning ワークスペースの既定の BLOB ストア (workspaceblobstore) にアップロードします。
  7. [次へ] を選択します。
  8. [アップロード]>[ファイルのアップロード] または [アップロード]>[フォルダーのアップロード] を選んで、アップロードするローカル ファイルまたはフォルダーを選択します。
  9. ブラウザー ウィンドウでファイルまたはフォルダーを見つけて、[開く] を選択します。
  10. すべてのファイルとフォルダーを指定するまで、[アップロード] を選択し続けます。
  11. 必要に応じて、[既に存在する場合は上書きする] チェック ボックスをオンにします。 ファイルおよびフォルダーの一覧を確認します。
  12. [次へ] を選択します。
  13. 詳細を確認します。 [戻る] を選択して設定を変更するか、[作成] を選択してデータセットを作成します。
  14. 最後に、作成したデータ資産を選びます。

増分更新を構成する

データセットに新しいデータ ファイルを追加する予定がある場合は、増分更新を使用して、新しいファイルをプロジェクトに追加します。

[一定の間隔での増分更新を有効にする] が設定されている場合、ラベル付けの完了率に基づいて、プロジェクトに追加する新しいファイルがないかどうかデータセットが定期的にチェックされます。 プロジェクトに最大 50 万個のファイルが含まれている場合、新しいデータのチェックは停止されます。

プロジェクトでデータストア内の新しいデータを継続的に監視する場合は、[一定の間隔での増分更新を有効にする] を選択します。

データストアの新しいファイルをプロジェクトに自動追加しない場合は、選択を解除します。

重要

更新するデータセットの新しいバージョンを作成しないでください。 自動追加する場合、データのラベル付けプロジェクトが初期バージョンにピン留めされているため、更新は表示されません。 代わりに、Azure Storage Explorer を使用して、Blob Storage 内の適切なフォルダーにあるデータを変更します。

また、データを削除しないでください。 プロジェクトで使用するデータセットからデータを削除すると、プロジェクトでエラーが発生します。

プロジェクトの作成後、[詳細] タブを使用して増分更新を変更し、最終更新のタイムスタンプを表示し、データの即時更新を要求します。

注意

表形式 (.csv または .tsv) データセット入力を使用するプロジェクトで増分更新を利用できます。 ただし、増分更新では新しい表形式ファイルのみが追加されます。 この更新では、既存の表形式ファイルに対する変更は認識されません。

ラベル カテゴリを指定する

[ラベル カテゴリ] ページで、データを分類するためのクラスのセットを指定します。

適切なクラスを選択できるかどうかは、ラベラーの正確さと速さに影響します。 たとえば、植物や動物の属や種を略さずに使用するのではなく、フィールド コードを使用したり属を省略したりします。

単純なリストを使用することも、ラベルのグループを作成することもできます。

  • 単純なリストを作成するには、[ラベル カテゴリの追加] を選択して各ラベルを作成します。

    Screenshot that shows how to add a flat structure of labels.

  • 異なるグループにラベルを作成するには、[ラベル カテゴリの追加] を選択して最上位レベルのラベルを作成します。 次に、各最上位レベルの下にあるプラス記号 (+) を選択して、そのカテゴリの次のレベルのラベルを作成します。 任意のグループに対して最大 6 つのレベルを作成できます。

    Screenshot that shows how to add groups of labels.

タグ付けプロセス中に、任意のレベルのラベルを選択できます。 たとえば、ラベル AnimalAnimal/CatAnimal/DogColorColor/BlackColor/WhiteColor/Silver は、すべてラベルの選択肢として使用できます。 マルチラベル プロジェクトでは、各カテゴリのいずれかを選択する必要はありません。 これを意図している場合は、手順にこの情報を含めてください。

テキスト ラベル付けタスクを説明する

ラベル付けタスクをわかりやすく説明することが重要です。 [ラベル付けの手順] ページで、ラベル付けの手順に関する外部サイトへのリンクを追加できます。または、ページ上のエディット ボックスに手順を入力することもできます。 指示は、タスク指向で、対象ユーザーに適したものにします。 次の質問を考慮してください。

  • どのようなラベルがラベラーに表示され、どのような方法で選択しますか。 参照する参照テキストはありますか。
  • 適切なラベルが見あたらない場合はどうすればよいですか。
  • 適切に見えるラベルが複数ある場合はどうすればよいですか。
  • どのような信頼度しきい値をラベルに適用する必要がありますか。 確実にわからない場合は、ラベラーに最善の推測で選択させますか。
  • 対象のオブジェクトが部分的にオクルージョンされている場合、または重なっている場合は、どうすればよいですか。
  • 対象のオブジェクトが画像の端によってクリップされている場合は、どうすればよいですか。
  • ラベルを送信した後に間違いに気付いた場合はどうすればよいですか。
  • 光の状態が良くない、反射している、ぼやけている、望ましくない背景が映り込んでいる、カメラの角度がおかしいなど、画質問題が判明した場合はどうしますか。
  • 複数のレビュー担当者がラベルの適用について異なる意見を持っている場合、どうしたらよいでしょうか。

注意

ラベラーは、番号キー 1 から 9 を使用して最初の 9 つのラベルを選択できます。

品質管理 (プレビュー)

より正確なラベルを取得するには、[品質管理] ページを使用して、各項目を複数のラベラーに送信します。

重要

合意ラベル付けは、現在、パブリック プレビュー段階にあります。

プレビュー バージョンはサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。

詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

各項目が複数のラベラーに送信されるようにするには、[合意によるラベル付けを有効にする (プレビュー)] を選択します。 次に、[最小ラベラー][最大ラベラー] の値を設定して、使用するラベラーの数を指定します。 最大数と同じ数のラベラーを使用できることを確認します。 プロジェクトの開始後にこれらの設定を変更することは "できません"。

ラベラーの最小数から合意に達すると、項目にラベルが付けられます。 合意に達しない場合、項目はさらに多くのラベラーに送信されます。 項目がラベラーの最大数に送られても合意に達しない場合、その状態は [レビューが必要] になり、プロジェクト所有者が項目のラベル付けの責任を持つことになります。

支援付き機械学習データ ラベル付けを使用する

ラベル付けタスクを高速化するために、[支援付き機械学習ラベル付け] ページで自動機械学習モデルをトリガーできます。 支援付き機械学習 (ML) ラベル付けは、ファイル (.txt) と表形式 (.csv) の両方のテキスト データ入力を処理できます。

ML によるラベル付けを使用するには、次のようにします。

  1. [ML Assist によるラベル付けを有効にする] を選びます。
  2. プロジェクトのデータセット言語を選びます。 この一覧に、TextDNNLanguages クラスでサポートされているすべての言語が表示されます。
  3. 使用するコンピューティング先を指定します。 ワークスペースにコンピューティング先がない場合は、コンピューティング クラスターが作成され、それがワークスペースに追加されます。 このクラスターは最小ノード数 0 で作成され、使用していないときはコストがかかりません。

支援付き機械学習ラベル付けに関する詳細情報

ラベル付けプロジェクトの開始時に、潜在的な偏りを減らすために、項目がランダムな順序にシャッフルされます。 ただし、トレーニング済みモデルには、データセットに存在する偏りが反映されます。 たとえば、項目の 80% が単一のクラスに属している場合、モデルのトレーニングに使用されるデータの約 80% は、そのクラスに属します。

支援付き機械学習ラベル付けで使用されるテキスト DNN モデルをトレーニングする際、トレーニングのサンプルごとの入力テキストは、ドキュメント内の最初の約 128 語に制限されています。 表形式入力の場合、この制限を適用する前に、すべてのテキスト列が連結されます。 この実用的な制限により、モデルのトレーニングを適切な時間内に完了できます。 ドキュメント内の実際のテキスト (ファイル入力の場合) またはテキスト列のセット (表形式入力の場合) は、128 語を超えることができます。 この制限は、トレーニング プロセス中にモデルで内部的に使用される内容にのみ関連します。

支援付きラベル付けを開始するために必要とされるラベル付けされた項目の数は固定されていません。 この数は、ラベル付けプロジェクトごとに大きく異なる場合があります。 この数は、ラベル クラスの数やラベルの分布など、多くの要因によって変動します。

合意ラベル付けを使っている場合は、トレーニングに合意ラベルが使われます。

最終的なラベルは依然としてラベラーからの入力に依存するため、この技術は "人間参加型" のラベル付けと呼ばれることがあります。

Note

支援付き機械学習データ ラベル付けでは、仮想ネットワークの内側でセキュリティ保護された既定のストレージ アカウントはサポートされません。 支援付き機械学習データ ラベル付けには、既定以外のストレージ アカウントを使用する必要があります。 既定以外のストレージ アカウントは、仮想ネットワークの背後でセキュリティ保護できます。

事前ラベル付け

トレーニング用に十分なラベルが送信されると、トレーニング済みのモデルを使用してタグが予測されます。 ラベラーには、各項目に既に存在する予測済みのラベルを示すページが表示されるようになります。 タスクには、ページの送信前にこれらの予測を確認し、間違ってラベル付けされた項目を修正する作業が含まれます。

手動でラベル付けされたデータで機械学習モデルのトレーニングが完了すると、モデルは手動でラベル付けされた項目のテスト セットで評価されます。 この評価は、異なるいくつかの信頼度しきい値でモデルの精度を判断するのに役立ちます。 事前ラベルを表示するだけの精度がモデルにあるかどうかの基準となる信頼度のしきい値は、この評価プロセスによって設定されます。 その後、このモデルは、ラベル付けされていないデータに対して評価されます。 予測の信頼度がこのしきい値を超える項目が、事前ラベル付けに使用されます。

テキスト ラベル付けプロジェクトを初期化する

ラベル付けプロジェクトが初期化された後、プロジェクトのいくつかの部分は変更できなくなります。 タスクの種類やデータセットを変更することはできません。 ラベルや、タスクの説明の URL は変更 "できます"。 プロジェクトを作成する前に、設定を慎重に確認してください。 プロジェクトを送信すると、[データのラベル付け] 概要ページに戻り、プロジェクトが [初期化中] と表示されます。

注意

このページは自動的に更新されない場合があります。 しばらくしてからページを手動で更新すると、プロジェクトの状態が [作成済み] と表示されます。

トラブルシューティング

プロジェクトの作成またはデータへのアクセスに関する問題については、データラベル付けのトラブルシューティングに関するページを参照してください。

次のステップ