BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース eBayのショッピングアシスタントShopBotで実現されたスケーラブルなChatbotアーキテクチャ

eBayのショッピングアシスタントShopBotで実現されたスケーラブルなChatbotアーキテクチャ

原文(投稿日:2017/07/09)へのリンク

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 PlatformDockerKubernetesをベースとしている。

このアプリケーションは、マルチターン会話とマルチモーダルなシステム入力機能をサポートしている。 マルチモーダルなシステム入力ではテキスト、クリック&タップ、イメージ、音声、およびそれら入力の組み合わせを扱うことが可能だ。トピックに関連する対話を含むマルチターン会話では、従来の一元的な検索よりも高い生産性を実現できる。

ダイアログマネージャはShoptBotアプリケーションのコアコンポーネントであり、入力解析、ボットメモリ、製品検索、(テキスト、ビジュアル、キュレーション)検索、知識グラフなどで使用される。

ShopBotのロードマップには、クラウド上の全eBayインベントリの提供、非線形対話に関するイノベーションの継続、より簡単かつ迅速なショッピングを実現するための対話型コマースにおけるAIの活用研究、などが掲載されている。

ShopBotアプリケーションはeBayのWebサイトで試すことができる。

 

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT