音声認識タスクで、プロダクト名や固有名詞などのドメイン固有の用語が正確に認識されない場合は、ホットワード機能を使用します。これらの用語をホットワードとして追加することで、認識の精度を向上させることができます。
ホットワード
ホットワード機能を使用すると、用語の JSON 配列を提供することで、特定の単語の認識精度を向上させることができます。配列内の各オブジェクトは、ホットワードとそのプロパティを定義します。
例:映画のタイトルの認識精度を向上させる (Fun-ASR および Paraformer シリーズモデル向け)
[
{"text": "赛德克巴莱", "weight": 4, "lang": "zh"},
{"text": "Seediq Bale", "weight": 4, "lang": "en"},
{"text": "夏洛特烦恼", "weight": 4, "lang": "zh"},
{"text": "Goodbye Mr. Loser", "weight": 4, "lang": "en"},
{"text": "阙里人家", "weight": 4, "lang": "zh"},
{"text": "Confucius' Family", "weight": 4, "lang": "en"}
]フィールドの説明:
パラメーター | 型 | 必須 | 説明 |
text | string | ホットワードのテキスト。 ホットワードテキストの言語は、選択したモデルでサポートされている必要があります。サポートされる言語はモデルによって異なります。 ホットワードは、認識または翻訳の精度を向上させます。文字のランダムな組み合わせではなく、実際の単語を使用してください。以下のルールは、ホットワードテキストの長さを制限します:
| |
weight | int | ホットワードの重み。一般的な値は 4 です。 有効値:[1, 5]。 結果が大幅に改善されない場合は、重みを増やすことができます。ただし、重みを高くしすぎると、他の単語の認識精度が低下する可能性があります。 | |
lang | string | 言語コード。これにより、ASR モデルでサポートされている特定の言語のホットワードをブーストできます。事前に言語を特定できない場合は、このフィールドを空のままにしておくことができ、モデルが自動的に言語を検出します。 サポートされている言語とそのコードについては、モデルの API リファレンスをご参照ください。音声認識サービスを呼び出す際には、同じ言語を指定するようにしてください。`language_hints` で言語を指定した場合、他の言語のホットワードは有効になりません。 |
サポートされるモデル
現在、この機能はサポートされていません。
課金
ホットワード機能は無料です。
ホットワードの制限
各アカウントは最大 10 個のホットワードリストを作成できます。このクォータはすべてのモデルで共有されます。引き上げをリクエストするには、チケットを送信してください。
各ホットワードリストには最大 500 個のホットワードを含めることができます。
クイックスタート:ホットワードリストの作成と使用
ワークフロー
ホットワードリストを作成し、音声認識に使用するには、2 つの連続したステップが必要です:
ホットワードリストの作成
作成 API を呼び出します。このステップでは、ホットワードリストを特定の音声認識モデルに関連付けるために、
target_modelパラメーター (Java ではtargetModel) を指定する必要があります。すでにホットワードリストがある場合は、このステップをスキップできます。既存のリストを表示するには、すべてをクエリ API を呼び出します。
音声認識にホットワードリストを使用する
音声認識 API を呼び出し、リクエストにホットワードリスト ID を渡します。このステップで使用される音声認識モデルは、ホットワードリストの作成時に使用した
target_model(Java ではtargetModel) と一致する必要があります。
前提条件
API キーの取得:API キーを取得します。セキュリティを強化するため、API キーは環境変数に保存してください。
SDK のインストール:最新バージョンの DashScope SDK をインストールします。
コード例
この例では、asr_example.wav 音声ファイルを使用します。
Python
import dashscope
from dashscope.audio.asr import *
import os
# シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
# DASHSCOPE_API_KEY 環境変数を設定していない場合は、次の行を API キーに置き換えてください:dashscope.api_key = "sk-xxx"
dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')
# 以下はシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、代わりに https://dashscope.aliyuncs.com/api/v1 を使用してください。
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
# 以下はシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、代わりに wss://dashscope-intl.aliyuncs.com/api-ws/v1/inference を使用してください。
dashscope.base_websocket_api_url='wss://dashscope-intl.aliyuncs.com/api-ws/v1/inference'
prefix = 'testpfx'
target_model = "fun-asr-realtime"
my_vocabulary = [
{"text": "Speech Lab", "weight": 4}
]
service = VocabularyService()
vocabulary_id = service.create_vocabulary(
prefix=prefix,
target_model=target_model,
vocabulary=my_vocabulary)
if service.query_vocabulary(vocabulary_id)['status'] == 'OK':
recognition = Recognition(model=target_model,
format='wav',
sample_rate=16000,
callback=None,
vocabulary_id=vocabulary_id)
result = recognition.call('asr_example.wav')
print(result.output)
service.delete_vocabulary(vocabulary_id)Java
import com.alibaba.dashscope.audio.asr.recognition.Recognition;
import com.alibaba.dashscope.audio.asr.recognition.RecognitionParam;
import com.alibaba.dashscope.audio.asr.vocabulary.Vocabulary;
import com.alibaba.dashscope.audio.asr.vocabulary.VocabularyService;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class Main {
// シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
// DASHSCOPE_API_KEY 環境変数を設定していない場合は、次の行を API キーに置き換えてください:public static String apiKey = "sk-xxx"
public static String apiKey = System.getenv("DASHSCOPE_API_KEY");
public static void main(String[] args) throws NoApiKeyException, InputRequiredException {
// 以下はシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、代わりに https://dashscope.aliyuncs.com/api/v1 を使用してください。
Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
// 以下はシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、代わりに wss://dashscope-intl.aliyuncs.com/api-ws/v1/inference を使用してください。
Constants.baseWebsocketApiUrl = "wss://dashscope-intl.aliyuncs.com/api-ws/v1/inference";
String targetModel = "fun-asr-realtime";
JsonArray vocabularyJson = new JsonArray();
List<Hotword> wordList = new ArrayList<>();
wordList.add(new Hotword("Speech Lab", 4));
for (Hotword word : wordList) {
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("text", word.text);
jsonObject.addProperty("weight", word.weight);
vocabularyJson.add(jsonObject);
}
VocabularyService service = new VocabularyService(apiKey);
Vocabulary vocabulary = service.createVocabulary(targetModel, "testpfx", vocabularyJson);
if ("OK".equals(service.queryVocabulary(vocabulary.getVocabularyId()).getStatus())) {
Recognition recognizer = new Recognition();
// RecognitionParam を作成します
RecognitionParam param =
RecognitionParam.builder()
.model(targetModel)
.apiKey(apiKey)
.format("wav")
.sampleRate(16000)
.vocabularyId(vocabulary.getVocabularyId())
.build();
try {
System.out.println("Recognition result: " + recognizer.call(param, new File("asr_example.wav")));
} catch (Exception e) {
e.printStackTrace();
} finally {
// タスク完了後、WebSocket 接続を閉じます。
recognizer.getDuplexApi().close(1000, "bye");
}
}
service.deleteVocabulary(vocabulary.getVocabularyId());
System.exit(0);
}
}
class Hotword {
String text;
int weight;
public Hotword(String text, int weight) {
this.text = text;
this.weight = weight;
}
}API
すべての API 操作には同じアカウントを使用してください。
ホットワードリストの作成
ホットワードリスト JSON のフォーマットに関する詳細については、「ホットワードの概要」をご参照ください。
Python SDK
API
重要target_model:ホットワードリストの音声認識モデル。このモデルは、後続の音声認識 API 呼び出しで指定されるモデルと一致する必要があります。def create_vocabulary(self, target_model: str, prefix: str, vocabulary: List[dict]) -> str: ''' ホットワードリストを作成します。 param: target_model ホットワードリストの音声認識モデル。このモデルは、後続の API 呼び出しで指定されるモデルと一致する必要があります。 param: prefix ホットワードリストのカスタムプレフィックス。数字と小文字のみを含み、10 文字未満である必要があります。 param: vocabulary JSON 形式のホットワードリスト。 return: ホットワードリスト ID。 '''コード例
import dashscope from dashscope.audio.asr import * import os # シンガポール (国際) リージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください # 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください:dashscope.api_key = "sk-xxx" dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY') # 以下はシンガポール (国際) リージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1' prefix = 'testpfx' target_model = "fun-asr" my_vocabulary = [ {"text": "Seediq Bale", "weight": 4} ] # ホットワードリストの作成 service = VocabularyService() vocabulary_id = service.create_vocabulary( prefix=prefix, target_model=target_model, vocabulary=my_vocabulary) print(f"Hotword list ID: {vocabulary_id}")
Java SDK
API
重要targetModel:ホットワードリストの音声認識モデル。このモデルは、後続の音声認識 API 呼び出しで指定されるモデルと一致する必要があります。/** * 新しいホットワードリストを作成します。 * * @param targetModel ホットワードリストの音声認識モデル。このモデルは、後続の API 呼び出しで指定されるモデルと一致する必要があります。 * @param prefix ホットワードリストのカスタムプレフィックス。数字と小文字のみを含み、10 文字未満である必要があります。 * @param vocabulary JSON 形式のホットワードリスト。 * @return ホットワードリストオブジェクト。 * @throws NoApiKeyException API キーが空の場合。 * @throws InputRequiredException 必須パラメーターが空の場合。 */ public Vocabulary createVocabulary(String targetModel, String prefix, JsonArray vocabulary) throws NoApiKeyException, InputRequiredExceptionコード例
import com.alibaba.dashscope.audio.asr.vocabulary.Vocabulary; import com.alibaba.dashscope.audio.asr.vocabulary.VocabularyService; import com.alibaba.dashscope.exception.InputRequiredException; import com.alibaba.dashscope.exception.NoApiKeyException; import com.alibaba.dashscope.utils.Constants; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import java.util.ArrayList; import java.util.List; public class Main { // シンガポール (国際) リージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください // 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください:public static String apiKey = "sk-xxx" public static String apiKey = System.getenv("DASHSCOPE_API_KEY"); public static void main(String[] args) throws NoApiKeyException, InputRequiredException { // 以下はシンガポール (国際) リージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1"; String targetModel = "fun-asr"; JsonArray vocabularyJson = new JsonArray(); List<Hotword> wordList = new ArrayList<>(); wordList.add(new Hotword("Wu Yigong", 4)); wordList.add(new Hotword("Confucius' Family", 4)); for (Hotword word : wordList) { JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("text", word.text); jsonObject.addProperty("weight", word.weight); vocabularyJson.add(jsonObject); } VocabularyService service = new VocabularyService(apiKey); Vocabulary vocabulary = service.createVocabulary(targetModel, "testpfx", vocabularyJson); System.out.println("Hotword list ID: " + vocabulary.getVocabularyId()); } } class Hotword { String text; int weight; String lang; public Hotword(String text, int weight) { this.text = text; this.weight = weight; } }
RESTful API
URL
中国 (北京):
POST https://dashscope.aliyuncs.com/api/v1/services/audio/asr/customizationシンガポール (国際):
POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/customizationリクエストヘッダー
パラメーター
型
必須
説明
Authorization
string
認証トークン。フォーマットは
Bearer <your_api_key>です。<your_api_key>を実際の API キーに置き換えてください。Content-Type
string
リクエストボディ内のデータのメディアタイプ。値は
application/jsonである必要があります。リクエストボディ
以下のリクエストボディには、すべてのリクエストパラメーターが含まれています。必要に応じてオプションのフィールドを省略できます。
重要以下のパラメーターの違いにご注意ください:
model:カスタムホットワードモデル。値をspeech-biasingに設定します。target_model:ホットワードリストの音声認識モデル。このモデルは、後続の音声認識 API 呼び出しで指定されるモデルと一致する必要があります。
{ "model": "speech-biasing", "input": { "action": "create_vocabulary", "target_model": "fun-asr", "prefix": "testpfx", "vocabulary": [ {"text": "Seediq Bale", "weight": 4, "lang": "zh"} ] } }リクエストパラメーター
パラメーター
型
デフォルト
必須
説明
model
string
-
カスタムホットワードモデル。値は
speech-biasingである必要があります。action
string
-
操作タイプ。値は
create_vocabularyである必要があります。target_model
string
-
ホットワードリストの音声認識モデル。詳細については、「サポートされるモデル」をご参照ください。
このモデルは、後続の API 呼び出しで指定されるモデルと一致する必要があります。
prefix
string
-
ホットワードリストの識別しやすい名前。10 文字未満で、数字と小文字のみを含めることができます。
このプレフィックスはホットワードリスト ID に含まれます。たとえば、プレフィックスが "testpfx" の場合、結果のホットワードリスト ID は "vocab-testpfx-51773d05xxxxxx" になります。
vocabulary
array[object]
-
JSON 形式のホットワードリスト。詳細については、「ホットワードの概要」をご参照ください。
レスポンスパラメーター
次の表に、主要なレスポンスパラメーターを示します。
パラメーター
型
説明
vocabulary_id
string
ホットワードリスト ID。
コード例
以下は cURL の例です。Java と Python の例については、対応する SDK をご参照ください。
API キーを環境変数として設定していない場合は、
$DASHSCOPE_API_KEYを実際の API キーに置き換えてください。https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/customization# ======= 重要 ======= # 以下はシンガポール (国際) リージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/audio/asr/customization に置き換えてください # シンガポール (国際) リージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください # === 実行前にこのコメントを削除してください === curl -X POST <a data-init-id="9f104f338c7kz" href="https://poc-dashscope.aliyuncs.com/api/v1/services/audio/tts/customization" id="35ebbc67890ds">https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/customization</a> \ -H "Authorization: Bearer $DASHSCOPE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "speech-biasing", "input": { "action": "create_vocabulary", "target_model": "fun-asr", "prefix": "testpfx", "vocabulary": [ {"text": "Seediq Bale", "weight": 4} ] } }'
すべてのホットワードリストの取得
Python SDK
API
def list_vocabularies(self, prefix=None, page_index: int = 0, page_size: int = 10) -> List[dict]: ''' 作成されたすべてのホットワードリストを一覧表示します。 param: prefix フィルターするプレフィックス。指定した場合、この操作はプレフィックスに一致するホットワードリストのみを返します。 param: page_index ページインデックス。 param: page_size ページあたりのエントリ数。 return: 各ホットワードリストを表す辞書のリスト。 '''コード例
import dashscope from dashscope.audio.asr import * import json import os # シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください # 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください:dashscope.api_key = "sk-xxx" dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY') # 以下はシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope-intl.aliyuncs.com/api/v1 に置き換えてください dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1' service = VocabularyService() vocabularies = service.list_vocabularies() print(f"Hotword lists: {json.dumps(vocabularies)}")レスポンスパラメーター
次の表に、主要なレスポンスパラメーターを示します。
パラメーター
型
説明
vocabulary_id
string
ホットワードリストの ID。
gmt_create
string
ホットワードリストが作成された時刻。
gmt_modified
string
ホットワードリストが最後に変更された時刻。
status
string
ホットワードリストのステータス。有効な値:
OK:ホットワードリストは使用準備ができています。
UNDEPLOYED:ホットワードリストはデプロイされておらず、使用できません。
Java SDK
API
/** * 作成されたすべてのホットワードリストを一覧表示します。デフォルトのページインデックスは 0、デフォルトのページサイズは 10 です。 * * @param prefix ホットワードリストをフィルタリングするためのプレフィックス。 * @return <code>VocabularyVocabularyコード例
import com.alibaba.dashscope.audio.asr.vocabulary.Vocabulary; import com.alibaba.dashscope.audio.asr.vocabulary.VocabularyService; import com.alibaba.dashscope.exception.InputRequiredException; import com.alibaba.dashscope.exception.NoApiKeyException; import com.alibaba.dashscope.utils.Constants; import com.google.gson.Gson; import com.google.gson.GsonBuilder; public class Main { // シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください // 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください:public static String apiKey = "sk-xxx" public static String apiKey = System.getenv("DASHSCOPE_API_KEY"); public static void main(String[] args) throws NoApiKeyException, InputRequiredException { // 以下はシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope-intl.aliyuncs.com/api/v1 に置き換えてください Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1"; VocabularyService service = new VocabularyService(apiKey); Vocabulary[] vocabularies = service.listVocabulary("testpfx"); Gson gson = new GsonBuilder() .setPrettyPrinting() .create(); System.out.println("Hotword lists: " + gson.toJson(vocabularies)); } }次の表に、主要なレスポンスパラメーターを示します。
パラメーター
型
説明
vocabulary_id
string
ホットワードリストの ID。
gmt_create
string
ホットワードリストが作成された時刻。
gmt_modified
string
ホットワードリストが最後に変更された時刻。
status
string
ホットワードリストのステータス。有効な値:
OK:ホットワードリストは使用準備ができています。
UNDEPLOYED:ホットワードリストはデプロイされておらず、使用できません。
RESTful API
URL
中国 (北京):
POST https://dashscope.aliyuncs.com/api/v1/services/audio/asr/customizationシンガポール (国際):
POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/customizationリクエストヘッダー
パラメーター
型
必須
説明
Authorization
string
認証トークン。フォーマットは
Bearer <your_api_key>です。<your_api_key>を実際の API キーに置き換えてください。Content-Type
string
リクエストボディ内のデータのメディアタイプ。値は
application/jsonである必要があります。リクエストボディ
次の例は、利用可能なすべてのパラメーターを含むリクエストボディを示しています。オプションのフィールドは省略できます。
重要model:カスタムホットワードモデル。これをspeech-biasingに設定します。{ "model": "speech-biasing", "input": { "action": "list_vocabulary", "prefix": "testpfx", "page_index": 0, "page_size": 10 } }リクエストパラメーター
パラメーター
型
デフォルト
必須
説明
model
string
-
カスタムホットワードモデル。値は
speech-biasingである必要があります。action
string
-
操作のタイプ。これを
list_vocabularyに設定します。prefix
string
-
ホットワードリストのカスタムプレフィックス。10 文字未満で、小文字と数字のみを含む必要があります。
page_index
integer
0
ゼロベースのページインデックス。
page_size
integer
10
ページあたりのエントリ数。
レスポンスパラメーター
次の表に、主要なレスポンスパラメーターを示します。
パラメーター
型
説明
vocabulary_id
string
ホットワードリストの ID。
gmt_create
string
ホットワードリストが作成された時刻。
gmt_modified
string
ホットワードリストが最後に変更された時刻。
status
string
ホットワードリストのステータス。有効な値:
OK:ホットワードリストは使用準備ができています。
UNDEPLOYED:ホットワードリストはデプロイされておらず、使用できません。
コード例
以下は cURL の例です。Java と Python の例については、対応する SDK セクションをご参照ください。
$DASHSCOPE_API_KEY環境変数を設定していない場合は、実際の API キーに置き換えてください。# ======= 重要 ======= # 以下はシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/audio/asr/customization に置き換えてください # シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください # === 実行前にこのコメントを削除してください === curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/customization \ -H "Authorization: Bearer $DASHSCOPE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "speech-biasing", "input": { "action": "list_vocabulary", "prefix": "testpfx", "page_index": 0, "page_size": 10 } }'
ホットワードリストのクエリ
特定のホットワードリストのクエリに対するレスポンスには、リクエストでこの ID を提供するため、ホットワードリスト ID は含まれません。
Python SDK
API の説明
def query_vocabulary(self, vocabulary_id: str) -> List[dict]: ''' ホットワードリストの内容を取得します。 param: vocabulary_id ホットワードリストの ID。 return: ホットワードリストを含む辞書。 '''コード例
import dashscope from dashscope.audio.asr import * import json import os # 中国 (北京) リージョンとシンガポールリージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください # 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください:dashscope.api_key = "sk-xxx" dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY') # 以下の URL はシンガポールリージョン用です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1' service = VocabularyService() # クエリ時には、プレースホルダーを実際のホットワードリスト ID に置き換えてください。 vocabulary = service.query_vocabulary("vocab-testpfx-xxx") print(f"Hotword list: {json.dumps(vocabulary, ensure_ascii=False)}")レスポンスパラメーター
次の表に、主要なレスポンスパラメーターを示します。
パラメーター
型
説明
vocabulary
object[]
ホットワードを定義するオブジェクトの配列。フィールドの詳細については、「ホットワードの概要」をご参照ください。
gmt_create
string
ホットワードリストが作成された時刻。
gmt_modified
string
ホットワードリストが最後に変更された時刻。
target_model
string
ホットワードリストの音声認識モデル。詳細については、「サポートされるモデル」をご参照ください。
このモデルは、後続の API 呼び出しで指定されるモデルと一致する必要があります。
status
string
ホットワードリストのステータス:
OK:リストは使用可能です。
UNDEPLOYED:リストはデプロイされておらず、使用できません。
Java SDK
API の説明
/** * 特定のホットワードリストの詳細を取得します。 * * @param vocabularyId 取得するホットワードリストの ID。 * @return 指定されたホットワードリストを表す Vocabulary オブジェクト。 * @throws NoApiKeyException API キーが提供されていない場合。 * @throws InputRequiredException 必須パラメーターが欠落している場合。 */ public Vocabulary queryVocabulary(String vocabularyId) throws NoApiKeyException, InputRequiredExceptionコード例
import com.alibaba.dashscope.audio.asr.vocabulary.Vocabulary; import com.alibaba.dashscope.audio.asr.vocabulary.VocabularyService; import com.alibaba.dashscope.exception.InputRequiredException; import com.alibaba.dashscope.exception.NoApiKeyException; import com.alibaba.dashscope.utils.Constants; import com.google.gson.Gson; import com.google.gson.GsonBuilder; public class Main { // 中国 (北京) リージョンとシンガポールリージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください // 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください:public static String apiKey = "sk-xxx" public static String apiKey = System.getenv("DASHSCOPE_API_KEY"); public static void main(String[] args) throws NoApiKeyException, InputRequiredException { // 以下の URL はシンガポールリージョン用です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1"; VocabularyService service = new VocabularyService(apiKey); // クエリ時には、プレースホルダーを実際のホットワードリスト ID に置き換えてください。 Vocabulary vocabulary = service.queryVocabulary("vocab-testpfx-xxxx"); Gson gson = new GsonBuilder() .setPrettyPrinting() .create(); System.out.println("Hotword list: " + gson.toJson(vocabulary.getData())); } }レスポンスパラメーター
次の表に、主要なレスポンスパラメーターを示します。
パラメーター
型
説明
vocabulary
object[]
ホットワードを定義するオブジェクトの配列。フィールドの詳細については、「ホットワードの概要」をご参照ください。
gmt_create
string
ホットワードリストが作成された時刻。
gmt_modified
string
ホットワードリストが最後に変更された時刻。
target_model
string
ホットワードリストの音声認識モデル。詳細については、「サポートされるモデル」をご参照ください。
このモデルは、後続の API 呼び出しで指定されるモデルと一致する必要があります。
status
string
ホットワードリストのステータス:
OK:リストは使用可能です。
UNDEPLOYED:リストはデプロイされておらず、使用できません。
RESTful API
URL
中国 (北京):
POST https://dashscope.aliyuncs.com/api/v1/services/audio/asr/customizationシンガポール (国際):
POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/customizationリクエストヘッダー
パラメーター
型
必須
説明
Authorization
string
認証トークン。フォーマットは
Bearer <your_api_key>です。<your_api_key>を実際の API キーに置き換えてください。Content-Type
string
リクエストボディ内のデータのメディアタイプ。値は
application/jsonである必要があります。リクエストボディ
以下のリクエストボディには、すべてのリクエストパラメーターが含まれています。必要に応じてオプションのフィールドを省略できます。
重要model:カスタムホットワードモデル。このパラメーターをspeech-biasingに設定します。{ "model": "speech-biasing", "input": { "action": "query_vocabulary", "vocabulary_id": "vocab-testpfx-xxxx" } }リクエストパラメーター
パラメーター
型
デフォルト
必須
説明
model
string
-
カスタムホットワードモデルです。値は
speech-biasingである必要があります。action
string
-
実行する操作。これを
query_vocabularyに設定します。vocabulary_id
string
-
クエリするホットワードリストの ID。
レスポンスパラメーター
次の表に、主要なレスポンスパラメーターを示します。
パラメーター
型
説明
vocabulary
object[]
ホットワードを定義するオブジェクトの配列。フィールドの詳細については、「ホットワードの概要」をご参照ください。
gmt_create
string
ホットワードリストが作成された時刻。
gmt_modified
string
ホットワードリストが最後に変更された時刻。
target_model
string
ホットワードリストの音声認識モデル。詳細については、「サポートされるモデル」をご参照ください。
このモデルは、後続の API 呼び出しで指定されるモデルと一致する必要があります。
status
string
ホットワードリストのステータス:
OK:リストは使用可能です。
UNDEPLOYED:リストはデプロイされておらず、使用できません。
コード例
以下は cURL の例です。Java と Python の例については、対応する SDK をご参照ください。
API キーを環境変数として設定していない場合は、
$DASHSCOPE_API_KEYを実際の API キーに置き換えてください。# ======= 重要 ======= # 以下の URL はシンガポールリージョン用です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/audio/asr/customization に置き換えてください # 中国 (北京) リージョンとシンガポールリージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください # === 実行前にこのコメントを削除してください === curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/customization \ -H "Authorization: Bearer $DASHSCOPE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "speech-biasing", "input": { "action": "query_vocabulary", "vocabulary_id": "vocab-testpfx-xxxx" } }'
ホットワードリストの更新
Python SDK
API の説明
def update_vocabulary(self, vocabulary_id: str, vocabulary: List[dict]) -> None: ''' 既存のホットワードリストを新しいものに置き換えます。 param: vocabulary_id 置き換えるホットワードリストの ID。 param: vocabulary 新しいホットワードリスト。 '''コード例
import dashscope from dashscope.audio.asr import * import os # シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください # 環境変数を使用しない場合は、次の行を Model Studio API キーに置き換えてください:dashscope.api_key = "sk-xxx" dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY') # 以下の URL はシンガポールリージョン用です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1' service = VocabularyService() my_vocabulary = [ {"text": "Seediq Bale", "weight": 4, "lang": "zh"} ] # 実際のホットワードリスト ID に置き換えてください。 service.update_vocabulary("vocab-testpfx-xxx", my_vocabulary)
Java SDK
API の説明
/** * ホットワードリストを更新します。この操作はリスト全体を上書きします。 * * @param vocabularyId 更新するホットワードリストの ID。 * @param vocabulary 新しいホットワードリストを含む JsonArray。 * @throws NoApiKeyException API キーが提供されていない場合。 * @throws InputRequiredException 必須パラメーターが欠落している場合。 */ public void updateVocabulary(String vocabularyId, JsonArray vocabulary) throws NoApiKeyException, InputRequiredExceptionコード例
import com.alibaba.dashscope.audio.asr.vocabulary.VocabularyService; import com.alibaba.dashscope.exception.InputRequiredException; import com.alibaba.dashscope.exception.NoApiKeyException; import com.alibaba.dashscope.utils.Constants; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import java.util.ArrayList; import java.util.List; public class Main { // シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください // 環境変数を使用しない場合は、次の行を Model Studio API キーに置き換えてください:public static String apiKey = "sk-xxx" public static String apiKey = System.getenv("DASHSCOPE_API_KEY"); public static void main(String[] args) throws NoApiKeyException, InputRequiredException { // 以下の URL はシンガポールリージョン用です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1"; JsonArray vocabularyJson = new JsonArray(); List<Hotword> wordList = new ArrayList<>(); wordList.add(new Hotword("Wu Yigong", 4, "zh")); wordList.add(new Hotword("Queli Renjia", 4, "zh")); for (Hotword word : wordList) { JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("text", word.text); jsonObject.addProperty("weight", word.weight); jsonObject.addProperty("lang", word.lang); vocabularyJson.add(jsonObject); } VocabularyService service = new VocabularyService(apiKey); // 実際のホットワードリスト ID に置き換えてください。 service.updateVocabulary("vocab-testpfx-xxx", vocabularyJson); } } class Hotword { String text; int weight; String lang; public Hotword(String text, int weight, String lang) { this.text = text; this.weight = weight; this.lang = lang; } }
RESTful API
URL
中国 (北京):
POST https://dashscope.aliyuncs.com/api/v1/services/audio/asr/customizationシンガポール (国際):
POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/customizationリクエストヘッダー
パラメーター
型
必須
説明
Authorization
string
認証トークン。フォーマットは
Bearer <your_api_key>です。<your_api_key>を実際の API キーに置き換えてください。Content-Type
string
リクエストボディ内のデータのメディアタイプ。値は
application/jsonである必要があります。リクエストボディ
リクエストボディにはリクエストパラメーターが含まれています。必要に応じてオプションのフィールドを省略できます。
重要model:カスタムホットワードモデル。値はspeech-biasingである必要があります。{ "model": "speech-biasing", "input": { "action": "update_vocabulary", "vocabulary_id": "vocab-testpfx-xxx", "vocabulary": [ {"text": "Seediq Bale", "weight": 4, "lang": "zh"} ] } }リクエストパラメーター
パラメーター
型
デフォルト
必須
説明
model
string
-
カスタムホットワードモデル。値は
speech-biasingである必要があります。action
string
-
操作タイプ。値は
update_vocabularyである必要があります。vocabulary_id
string
-
更新するホットワードリストの ID。
vocabulary
object[]
-
更新されたホットワードリスト (オブジェクトの配列として)。フィールドの詳細については、「ホットワードの概要」をご参照ください。
レスポンスパラメーター
コード例
次の例では cURL を使用します。Java と Python の例については、対応する SDK セクションをご参照ください。
$DASHSCOPE_API_KEY環境変数が設定されていない場合は、実際の API キーに置き換えてください。# ======= 重要 ======= # 以下の URL はシンガポールリージョン用です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/audio/asr/customization に置き換えてください # シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください # === 実行前にこのコメントを削除してください === curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/customization \ -H "Authorization: Bearer $DASHSCOPE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "speech-biasing", "input": { "action": "update_vocabulary", "vocabulary_id": "vocab-testpfx-xxx", "vocabulary": [ {"text": "Seediq Bale", "weight": 4, "lang": "zh"} ] } }'
ホットワードリストの削除
Python SDK
API
def delete_vocabulary(self, vocabulary_id: str) -> None: ''' ホットワードリストを削除します。 @param vocabulary_id: 削除するホットワードリストの ID。 '''コード例
import dashscope from dashscope.audio.asr import * import os # シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください # 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:dashscope.api_key = "sk-xxx" dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY') # 以下はシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1 に置き換えてください dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1' service = VocabularyService() # 実際のホットワードリスト ID に置き換えてください。 service.delete_vocabulary("vocab-testpfx-xxxx")
Java SDK
API
/** * ホットワードリストを削除します。 * * @param vocabularyId 削除するホットワードリストの ID。 * @throws NoApiKeyException API キーが空の場合。 * @throws InputRequiredException 必須パラメーターが空の場合。 */ public void deleteVocabulary(String vocabularyId) throws NoApiKeyException, InputRequiredExceptionコード例
import com.alibaba.dashscope.audio.asr.vocabulary.VocabularyService; import com.alibaba.dashscope.exception.InputRequiredException; import com.alibaba.dashscope.exception.NoApiKeyException; import com.alibaba.dashscope.utils.Constants; public class Main { // シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください // 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:public static String apiKey = "sk-xxx" public static String apiKey = System.getenv("DASHSCOPE_API_KEY"); public static void main(String[] args) throws NoApiKeyException, InputRequiredException { // 以下はシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope-intl.aliyuncs.com/api/v1 に置き換えてください Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1"; VocabularyService service = new VocabularyService(apiKey); // 実際のホットワードリスト ID に置き換えてください。 service.deleteVocabulary("vocab-testpfx-xxxx"); } }
RESTful API
URL
中国 (北京):
POST https://dashscope.aliyuncs.com/api/v1/services/audio/asr/customizationシンガポール (国際):
POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/customizationリクエストヘッダー
パラメーター
型
必須
説明
Authorization
string
認証トークン。フォーマットは
Bearer <your_api_key>です。<your_api_key>を実際の API キーに置き換えてください。Content-Type
string
リクエストボディ内のデータのメディアタイプ。値は
application/jsonである必要があります。リクエストボディ
リクエストボディにはリクエストパラメーターが含まれています。オプションのフィールドは省略できます。
重要model:使用するカスタムホットワードモデル。これはspeech-biasingに設定する必要があります。{ "model": "speech-biasing", "input": { "action": "delete_vocabulary", "vocabulary_id": "vocab-testpfx-xxx" } }リクエストパラメーター
パラメーター
型
デフォルト
必須
説明
model
string
-
カスタムホットワードモデル。値は
speech-biasingである必要があります。action
string
-
実行する操作。これは
delete_vocabularyに設定する必要があります。vocabulary_id
string
-
削除するホットワードリストの ID。
レスポンスパラメーター
コード例
以下は cURL の例です。Java と Python の例については、上記の SDK セクションをご参照ください。
環境変数を使用していない場合は、
$DASHSCOPE_API_KEYを実際の API キーに置き換えてください。# ======= 重要 ======= # 以下はシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/audio/asr/customization に置き換えてください # シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください # === 実行前にこのコメントを削除してください === curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/audio/asr/customization \ -H "Authorization: Bearer $DASHSCOPE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "speech-biasing", "input": { "action": "delete_vocabulary", "vocabulary_id": "vocab-testpfx-xxx" } }'
エラーコード
エラーが発生した場合は、「エラーメッセージ」をご参照ください。