Echo、Siri、Cortanaは一般的なVUI,つまり音声UIです。しかし、これらのアシスタントはすべて異なる目標を念頭に置いてデザインされています。SiriはiPhoneとやりとりする新しい方法としてデザインされていましたが、Echoは音声第一のインターフェースとしてデザインされていました。そして、これは変化しています。
音声認識とは、認識システムが「何を」聞くかがポイントとなります。認識エンジンは、すべてのユーザークエリに対して一連の応答を返します。この技術が向上するにつれて、優れたVUIがデザインされるのです。自然言語理解(NLU)は、VUIがこれらの応答をどのように解釈するかを示します。言われたことを正確に転記する正確さではなく、何を伝えられたのかを理解し、処理する方法がここでは重要です。
ユーザーの応答の理解
「この記事を読んでください」と言うと、「この記事を読んでください」というものだけでなく、「この”記事”を読んでください」などの解釈もできます。後者の解釈は全く意味をなしていません。受け取るのが人であれば、当然のように理解している文脈とロジックです。AIにも人と同様の、ユーザーが何を意味しているのか読み取り、それに応じて応答することを求められます。例えば、下記のような応答が求められます:
制約付き/有限応答
システムが尋ねる多くの質問に対して、論理的に有効な応答が限られている場合です。たとえば、システムが「あなたの好きな動物は何ですか?」または「外に出たいですか?」と尋ねるとき、「オレンジ」と言うのは論理的な反応ではありません。応答を解釈し、無関係なものを破棄するためのメカニズムを提供することは、ユーザーの応答セットが無限であるような場合、困難です。しかし、最初のケースでは、VUIは容認された動物の名前のリストを参照することができます。2番目の例では「はい」と「いいえ」のバリエーションを見るだけです。ユーザーが限られた応答に沿わない何かを言った場合、”私は理解できません”という空の応答で処理することができます。
制約付きの応答を必要とするいくつかの例を以下に示します。
- ・あなたの好きな果物は何ですか? :マンゴー、アップル、バナナ、など
- ・あなたはどこの国出身ですか? :インド、アメリカ、中国、など
- ・どの曲を聞きたいですか? :曲名など
- ・チケットを予約したいですか? :はい、いいえ、そうです、など
応答セットは長くなったとしても、有限です。
オープンスピーチ
会話に自然な流れを持たせたいが、入力を明示的に処理したくない場合です。たとえば、アシスタントは「こんにちは!お久しぶりですね。」と言い、ユーザーが「そうかな」または「今すぐ仕事に行かないと」などと返答すると仮定しましょう。この場合、アシスタントは「うーん、なるほど」または「了解です。」といった一般的な返答を返すことができます。ここでは、会話を続行するためにユーザーの応答は重要ではなく、ユーザーはおおよそ何でも言うことができつつ、応答のロジックは依然として有効です。ジェネラルな答えで問題ありません。一般的な返答のもう1つの戦略は、「大丈夫!了解です!」や「この情報を顧客サービスチームに送信します」などです。
入力の分類
ユーザーの入力を処理するための戦略は、ポジティブ/ネガティブ、幸せ/悲しい/興奮、良い/悪いなどのような広く定義されたバケットに入力を分類することです。VUIは、正確な応答を探索するのではなく、適切なカテゴリにマッピングしていけます。
たとえば、VUIは「レストランはどうでしたか?」と聞くことができます。
- ・良い:素晴らしい、良かった、最高、すごい、など
- ・悪い:失望した、悪い、いらいらした、など
- アシスタントはそれに従って応答することができます。
ヒント:
ユーザーが既に感じていることをアナウンスしないでください。たとえば、ユーザーがその経験が良くなかったと言ったときは、「あなたは悪い経験をしているようです。私たちがどのように改善できるか教えてください。」と返すのは不自然です。代わりに、「申し訳ありません。詳しく教えていただけないでしょうか?」という返答が良いでしょう。
論理式
特定のキーワードやフレーズを探すのが簡単な方法ですが、音声ベースのシステムではより複雑なクエリが可能です。たとえば、次のクエリも意図は同じです。
- ・”私のコンピュータは本当に遅いです”
- ・”私のコンピュータは本当に本当に遅いです”
- ・”コンピュータが遅いです。何をすべきでしょう?”
タクシーの予約や食べ物の注文は単純なものですが、ユーザーが情報を求める方法にはばらつきがあります。これらのバリエーションごとに条件を書くと、膨大な作業量となります。代わりに、システムは共通パターンの認識を構築することができます。
否定
VUIが「レストランはいかがでしたか?」と尋ね、あなたが「そんなに良くはなかったな」と答えたとしましょう。しかし、VUIは「良い」という単語を拾い、「良かった!ありがとうございます!」と返しました。愚かな印象を受けるでしょう。VUIアシスタントを信頼できなくなるかもしれません。「良くない」などといった「否定」の表現の処理ははるかに難しい作業ですが、無視するコストは高いです。
曖昧さ回避
曖昧さの除去というのは不確実性を取り除くことを意味し、音声インタフェースが取り組むべき最も重要な問題の1つであると言えます。簡単な例は電話をかけることです。Siriに “Johnに電話する”と言い、連絡先リストに複数のJohnがいる場合は、”どのJohnですか?”と尋ねられなければなりません。
また、ユーザが不十分な情報や過度の情報を提供している場合には、システムで曖昧さを解消する必要があります。たとえば、ユーザーが「大きなピザが欲しいです」と言うと、次に来るべきは「どのような種類のピザですか?」です。これは、アシスタントが質問することによって、ユーザーが不十分な情報のみを与えたことを補っているケースです。
ユーザが過度に多い情報を提示し、システムがそれに対応しきれない場合、システムは、一度に一つの情報のみを提供するようにユーザに求めることができます。しかし、複数の情報を一度に説明する方がより効率的で有益です。
意図を捉える
より複雑なVUIの場合、スピーチ入力をよりスマートに処理する方法が必要です。メッセージ送信等のような多くの場合、メッセージングアプリでできることはいくつかあります。 「お母さんにメッセージを送る」または「最後のメッセージを読む」、「メッセージがありますか」といった指示を受けることができます。どの場合も意図は異なり、キーワード「メッセージ」を検索してこれらのクエリを処理することはできません。代わりに、VUIのNLUモデルは、これらのクエリのそれぞれを別個のい要望として扱うように訓練されるべきです。
対象を捉える
ユーザーが複数の情報を一度に発声する場合、NLUモデルはユーザーの意図を理解し、それぞれの対象を捉えることが必要です。たとえば、ユーザーが「うちへ、スターバックスのラージカプチーノを届けて」と言うと、ユーザーはすでにコーヒー、サイズ、レストラン名、届け場所の種類を指定しています。システムは、この情報を予測しておく必要があります。
これらのモデルを構築してテストするには、Api.ai、Microsoft LUIS、Nuance Mix、Wit.aiなどのツールを使用できます。
ウェイクワード
ウェイクワードは、VUIシステムを呼び出すためによく使用されます。たとえば、「Alexa!」はAmazon Echoのウェイクワード、「Hey, Google!」や「オッケー、グーグル」はGoogle Assistantのウェイクワードです。これらは、デバイスに触れることなくVUIシステムとの対話を開始する方法の1つです。
ウェイクワードをデザインするときは、次の点に留意してください。
- ・容易に認識可能でなければなりません。「Jim」や「Will」のような短い言葉は認識が難しいです。
- ・ユーザーが簡単に言えるものにしましょう。
- ・複数の音節のある単語を使用する。 AlexaやSiriのウェイクワードに注目してください。すべて複数の音節を持っています。
- ・人々が普段の会話でよく話す言葉は選ぶべきではありません。
注目すべきもう一つの重要なことは、ウェイクワードはローカルで処理する必要があるということです。デバイスは常にウェイクワードを聞き取れなければなりません。そして、ユーザーの声を録音して処理するためにクラウドに送信しなければなりません。常にクラウドにデータを記録して送信することは非倫理的であり、ユーザー間での深刻な不信感につながります。
TTSと録音音声
もう1つの重要な決定は、ユーザーの質問に答えるためにTTS(Text-to-Speech)を使用するか、録音した音声を使用するかです。録音された声はより自然な感じですが、すべての回答を記録するには高価で時間がかかります。一方、TTSはリアルタイムで動作することができますが、ロボット的に聞こえます。それは改善されていますが、TTSはまだ特定の単語を発音することが難しく、さらに感情を示すことは困難です。
TTSは、SSML(Speech Synthesis Markup Language)を適用することで改善され、より自然な発音のイントネーションや発音を追加できます。それにもかかわらず、TTSエンジンでは難しい単語やフレーズがあり、発音辞書を作成する必要があるかもしれません。
一般的に、TTSと録音された音声の組み合わせを使用するのが良い戦略です。レコーディングは、確認や挨拶のような最も一般的な回答に使用できます。これとは別に、ハイブリッドモデルを使用している場合に備えて、レコーディングアーティストの音声フォントを作成することも良い戦略です。
音声生体認証
ボイスIDまたはスピーカー検証とも呼ばれるボイスバイオメトリック認証は、ユーザーが自分の声で自分自身を認証できるメカニズムです。技術は向上していますが、認証には音声IDだけを使用することはお勧めできません。音声生体認証の別の使用方法としては、認証よりも話者「識別」にあるでしょう。VUIは、誰が話しているかを識別し、それに応じて応答することができます。
感情分析
VUIをスマートにする別の方法は、感情分析と感情の検出です。感情分析は、しばしば、テキストの中の意見を特定し、分類することを指します。複雑に聞こえますが、一定の感情分析は非常に簡単です。まず、カテゴリー(例えば、ポジティブ、ネガティブ、ニュートラル)を定義し、ユーザーが言ったものを比較する必要があります。KNIMEのようなオープンソースのツールを使用すると、簡単に始めることができます。
感情検出
これはAffectiva(現在Appleが所有)のような企業が開発しています。顔の特徴を使ってユーザの感情を検出し、適切な応答を与えるためにシステムで使用されるような、かなり新しい分野です。感情の検出は、音声サンプルをリアルタイムで分析することによっても行うことができます。Moodiesのアプリケーションは、主要な感情を表す音声ストリームを介して感情を検出します。
感情を検出するための技術を使用するときに覚えておくべき重要なことの1つは、慎重になるべきであるといことです。感情状態を正しく認識することは良いことですが、間違ってしまうと悲惨な結果になる可能性があります。
※本記事はDesigning great voice experiences using natural language cuesを翻訳・再構成したものです。
▼こちらの記事もおすすめです!