単語登録

ここでは、単語登録機能を使った音声認識について学びます。

以降の手順には、単語登録の実行が含まれます。ご自身のアカウントで既に単語登録をされている場合は、ご利用中の環境に影響がないように、前日にお送りしたメールに記載されているアカウントをご使用ください。

1. 単語登録をせずに音声認識を実行する

words1.wavは、以下のような内容の音声データです。

AmiVoice Hands-onで単語登録について学びます。

まずは、必須パラメータのみで音声認識を実行し、どのような音声認識結果が返ってくるか確認します。使用するインターフェースは、同期・非同期どちらでも構いません。

リクエストの条件

音声認識エンジン:日本語・会話_汎用

使用する音声ファイル:words1.wav

リクエストと音声認識結果例

同期HTTPインターフェース リクエスト

Linux・Mac

curl https://acp-api.amivoice.com/v1/recognize \
-F u=$APP_KEY \
-F d=-a-general \
-F a=@words1.wav

Windows

curl https://acp-api.amivoice.com/v1/recognize -F u=%APP_KEY% -F d=-a-general -F a=@words1.wav

非同期HTTPインターフェース リクエスト

Linux・Mac

curl https://acp-api-async.amivoice.com/v1/recognitions \
-F u=$APP_KEY \
-F d=-a-general \
-F a=@words1.wav
curl -H "Authorization: Bearer $APP_KEY" \
https://acp-api-async.amivoice.com/v1/recognitions/{セッションID}

Windows

curl https://acp-api-async.amivoice.com/v1/recognitions -F u=%APP_KEY% -F d=-a-general -F a=@words1.wav
curl -H "Authorization: Bearer %APP_KEY%" https://acp-api-async.amivoice.com/v1/recognitions/{セッションID}

音声認識結果

AmiVoiceハンズオンで単語登録について学びます。

2. マイページから単語登録をする(直接入力)

1の音声認識結果の「AmiVoiceハンズオン」部分を「AmiVoice Hands-on」と表記するために単語登録を行います。マイページから直接入力で単語登録を行った後、プロファイルを指定して音声認識を実行し、音声認識結果がどのように変わるか確認します。

リクエストの条件

音声認識エンジン:日本語・会話_汎用

使用する音声ファイル:words1.wav

マイページから直接入力で単語登録する手順はこちらを参照してください。
リクエストと音声認識結果例

単語登録

登録した単語を利用するためには、profileIdを指定します。マイページから単語登録をした場合、プロファイルIDは自動的にユーザーIDになります。

以下は、ユーザーIDがami-webinarの場合のリクエスト例です。お手元で実行する際は、ami-webinarを自身のユーザーIDに置き換えてください。

同期HTTPインターフェース リクエスト

Linux・Mac

curl https://acp-api.amivoice.com/v1/recognize \
-F u=$APP_KEY \
-F d="grammarFileNames=-a-general profileId=:ami-webinar" \
-F a=@words1.wav

Windows

curl https://acp-api.amivoice.com/v1/recognize -F u=%APP_KEY% -F d="grammarFileNames=-a-general profileId=:ami-webinar" -F a=@words1.wav

非同期HTTPインターフェース リクエスト

Linux・Mac

curl https://acp-api-async.amivoice.com/v1/recognitions \
-F u=$APP_KEY \
-F d="grammarFileNames=-a-general profileId=:ami-webinar" \
-F a=@words1.wav
curl -H "Authorization: Bearer $APP_KEY" \
https://acp-api-async.amivoice.com/v1/recognitions/{セッションID}

Windows

curl https://acp-api-async.amivoice.com/v1/recognitions -F u=%APP_KEY% -F d="grammarFileNames=-a-general profileId=:ami-webinar" -F a=@words1.wav
curl -H "Authorization: Bearer %APP_KEY%" https://acp-api-async.amivoice.com/v1/recognitions/{セッションID}

音声認識結果

AmiVoice Hands-onで単語登録について学びます。

次に進む前に、登録した単語を削除しておいてください。

3. マイページから単語登録をする(インポート)

インポート機能を使用して「AmiVoice Hands-on」の単語登録を行います。マイページからインポートで単語登録を行った後、プロファイルを指定して音声認識を実行します。

リクエストの条件

音声認識エンジン:日本語・会話_汎用

使用する音声ファイル:words1.wav

マイページからインポートで単語登録する手順はこちらを参照してください。
リクエストと音声認識結果例

単語登録

tsvファイルを作成します。ファイルには1行にひとつの単語を記述します。行には、表記・読みをタブで区切って記述してください。

マイページの「ファイルから新規登録」タブでファイルを選択し、追加登録実行します。

登録した単語を利用するためには、profileIdを指定します。マイページから単語登録をした場合、プロファイルIDは自動的にユーザーIDになります。

以下は、ユーザーIDがami-webinarの場合のリクエスト例です。お手元で実行する際は、ami-webinarを自身のユーザーIDに置き換えてください。

