Googleの音声認識を整理する
スマホの音声認識機能やスマートスピーカーの普及に伴って、声での操作が徐々に一般的になってきました。音声認識エンジンの精度向上、とりわけ日本語の解析精度が技術的に格段に向上したことが背景にあると考えていますが、今後さらにこの傾向や発展的な利用が拡大するだろうことを踏まえ、ITエンジニアとしては改めて状況を整理しておきたいと思います。MicrosoftやAmazon、IBMなど他の事業者でも同様に音声認識エンジンの開発に取り組んでいますが、ここではGoogleをピックアップ。
Speech-to-TextとWeb Speech API
Googleの音声認識を理解する上で、Speech-to-TextとWeb Speech APIを分けて考える必要があると考えています。
ネットを調べると、音声認識に関して多くの人が解説やデモを公開されており、デモを試す際は多くの場合Chromeブラウザを使ってください、となっているので、あたかもChromeが音声認識機能を有しているように錯覚してしまうのですが、より厳密に言うと、Chromeは音声認識システムを呼び出す機能を有しているのであり、音声認識エンジンを搭載しているわけではありません。実際、オフラインの状態ではデモは動作しないはずです。
話を元に戻すと、音声認識を解説するサイトでは、Speech-to-Textと書かれていたり、Web Speech APIと書かれていたりします。これらの違いを理解しておいた方が、解説サイトがどちらの話をしているのか理解しやすいですし、商用利用できるのかどうか、解析された音声やテキストはGoogleにどのように扱われるのか(会議の議事録など機密情報を扱って安心か)など、ビジネス用途で利用する際に気になるポイントも抑えることができます。
Speech-to-Textとは
Speech-to-Textとは、Google Cloud Platform(GCP)が提供するクラウドサービスのひとつです。
このサービスを利用するには、GCPのアカウントを作成する必要があります。無料トライアルなども提供されていますが、基本的にGCPのサービス群は有償であり、アカウント作成の際に登録したクレジットカードに対し、利用量に応じて毎月請求されます。法人・個人問わずアカウント作成できますが、個人向けの安いプランなどはなく、料金は一律です。
GCPは、様々なセキュリティやコンプライアンスの対策に取り組んでいます。
商用利用可能であり(むしろそれが目的)、ISO27017などを取得していることからも分かる通り、GCPアカウント内で取り扱われたデータを利用者に無断でGoogleが利用、開示することはありません。
Web Speech APIとは
Web Speech APIとは、W3CのSpeech APIコミニュティグループにより公開されている仕様です。
実装された機能やサービスではなく、仕様なのです。ましてや、Googleの持ち物でもありません。
では、単なる仕様のものが、なぜChromeで使えるのでしょうか。なぜなら、Googleがその仕様をベースに機能を実装しているからです。もちろん、その実装はGoogleの持ち物です。
Googleの実装は、Speech-to-Textでの音声認識エンジンと同一だと推察されます*1。しかし、Speech-to-Textとの大きな違いは、Chromeから使えるWeb Speech API実装は、GCPアカウントの作成など、Googleに対して事前に何ら契約や申請などは不要であり、Chromeさえあれば誰でも無償で利用できるという点です。
有償同等精度の音声認識エンジンを無償で使えるなら便利なことこの上なしですが、ビジネス利用には注意が必要です。Web Speech API実装の商用利用はOKのようですが*2、GCPのように、データの取り扱いについて何ら定めがないため、業務上の機密情報を扱うのは憚られます。
なお、Web Speech APIでは、Speech Recognition API(音声認識)と音声合成(Speech Synthesis API)の仕様を定めています。それぞれブラウザの対応状況は次の通りです。
Can I use Speech Recognition? Support tables for HTML5, CSS3, etc
Can I use Speech Synthesis? Support tables for HTML5, CSS3, etc
Chrome以外のブラウザでも音声認識は使えますし、音声合成に至ってはさらに多くのブラウザがサポートしていますね。
便利な音声認識サービス
Speechnotes
音声がリアルタイムに認識される上、認識の途中でキーボードを使ってカンマやピリオドなどを挿入できます(全角の読点や句点はダメでした)。音声だけでは、カンマやピリオドを入れられないので、その難点を上手くクリアでき、自然なテキストを記録できます。
おそらくSpeech-to-Textを使っています。サイトのHTMLソースを見ると「https://apis.google.com/js/client.js」が使われており、これはGCPのクライアントライブラリ*3なのでそのように推測しました。
GCPですが、ビジネス利用は要注意です。Speechnotes提供元のWellSource社(?)が契約するGCPアカウントだと推察されますので、WellSource社がその気になれば音声やテキストデータを記録・入手可能です。Android版Speechnotesの説明では、「弊社はあなたのプライバシーを重視し、保護します。あなたの如何なるデータも保存しません。」と書かれていますが、果たしてどこまで信用してよいやら。