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

単語登録

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

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

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

以下ではprofileWordsパラメータに設定する方法を説明します。

注記

ユーザ登録単語の構成要素

表記・読み

単語をエンジンに追加するには、単語の「表記」と「読み」が必要です。「表記」は喋ったときに表示させたい文字列、「読み」は単語の読み方のことで、ひらがな、または、カタカナで記述します。

登録したい単語の表記と読みのペアをリクエストパラメータのprofileWordsに設定します。 例えば、会話_汎用エンジン(-a-general)で「パレオパラドキシア」という単語が認識しないとします。この場合、以下のように表記と読みを半角スペースで区切って指定します。

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

複数の単語を登録する場合は、表記と読みのセットを|(パイプ)で区切ります。 「AMI あみ」と「AmiVoice あみぼいす」の2つの単語を登録するには以下のように設定します。

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

同一表記に複数の読みの設定

ひとつの表記に対して、複数の読みを設定できます。

例:

profileWords="AMI あみ|AMI あどばんすとめでぃあ"

複数表記に同一の読みの設定

複数の異なる表記に対して、同じ読みを設定できます。エラーにはなりませんが、どちらの表記が選ばれるかは不定です。敢えて設定することはお勧めしません。

例:

profileWords="AMI あみ|AmiVoice あみ"

登録できない文字

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

クラス

単語を登録するとき、「表記」と「読み」に加えて、「クラス」と呼ばれる単語のカテゴリを指定できます。クラスはエンジンごとに定義されており、API利用者がクラスを追加することはできません。エンジンごとに定義されているクラスは日本語の言語モデルのクラス名一覧を参照してください。例えば「会話_汎用エンジン」(-a-general)の場合は以下のクラスが定義されています。

  • 固有名詞
  • 名前
  • 名前(名)
  • 駅名
  • 地名
  • 会社名
  • 部署名
  • 役職名
  • 記号
  • 括弧開き
  • 括弧閉じ
  • 元号
注記
  • クラスの「名前」は人名の苗字を、「名前(名)」は人名のファーストネームを表しています。
  • 存在しないクラス名が指定された場合は、クラス名が指定されなかったものとして扱われます。

人名の単語を登録する場合、その単語が人名であることをクラスで指定することで、その単語は人名が話される文脈で認識されやすくなります。逆に、人名が話される文脈以外では認識されにくくなり、誤って湧き出してしまう事を防ぐことになります。もし登録しようとしている単語に当てはまるクラスがある場合は、クラスを設定することをお勧めします。

クラスの確認方法

エンジン毎に定義されているクラスは、マイページから確認してください。確認方法の詳細はプロファイルと単語登録を参照してください。

クラスの設定方法

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

profileWords="アソーク駅 あそーくえき 駅名"

プロファイル

profileWordsで設定したユーザ登録単語はそのセッションだけで有効になります。セッションのたびに単語を登録しなくてもすむように、プロファイルにユーザ登録単語を保存できます。プロファイルとは、AmiVoice APIの基盤でユーザごとに保存しているデータファイルです。プロファイルはエンジンごとに作成されます。

プロファイルに単語を保存する方法

プロファイルを保存するには、リクエスト時にprofileWordsにあわせて、profileIdを指定します。

注意

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

「会話_汎用エンジン」(-a-general)のtestというプロファイルにパレオパラドキシアを登録するには以下のようにします。

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

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

プロファイルの利用方法

次回のリクエスト時には、profileIdだけを指定することで登録した単語を有効にできます。「:」(半角コロン)に続けて、プロファイル名を設定してください。profileId の先頭に「:」をつけなくても動作しますが、認識精度が低下する場合があります。

先程単語を登録したtestというプロファイルを指定して音声認識セッションを行うにはprofileIdに以下のように設定します。

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

マイページの単語登録の利用方法

マイページの単語登録機能を使って登録した単語は、profileIdサービスIDのプロファイルに保存されています。

例えば、サービス ID が「user01」の場合は、以下のように指定すると、マイページで「会話_汎用エンジン」(-a-general)に登録した単語を有効にできます。

grammarFileNames=-a-general profileId=:user01

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

プロファイルの登録単語の修正、追加

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

プロファイルの登録単語の削除方法

登録した単語を削除したい場合、profileIdを指定したうえで、profileWordsに半角スペース 1 個を指定してください。

ヒント

登録する単語はプロファイルごとに1,000個を目安にしてください。マイページで登録できる「マイ単語帳」では1,000個を上限にしています。

エンジンごとに語彙が決まっており、その語彙に含まれない単語は絶対に認識されません。1,000個を超えてしまっても、単語登録しておくほうが良い場合もあります。ただし、新たに追加した単語が、発音の似た他の単語と誤って認識されてしまう可能性が生じます。多くの単語を登録することによって、こういった誤りを増やしてしまい、かえって認識精度を下げてしまう場合があることに注意してください。

一般的な注意として以下に気をつけてください。

  • 話されることのないであろう単語を、念の為にといった理由で追加しない
  • 対応するクラスがある場合は、クラスを指定して単語登録する
  • 音節が少ない単語は誤って認識されやすいので特に注意する
ヒント

AmiVoice Tech Blogの単語登録のコツも参照してください。