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

単語登録

AmiVoice API では、認識できない単語があれば、ユーザーが追加できます。追加した単語をユーザ登録単語と言います。

単語を追加するには 2 つの方法があります。

  • マイページの単語登録ページで事前に設定しておく
  • リクエスト時にprofileWordsパラメータに設定する
note
  • 英語エンジンは単語登録に対応していません。
  • 中国語エンジンはマイページでの単語登録に対応していません。
tip
  • マイページで事前に単語登録しておくほうが、セッションの開始時に時間がかからず効率的です。

以下ではprofileWordsパラメータに設定する方法を説明します。 マイページで単語登録する方法については、プロファイルと単語登録を参照してください。

ユーザ登録単語

ユーザ登録単語は、単語の表記と読みをセットで、エンジンに対して登録します。「表記」は喋ったときに表示したい文字列、「読み」は単語の読み方のことで、ひらがなで記述します。例えば、汎用エンジン(-a-general)で「パレオパラドキシア」という単語が認識しないとします。この場合、grammarFileNamesprofileWordsに以下のようにリクエストパラメータとして設定します。

grammarFileNames=a-general profileWords="パレオパラドキシア ぱれおぱらどきしあ"

表記の「パレオパラドキシア」と読みの「ぱれおぱらどきしあ」を半角スペースで区切ってprofileWordsに設定します。

複数単語の設定

複数の単語を登録する場合は、|(パイプ)で区切ります。

profileWords="AMI あみ|AmiVoice あみぼいす"

登録できない文字

表記には、"|"(半角縦棒)と" "(半角スペース)と":"(半角コロン)を含む文字列は登録できません。

認識結果の筆記表記文字列 (writtenForm) にこれらの文字が含まれていた場合、

  • "|" (半角縦棒) は "|" (全角縦棒)
  • " " (半角スペース) は "_" (半角アンダースコア)
  • ":" (半角コロン) は ":" (全角コロン)

にそれぞれ変換されますので、注意してください。

クラス

ユーザ登録単語には、「クラス」と呼ばれる単語のカテゴリを指定できます。クラスはエンジンごとに定義されており、例えば汎用(-a-general)エンジンの場合は以下のクラスが定義されています。

  • 固有名詞
  • 名前
  • 名前(名)
  • 駅名
  • 地名
  • 会社名
  • 部署名
  • 役職名
  • 記号
  • 括弧開き
  • 括弧閉じ
  • 元号

クラスを指定することで、音声認識エンジンはその単語の出現しやすいコンテキストの情報を利用することができます。もし、当てはまるクラスがある場合は、クラスを設定することで精度を改善できる可能性があります。存在しないクラス名が指定された場合は、クラス名が指定されなかったものとして扱われます。エンジン毎に定義されているクラスは、マイページから確認してください。確認方法の詳細はプロファイルと単語登録を参照してください。

クラスは「表記」、「読み」に続けて指定します。例えば、「アソーク駅」という駅名が認識しないとします。この場合、単語、読みに続けて、半角スペースの後にクラス名の駅名を指定できます。

grammarFileNames=a-general profileWords="アソーク駅 あそーくえき 駅名"

プロファイル

profileWordsで設定したユーザ登録単語はそのセッションだけで有効になります。セッションのたびに単語を登録しなくてもすむように、プロファイルにユーザ登録単語を保存できます。プロファイルとは、音声認識サーバ上に存在するユーザーごとのデータファイルです。プロファイルを保存するには、リクエスト時にprofileWordsにあわせて、profileIdを指定します。

caution

profileIdprofileWordsの両方を指定する場合、必ずprofileIdを先に指定します。

testというプロファイルにパレオパラドキシアを登録するには以下のようにします。

grammarFileNames=a-general profileId=test profileWords="パレオパラドキシア ぱれおぱらどきしあ"
note

profileId には、半角英数文字、および、「-」(半角マイナス)、「_」(半角アンダーライン) で構成される文字列が利用できます。ただし、「__」(半角アンダーライン 2 文字)ではじまる文字列は、 音声認識エンジン側で予約されていますので、「__」(半角アンダーライン 2 文字)ではじまる文字列は指定しないようにしてください。

ユーザ登録単語の利用方法

次回のリクエスト時には、profileIdだけを指定することで登録した単語を有効にできます。このとき、先頭に半角コロンを付けてください。

例)「:test」を URL エンコードした文字列を値とします。

profileId=%3Atest

"%3A"は、半角コロンが URL エンコードされたものです。

複数のメンバーが利用する場合で、profileId の先頭に「:」をつけないで指定した場合は、認識精度が低下する場合があります。

マイページの単語登録

マイページの単語登録でユーザ登録単語を追加した場合は、サービスIDのプロファイルに保存されます。

例)サービス ID が「user01」の場合、マイページで登録した単語を有効にするには以下のようにします。

profileId=%3Auser01

マイページでの単語登録の方法については、プロファイルと単語登録を参照してください。

登録単語の修正、追加

profileIdprofileWordsを指定してプロファイルに単語を保存する場合、ひとつだけ後から単語を追記できません。以前に登録したすべての単語も合わせて再度profileWordsに指定してください。

caution

独自プロファイルに単語を保存するための接続では、profileId の先頭に「:」(半角コロン)を付けてはいけません。先頭に半角コロンを付けると、そのプロファイルに単語が保存されませんのでご注意ください。

登録単語の削除方法

登録した単語を削除したい場合には、s コマンド送信時に profileId を指定したうえで、 profileWords に半角スペース 1 個を指定してください。

制限事項

登録する単語はプロファイルごとに約1000個を目安にしてください。

参考

AmiVoice のテックブログに単語登録のコツを紹介していますので、そちらも参照してください。