AmiVoice Techblog

AmiVoiceの音声認識に関する技術情報・活用方法・組み込み方などを発信するアドバンスト・メディアのテックブログです

AmiVoice API Private・SDKの「ルールグラマ」認識とは?

f:id:amivoice_techblog:20210209095049p:plain 大倉尭

皆さん、こんにちは!

AmiVoice API PrivateやSDKでは「ルールグラマ(グラマ認識)」を使ったエンジンが利用可能です。

ですが、「ルールグラマって何?」「普通の音声認識と何が違うの?」と疑問に感じる方も多いと思います。そこで、これから何回かに分けて、AmiVoice API Private・SDKにおけるルールグラマとその使い方について解説していきます。1回目となる本記事では、「ルールグラマとは何か?」を説明します。

ルールグラマとは?

AmiVoice APIなどで提供している音声認識は「ディクテーション(ディクテーション認識)」と呼ばれます。「Dictation=書き取り」の通り、「入力された音声をそのまま文字にする」ことができるものです。ですので、「きょうのてんきは?」と言えば「今日の天気は?」という認識結果が出力されますし、「なまむぎなまごめなまたまご」と言えば「生麦生米生卵」という認識結果が出力されます。

これに対して、AmiVoice API Private・SDKで利用可能である「ルールグラマ」は、「Grammar=文法」という意味の通り、「事前に決めた文法(ルール)に従う表現だけを認識する」ものです。

ルールグラマのイメージとして近いのは、Amazon EchoGoogle Homeなどのスマートスピーカーや、音声コマンドで動くロボットなどです。これらは、「今日の天気は?」「テレビつけて」といった特定の文章だけを認識し、それに応じて「今日の天気を表示する」「テレビをつける」といった命令を実行します。その一方で、ルールに入っていない発話は認識されないので、スマートスピーカーやロボットなどに「生麦生米生卵」と言っても、勝手にテレビがつくといったことはありません(「もう一度言ってください」などの返答はあるかもしれませんが)。

このように、特定の単語や文だけを認識したり、それに応じてコマンドを実行したりといったことができるのが「ルールグラマ」である、ということになります。そして、今回AmiVoice API Private・SDKで利用可能なルールグラマでは、どのような単語や文を認識できるようにするかというルールを自分で設定することができます。

ルールグラマの利用シーンの例

このようなルールグラマですが、活用が期待できる利用シーンの例をいくつか挙げてみます。

  • 製品の型番などの音声認識
    「アルファベットと数字だけ」や「8桁の数字だけ」など、認識できる文字やその文字数を指定したルールを設定できるので、製品の型番などの音声認識に適しています。
  • 検査・保守点検記録シートなどへの音声入力
    認識できる単語や文を限定することができるので、入力検査や保守点検の記録シートなど、特定の単語や文が使われる際の音声入力に適しています。
  • ボイスボット
    定型的な発話が多いボイスボットの音声認識にも、ルールグラマを活用することができます。シナリオに応じて複数のルールを用意することも可能です。

ルールグラマのメリット・デメリット

次に、ルールグラマのメリット・デメリットを、ディクテーションと比較して説明します。

メリット

ディクテーションと比べ、ルールグラマは認識される単語・文が限定されるので、正しく認識される確率(認識率)が高くなる傾向があります

わかりやすくクイズで例えてみましょう。音声認識は、「ある音声」が与えられて、その音声が何と言ったのかというクイズを解くようなものだといえます。ディクテーションとルールグラマはそれぞれ、

① 今、何と言ったでしょう?
選択肢なしディクテーション

② 今、何と言ったでしょう? A. 犬 B. 猫 C. 猿 D. 熊
選択肢ありルールグラマ

というクイズに対応するようなものです。選択肢がある②の方が正解率は高いでしょう。仮に「猿(さる)」なのか「樽(たる)」なのか紛らわしい音声が与えられても、②のように選択肢があれば「猿」と結果を返すことができます。

デメリット

「事前に決めた文法(ルール)に従う表現だけを認識する」ということは、逆に言うとルールに従わない表現、ルールで記述できない表現は認識できないということになります。ルールの記述に不備がある場合、「何度発話しても認識されない」というトラブルが起こり得ます。

音声認識したい表現のバリエーションが多い場合など、ルール設定で網羅することが難しい場合は、ディクテーションを利用するのがよいでしょう。

おわりに

本記事では、「ルールグラマとは何か?」について説明しました。ルールグラマの具体的な使い方(ルールの設定方法)については今後の記事で解説していく予定ですので、ご期待ください。

ルールグラマはAmiVoice API Private・SDKで提供されている機能ですが、より手軽にAmiVoice API音声認識を試してみたい開発者の方がいましたら、ぜひ https://acp.amivoice.com/ を試してみてください。毎月音声60分までは全エンジン無料で使えます。

ここまでお読みいただき、ありがとうございました!

この記事を書いた人