ラスベガスで開催されたAmazonののre:MARS AIカンファレンスで、Alexaの副社長であるRohit Prasad氏が、Alexaスマートアシスタントの新しい会話モデルのデモを行った。この新モデルによって、Alexaは、スキル間をシームレスに移行し、会話のコンテキストを記憶して、あいまいな参照を解決することができるようになる。
Alexaユーザがスキルの概念に精通していることは間違いない。 スキルの概念は、Alexaの機能の基本的な構成要素なのだ。ユーザはAlexaに対して、スキルを"開く"、あるいは"起動する"ように求めることで、スキルを選択する。ひとつのスキルがアクティブになると、Alexaの会話能力は、そのスキルの要件によって制約される。数多い他のチャットボットと同様に、Alexaは、インテント分類とスロット充填(intent-classification and slot-filling)をそのモデルとして採用している。インテント/スロットモデルの例として、映画チケット購入のスキルでは、インテントとしてのPurchaseTicketsと、theaterCity、theaterName、movieTitle、showTime、numberOfTicketsの各スロットを保持する。
ユーザが話したフレーズはそれぞれ、ユーザがAlexaに実行させたいアクション(インテント/意図)と、アクション特有のパラメータ(スロット)に分析される。インテントが特定されれば、その後のAlexaとの会話の多くは、インテントの空のスロットを埋めるためのものだ。このモデルの欠点のひとつは、Alexaが会話の詳細をまったく覚えていない点にある。特に問題なのは、スロット値として識別されたアイテムを、ユーザが後で選択する可能性のある他のスキルで使用できないことだ。例えば、ユーザが映画のチケットを購入した後、劇場へのライドシェアをAlexaを使ってスケジュールしたい場合、単に"車で行きたい"と言うことはできない。ユーザが明示的にライドシェアのスキルを開いて、そのスキルのdestinationAddressとarrivalTimeのスロットを埋めなくてはならないのだ。前のスキルで充足したtheatreNameとshowTimeスロットのコンテキストから、これらを推測することはできない。
re:MARSの基調講演で、Prasad氏は、Alexaとの会話を収めたビデオを公開した。その中でユーザは、Alexaとの会話を拡張して、映画チケットの購入、レストランの予約、ライドシェアのスケジュールを、すべて新しいダイアログモデルを使って実行した。ここでAlexaは、コンテキストの情報を維持して、スキル間をスイッチし、記憶したコンテキストを使ってスロットを埋める作業を行っている。Alexaチームによると、"対話のすべてのラウンドにおいて、システムはひとつのベクトルを生成し、... そのベクトルが、会話のコンテキストとセマンティックコンテンツを表現する"のだという。
今回のデモは、数多くの研究論文の集大成であり、その内部的な活動については、昨年のブログ記事や会議論文でも示唆されていた。このシステムでは、スロットの埋め込み(embedding)を生成する。意味的に類似したスロットは、埋め込みスペース内で互いに近接され、グループ化される。これによってAlexaは、あるスキルのスロットが別のスキルのスロットの値で充足される可能性があることを認識できるのだ。ダイアログの次のステップにスロット値を"繰り越す(caryover)"かどうかの判断には、LSTMニューラルネットワークも使用されている。
このテクノロジは、Alexa開発者コミュニティには完全にリリースされていないが、Alexa Conversationsと呼ばれるDeveloper Previewプログラムがあり、"今後のクロストピック機能へのアーリーアクセス"を申請することができる。 Alexa ChampionのMark Tucker氏はTwitterで、次のように述べている。
Alexa Conversationsプレビューには、コーディングの削減と会話体験の向上が期待できます。すべての開発者が注目すべきです。Amazonはこれまで、状態管理やインテントコンテキストよりも、ダイアログ管理に重点を置いてきました。これが解決策になるでしょうか?
しかしながら、新たな会話モデルに誰もが興奮している訳ではない。Hacker Newsのコメントには、次のようなものもある。
もっと明示的なアイテムのリスト -> 縮小 -> アイテムの新たなリスト、というアプローチに向かってほしいと思います。Alexaの欠点が表面化する可能性が最も高いのは、普通の対話をしようとするトラップに陥ったときなのです。