自動音声認識(ASR)アノテーションセットのアノテーション更新API
このAPIを呼び出すと、既存のアノテーションセットのアノテーション追加または更新ができます。
ファイルをアップロードする前に、アップロード用のカタログが作成されていることを確認してください。全体的なAPIの呼び出し順序(カタログ作成、アノテーションセット作成、ASR評価の実行など)については、APIフローを参照してください。
HTTPメソッドとパス
PUT v1/skills/{skillId}/asrAnnotationSets/{annotationSetId}/annotations HTTP/1.1
パラメーター
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
skillId |
文字列 | URIパスに含むスキルIDです。 | ◯ |
annotationSetId |
文字列 | URIパスに含むアノテーションIDです。 | ◯ |
リクエスト
リクエストヘッダー
Content-Type: [application/json, text/csv]
Accept: application/json
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
Content-Type | 文字列 | 本文のコンテンツタイプを示します。指定できる値はapplication/json またはtext/csv です。 |
◯ |
リクエスト本文
{
"annotations": [{
"uploadId": string,
"filePathInUpload": string,
"evaluationWeight": integer,
"expectedTranscription": string
}]
}
フィールド | 型 | 説明 | 必須 |
---|---|---|---|
annotations | 配列 | アノテーションオブジェクトの配列。配列の上限は1000です。 | ◯ |
annotations[i].uploadId | 文字列 | Catalog APIを使用してアップロードを作成したときに返されるアップロードID。 | ◯ |
annotations[i].filePathInUpload | 文字列 | アップロードされたzipファイル内のファイルパス。たとえば、folderという名前のフォルダと、そのフォルダにaudio.mp3という名前の音声ファイルが含まれているzipファイルがあるとします。ファイルのパスは、folder/audio.mp3です。ディレクトリを連結するには、スラッシュ(/)を使用します。 | ◯ |
annotations[i].expectedTranscription | 入力音声の文字起こしの期待結果です。文字列の許容可能な長さは、1~500のUnicode文字です。 | 文字列 | ◯ |
annotations[i].evaluationWeight | 評価におけるテスト項目の重み。この値は、OVERALL_ERROR_RATEなどのメトリクスを計算するときに使用します。許容される値は、1~1000です。 | 整数 | ◯ |
CSVコンテンツタイプ
CSV形式の場合、列の順序は関係ありません。CSVペイロードの1行目で列の内容を示します。
CSVのペイロードで使用されるアトリビュートの定義については、前の表を参照してください。
uploadId,filePathInUpload,evaluationWeight,expectedTranscription
string,string,integer,string
応答
HTTPステータス
HTTP 204 No Content
応答ヘッダー
なし
応答本文
なし
エラー応答
このセクションでは、リクエスト固有のエラーについて説明します。すべてのASR APIに適用されるエラーのリファレンスについては、自動音声認識(ASR)APIエラーリファレンスを参照してください。
HTTPステータスコード | エラーコード | シナリオ |
---|---|---|
400 Bad Request |
MISSING_REQUIRED_PROPERTY |
リクエスト本文に必須フィールドがありません。 |
CONTENT_PARSE_FAILURE |
リクエスト本文の形式が正しくありません。 |
|
INVALID_INTEGER_VALUE |
annotations[i].weightが許容範囲外です。 |
|
INVALID_STRING_LENGTH |
annotations[i].expectedTranscriptionが許容範囲外です。 |
|
INVALID_ARRAY_SIZE |
annotationsの長さが許容範囲外です。 |
|
INVALID_CONTENT_TYPE |
Content-Typeの値が正しくありません。 |
|
INVALID_REQUEST_PARAMETER |
アノテーションセットIDの形式が正しくありません。 |
|
RESOURCE_NOT_FOUND |
annotations[i].uploadIdが見つかりません。 |
|
annotations[i].filePathInUploadがannotations[i].uploadIdに存在しません。 |
||
404 Not Found |
RESOURCE_NOT_FOUND |
指定されたスキルが存在しません。 |
指定されたアノテーションセットが存在しません。 |
||
500 Internal Server Error |
INTERNAL_SERVER_ERROR |
内部サーバエラーのため、リクエストが失敗しました。 |
例
サンプルリクエスト | 応答の例 |
---|---|
PUT v1/skills/amzn.skill.id.1234/asrAnnotationSets/123456-1234123-123123/annotations HTTP/1.1 Content-Type: application/json Accept: application/json { "annotations":[ { "uploadId": "1234-12314-12314", "filePathInUpload":"hello_world.mp3", "evaluationWeight":5, "expectedTranscription":"alexa hello world" }, { "uploadId":"1234-12314-12315", "filePathInUpload": "ask say hello.wav", "evaluationWeight": 10, "expectedTranscription": "ask hello world skill say hello" }, { "uploadId": "1234-12314-12348", "filePathInUpload": "ask say hello.wav", "evaluationWeight":10, "expectedTranscription": "ask hello world skill say hello" }, { "uploadId": "1234-12314-12348", "filePathInUpload":"something.wav", "evaluationWeight": 10, "expectedTranscription": "ask hello world skill say hello" } ] }
|
HTTP 204 No Content |
PUT v1/skills/amzn.skill.id.1234/asrAnnotationSets/123456-1234123-123123/annotations HTTP/1.1 Content-Type: text/csv Accept: application/json filePathInUpload,uploadId,weight,expectedTranscription hello_world.mp3,amazn.upId.12341234,5,alexa hello world ask say hello.wav,amazn.upId.12341234,10,ask hello world skill say hello ask say hello.wav,amazn.upId.12341234,10,ask hello world skill say hello something.wav,amazn.upId.12341234,10,ask hello world skill say hello |
HTTP 400 BadRequest Content-Type: application/json { "message": "Payload validations failed." "violations": [ { "message": "File path \"hello.wav\" cannot be found in upload id \"amazn.upId.12341234\"", "code", "RESOURCE_NOT_FOUND" } ] } |
PUT v1/skills/amzn.skill.id.1234/asrAnnotationSets/123456-1234123-123123/annotations HTTP/1.1 Content-Type: text/csv Accept: application/json {} |
HTTP 400 BadRequest Content-Type: application/json { "message": "Payload validations failed." "violations": [ { "message": "Payload cannot be parsed as text/csv content type", "code", "CONTENT_PARSE_FAILURE" } ] } |