すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:カスタムホットワード

最終更新日:Mar 26, 2026

音声認識タスクで、プロダクト名や固有名詞などのドメイン固有の用語が正確に認識されない場合は、ホットワード機能を使用します。これらの用語をホットワードとして追加することで、認識の精度を向上させることができます。

ホットワード

ホットワード機能を使用すると、用語の 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

はい

ホットワードのテキスト。

ホットワードテキストの言語は、選択したモデルでサポートされている必要があります。サポートされる言語はモデルによって異なります。

ホットワードは、認識または翻訳の精度を向上させます。文字のランダムな組み合わせではなく、実際の単語を使用してください。以下のルールは、ホットワードテキストの長さを制限します:

  • 非 ASCII 文字を含む場合:文字列の合計文字数は 15 文字を超えることはできません。これには、非 ASCII 文字 (中国語の漢字、日本語の仮名、韓国語のハングル、ロシア語のキリル文字など) と ASCII 文字が含まれます。

    例:

    • "厄洛替尼盐酸盐" (7 文字)

    • "EGFR抑制剂" (7 文字、"EGFR" は 4 つの ASCII 文字で構成)

    • "こんにちは" (5 文字)

    • " " (スペースを含む 15 文字)

    • " " (24 文字)

  • ASCII 文字のみを含む場合:文字列のセグメント数は 7 を超えることはできません。セグメントとは、スペースで区切られた ASCII 文字の連続したシーケンスです。

    例:

    • "Exothermic reaction" → 2 セグメント

    • "Human immunodeficiency virus type 1" → 5 セグメント

    • "The effect of temperature variations on enzyme activity in biochemical reactions" → 11 セグメント

weight

int

いいえ

ホットワードの重み。一般的な値は 4 です。

有効値:[1, 5]。

結果が大幅に改善されない場合は、重みを増やすことができます。ただし、重みを高くしすぎると、他の単語の認識精度が低下する可能性があります。

lang

string

いいえ

言語コード。これにより、ASR モデルでサポートされている特定の言語のホットワードをブーストできます。事前に言語を特定できない場合は、このフィールドを空のままにしておくことができ、モデルが自動的に言語を検出します。

サポートされている言語とそのコードについては、モデルの API リファレンスをご参照ください。音声認識サービスを呼び出す際には、同じ言語を指定するようにしてください。`language_hints` で言語を指定した場合、他の言語のホットワードは有効になりません。

サポートされるモデル

現在、この機能はサポートされていません。

課金

ホットワード機能は無料です。

ホットワードの制限

  1. 各アカウントは最大 10 個のホットワードリストを作成できます。このクォータはすべてのモデルで共有されます。引き上げをリクエストするには、チケットを送信してください。

  2. 各ホットワードリストには最大 500 個のホットワードを含めることができます。

クイックスタート:ホットワードリストの作成と使用

ワークフロー

ホットワードリストを作成し、音声認識に使用するには、2 つの連続したステップが必要です:

  1. ホットワードリストの作成

    作成 API を呼び出します。このステップでは、ホットワードリストを特定の音声認識モデルに関連付けるために、target_model パラメーター (Java では targetModel) を指定する必要があります。

    すでにホットワードリストがある場合は、このステップをスキップできます。既存のリストを表示するには、すべてをクエリ API を呼び出します。

  2. 音声認識にホットワードリストを使用する

    音声認識 API を呼び出し、リクエストにホットワードリスト ID を渡します。このステップで使用される音声認識モデルは、ホットワードリストの作成時に使用した target_model (Java では targetModel) と一致する必要があります。

前提条件

  1. API キーの取得API キーを取得します。セキュリティを強化するため、API キーは環境変数に保存してください。

  2. 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 形式のホットワードリスト。詳細については、「ホットワードの概要」をご参照ください。

  • レスポンスパラメーター

    応答例

    {
        "output": {
            "vocabulary_id": "vocab-testpfx-5112c3de3705486baxxxxxxx"
        },
        "usage": {
            "count": 1
        },
        "request_id": "aee47022-2352-40fe-acfa-xxxx"
    }

    次の表に、主要なレスポンスパラメーターを示します。

    パラメーター

    説明

    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)}")
  • レスポンスパラメーター

    応答例を表示するにはクリックしてください

    [
      {
        "gmt_create": "2025-04-22 14:23:35",
        "vocabulary_id": "vocab-testpfx-5112c3de3705486baxxxxxxx",
        "gmt_modified": "2025-04-22 14:23:35",
        "status": "OK"
      }
    ]

    次の表に、主要なレスポンスパラメーターを示します。

    パラメーター

    説明

    vocabulary_id

    string

    ホットワードリストの ID。

    gmt_create

    string

    ホットワードリストが作成された時刻。

    gmt_modified

    string

    ホットワードリストが最後に変更された時刻。

    status

    string

    ホットワードリストのステータス。有効な値:

    • OK:ホットワードリストは使用準備ができています。

    • UNDEPLOYED:ホットワードリストはデプロイされておらず、使用できません。

