メインコンテンツまでスキップ

ユーザー辞書登録

ユーザー辞書の登録単語のインポート、エクスポートを行うAPIです。

ユーザー辞書の登録単語の取得

登録した単語の一覧をJSON形式で取得することができます。

エンドポイント

GET https://acp-api.amivoice.com/profilewords/<dgn>/<pid>?adf=<adf>

認証

APPKEY はAuthorizationヘッダーに指定してください。

Authorization: Bearer {APPKEY}

リクエストパラメータ

パラメータ名
パラメータ名
注記
dgn接続エンジン名-a-generalなどの接続エンジン名を指定します。指定できる値は音声認識エンジンの一覧を参照してください。パスパラメータとして設定します。
pidプロファイルID任意の文字列。パスパラメータとして設定します。
adf音声データ形式16kまたは8kのいずれかを指定します。指定しない場合は16kとなります。音声認識エンジンによっては複数のサンプリングレートに対応していますが、ユーザー辞書は8k16kでそれぞれ異なるエンジンとしてとりあつかうためにどちらかを指定する必要があります。クエリパラメータとして設定します。
ただし、End to End エンジンの場合は16k8kも同じエンジンとしてとりあつかうため、指定不要です。

プロファイル一覧の取得

プロファイルの一覧をJSON形式で取得することができます。

エンドポイント

GET https://acp-api.amivoice.com/profilewords/<dgn>/?adf=<adf>

認証

APPKEY はAuthorizationヘッダーに指定してください。

Authorization: Bearer {APPKEY}

リクエストパラメータ

パラメータ名
パラメータ名
注記
dgn接続エンジン名-a-generalなどの接続エンジン名を指定します。指定できる値は音声認識エンジンの一覧を参照してください。パスパラメータとして設定します。
adf音声データ形式16kまたは8kのいずれかを指定します。指定しない場合は16kとなります。音声認識エンジンによっては複数のサンプリングレートに対応していますが、ユーザー辞書は8k16kでそれぞれ異なるエンジンとしてとりあつかうためにどちらかを指定する必要があります。クエリパラメータとして設定します。
ただし、End to End エンジンの場合は16k8kも同じエンジンとしてとりあつかうため、指定不要です。

ユーザー辞書の単語の登録

指定した音声認識エンジンとプロファイルIDのユーザー辞書の単語を置き換えることができます。

エンドポイント

POST https://acp-api.amivoice.com/profilewords/<dgn>/<pid>?adf=<adf>

認証

APPKEY はAuthorizationヘッダーに指定してください。

Authorization: Bearer {APPKEY}

リクエストパラメータ

パラメータ名
パラメータ名
注記
dgn接続エンジン名-a-generalなどの接続エンジン名を指定します。指定できる値は音声認識エンジンの一覧を参照してください。パスパラメータとして設定します。
pidプロファイルID任意の文字列。パスパラメータとして設定します。
adf音声データ形式16kまたは8kのいずれかを指定します。指定しない場合は16kとなります。音声認識エンジンによっては複数のサンプリングレートに対応していますが、ユーザー辞書は8k16kでそれぞれ異なるエンジンとしてとりあつかうためにどちらかを指定する必要があります。クエリパラメータとして設定します。
ただし、End to End エンジンの場合は16k8kも同じエンジンとしてとりあつかうため、指定不要です。

コンテンツタイプ

Content-Type: application/json

リクエストボディ

ハイブリッドエンジンの場合

フィールド名
説明
補足
profilewords単語登録情報登録したい単語を配列形式で指定します
profilewords[].written表記単語の表記を指定します
profilewords[].spoken読み単語の読みを指定します
profilewords[].classnameクラス名クラス名を指定します。設定しないときは省略可能です。

{
"profilewords": [
{
"written": "AMI",
"spoken": "あみ"
},
{
"written": "AOI",
"spoken": "あおい"
},
{
"written": "躑躅森",
"spoken": "つつじもり",
"classname": "名前"
}
]
}

End to End エンジンの場合

フィールド名
説明
補足
profilewords単語強調情報強調したい単語を配列形式で指定します
profilewords[].written表記単語の表記を指定します
profilewords[].alternativewritten代替表記「表記」に置き換える単語の表記を指定します
profilewords[].biasing単語強調度単語を強調する強さを指定します。0 ~ 1 の値が指定可能で、0 は強調しないことを、1は全体的な認識率を犠牲にしながらも強めに単語強調をすることを表します。何も指定しない場合、デフォルトで 0.5 になります 

