eBayのソフトウェアエンジニアであるRobert Enyedi氏がQCon New York 2017 Congerenceで、個人用ショッピングアシスタントアプリケーションであるShopBotを支えるアーキテクチャについて講演した。Facebook Messengerボットをベースとして2016年にローンチされたShopBotは、AIコンポーネントとeBayのユーザ情報を活用して、会話形式でショッピングの選択肢を提供するアプリケーションだ。
AIテクノロジはコマースに大きな影響を及ぼしており、ユーザはショッピングエクスペリエンスにおいて、シンプルかつパーソナライズされたインタラクションを期待している、とEnyedi氏は言う。
ショッピングチャットボットを開発する上での課題は、単に商品を探すだけでなく、関連性検索、ショッピングに関する会話、話し言葉による対話、会話サポートなどがある。さらにシステム設計においては、ユーザ入力が最小限でああったり、あるいは複数の会話に断片化されていたりする、という制限もある。ユーザの入力を正確に理解するためには大量のデータが必要であり、かつ、システムの出力はユーザフレンドリなものでなくてはならない。
サードパーティのボットフレームワークには一般的に、自然言語の理解と処理、意図の検出(天気、フライトスケジュール、ショッピングなど)、エンティティ抽出(数値、温度など)が含まれている。ただしそれらには、限定的な非線形会話サポート、洗練されていないボットメモリといった問題がある上に、APIの可用性や成熟度、ツール、実装といった面でもさまざまなのが現状だ。そのためeBayチームは、大規模データ用に調整されコマースを意識した入力解析、長期的かつセキュアなストレージを備えたきめ細かなボットメモリ、非線形かつマルチターンの会話サポートなどを備えた、独自のボットソリューションを実装した。
ShopBotのアーキテクチャは以下のコンポーネントで構成されている。
- Facebook Messenger
- ShopBot Fabric
- ShopBot AI System (入力プロセッサとダイアログマネージャを含む)
- データストア(ボットメモリと知識グラフ)
ShopBotテクノロジスタックはマイクロサービスアーキテクチャに基づいており、Java 8、Scala、Python、Play、Google Cloud Big Table、および機械学習モデルトレーニング用のSparkを含んでいる。開発モデルはGoogle Cloud Platform、Docker、Kubernetesをベースとしている。
このアプリケーションは、マルチターン会話とマルチモーダルなシステム入力機能をサポートしている。 マルチモーダルなシステム入力ではテキスト、クリック&タップ、イメージ、音声、およびそれら入力の組み合わせを扱うことが可能だ。トピックに関連する対話を含むマルチターン会話では、従来の一元的な検索よりも高い生産性を実現できる。
ダイアログマネージャはShoptBotアプリケーションのコアコンポーネントであり、入力解析、ボットメモリ、製品検索、(テキスト、ビジュアル、キュレーション)検索、知識グラフなどで使用される。
ShopBotのロードマップには、クラウド上の全eBayインベントリの提供、非線形対話に関するイノベーションの継続、より簡単かつ迅速なショッピングを実現するための対話型コマースにおけるAIの活用研究、などが掲載されている。
ShopBotアプリケーションはeBayのWebサイトで試すことができる。
この記事を評価
- 編集者評
- 編集長アクション