同期HTTPインターフェース リクエスト

Linux・Mac

curl https://acp-api.amivoice.com/v1/recognize \
-F u=$APP_KEY \
-F d="grammarFileNames=-a-general profileId=:ami-webinar" \
-F a=@words1.wav

Windows

curl https://acp-api.amivoice.com/v1/recognize -F u=%APP_KEY% -F d="grammarFileNames=-a-general profileId=:ami-webinar" -F a=@words1.wav

非同期HTTPインターフェース リクエスト

Linux・Mac

curl https://acp-api-async.amivoice.com/v1/recognitions \
-F u=$APP_KEY \
-F d="grammarFileNames=-a-general profileId=:ami-webinar" \
-F a=@words1.wav
curl -H "Authorization: Bearer $APP_KEY" \
https://acp-api-async.amivoice.com/v1/recognitions/{セッションID}

Windows

curl https://acp-api-async.amivoice.com/v1/recognitions -F u=%APP_KEY% -F d="grammarFileNames=-a-general profileId=:ami-webinar" -F a=@words1.wav
curl -H "Authorization: Bearer %APP_KEY%" https://acp-api-async.amivoice.com/v1/recognitions/{セッションID}

音声認識結果

AmiVoice Hands-onで単語登録について学びます。

次に進む前に、登録した単語を削除しておいてください。

4. 単語登録APIを使用する

APIを使用して「ACP Hands-on」の単語登録を行います。APIを使用してhands-onというプロファイルに単語を登録し、音声認識を実行します。

リクエストの条件

音声認識エンジン:日本語・会話_汎用

使用する音声ファイル:words1.wav

プロファイルID:hands-on

ユーザー単語登録APIについてはこちらを参照してください。
リクエストと音声認識結果例

単語登録

パスパラメータには、音声認識エンジン(-a-general)プロファイルID(hands-on)を指定してください。単語登録データはJSON形式で指定します。

Linux・Mac

curl https://acp-api.amivoice.com/profilewords/-a-general/hands-on \
-H "Authorization: Bearer $APP_KEY" \
-H "Content-Type: application/json" \
-d '{"profilewords":[{"written":"AmiVoice_Hands-on","spoken":"あみぼいすはんずおん"}]}'

Windows

curl https://acp-api.amivoice.com/profilewords/-a-general/hands-on -H "Authorization: Bearer %APP_KEY%" -H "Content-Type: application/json" -d "{\"profilewords\":[{\"written\":\"AmiVoice_Hands-on\",\"spoken\":\"あみぼいすはんずおん\"}]}"

登録している単語の取得

登録されている単語の一覧は、以下のようにして取得できます。

Linux・Mac

curl -sS https://acp-api.amivoice.com/profilewords/-a-general/hands-on \
-H "Authorization: Bearer $APP_KEY"

Windows

curl -sS https://acp-api.amivoice.com/profilewords/-a-general/hands-on -H "Authorization: Bearer %APP_KEY%"

レスポンス

{
    "profilewords": [
        {
            "written": "AmiVoice_Hands-on",
            "spoken": "あみぼいすはんずおん"
        }
    ]
}

同期HTTPインターフェース リクエスト

Linux・Mac

curl https://acp-api.amivoice.com/v1/recognize \
-F u=$APP_KEY \
-F d="grammarFileNames=-a-general profileId=:hands-on" \
-F a=@words1.wav

Windows

curl https://acp-api.amivoice.com/v1/recognize -F u=%APP_KEY% -F d="grammarFileNames=-a-general profileId=:hands-on" -F a=@words1.wav

非同期HTTPインターフェース リクエスト

Linux・Mac

curl https://acp-api-async.amivoice.com/v1/recognitions \
-F u=$APP_KEY \
-F d="grammarFileNames=-a-general profileId=:hands-on" \
-F a=@words1.wav
curl -H "Authorization: Bearer $APP_KEY" \
https://acp-api-async.amivoice.com/v1/recognitions/{セッションID}

Windows

curl https://acp-api-async.amivoice.com/v1/recognitions -F u=%APP_KEY% -F d="grammarFileNames=-a-general profileId=:hands-on" -F a=@words1.wav
curl -H "Authorization: Bearer %APP_KEY%" https://acp-api-async.amivoice.com/v1/recognitions/{セッションID}

音声認識結果

AmiVoice Hands-onで単語登録について学びます。

次に進む前に、登録した単語を削除しておいてください。

Limux・Mac

curl https://acp-api.amivoice.com/profilewords/-a-general/hands-on \
-H "Authorization: Bearer $APP_KEY" \
-H "Content-Type: application/json" \
-d '{"profilewords": []}'

Windows

curl https://acp-api.amivoice.com/profilewords/-a-general/hands-on -H "Authorization: Bearer %APP_KEY%" -H "Content-Type: application/json" -d "{\"profilewords\": []}"

