カスタム テキスト分類プロジェクトを作成する方法

この記事では、カスタム テキスト分類を開始するための要件を設定し、プロジェクトを作成する方法について説明します。

前提条件

カスタム テキスト分類の使用を開始する前に、次のものが必要です。

"言語" リソースを作成する

カスタム テキスト分類の使用を開始する前に、Azure AI Language リソースが必要になります。 言語リソースを作成し、Azure portal でストレージ アカウントをそのリソースに接続することをお勧めします。 Azure portal でリソースを作成すると、必要なすべてのアクセス許可が事前に構成された状態で、Azure ストレージ アカウントを同時に作成することができます。 また、既存のリソースを使う方法について記事をさらに参照し、カスタム テキスト分類と連携するように構成することもできます。

また、テキストを分類するモデルのトレーニングに使われる .txt ドキュメントをアップロードする Azure ストレージ アカウントも必要になります。

注意

  • 言語リソースを作成するには、リソース グループに所有者ロールが割り当てられている必要があります。
  • 既存のストレージ アカウントを接続する場合は、所有者ロールが割り当てられている必要があります。

言語リソースを作成し、ストレージ アカウントを接続する

注意

言語リソースにリンクされた後は、ストレージ アカウントを別のリソース グループまたはサブスクリプションに移動しないでください。

Azure portal から新しいリソースを作成します

  1. Azure portal に移動し、新しい Azure AI Language リソースを作成します。

  2. ウィンドウが表示されるので、カスタム機能から [カスタム テキスト分類とカスタム固有表現認識] を選びます。 画面の下部にある [続けてリソースの作成を行う] を選択します。

    A screenshot showing the selection option for custom text classification and custom named entity recognition in Azure portal.

  3. 次の詳細を使用して言語リソースを作成します。

    名前 必須値
    サブスクリプション Azure サブスクリプション。
    リソース グループ リソースが格納されるリソース グループ。 既存のものを使用するか、新しく作成することができます。
    リージョン サポートされているリージョンのいずれか。 たとえば、"米国西部 2" です。
    名前 リソースの名前。
    価格レベル サポートされている価格レベルのいずれか。 Free (F0) レベルを利用して、サービスを試用できます。

    "ログイン アカウントが選択したストレージ アカウントのリソース グループの所有者ではない" ことを通知するメッセージが表示された場合は、言語リソースを作成する前に、アカウントでそのリソース グループに所有者ロールを割り当てる必要があります。 Azure サブスクリプションの所有者に問い合わせてください。

    Azure サブスクリプションの所有者を確認するには、リソース グループを検索し、リンクに従ってそれに関連付けられているサブスクリプションに移動します。 その後、以下を実行します。

    1. [アクセス制御 (IAM)] タブを選びます
    2. [ロールの割り当て] を選びます
    3. Role:Owner でフィルター処理します。
  4. [カスタム テキスト分類とカスタム固有表現認識] セクションで、既存のストレージ アカウントを選ぶか、[新しいストレージ アカウント] を選びます。 これらの値は使用を開始するためのものであり、必ずしもご自分の運用環境で使用するストレージ アカウントの値ではないことに注意してください。 プロジェクトのビルド中の待機時間を回避するには、言語リソースと同じリージョンのストレージ アカウントに接続します。

    ストレージ アカウントの値 推奨値
    ストレージ アカウント名 任意の名前
    ストレージ アカウントの種類 標準 LRS
  5. [責任ある AI の通知] がオンになっていることを確認します。 ページ下部にある [確認と作成] を選択します。

注意

  • ストレージ アカウントを言語リソースに接続するプロセスは元に戻せず、後で切断することはできません。
  • 言語リソースは 1 つのストレージ アカウントにのみ接続できます。

既存の言語リソースの使用

要件 説明
リージョン サポートされているリージョンのいずれかで既存のリソースがプロビジョニングされていることを確認します。 リソースがない場合は、サポートされているリージョンに新しいリソースを作成する必要があります。
価格レベル リソースの価格レベル
マネージド ID リソースのマネージド ID 設定が有効になっていることを確認します。 それ以外の場合は、次のセクションを参照してください。

カスタム テキスト分類を使うには、お持ちでない場合は Azure ストレージ アカウントを作成する必要があります。

リソースの ID 管理を有効にする

Azure portal を使用して有効にするには、言語リソースに ID 管理が必要です。

  1. 言語リソースに移動します
  2. 左側のメニューの [リソース管理] セクションで、[ID] を選択します
  3. [システム割り当て済み] タブで、必ず [状態][オン] に設定します

カスタム テキスト分類機能を有効にする

Azure portal からカスタムテキスト分類/カスタム固有表現認識機能を有効にしてください。

  1. Azure Portal で Language リソースに移動します
  2. 左側のメニューの [リソース管理] セクションで、[機能] を選択します
  3. カスタム テキスト分類またはカスタム固有表現認識機能を有効にします
  4. ストレージ アカウントに接続します
  5. [適用] を選択します