同一の表記に対して複数の代替表記を指定することも可能です。この時、同一の表記の単語に対しては同一の単語強調度が適用されます。もしリクエスト時に同一の表記に対して異なる単語強調度を指定した場合、リクエスト中に一番最初に登場するものの単語強調度の値が採用されます。以下の例では、同一の表記「AMI」の単語強調度は、そのうちの一番最初に登場するものに適用される値「0.8」が統一して適用されます。三番目にある表記「AOI」の単語強調度は、指定が無いためデフォルトの「0.5」が適用されます。

{
"profilewords": [
{
"written": "AMI",
"alternativewritten": "アドバンストメディア",
"biasing": 0.8
},
{
"written": "AMI",
"alternativewritten": "あみ"
},
{
"written": "AOI",
"alternativewritten": "あおい"
}
]
}

レスポンス

成功時

HTTPステータスコード: 200 OK

レスポンスボディ

ハイブリッドエンジンの場合

フィールド名
説明
補足
profilewords単語登録情報登録した単語が配列形式で得られます
profilewords[].written表記単語の表記が得られます
profilewords[].spoken読み単語の読みが得られます
profilewords[].classnameクラス名クラス名が得られます。設定されていないときは省略されます

{
"profilewords": [
{
"written": "AMI",
"spoken": "あみ"
},
{
"written": "AOI",
"spoken": "あおい"
},
{
"written": "躑躅森",
"spoken": "つつじもり",
"classname": "名前"
}
]
}

End to End エンジンの場合

フィールド名
説明
補足
profilewords単語強調情報強調する単語が配列形式で得られます
profilewords[].written表記単語の表記が得られます
profilewords[].alternativewritten代替表記「表記」に置き換える単語の表記が得られます
profilewords[].biasing単語強調度単語を強調する強さが得られます。値がデフォルトの 0.5 であるときは省略されます

{
"profilewords": [
{
"written": "AMI",
"alternativewritten": "あみ",
"biasing": 0.8
},
{
"written": "AMI",
"alternativewritten": "アドバンストメディア",
"biasing": 0.8
},
{
"written": "AOI",
"alternativewritten": "あおい"
}
]
}

失敗時

HTTPステータスコード: 200以外

レスポンスボディ

フィールド名
説明
補足
codeエラーコードエラーの種別を示すコード
messageエラーメッセージエラー内容の詳細を説明するテキスト

エラーコードとエラーメッセージ

HTTPステータスコード
レスポンスボディエラーの状況
404 Not Found{"code":"?","message":"missing dictation grammar file name"}ディクテーショングラマファイル名 <dgn> が指定されていない時
404 Not Found{"code":"?","message":"missing profile id"}プロファイル ID <pid> が指定されていない時
405 Method Not Allowed{"code":"?","message":"POST method is not allowed"}POST が指定された時
400 Bad Request{"code":"-","message":"missing request body"}POST メソッドでリクエストされたのにリクエストボディが指定されていない時
400 Bad Request{"code":"-","message":"invalid request body (<optionalMessage>)"}リクエストボディが JSON として正しくない時
422 Unprocessable Entity{"code":"?","message":"missing profile words"}リクエストボディに指定された JSON が期待した形式でない時
422 Unprocessable Entity{"code":"?","message":"invalid written: <written>"}リクエストボディに指定された JSON の中の表記が正しくない時
422 Unprocessable Entity{"code":"?","message":"invalid spoken: <spoken>"}リクエストボディに指定された JSON の中の読みが正しくない時
422 Unprocessable Entity{"code":"?","message":"invalid class name: <className>"}リクエストボディに指定された JSON の中の単語クラスが正しくない時
422 Unprocessable Entity{"code":"?","message":"invalid alternative written: <alternativeWritten>"}リクエストボディに指定された JSON の中の代替表記が正しくない時
401 Unauthorized{"code":"-","message":"can't verify service authorization"}APPKEY(サービス認証キー文字列)の認証に失敗した時
401 Unauthorized{"code":"-","message":"service authorization has expired: <expirationTime> (<expiresIn>)"}APPKEY(サービス認証キー文字列)の認証に失敗した時
500 Internal Server Error{"code":"?","message":"unexpected exception occurred (<optionalMessage>)"}想定外の例外が発生した時

{
"code":"?",
"message":"missing dictation grammar file name"
}