Java SDK

  • API

    /**
     * 作成されたすべてのホットワードリストを一覧表示します。デフォルトのページインデックスは 0、デフォルトのページサイズは 10 です。
     *
     * @param prefix ホットワードリストをフィルタリングするためのプレフィックス。
     * @return <code>Vocabulary
    Vocabulary
  • コード例

    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));
        }
    }
  • 応答例を表示するにはクリックしてください

    [
      {
        "gmt_create": "2025-04-22 14:23:35",
        "vocabulary_id": "vocab-testpfx-5112c3de3705486baxxxxxxx",
        "gmt_modified": "2025-04-22 14:23:35",
        "status": "OK"
      }
    ]

    次の表に、主要なレスポンスパラメーターを示します。

    パラメーター

    説明

    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

    いいえ

    ページあたりのエントリ数。

  • レスポンスパラメーター

    応答例を表示するにはクリックしてください

    {
      "output": {
        "vocabulary_list": [
          {
            "gmt_create": "2025-12-19 11:47:11",
            "gmt_modified": "2025-12-19 11:47:11",
            "status": "OK",
            "vocabulary_id": "vocab-testpfx-xxxxxxxx"
          }
        ]
      },
      "usage": {
        "count": 1
      },
      "request_id": "10e8cde2-b711-4609-b19b-xxxxxx"
    }

    次の表に、主要なレスポンスパラメーターを示します。

    パラメーター

    説明

    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)}")
  • レスポンスパラメーター

    応答例

    {
      "gmt_create": "2025-12-19 11:47:11",
      "gmt_modified": "2025-12-19 11:47:11",
      "status": "OK",
      "target_model": "fun-asr",
      "vocabulary": [
        {
          "lang": "zh",
          "text": "Seediq Bale",
          "weight": 4
        }
      ]
    }

    次の表に、主要なレスポンスパラメーターを示します。

    パラメーター

    説明

    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()));
        }
    }
  • レスポンスパラメーター

    応答例

    {
      "gmt_create": "2025-12-19 11:47:11",
      "gmt_modified": "2025-12-19 11:47:11",
      "status": "OK",
      "target_model": "fun-asr",
      "vocabulary": [
        {
          "lang": "zh",
          "text": "Seediq Bale",
          "weight": 4
        }
      ]
    }

    次の表に、主要なレスポンスパラメーターを示します。

    パラメーター

    説明

    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。

  • レスポンスパラメーター

    応答例

    {
      "output": {
        "gmt_create": "2025-12-19 11:47:11",
        "gmt_modified": "2025-12-19 11:47:11",
        "status": "OK",
        "target_model": "fun-asr",
        "vocabulary": [
          {
            "lang": "zh",
            "text": "Seediq Bale",
            "weight": 4
          }
        ]
      },
      "usage": {
        "count": 1
      },
      "request_id": "3d461d3f-b2c4-4de5-xxxx"
    }

    次の表に、主要なレスポンスパラメーターを示します。

    パラメーター

    説明

    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[]

    -

    はい

    更新されたホットワードリスト (オブジェクトの配列として)。フィールドの詳細については、「ホットワードの概要」をご参照ください。

  • レスポンスパラメーター

    応答例

    {
      "output": {},
      "usage": {
        "count": 1
      },
      "request_id": "aee47022-2352-40fe-acfa-xxxx"
    }
  • コード例

    次の例では 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。

  • レスポンスパラメーター

    応答例

    {
      "output": {},
      "usage": {
        "count": 1
      },
      "request_id": "aee47022-2352-40fe-acfa-xxxx"
    }
  • コード例

    以下は 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"
        }
    }'

エラーコード

エラーが発生した場合は、「エラーメッセージ」をご参照ください。