重要

  • 言語リソースで、接続しているストレージ アカウントにストレージ BLOB データ共同作成者ロールが割り当てられていることを確認します。

Azure AI Language のリソースとストレージ アカウントのロールを設定する

言語リソースとストレージ アカウントに必要なロールを設定するには、次の手順に従います。

An animated image showing how to set roles in the Azure portal.

Azure AI Language リソースのロール

  1. Azure portal でストレージ アカウントまたは言語リソースに移動します。

  2. 左側のナビゲーション メニューで [アクセス制御 (IAM)] を選択します。

  3. [追加] を選択してロールの割り当ての追加を行い、アカウントに適切なロールを選択します。

    所有者または共同作成者のロールが言語リソースに割り当てられている必要があります。

  4. [アクセスの割り当て先] 内で、[ユーザー、グループ、またはサービス プリンシパル] を選択します

  5. [メンバーの選択] を選択します

  6. ユーザー名を選択します。 [選択] フィールドでユーザー名を検索できます。 すべてのロールに対してこれを繰り返します。

  7. このリソースへのアクセスが必要なすべてのユーザー アカウントに対して、これらの手順を繰り返します。

ストレージ アカウントのロール

  1. Azure portal でストレージ アカウントのページに移動します。
  2. 左側のナビゲーション メニューで [アクセス制御 (IAM)] を選択します。
  3. [追加] を選択して [ロールの割り当ての追加] を行い、ストレージ アカウントでストレージ BLOB データ所有者ロールを選択します。
  4. [アクセス権の割り当て先] 内で [マネージド ID] を選択します。
  5. [メンバーの選択] を選択します
  6. サブスクリプションを選択し、マネージド ID として [言語] を選択します。 [選択] フィールドでユーザー名を検索できます。

重要

仮想ネットワークまたはプライベート エンドポイントがある場合は、Azure portal で [信頼されたサービスの一覧にある Azure サービスがこのストレージ アカウントにアクセスすることを許可します] を選択してください。

自身のストレージ アカウントに対して CORS を有効にする

クロスオリジン リソース共有 (CORS) を有効にする場合は、必ず (GET、PUT、DELETE) メソッドを許可してください。 許可されたオリジン フィールドを https://language.cognitive.azure.com に設定します。 許可されたヘッダー値に * を追加してすべてのヘッダーを許可し、最大有効期間を 500 に設定します。

A screenshot showing how to use CORS for storage accounts.

カスタム テキスト分類プロジェクトを作成する

リソースとストレージ コンテナーが構成されたら、新しいカスタム テキスト分類プロジェクトを作成します。 プロジェクトは、データに基づいてカスタム AI モデルを構築するための作業領域です。 プロジェクトにアクセスできるのは、自分と、使用されている Azure リソースへのアクセス権を持つユーザーのみです。 ラベル付けされたデータがある場合は、データをインポートして開始できます。

  1. Language Studio にサインインします。 サブスクリプションと言語リソースを選ぶためのウィンドウが表示されます。 言語リソースを選びます。

  2. Language Studio の [テキストの分類] セクションで、[カスタム テキストの分類] を選択します。

    A screenshot showing the location of custom text classification in the Language Studio landing page.

  3. プロジェクト ページの上部メニューから、 [Create new project](新しいプロジェクトの作成) を選択します。 プロジェクトを作成すると、データのラベル付け、モデルのトレーニング、評価、改善、デプロイを実行できます。

    A screenshot of the custom text classification project creation page.

  4. [新しいプロジェクトの作成] をクリックすると、ストレージ アカウントを接続するためのウィンドウが表示されます。 既にストレージ アカウントを接続している場合は、そのストレージ アカウントが表示されます。 まだ接続していない場合は、表示されるドロップダウンからストレージ アカウントを選択し、[ストレージ アカウントの接続] を選択します。これにより、ストレージ アカウントに必要なロールが設定されます。 ストレージ アカウントの所有者として割り当てられていない場合、この手順でエラーが返される可能性があります。

    注意

    • この手順は、使用する各言語リソースに対して 1 回のみ行う必要があります。
    • この処理は元に戻すことができません。ストレージ アカウントを言語リソースに接続すると、後で切断することはできません。
    • 言語リソースは 1 つのストレージ アカウントにのみ接続できます。

    A screenshot of the storage connection screen for custom classification projects.

  5. プロジェクト タイプを選択します。 各ドキュメントが 1 つまたは複数のクラスに属することができる複数ラベル分類プロジェクト、または各ドキュメントが 1 つのクラスにのみ属することができる単一ラベル分類プロジェクトのいずれかを作成できます。 選択したタイプを後で変更することはできません。 プロジェクトの種類の詳細

    A screenshot of the available custom classification project types.

  6. 名前、説明、プロジェクト内のドキュメントの言語など、プロジェクトの情報を入力します。 サンプル データセットを使用する場合は、[英語] を選択します。 プロジェクトの名前は後で変更できません。 [次へ] を選択します。

    ヒント

    データセットは、すべて同じ言語である必要はありません。 サポートされる言語がそれぞれ異なる複数のドキュメントを得ることができます。 データセットに異なる言語のドキュメントが含まれる場合や、実行時に異なる言語のテキストが必要になると考えられる場合は、プロジェクトの基本情報を入力するときに、[多言語データセットを有効にする] オプションを選択します。 このオプションは、後で [プロジェクトの設定] ページから有効にすることができます。

  7. データセットをアップロードしたコンテナーを選択します。

    注意

    データが既にラベル付けされている場合は、サポートされている形式に従っていることを確認し、[はい、ドキュメントは既にラベル付けされており、JSON ラベル ファイルを書式設定しています] を選択し、下のドロップダウン メニューからラベル ファイルを選択します。

    データセットの例のいずれかを使っている場合は、含まれる webOfScience_labelsFile または movieLabels の json ファイルを使います。 [次へ] を選択します。

  8. 入力したデータを確認し、 [Create Project](プロジェクトの作成) を選びます。