5. 音声認識のリクエスト時に単語を設定する

音声認識のリクエスト毎に単語を登録することも可能です。リクエストパラメータのprofileWordsに追加したい単語を設定すると、そのセッションだけで単語登録が有効になります。

音声認識リクエスト時のprofileWordsに「AmiVoice Hands-on」の表記と読みを設定し、音声認識を実行します。

リクエストの条件

音声認識エンジン:日本語・会話_汎用

使用する音声ファイル:words1.wav

リクエスト毎に単語登録を行う方法はこちらを参照してください。
また、表記についてはこちらを参照してください。
リクエストと音声認識結果例

「AmiVoice_Hands-on あみぼいすはんずおん」のように表記と読みを半角スペースで区切ります。表記に含まれる半角スペースは半角下線(_)に置き換えます。リクエスト時は、表記と読みのセットをURLエンコードしてください。

※ここでのURL エンコードは、半角スペースが"+"ではなく、"%20"に変換される方式です。

同期HTTPインターフェース リクエスト

Linux・Mac

curl https://acp-api.amivoice.com/v1/recognize \
-F u=$APP_KEY \
-F d="grammarFileNames=-a-general profileWords=AmiVoice_Hands-on%20%E3%81%82%E3%81%BF%E3%81%BC%E3%81%84%E3%81%99%E3%81%AF%E3%82%93%E3%81%9A%E3%81%8A%E3%82%93" \
-F a=@words1.wav

Windows

curl https://acp-api.amivoice.com/v1/recognize -F u=%APP_KEY% -F d="grammarFileNames=-a-general profileWords=AmiVoice_Hands-on%20%E3%81%82%E3%81%BF%E3%81%BC%E3%81%84%E3%81%99%E3%81%AF%E3%82%93%E3%81%9A%E3%81%8A%E3%82%93" -F a=@words1.wav

非同期HTTPインターフェース リクエスト

Linux・Mac

curl https://acp-api-async.amivoice.com/v1/recognitions \
-F u=$APP_KEY \
-F d="grammarFileNames=-a-general profileWords=AmiVoice_Hands-on%20%E3%81%82%E3%81%BF%E3%81%BC%E3%81%84%E3%81%99%E3%81%AF%E3%82%93%E3%81%9A%E3%81%8A%E3%82%93" \
-F a=@words1.wav
curl -H "Authorization: Bearer $APP_KEY" \
https://acp-api-async.amivoice.com/v1/recognitions/{セッションID}

Windows

curl https://acp-api-async.amivoice.com/v1/recognitions -F u=%APP_KEY% -F d="grammarFileNames=-a-general profileWords=AmiVoice_Hands-on%20%E3%81%82%E3%81%BF%E3%81%BC%E3%81%84%E3%81%99%E3%81%AF%E3%82%93%E3%81%9A%E3%81%8A%E3%82%93" -F a=@words1.wav
curl -H "Authorization: Bearer %APP_KEY%" https://acp-api-async.amivoice.com/v1/recognitions/{セッションID}

音声認識結果

AmiVoice Hands-onで単語登録について学びます。

6. 同じ読みの単語を登録する

words2.wavは、以下のような内容の音声データです。「あみ」という読みの単語が3つ含まれています。

株式会社AMI(あみ)の阿弥(あみ)亜美(あみ)です

まずは、3つの「あみ」の表記と読みを単語登録して音声認識を実行し、どのような音声認識結果が返ってくるか確認します。単語登録の方法は、今までの手順で学習した方法のいずれを使っても構いません。

リクエストの条件

音声認識エンジン:日本語・会話_汎用

使用する音声ファイル:words2.wav

単語登録と音声認識結果例

単語登録

マイページから直接入力した場合は、このような状態になります。

音声認識結果

株式会社AMIの亜美亜美です。

※AmiVoice APIでは、同じ音声を送信しても同じ結果が得られるとは限りません。これは音声認識エンジンが日々更新されていること、音声認識サーバの負荷状況により若干の計算量の調整を行っているためです。ハンズオンに記載されている例と実際の音声認識結果が異なる場合がありますので、ご了承ください。

6. クラスを指定して単語を登録する

クラスとは、単語のカテゴリーやタイプを指定するための分類です。基本的に同じ読みの単語を複数登録することは推奨されませんが、クラスを使うことで同じ発音でも異なる文脈で使用される単語を区別することができます。

「AMI」に「会社名」、「阿弥」に「名前」、「亜美」に「名前(名)」のクラスを指定して音声認識を実行し、どのような音声認識結果が返ってくるか確認します。単語登録の方法は、今までの手順で学習した方法のいずれを使っても構いません。

リクエストの条件

音声認識エンジン:日本語・会話_汎用

使用する音声ファイル:words2.wav

単語登録と音声認識結果例

単語登録

マイページから直接入力した場合は、このような状態になります。

音声認識結果

株式会社AMIの阿弥亜美です。