
Appleは今月、機械学習ジャーナルに興味深い記事を掲載しました。音声起動の「Hey Siri」検出機能の仕組みを詳細に解説しています。こうした記事の多くは、一般読者(つまり私)には難しすぎる内容が多いのですが、10月のSiriチームによる記事には、iPhoneやApple Watchで「Hey Siri」を使う際に舞台裏で何が起こっているのか、興味深い(そして分かりやすい!)豆知識がいくつか含まれています。
Appleは、iPhoneとApple Watchのマイクが「ユーザーの声を1秒あたり16000の速度で瞬間的な波形サンプルのストリームに変換」し、その後、デバイスの検出器がユーザーの声でSiriを起動する意図があるかどうかを判断すると説明しています。
スペクトル分析ステージでは、波形サンプルストリームをフレームシーケンスに変換します。各フレームは約0.01秒の音響スペクトルを表します。これらのフレームは一度に約20フレーム(0.2秒の音声)ずつ音響モデル(ディープニューラルネットワーク(DNN))に送られ、音響モデルはこれらの音響パターンを、音声クラス(「Hey Siri」フレーズで使用されるもの、無音部分、その他の音声)の集合にわたる確率分布に変換します。この合計約20の音声クラスは、このDNNの音声クラスに相当します。
Apple には、Siri を呼び出そうとしているかどうかを判断するための可変しきい値もあります。
困難な状況でも Siri を簡単に起動できるように、誤作動を大幅に増やさずに柔軟性を組み込みました。Siri には、通常動作に必要な基本しきい値と、通常は起動しない下限しきい値があります。スコアが下限しきい値を超えても上限しきい値は超えていない場合、本物の「Hey Siri」イベントを見逃した可能性があります。スコアがこの範囲内にある場合、システムは数秒間、より高感度な状態になり、ユーザーが特別な操作をしなくてもフレーズを繰り返すだけで Siri が起動します。このセカンドチャンスメカニズムにより、システムの使いやすさが大幅に向上します。また、この非常に高感度な状態は短時間のみであるため、誤報率もそれほど高くなりません。
ご存知の通り、「Hey Siri」はiPhoneのコプロセッサを利用してトリガーワードを聞き取るため、物理的な操作やバッテリー消費を必要とせず、Apple Watchではディスプレイがオンの状態であることが求められるため、「Hey Siri」の扱いが異なります。Appleによると、この方法では「Hey Siri」のコンピューティングリソースは全体の約5%しか消費しないとのことです。
「Hey Siri」検出機能は、Watchのモーションコプロセッサが手首を上げるジェスチャー(画面の点灯)を検出した場合にのみ動作します。その時点では、WatchOSは電源投入や画面の準備など、多くの処理を実行する必要があるため、システムは限られたコンピューティングリソースのごく一部(約5%)のみを「Hey Siri」に割り当てます。トリガーフレーズの開始に合わせて音声キャプチャを開始するのは困難なため、検出機能を初期化する際には、音声が途中で途切れる可能性を考慮しています。
最後に、Apple が「Hey Siri」というフレーズをトリガーとして選択したのはなぜでしょうか?
Hey Siri機能が登場するずっと前から、少数のユーザーがボタンを押してリクエストを開始する際、「Hey Siri」と発声していました。私たちは、このような「Hey Siri」発話を、米国英語検出モデルの初期トレーニングセットに使用しました。また、メインの音声認識システムのトレーニングに使用した一般的な音声サンプルも含めました。どちらの場合も、トレーニングフレーズには自動書き起こしを使用しました。Siriチームのメンバーは、書き起こしのサブセットの正確性を確認しました。
「Hey Siri」というフレーズについて、言語固有の音声仕様を作成しました。アメリカ英語では、「Siri」の最初の母音が異なる2つのバリエーションがあり、1つは「serious」、もう1つは「Syria」の発音です。
全文を読むと、特に音声認識に興味がある人や、iPhone や Apple Watch で「Hey Siri」を使う人にとっては興味深い内容です。
Appleのニュースをもっと知りたい方は、YouTubeで9to5Macを購読してください。
lomsen.com を Google ニュース フィードに追加します。
FTC: 収益を生み出す自動アフィリエイトリンクを使用しています。詳細はこちら。