カスタム テキスト分類プロジェクトをインポートする

既にデータにラベルを付けた場合は、それを使用してサービスの使用を開始できます。 ラベル付けされたデータが、許容されるデータ形式に従っていることを確認します。

  1. Language Studio にサインインします。 サブスクリプションと言語リソースを選ぶためのウィンドウが表示されます。 言語リソースを選びます。

  2. Language Studio の [テキストの分類] セクションで、[カスタム テキストの分類] を選択します。

    A screenshot showing the location of custom text classification in the Language Studio landing page.

  3. プロジェクト ページの上部メニューから、 [Create new project](新しいプロジェクトの作成) を選択します。 プロジェクトを作成すると、データのラベル付け、モデルのトレーニング、評価、改善、デプロイを実行できます。

    A screenshot of the project creation page.

  4. [新しいプロジェクトの作成] を選択すると、ストレージ アカウントを接続するための画面が表示されます。 ストレージ アカウントが見つからない場合は、推奨される手順を使ってリソースを作成したことを確認してください。 ストレージ アカウントを既に言語リソースに接続している場合は、接続されているストレージ アカウントが表示されます。

    注意

    • この手順は、使用する各言語リソースに対して 1 回のみ行う必要があります。
    • この処理は元に戻すことができません。ストレージ アカウントを言語リソースに接続すると、後で切断することはできません。
    • 言語リソースは 1 つのストレージ アカウントにのみ接続できます。

    A screenshot of the storage connection screen for custom classification projects.

  5. プロジェクト タイプを選択します。 各ドキュメントが 1 つまたは複数のクラスに属することができる複数ラベル分類プロジェクト、または各ドキュメントが 1 つのクラスにのみ属することができる単一ラベル分類プロジェクトのいずれかを作成できます。 選択したタイプを後で変更することはできません。

    A screenshot of the available custom classification project types.

  6. 名前、説明、プロジェクト内のドキュメントの言語など、プロジェクトの情報を入力します。 プロジェクトの名前は後で変更できません。 [次へ] を選択します。

    ヒント

    データセットは、すべて同じ言語である必要はありません。 サポートされる言語がそれぞれ異なる複数のドキュメントを得ることができます。 データセットに異なる言語のドキュメントが含まれる場合や、実行時に異なる言語のテキストが必要になると考えられる場合は、プロジェクトの基本情報を入力するときに、[多言語データセットを有効にする] オプションを選択します。 このオプションは、後で [プロジェクトの設定] ページから有効にすることができます。

  7. データセットをアップロードしたコンテナーを選択します。

  8. [はい、ドキュメントは既にラベル付けされており、JSON ラベルファイルを書式設定しています] を選択し、下のドロップダウン メニューからラベル ファイルを選んで JSON ラベル ファイルをインポートします。 サポートされている形式に従っていることを確認します。

  9. [次へ] を選択します。

  10. 入力したデータを確認し、 [Create Project](プロジェクトの作成) を選びます。

プロジェクトの詳細を取得する

  1. Language Studio[プロジェクト設定] ページに移動します。

  2. プロジェクトの詳細を確認できます。

  3. このページでは、プロジェクトの説明を更新し、プロジェクト設定で多言語データセットを有効または無効にすることができます。

  4. また、言語リソースに接続されているストレージ アカウントとコンテナーを表示することもできます。

  5. このページからリソースの主キーを取得することもできます。

    A screenshot of the project settings page.

プロジェクトの削除

プロジェクトが不要な場合は、Language Studio を使ってプロジェクトを削除できます。 上部の [カスタム テキスト分類] を選び、削除するプロジェクトを選びます。 上部のメニューから [削除] を選択して、プロジェクトを削除します。

次の手順

  • データのラベル付けに使うプロジェクト スキーマを把握しておく必要があります。

  • プロジェクトが作成されたら、データへのラベル付けを開始できます。これにより、テキスト分類モデルにテキストを解釈する方法が伝えられ、トレーニングと評価に使われます。