モデルにテキスト分類要求を送信する
- [アーティクル]
-
-
デプロイが正常に追加されたら、デプロイにクエリを実行して、デプロイに割り当てたモデルに基づいてテキストを分類できます。
Prediction API またはクライアント ライブラリ (Azure SDK) を使用して、プログラムからデプロイにクエリを実行できます。
デプロイされたモデルをテストする
Language Studio を使用して、カスタム テキスト分類タスクを送信し、結果を視覚化できます。
Language Studio 内からデプロイされたモデルをテストするには、次の手順を行います。
左側のメニューから [デプロイのテスト] を選びます。
テストするデプロイを選択します。 テストできるのは、デプロイに割り当てられているモデルのみです。
多言語プロジェクトの場合は、[言語] ドロップダウンから、テストするテキストの言語を選択します。
ドロップダウンからクエリ/テストするデプロイを選択します。
要求に送信するテキストを入力するか、使用する .txt
ファイルをアップロードできます。
上部のメニューから [テストの実行] を選択します。
[Result](結果) タブでは、テキストから抽出されたエンティティとその型を確認できます。 [JSON] タブで JSON 応答を表示することもできます。
モデルにテキスト分類要求を送信する
デプロイ ジョブが正常に完了した後、使うデプロイを選び、上部のメニューで [予測 URL の取得] を選択します。
表示されたウィンドウの [送信] ピボットで、サンプルの要求 URL と本文をコピーします。 YOUR_DOCUMENT_HERE
や YOUR_DOCUMENT_LANGUAGE_HERE
などのプレースホルダー値を、実際に処理するテキストと言語に置き換えます。
ターミナルまたはコマンド プロンプトで、POST
cURL 要求を送信します。 要求が成功した場合は、API の結果と共に 202 応答を受け取ります。
応答ヘッダーで、{ENDPOINT}/language/analyze-text/jobs/<JOB-ID}>
という形式の operation-location
から抽出の {JOB-ID}
を受け取ります。
Language Studio に戻り、前に要求の例を取得したのと同じウィンドウで [取得] ピボットを選び、サンプル要求をテキスト エディターにコピーします。
前の手順で抽出した ID を使用して、URL の /jobs/
の後にジョブ ID を追加します。
ターミナルまたはコマンド プロンプトで、GET
cURL 要求を送信します。
最初に、リソースのキーとエンドポイントを取得する必要があります。
Azure portal でリソースの概要ページに移動します
左側のメニューで [キーとエンドポイント] を選びます。 API 要求のエンドポイントとキーを使用します。
カスタム テキスト分類タスクを送信する
この POST 要求を使用して、テキスト分類タスクを開始します。
{ENDPOINT}/language/analyze-text/jobs?api-version={API-VERSION}
プレースホルダー |
値 |
例 |
{ENDPOINT} |
API 要求を認証するためのエンドポイント。 |
https://<your-custom-subdomain>.cognitiveservices.azure.com |
{API-VERSION} |
呼び出している API のバージョン。 ここで参照される値は、リリース済みの最新バージョン用です。 使用可能な他の API バージョンの詳細については、モデルのライフサイクルに関するページを参照してください。 |
2022-05-01 |
Key |
価値 |
Ocp-Apim-Subscription-Key |
この API へのアクセスを提供するキー。 |
Body
{
"displayName": "Classifying documents",
"analysisInput": {
"documents": [
{
"id": "1",
"language": "{LANGUAGE-CODE}",
"text": "Text1"
},
{
"id": "2",
"language": "{LANGUAGE-CODE}",
"text": "Text2"
}
]
},
"tasks": [
{
"kind": "CustomMultiLabelClassification",
"taskName": "Multi Label Classification",
"parameters": {
"projectName": "{PROJECT-NAME}",
"deploymentName": "{DEPLOYMENT-NAME}"
}
}
]
}
Key |
プレースホルダー |
値 |
例 |
displayName |
{JOB-NAME} |
ジョブの名前。 |
MyJobName |
documents |
[{}、{}] |
タスクを実行するドキュメントのリスト。 |
[{},{}] |
id |
{DOC-ID} |
ドキュメント名または ID。 |
doc1 |
language |
{LANGUAGE-CODE} |
ドキュメントの言語コードを指定する文字列。 このキーが指定されていない場合、サービスではプロジェクトの作成時に選択されたプロジェクトの既定の言語を想定します。 サポートされている言語コードの一覧については、言語のサポートに関するページを参照してください。 |
en-us |
text |
{DOC-TEXT} |
タスクを実行するドキュメント タスク。 |
Lorem ipsum dolor sit amet |
tasks |
|
実行するタスクのリスト。 |
[] |
taskName |
CustomMultiLabelClassification |
タスク名 |
CustomMultiLabelClassification |
parameters |
|
タスクに渡すパラメーターのリスト。 |
|
project-name |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 |
myProject |
deployment-name |
{DEPLOYMENT-NAME} |
デプロイの名前。 この値は、大文字と小文字が区別されます。 |
prod |
{
"displayName": "Classifying documents",
"analysisInput": {
"documents": [
{
"id": "1",
"language": "{LANGUAGE-CODE}",
"text": "Text1"
},
{
"id": "2",
"language": "{LANGUAGE-CODE}",
"text": "Text2"
}
]
},
"tasks": [
{
"kind": "CustomSingleLabelClassification",
"taskName": "Single Classification Label",
"parameters": {
"projectName": "{PROJECT-NAME}",
"deploymentName": "{DEPLOYMENT-NAME}"
}
}
]
}
Key |
プレースホルダー |
値 |
例 |
displayName |
{JOB-NAME} |
ジョブの名前。 |
MyJobName |
ドキュメント |
|
タスクを実行するドキュメントのリスト。 |
|
id |
{DOC-ID} |
ドキュメント名または ID。 |
doc1 |
language |
{LANGUAGE-CODE} |
ドキュメントの言語コードを指定する文字列。 このキーが指定されていない場合、サービスではプロジェクトの作成時に選択されたプロジェクトの既定の言語を想定します。 サポートされている言語コードの一覧については、言語のサポートに関するページを参照してください。 |
en-us |
text |
{DOC-TEXT} |
タスクを実行するドキュメント タスク。 |
Lorem ipsum dolor sit amet |
taskName |
CustomSingleLabelClassification |
タスク名 |
CustomSingleLabelClassification |
tasks |
[] |
実行するタスクの配列。 |
[] |
parameters |
|
タスクに渡すパラメーターのリスト。 |
|
project-name |
{PROJECT-NAME} |
プロジェクトの名前。 この値は、大文字と小文字が区別されます。 |
myProject |
deployment-name |
{DEPLOYMENT-NAME} |
デプロイの名前。 この値は、大文字と小文字が区別されます。 |
prod |
Response
成功を示す 202 応答を受け取ります。 応答のヘッダーで、operation-location
を抽出します。
operation-location
は次のように書式設定されています。
{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}
この URL を使用して、タスクの完了状態をクエリし、タスクが完了したときに結果を取得できます。
タスクの結果を取得する
テキスト分類タスクの状態と結果のクエリを実行するには、次の GET 要求を使います。
{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}
プレースホルダー |
値 |
例 |
{ENDPOINT} |
API 要求を認証するためのエンドポイント。 |
https://<your-custom-subdomain>.cognitiveservices.azure.com |
{API-VERSION} |
呼び出している API のバージョン。 ここで参照される値は、リリースされた最新のモデル バージョンです。 |
2022-05-01 |
Key |
価値 |
Ocp-Apim-Subscription-Key |
この API へのアクセスを提供するキー。 |
応答本文
応答は、次のパラメーターを含む JSON ドキュメントです
{
"createdDateTime": "2021-05-19T14:32:25.578Z",
"displayName": "MyJobName",
"expirationDateTime": "2021-05-19T14:32:25.578Z",
"jobId": "xxxx-xxxxxx-xxxxx-xxxx",
"lastUpdateDateTime": "2021-05-19T14:32:25.578Z",
"status": "succeeded",
"tasks": {
"completed": 1,
"failed": 0,
"inProgress": 0,
"total": 1,
"items": [
{
"kind": "customMultiClassificationTasks",
"taskName": "Classify documents",
"lastUpdateDateTime": "2020-10-01T15:01:03Z",
"status": "succeeded",
"results": {
"documents": [
{
"id": "{DOC-ID}",
"classes": [
{
"category": "Class_1",
"confidenceScore": 0.0551877357
}
],
"warnings": []
}
],
"errors": [],
"modelVersion": "2020-04-01"
}
}
]
}
}
{
"createdDateTime": "2021-05-19T14:32:25.578Z",
"displayName": "MyJobName",
"expirationDateTime": "2021-05-19T14:32:25.578Z",
"jobId": "xxxx-xxxxxx-xxxxx-xxxx",
"lastUpdateDateTime": "2021-05-19T14:32:25.578Z",
"status": "succeeded",
"tasks": {
"completed": 1,
"failed": 0,
"inProgress": 0,
"total": 1,
"items": [
{
"kind": "customSingleClassificationTasks",
"taskName": "Classify documents",
"lastUpdateDateTime": "2020-10-01T15:01:03Z",
"status": "succeeded",
"results": {
"documents": [
{
"id": "{DOC-ID}",
"class": [
{
"category": "Class_1",
"confidenceScore": 0.0551877357
}
],
"warnings": []
}
],
"errors": [],
"modelVersion": "2020-04-01"
}
}
]
}
}
最初に、リソースのキーとエンドポイントを取得する必要があります。
選択した言語のクライアント ライブラリ パッケージをダウンロードしてインストールします。
クライアント ライブラリをインストールしたら、次のサンプルを GitHub で使用して API の呼び出しを開始します。
単一ラベルの分類:
マルチ ラベル分類:
クライアントと戻りオブジェクトの詳細については、次のリファレンス ドキュメントを参照してください。
次のステップ