この記事では、カスタム テキスト分類を開始するための要件を設定し、プロジェクトを作成する方法について説明します。
前提条件
カスタム テキスト分類の使用を開始する前に、次のものが必要です。
"言語" リソースを作成する
カスタム テキスト分類の使用を開始する前に、Azure AI Language リソースが必要になります。 言語リソースを作成し、Azure portal でストレージ アカウントをそのリソースに接続することをお勧めします。 Azure portal でリソースを作成すると、必要なすべてのアクセス許可が事前に構成された状態で、Azure ストレージ アカウントを同時に作成することができます。 また、既存のリソースを使う方法について記事をさらに参照し、カスタム テキスト分類と連携するように構成することもできます。
また、テキストを分類するモデルのトレーニングに使われる .txt
ドキュメントをアップロードする Azure ストレージ アカウントも必要になります。
注意
- 言語リソースを作成するには、リソース グループに所有者ロールが割り当てられている必要があります。
- 既存のストレージ アカウントを接続する場合は、所有者ロールが割り当てられている必要があります。
言語リソースを作成し、ストレージ アカウントを接続する
注意
言語リソースにリンクされた後は、ストレージ アカウントを別のリソース グループまたはサブスクリプションに移動しないでください。
Azure portal から新しいリソースを作成します
Azure portal に移動し、新しい Azure AI Language リソースを作成します。
ウィンドウが表示されるので、カスタム機能から [カスタム テキスト分類とカスタム固有表現認識] を選びます。 画面の下部にある [続けてリソースの作成を行う] を選択します。
次の詳細を使用して言語リソースを作成します。
名前 |
必須値 |
サブスクリプション |
Azure サブスクリプション。 |
リソース グループ |
リソースが格納されるリソース グループ。 既存のものを使用するか、新しく作成することができます。 |
リージョン |
サポートされているリージョンのいずれか。 たとえば、"米国西部 2" です。 |
名前 |
リソースの名前。 |
価格レベル |
サポートされている価格レベルのいずれか。 Free (F0) レベルを利用して、サービスを試用できます。 |
"ログイン アカウントが選択したストレージ アカウントのリソース グループの所有者ではない" ことを通知するメッセージが表示された場合は、言語リソースを作成する前に、アカウントでそのリソース グループに所有者ロールを割り当てる必要があります。 Azure サブスクリプションの所有者に問い合わせてください。
Azure サブスクリプションの所有者を確認するには、リソース グループを検索し、リンクに従ってそれに関連付けられているサブスクリプションに移動します。 その後、以下を実行します。
- [アクセス制御 (IAM)] タブを選びます
- [ロールの割り当て] を選びます
- Role:Owner でフィルター処理します。
[カスタム テキスト分類とカスタム固有表現認識] セクションで、既存のストレージ アカウントを選ぶか、[新しいストレージ アカウント] を選びます。 これらの値は使用を開始するためのものであり、必ずしもご自分の運用環境で使用するストレージ アカウントの値ではないことに注意してください。 プロジェクトのビルド中の待機時間を回避するには、言語リソースと同じリージョンのストレージ アカウントに接続します。
ストレージ アカウントの値 |
推奨値 |
ストレージ アカウント名 |
任意の名前 |
ストレージ アカウントの種類 |
標準 LRS |
[責任ある AI の通知] がオンになっていることを確認します。 ページ下部にある [確認と作成] を選択します。
Language Studio から新しい言語リソースを作成する
初めてログインするときは、既存の言語リソースを選択したり、新規に作成したりできるようにするウィンドウが Language Studio に表示されます。 また、右上隅にある設定アイコンをクリックし、 [リソース] を選び、 [新しいリソースを作成する] をクリックしてリソースを作成することもできます。
次の詳細を使用して言語リソースを作成します。
インスタンスの詳細 |
必須値 |
Azure サブスクリプション |
お使いの Azure サブスクリプション |
Azure リソース グループ |
Azure リソース グループ |
Azure リソース名 |
Azure リソース名 |
場所 |
言語リソースのリージョン。 |
価格レベル |
言語リソースの価格レベル。 |
重要
- Language リソースを作成する際は、必ず [マネージド ID] を有効にしてください。
- 責任ある AI 通知を読んで確認する
カスタム テキスト分類を使用するには、リソースをストレージ アカウントに接続する必要があります。 Azure ストレージ アカウントがない場合は作成します。 最初のプロジェクトを作成し、ストレージ アカウントを接続するには、次の手順に従います。
Language Studio にサインインします。 サブスクリプションと言語リソースを選ぶためのウィンドウが表示されます。 言語リソースを選びます。
Language Studio の [テキストの分類] セクションで、[カスタム テキストの分類] を選択します。
プロジェクト ページの上部メニューから、 [Create new project](新しいプロジェクトの作成) を選択します。 プロジェクトを作成すると、データのラベル付け、モデルのトレーニング、評価、改善、デプロイを実行できます。
[新しいプロジェクトの作成] をクリックすると、ストレージ アカウントを接続するためのウィンドウが表示されます。 既にストレージ アカウントを接続している場合は、そのストレージ アカウントが表示されます。 まだ接続していない場合は、表示されるドロップダウンからストレージ アカウントを選択し、[ストレージ アカウントの接続] を選択します。これにより、ストレージ アカウントに必要なロールが設定されます。 ストレージ アカウントの所有者として割り当てられていない場合、この手順でエラーが返される可能性があります。
注意
- この手順は、使用する各言語リソースに対して 1 回のみ行う必要があります。
- この処理は元に戻すことができません。ストレージ アカウントを言語リソースに接続すると、後で切断することはできません。
- 言語リソースは 1 つのストレージ アカウントにのみ接続できます。
プロジェクト タイプを選択します。 各ドキュメントが 1 つまたは複数のクラスに属することができる複数ラベル分類プロジェクト、または各ドキュメントが 1 つのクラスにのみ属することができる単一ラベル分類プロジェクトのいずれかを作成できます。 選択したタイプを後で変更することはできません。 プロジェクトの種類の詳細
名前、説明、プロジェクト内のドキュメントの言語など、プロジェクトの情報を入力します。 サンプル データセットを使用する場合は、[英語] を選択します。 プロジェクトの名前は後で変更できません。 [次へ] を選択します。
ヒント
データセットは、すべて同じ言語である必要はありません。 サポートされる言語がそれぞれ異なる複数のドキュメントを得ることができます。 データセットに異なる言語のドキュメントが含まれる場合や、実行時に異なる言語のテキストが必要になると考えられる場合は、プロジェクトの基本情報を入力するときに、[多言語データセットを有効にする] オプションを選択します。 このオプションは、後で [プロジェクトの設定] ページから有効にすることができます。
データセットをアップロードしたコンテナーを選択します。
注意
データが既にラベル付けされている場合は、サポートされている形式に従っていることを確認し、[はい、ドキュメントは既にラベル付けされており、JSON ラベル ファイルを書式設定しています] を選択し、下のドロップダウン メニューからラベル ファイルを選択します。
データセットの例のいずれかを使っている場合は、含まれる webOfScience_labelsFile
または movieLabels
の json ファイルを使います。 [次へ] を選択します。
入力したデータを確認し、 [Create Project](プロジェクトの作成) を選びます。
新しいリソースとストレージ アカウントは、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] を選択します
- [システム割り当て済み] タブで、必ず [状態] を [オン] に設定します
Language Studio を使用して有効にするには、言語リソースに ID 管理が必要です。
- 画面の右上隅の設定アイコンを選択します
- [リソース] を選択します
- Azure AI Language リソースの [マネージド 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](新しいプロジェクトの作成) を選択します。 プロジェクトを作成すると、データのラベル付け、モデルのトレーニング、評価、改善、デプロイを実行できます。
[新しいプロジェクトの作成] をクリックすると、ストレージ アカウントを接続するためのウィンドウが表示されます。 既にストレージ アカウントを接続している場合は、そのストレージ アカウントが表示されます。 まだ接続していない場合は、表示されるドロップダウンからストレージ アカウントを選択し、[ストレージ アカウントの接続] を選択します。これにより、ストレージ アカウントに必要なロールが設定されます。 ストレージ アカウントの所有者として割り当てられていない場合、この手順でエラーが返される可能性があります。
注意
- この手順は、使用する各言語リソースに対して 1 回のみ行う必要があります。
- この処理は元に戻すことができません。ストレージ アカウントを言語リソースに接続すると、後で切断することはできません。
- 言語リソースは 1 つのストレージ アカウントにのみ接続できます。
プロジェクト タイプを選択します。 各ドキュメントが 1 つまたは複数のクラスに属することができる複数ラベル分類プロジェクト、または各ドキュメントが 1 つのクラスにのみ属することができる単一ラベル分類プロジェクトのいずれかを作成できます。 選択したタイプを後で変更することはできません。 プロジェクトの種類の詳細
名前、説明、プロジェクト内のドキュメントの言語など、プロジェクトの情報を入力します。 サンプル データセットを使用する場合は、[英語] を選択します。 プロジェクトの名前は後で変更できません。 [次へ] を選択します。
ヒント
データセットは、すべて同じ言語である必要はありません。 サポートされる言語がそれぞれ異なる複数のドキュメントを得ることができます。 データセットに異なる言語のドキュメントが含まれる場合や、実行時に異なる言語のテキストが必要になると考えられる場合は、プロジェクトの基本情報を入力するときに、[多言語データセットを有効にする] オプションを選択します。 このオプションは、後で [プロジェクトの設定] ページから有効にすることができます。
データセットをアップロードしたコンテナーを選択します。
注意
データが既にラベル付けされている場合は、サポートされている形式に従っていることを確認し、[はい、ドキュメントは既にラベル付けされており、JSON ラベル ファイルを書式設定しています] を選択し、下のドロップダウン メニューからラベル ファイルを選択します。
データセットの例のいずれかを使っている場合は、含まれる webOfScience_labelsFile
または movieLabels
の json ファイルを使います。 [次へ] を選択します。
入力したデータを確認し、 [Create Project](プロジェクトの作成) を選びます。
カスタム テキスト分類モデルを作り始めるには、プロジェクトを作成する必要があります。 プロジェクトを作成すると、データのラベル付け、モデルのトレーニング、評価、改善、デプロイを実行できます。
注意
プロジェクト名は、すべての操作で大文字と小文字が区別されます。
プロジェクトを作成するには、次の URL、ヘッダー、JSON 本文を使って PATCH 要求を作成します。
要求 URL
次の URL を使用してプロジェクトを作成します。 次のプレースホルダーの値を実際の値に置き換えてください。
{Endpoint}/language/authoring/analyze-text/projects/{projectName}?api-version={API-VERSION}
プレースホルダー |
値 |
例 |
{ENDPOINT} |
API 要求を認証するためのエンドポイント。 |
https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 |
myProject |
{API-VERSION} |
呼び出している API のバージョン。 ここで参照される値は、リリース済みの最新バージョン用です。 使用可能な他の API バージョンの詳細については、モデルのライフサイクルに関するページを参照してください。 |
2022-05-01 |
要求を認証するには、次のヘッダーを使います。
Key |
値 |
Ocp-Apim-Subscription-Key |
リソースへのキー。 API 要求の認証に使われます。 |
Body
要求では次の JSON を使います。 次のプレースホルダーの値を実際の値に置き換えてください。
{
"projectName": "{PROJECT-NAME}",
"language": "{LANGUAGE-CODE}",
"projectKind": "customMultiLabelClassification",
"description": "Project description",
"multilingual": "True",
"storageInputContainerName": "{CONTAINER-NAME}"
}
Key |
プレースホルダー |
値 |
例 |
projectName |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 |
myProject |
language |
{LANGUAGE-CODE} |
プロジェクトで使用されるドキュメントの言語コードを指定する文字列。 プロジェクトが多言語プロジェクトの場合は、ほとんどのドキュメントの言語コードを選択します。 サポートされている言語コードの詳細については、言語サポートをご覧ください。 |
en-us |
projectKind |
customMultiLabelClassification |
プロジェクトの種類。 |
customMultiLabelClassification |
複数言語 |
true |
データセットに複数の言語のドキュメントを含め、モデルをデプロイするときに、サポートされている任意の言語 (トレーニング ドキュメントに含まれているとは限りません) でモデルにクエリを実行できるブール値です。 多言語サポートの詳細については、言語サポートをご覧ください。 |
true |
storageInputContainerName |
{CONTAINER-NAME} |
ドキュメントをアップロードした Azure ストレージ コンテナーの名前。 |
myContainer |
{
"projectName": "{PROJECT-NAME}",
"language": "{LANGUAGE-CODE}",
"projectKind": "customSingleLabelClassification",
"description": "Project description",
"multilingual": "True",
"storageInputContainerName": "{CONTAINER-NAME}"
}
キー |
プレースホルダー |
値 |
例 |
projectName |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 |
myProject |
language |
{LANGUAGE-CODE} |
プロジェクトで使用されるドキュメントの言語コードを指定する文字列。 プロジェクトが多言語プロジェクトの場合は、ほとんどのドキュメントの言語コードを選択します。 サポートされている言語コードの詳細については、言語サポートをご覧ください。 |
en-us |
projectKind |
customSingleLabelClassification |
プロジェクトの種類。 |
customSingleLabelClassification |
複数言語 |
true |
データセットに複数の言語のドキュメントを含め、モデルをデプロイするときに、サポートされている任意の言語 (トレーニング ドキュメントに含まれているとは限りません) でモデルにクエリを実行できるブール値です。 多言語サポートの詳細については、言語サポートをご覧ください。 |
true |
storageInputContainerName |
{CONTAINER-NAME} |
ドキュメントをアップロードした Azure ストレージ コンテナーの名前。 |
myContainer |
この要求は 201 応答を返します。つまり、プロジェクトが作成されたことを意味します。
次の場合、この要求からはエラーが返されます。
- 選んだリソースに、ストレージ アカウントに対する適切なアクセス許可がありません。
カスタム テキスト分類プロジェクトをインポートする
既にデータにラベルを付けた場合は、それを使用してサービスの使用を開始できます。 ラベル付けされたデータが、許容されるデータ形式に従っていることを確認します。
Language Studio にサインインします。 サブスクリプションと言語リソースを選ぶためのウィンドウが表示されます。 言語リソースを選びます。
Language Studio の [テキストの分類] セクションで、[カスタム テキストの分類] を選択します。
プロジェクト ページの上部メニューから、 [Create new project](新しいプロジェクトの作成) を選択します。 プロジェクトを作成すると、データのラベル付け、モデルのトレーニング、評価、改善、デプロイを実行できます。
[新しいプロジェクトの作成] を選択すると、ストレージ アカウントを接続するための画面が表示されます。 ストレージ アカウントが見つからない場合は、推奨される手順を使ってリソースを作成したことを確認してください。 ストレージ アカウントを既に言語リソースに接続している場合は、接続されているストレージ アカウントが表示されます。
注意
- この手順は、使用する各言語リソースに対して 1 回のみ行う必要があります。
- この処理は元に戻すことができません。ストレージ アカウントを言語リソースに接続すると、後で切断することはできません。
- 言語リソースは 1 つのストレージ アカウントにのみ接続できます。
プロジェクト タイプを選択します。 各ドキュメントが 1 つまたは複数のクラスに属することができる複数ラベル分類プロジェクト、または各ドキュメントが 1 つのクラスにのみ属することができる単一ラベル分類プロジェクトのいずれかを作成できます。 選択したタイプを後で変更することはできません。
名前、説明、プロジェクト内のドキュメントの言語など、プロジェクトの情報を入力します。 プロジェクトの名前は後で変更できません。 [次へ] を選択します。
ヒント
データセットは、すべて同じ言語である必要はありません。 サポートされる言語がそれぞれ異なる複数のドキュメントを得ることができます。 データセットに異なる言語のドキュメントが含まれる場合や、実行時に異なる言語のテキストが必要になると考えられる場合は、プロジェクトの基本情報を入力するときに、[多言語データセットを有効にする] オプションを選択します。 このオプションは、後で [プロジェクトの設定] ページから有効にすることができます。
データセットをアップロードしたコンテナーを選択します。
[はい、ドキュメントは既にラベル付けされており、JSON ラベルファイルを書式設定しています] を選択し、下のドロップダウン メニューからラベル ファイルを選んで JSON ラベル ファイルをインポートします。 サポートされている形式に従っていることを確認します。
[次へ] を選択します。
入力したデータを確認し、 [Create Project](プロジェクトの作成) を選びます。
ラベル ファイルをインポートするには、次の URL、ヘッダー、JSON 本文を使って POST 要求を送信します。 ラベル ファイルが、許容される形式に従っていることを確認してください。
同じ名前のプロジェクトが既に存在する場合は、そのプロジェクトのデータを置き換えます。
{Endpoint}/language/authoring/analyze-text/projects/{projectName}/:import?api-version={API-VERSION}
プレースホルダー |
値 |
例 |
{ENDPOINT} |
API 要求を認証するためのエンドポイント。 |
https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 |
myProject |
{API-VERSION} |
呼び出している API のバージョン。 ここで参照される値は、リリース済みの最新バージョン用です。 その他の利用可能な API バージョンの詳細を確認する |
2022-05-01 |
要求を認証するには、次のヘッダーを使います。
Key |
値 |
Ocp-Apim-Subscription-Key |
リソースへのキー。 API 要求の認証に使われます。 |
Body
要求では次の JSON を使います。 次のプレースホルダーの値を実際の値に置き換えてください。
{
"projectFileVersion": "{API-VERSION}",
"stringIndexType": "Utf16CodeUnit",
"metadata": {
"projectName": "{PROJECT-NAME}",
"storageInputContainerName": "{CONTAINER-NAME}",
"projectKind": "customMultiLabelClassification",
"description": "Trying out custom multi label text classification",
"language": "{LANGUAGE-CODE}",
"multilingual": true,
"settings": {}
},
"assets": {
"projectKind": "customMultiLabelClassification",
"classes": [
{
"category": "Class1"
},
{
"category": "Class2"
}
],
"documents": [
{
"___location": "{DOCUMENT-NAME}",
"language": "{LANGUAGE-CODE}",
"dataset": "{DATASET}",
"classes": [
{
"category": "Class1"
},
{
"category": "Class2"
}
]
},
{
"___location": "{DOCUMENT-NAME}",
"language": "{LANGUAGE-CODE}",
"dataset": "{DATASET}",
"classes": [
{
"category": "Class2"
}
]
}
]
}
}
Key |
プレースホルダー |
値 |
例 |
api-version |
{API-VERSION} |
呼び出している API のバージョン。 ここで使用するバージョンは、URL 内と同じ API バージョンである必要があります。 その他の利用可能な API バージョンの詳細を確認する |
2022-05-01 |
projectName |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 |
myProject |
projectKind |
customMultiLabelClassification |
プロジェクトの種類。 |
customMultiLabelClassification |
language |
{LANGUAGE-CODE} |
プロジェクトで使用されるドキュメントの言語コードを指定する文字列。 プロジェクトが多言語プロジェクトの場合は、ほとんどのドキュメントの言語コードを選択します。 多言語サポートの詳細については、言語サポートをご覧ください。 |
en-us |
複数言語 |
true |
データセットに複数の言語のドキュメントを含め、モデルをデプロイするときに、サポートされている任意の言語 (トレーニング ドキュメントに含まれているとは限りません) でモデルにクエリを実行できるブール値です。 多言語サポートの詳細については、言語サポートをご覧ください。 |
true |
storageInputContainerName |
{CONTAINER-NAME} |
ドキュメントをアップロードした Azure ストレージ コンテナーの名前。 |
myContainer |
クラス |
[] |
プロジェクト内のすべてのクラスを含む配列。 これらはドキュメントの分類先となるクラスです。 |
[] |
ドキュメント |
[] |
プロジェクト内のすべてのドキュメントと、このドキュメントにラベル付けされたクラスを含む配列。 |
[] |
___location |
{DOCUMENT-NAME} |
ストレージ コンテナー内のドキュメントの場所。 すべてのドキュメントはコンテナーのルートに含まれているので、これはドキュメント名にする必要があります。 |
doc1.txt |
dataset |
{DATASET} |
トレーニング前に分割する場合にこのドキュメントが移動するテスト セット。 データ分割の詳細については、モデルのトレーニング方法をご覧ください。 このフィールドで使用できる値は Train および Test です。 |
Train |
{
"projectFileVersion": "{API-VERSION}",
"stringIndexType": "Utf16CodeUnit",
"metadata": {
"projectName": "{PROJECT-NAME}",
"storageInputContainerName": "{CONTAINER-NAME}",
"projectKind": "customSingleLabelClassification",
"description": "Trying out custom multi label text classification",
"language": "{LANGUAGE-CODE}",
"multilingual": true,
"settings": {}
},
"assets": {
"projectKind": "customSingleLabelClassification",
"classes": [
{
"category": "Class1"
},
{
"category": "Class2"
}
],
"documents": [
{
"___location": "{DOCUMENT-NAME}",
"language": "{LANGUAGE-CODE}",
"dataset": "{DATASET}",
"class": {
"category": "Class2"
}
},
{
"___location": "{DOCUMENT-NAME}",
"language": "{LANGUAGE-CODE}",
"dataset": "{DATASET}",
"class": {
"category": "Class1"
}
}
]
}
}
Key |
プレースホルダー |
値 |
例 |
api-version |
{API-VERSION} |
呼び出している API のバージョン。 ここで使用するバージョンは、URL 内と同じ API バージョンである必要があります。 |
2022-05-01 |
projectName |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 |
myProject |
projectKind |
customSingleLabelClassification |
プロジェクトの種類。 |
customSingleLabelClassification |
language |
{LANGUAGE-CODE} |
プロジェクトで使用されるドキュメントの言語コードを指定する文字列。 プロジェクトが多言語プロジェクトの場合は、ほとんどのドキュメントの言語コードを選択します。 サポートされている言語コードの詳細については、言語サポートをご覧ください。 |
en-us |
複数言語 |
true |
データセットに複数の言語のドキュメントを含め、モデルをデプロイするときに、サポートされている任意の言語 (トレーニング ドキュメントに含まれているとは限りません) でモデルにクエリを実行できるブール値です。 多言語サポートの詳細については、言語サポートをご覧ください。 |
true |
storageInputContainerName |
{CONTAINER-NAME} |
ドキュメントをアップロードした Azure ストレージ コンテナーの名前。 |
myContainer |
クラス |
[] |
プロジェクト内のすべてのクラスを含む配列。 これらはドキュメントの分類先となるクラスです。 |
[] |
ドキュメント |
[] |
プロジェクト内のすべてのドキュメントと、このドキュメントが属するクラスを含む配列。 |
[] |
___location |
{DOCUMENT-NAME} |
ストレージ コンテナー内のドキュメントの場所。 すべてのドキュメントはコンテナーのルートに含まれているので、これはドキュメント名にする必要があります。 |
doc1.txt |
dataset |
{DATASET} |
トレーニング前に分割する場合にこのドキュメントが移動するテスト セット。 データ分割の詳細については、モデルのトレーニング方法に関する記事をご覧ください。 このフィールドで使用できる値は Train および Test です。 |
Train |
API 要求を送信すると、ジョブが正しく送信されたことを示す 202
応答を受け取ります。 応答ヘッダーで、operation-___location
の値を抽出します。 それは次のように書式設定されています。
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
この操作は非同期であるため、{JOB-ID}
を使って要求が識別されます。 この URL を使用してインポート ジョブの状態を取得します。
この要求で考えられるエラー シナリオ:
- 選択されたリソースに、ストレージ アカウントに対する適切なアクセス許可がありません。
- 指定された
storageInputContainerName
が存在しません。
- 無効な言語コードが使用されているか、言語コードの種類が文字列でない場合。
multilingual
値は文字列であり、ブール値ではありません。
プロジェクトの詳細を取得する
Language Studio で [プロジェクト設定] ページに移動します。
プロジェクトの詳細を確認できます。
このページでは、プロジェクトの説明を更新し、プロジェクト設定で多言語データセットを有効または無効にすることができます。
また、言語リソースに接続されているストレージ アカウントとコンテナーを表示することもできます。
このページからリソースの主キーを取得することもできます。
カスタム テキスト分類プロジェクトの詳細を取得するには、次の URL とヘッダーを使用して GET 要求を送信します。 プレースホルダーの値は、実際の値に置き換えます。
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}?api-version={API-VERSION}
プレースホルダー |
値 |
例 |
{ENDPOINT} |
API 要求を認証するためのエンドポイント。 |
https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 |
myProject |
{API-VERSION} |
呼び出している API のバージョン。 ここで参照される値は、リリースされた最新のモデル バージョン用です。 |
2022-05-01 |
要求を認証するには、次のヘッダーを使います。
Key |
値 |
Ocp-Apim-Subscription-Key |
リソースへのキー。 API 要求の認証に使われます。 |
応答本文
要求を送信すると、次の応答を受け取ります。
{
"createdDateTime": "2022-04-23T13:39:09.384Z",
"lastModifiedDateTime": "2022-04-23T13:39:09.384Z",
"lastTrainedDateTime": "2022-04-23T13:39:09.384Z",
"lastDeployedDateTime": "2022-04-23T13:39:09.384Z",
"projectKind": "customSingleLabelClassification",
"storageInputContainerName": "{CONTAINER-NAME}",
"projectName": "{PROJECT-NAME}",
"multilingual": true,
"description": "Project description",
"language": "{LANGUAGE-CODE}"
}
値 |
プレースホルダー (placeholder) |
Description |
例 |
projectKind |
customSingleLabelClassification |
プロジェクトの種類。 |
この値は、customSingleLabelClassification または customMultiLabelClassification です。 |
storageInputContainerName |
{CONTAINER-NAME} |
ドキュメントをアップロードした Azure ストレージ コンテナーの名前。 |
myContainer |
projectName |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 |
myProject |
multilingual |
|
データセット内に複数の言語のドキュメントを含めるブール値。 モデルがデプロイされると、サポートされている任意の言語 (トレーニング ドキュメントに含まれているとは限りません) でモデルにクエリを実行できます。 多言語サポートの詳細については、「言語サポート」を参照してください。 |
true |
language |
{LANGUAGE-CODE} |
プロジェクトで使用されるドキュメントの言語コードを指定する文字列。 プロジェクトが多言語プロジェクトの場合は、ほとんどのドキュメントの言語コードを選択します。 サポートされている言語コードの詳細については、「言語サポート」を参照してください。 |
en-us |
API 要求を送信すると、成功を示す 200
応答とプロジェクトの詳細を含む JSON 応答本文が返されます。
プロジェクトの削除
プロジェクトが不要な場合は、Language Studio を使ってプロジェクトを削除できます。 上部の [カスタム テキスト分類] を選び、削除するプロジェクトを選びます。 上部のメニューから [削除] を選択して、プロジェクトを削除します。
プロジェクトが不要になったら、次の DELETE 要求で削除できます。 プレースホルダーの値は、実際の値に置き換えます。
{Endpoint}/language/authoring/analyze-text/projects/{projectName}?api-version={API-VERSION}
プレースホルダー |
値 |
例 |
{ENDPOINT} |
API 要求を認証するためのエンドポイント。 |
https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 |
myProject |
{API-VERSION} |
呼び出している API のバージョン。 ここで参照される値は、リリース済みの最新バージョン用です。 その他の利用可能な API バージョンの詳細を確認する |
2022-05-01 |
要求を認証するには、次のヘッダーを使います。
Key |
価値 |
Ocp-Apim-Subscription-Key |
リソースへのキー。 API 要求の認証に使われます。 |
API 要求を送信すると、成功を示す 202
応答を受け取ります。これは、プロジェクトが削除されたことを意味します。 呼び出しが成功すると、ジョブの状態を確認するために使用する Operation-Location
ヘッダーが返されます。
次の手順