カスタム感情分析プロジェクトを作成する方法
この記事では、カスタム感情分析を開始するための要件を設定し、プロジェクトを作成する方法について説明します。
前提条件
カスタム感情分析の使用を開始する前に、次のものが必要です。
- Azure サブスクリプション - 無料で作成できます。
"言語" リソースを作成する
カスタム感情分析の使用を開始する前に、Azure 言語リソースが必要になります。 言語リソースを作成し、Azure portal でストレージ アカウントをそのリソースに接続することをお勧めします。 Azure portal でリソースを作成すると、必要なすべてのアクセス許可が事前に構成された状態で、Azure ストレージ アカウントを同時に作成できます。 記事を読み進めていくと、既存のリソースを使用する方法について学習でき、カスタム感情分析と連携するようにリソースを構成することもできます。
また、テキストを分類するモデルのトレーニングに使われる .txt
ドキュメントをアップロードする Azure ストレージ アカウントも必要です。
Note
- 言語リソースを作成するには、リソース グループに所有者ロールが割り当てられている必要があります。
- 既存のストレージ アカウントを接続する場合は、所有者ロールが割り当てられている必要があります。
言語リソースを作成し、ストレージ アカウントを接続する
注意
言語リソースにリンクされた後は、ストレージ アカウントを別のリソース グループまたはサブスクリプションに移動しないでください。
Azure portal から新しいリソースを作成します
Azure portal に移動し、新しい Azure AI Language リソースを作成します。
表示されるウィンドウで、カスタム機能からこのサービスを選択します。 画面の下部にある [続けてリソースの作成を行う] を選択します。
次の詳細を使用して言語リソースを作成します。
名前 説明 サブスクリプション Azure サブスクリプション。 リソース グループ リソースが格納されるリソース グループ。 既存のものを使用するか、新しく作成することができます。 リージョン 言語リソースのリージョン。 たとえば "米国西部 2" にします。 名前 リソースの名前。 Pricing tier 言語リソースの価格レベル。 Free (F0) レベルを利用してサービスを試用できます。 注意
"ログイン アカウントが選択したストレージ アカウントのリソース グループの所有者ではない" ことを通知するメッセージが表示された場合は、言語リソースを作成する前に、アカウントでそのリソース グループに所有者ロールを割り当てる必要があります。 Azure サブスクリプションの所有者に問い合わせてください。
このサービスのセクションで、既存のストレージ アカウントを選択するか、新しいストレージ アカウントを選択します。 これらの値は使用を開始するためのものであり、必ずしもご自分の運用環境で使用するストレージ アカウントの値でありません。 プロジェクトのビルド中の待機時間を回避するには、言語リソースと同じリージョンのストレージ アカウントに接続します。
ストレージ アカウントの値 推奨値 ストレージ アカウント名 任意の名前 ストレージ アカウントの種類 標準 LRS [責任ある AI の通知] がオンになっていることを確認します。 ページの下部にある [確認と作成] を選択して、[作成] を選択します。
Language Studio から新しい言語リソースを作成する
初めてログインするときは、既存の言語リソースを選択したり、新規に作成したりできるようにするウィンドウが Language Studio に表示されます。 また、右上隅にある設定アイコンをクリックし、 [リソース] を選び、 [新しいリソースを作成する] をクリックしてリソースを作成することもできます。
次の詳細を使用して言語リソースを作成します。
インスタンスの詳細 | 必須値 |
---|---|
Azure サブスクリプション | お使いの Azure サブスクリプション |
Azure リソース グループ | Azure リソース グループ |
Azure リソース名 | Azure リソース名 |
場所 | リージョン |
Pricing tier | 言語リソースの価格レベル。 |
重要
- Language リソースを作成する際は、必ず [マネージド ID] を有効にしてください。
- 責任ある AI 通知を読んで確認する
このサービスを使用するには、Azure ストレージ アカウントを作成する必要があります (このアカウントをまだ持っていない場合)。
PowerShell を使用して新しい言語リソースを作成する
新しいリソースとストレージ アカウントは、GitHub でホストされる次の CLI テンプレートとパラメーター ファイルを使用して作成できます。
パラメーター ファイルで次の値を編集します。
パラメーター名 | 値の説明 |
---|---|
name |
言語リソースの名前 |
location |
リソースがホストされているリージョン。 |
sku |
リソースの価格レベル。 |
storageResourceName |
ストレージ アカウントの名前 |
storageLocation |
ストレージ アカウントがホストされているリージョン。 |
storageSkuType |
ストレージ アカウントの SKU。 |
storageResourceGroupName |
ストレージ アカウントのリソース グループ |
次の PowerShell コマンドを使用して、編集したファイルと共に Azure Resource Manager (ARM) テンプレートをデプロイします。
New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup `
-TemplateFile <path-to-arm-template> `
-TemplateParameterFile <path-to-parameters-file>
テンプレートのデプロイとパラメーター ファイルについて詳しくは、ARM テンプレートのドキュメントを参照してください。
注意
- ストレージ アカウントを言語リソースに接続するプロセスは元に戻せず、後で切断することはできません。
- 言語リソースは 1 つのストレージ アカウントにのみ接続できます。
既存の言語リソースの使用
要件 | 説明 |
---|---|
地域 | リソースがない場合は、サポートされているリージョンに新しいリソースを作成する必要があります。 |
価格レベル | リソースの価格レベルです。 |
マネージド ID | リソースのマネージド ID 設定が有効になっていることを確認します。 それ以外の場合は、次のセクションを参照してください。 |
このサービスを使用するには、Azure ストレージ アカウントを作成する必要があります (このアカウントをまだ持っていない場合)。
リソースの ID 管理を有効にする
Azure portal を使用して有効にするには、言語リソースに ID 管理が必要です。
- 言語リソースに移動します
- 左側のメニューの [リソース管理] セクションで、[ID] を選択します
- [システム割り当て済み] タブで、必ず [状態] を [オン] に設定します
リソースのカスタム機能を有効にする
このサービスのカスタム機能を Azure portal から有効にしてください。
- Azure Portal で Language リソースに移動します
- 左側のメニューの [リソース管理] セクションで、[機能] を選択します
- このサービスのカスタム機能を有効にする
- ストレージ アカウントに接続します
- [適用] を選択します
重要
言語リソースで、接続しているストレージ アカウントにストレージ BLOB データ共同作成者ロールが割り当てられていることを確認します。
Azure AI Language のリソースとストレージ アカウントのロールを設定する
言語リソースとストレージ アカウントに必要なロールを設定するには、次の手順に従います。
Azure AI Language リソースのロール
Azure portal でストレージ アカウントまたは言語リソースに移動します。
左側のナビゲーション メニューで [アクセス制御 (IAM)] を選択します。
[追加] を選択してロールの割り当ての追加を行い、アカウントに適切なロールを選択します。
所有者または共同作成者のロールが言語リソースに割り当てられている必要があります。
[アクセスの割り当て先] 内で、[ユーザー、グループ、またはサービス プリンシパル] を選択します
[メンバーの選択] を選択します
ユーザー名を選択します。 [選択] フィールドでユーザー名を検索できます。 すべてのロールに対してこれを繰り返します。
このリソースへのアクセスが必要なすべてのユーザー アカウントに対して、これらの手順を繰り返します。
ストレージ アカウントのロール
- Azure portal でストレージ アカウントのページに移動します。
- 左側のナビゲーション メニューで [アクセス制御 (IAM)] を選択します。
- [追加] を選択して [ロールの割り当ての追加] を行い、ストレージ アカウントでストレージ BLOB データ所有者ロールを選択します。
- [アクセス権の割り当て先] 内で [マネージド ID] を選択します。
- [メンバーの選択] を選択します
- サブスクリプションを選択し、マネージド ID として [言語] を選択します。 [選択] フィールドでユーザー名を検索できます。
重要
仮想ネットワークまたはプライベート エンドポイントがある場合は、Azure portal で [信頼されたサービスの一覧にある Azure サービスがこのストレージ アカウントにアクセスすることを許可します] を選択してください。
自身のストレージ アカウントに対して CORS を有効にする
クロスオリジン リソース共有 (CORS) を有効にする場合は、必ず (GET、PUT、DELETE) メソッドを許可してください。
許可されたオリジン フィールドを https://language.cognitive.azure.com
に設定します。 許可されたヘッダー値に *
を追加してすべてのヘッダーを許可し、最大有効期間を 500
に設定します。
カスタム センチメント分析プロジェクトを作成する
リソースとストレージ コンテナーを構成したら、新しいカスタム センチメント分析プロジェクトを作成します。 プロジェクトは、データに基づいてカスタム AI モデルを構築するための作業領域です。 プロジェクトにアクセスできるのは、自分と、使用されている Azure リソースへのアクセス権を持つユーザーのみです。 ラベル付けされたデータがある場合は、データをインポートして開始できます。
Language Studio にサインインします。 サブスクリプションと言語リソースを選ぶためのウィンドウが表示されます。 上の手順で作成した言語リソースを選択します。
Language Studio で使用したい機能を選択します。
プロジェクト ページの上部メニューから、 [Create new project](新しいプロジェクトの作成) を選択します。 プロジェクトを作成すると、データのラベル付け、モデルのトレーニング、評価、改善、デプロイを実行できます。
名前、説明、プロジェクト内のファイルの言語など、プロジェクト情報を入力します。 サンプル データセットを使用する場合は、[英語] を選択します。 プロジェクトの名前は後で変更できません。 [次へ] を選択します
ヒント
データセットは、すべて同じ言語である必要はありません。 サポートされる言語がそれぞれ異なる複数のドキュメントを得ることができます。 データセットに異なる言語のドキュメントが含まれる場合や、実行時に異なる言語のテキストが必要になると考えられる場合は、プロジェクトの基本情報を入力するときに、[多言語データセットを有効にする] オプションを選択します。 このオプションは、後で [プロジェクトの設定] ページから有効にすることができます。
[新しいプロジェクトの作成] を選択すると、ストレージ アカウントを接続するためのウィンドウが表示されます。 既にストレージ アカウントを接続している場合は、そのストレージ アカウントが表示されます。 まだ接続していない場合は、表示されるドロップダウンからストレージ アカウントを選択し、[ストレージ アカウントの接続] を選択します。これにより、ストレージ アカウントに必要なロールが設定されます。 ストレージ アカウントの所有者として割り当てられていない場合、この手順でエラーが返される可能性があります。
Note
- この手順は、使用する新しいリソースごとに 1 回だけ行う必要があります。
- この処理は元に戻すことができません。ストレージ アカウントを言語リソースに接続すると、後で切断することはできません。
- 言語リソースは 1 つのストレージ アカウントにのみ接続できます。
データセットをアップロードしたコンテナーを選択します。
既にデータのラベル付けを完了している場合は、それがサポートされている形式に従っていることを確認し、[はい、ファイルは既にラベル付けされており、JSON ラベル ファイルを書式設定しています] を選択し、ドロップダウン メニューからラベル ファイルを選択します。 [次へ] を選択します。 クイックスタートのデータセットを使用している場合、JSON ラベル ファイルの書式設定を確認する必要はありません。
入力したデータを確認し、 [Create Project](プロジェクトの作成) を選びます。
カスタム感情分析プロジェクトをインポートする
Language Studio にサインインします。 サブスクリプションと言語リソースを選ぶためのウィンドウが表示されます。 言語リソースを選びます。
使用するフィーチャーを選択します。
プロジェクト ページの上部メニューから、 [Create new project](新しいプロジェクトの作成) を選択します。 プロジェクトを作成すると、データのラベル付け、モデルのトレーニング、評価、改善、デプロイを実行できます。
[新しいプロジェクトの作成] を選択すると、ストレージ アカウントを接続するための画面が表示されます。 ストレージ アカウントが見つからない場合は、推奨される手順を使ってリソースを作成したことを確認してください。 ストレージ アカウントを既に言語リソースに接続している場合は、接続されているストレージ アカウントが表示されます。
注意
- この手順は、使用する各言語リソースに対して 1 回のみ行う必要があります。
- この処理は元に戻すことができません。ストレージ アカウントを言語リソースに接続すると、後で切断することはできません。
- 言語リソースは 1 つのストレージ アカウントにのみ接続できます。
名前、説明、プロジェクト内のドキュメントの言語など、プロジェクトの情報を入力します。 プロジェクトの名前は後で変更できません。 [次へ] を選択します。
ヒント
データセットは、すべて同じ言語である必要はありません。 サポートされる言語がそれぞれ異なる複数のドキュメントを得ることができます。 データセットに異なる言語のドキュメントが含まれる場合や、実行時に異なる言語のテキストが必要になると考えられる場合は、プロジェクトの基本情報を入力するときに、[多言語データセットを有効にする] オプションを選択します。 このオプションは、後で [プロジェクトの設定] ページから有効にすることができます。
データセットをアップロードしたコンテナーを選択します。
[はい、ドキュメントは既にラベル付けされており、JSON ラベルファイルを書式設定しています] を選択し、下のドロップダウン メニューからラベル ファイルを選んで JSON ラベル ファイルをインポートします。
[次へ] を選択します。
入力したデータを確認し、 [Create Project](プロジェクトの作成) を選びます。
プロジェクトの詳細を取得する
Language Studio で [プロジェクト設定] ページに移動します。
プロジェクトの詳細を確認できます。
このページでは、プロジェクトの説明を更新し、プロジェクト設定で多言語データセットを有効または無効にすることができます。
また、言語リソースに接続されているストレージ アカウントとコンテナーを表示することもできます。
このページからリソースの主キーを取得することもできます。
プロジェクトの削除
プロジェクトが不要な場合は、Language Studio を使ってプロジェクトを削除できます。 上部で使用している機能を選択し、削除したいプロジェクトを選択します。 上部のメニューから [削除] を選んで、プロジェクトを削除します。