Application Sharing of Reinforcement Learning in Intelligent Interactive Search

インタラクティブ検索入門

インテリジェントインタラクティブ検索は、新しいタイプのショッピング検索手法です。ユーザーは検索中にシステムと対話できます。私たちは、ユーザーとの対話を通じて意思決定を支援する情報を提供することを目指しています。主に以下の次元を含みます。

要件の絞り込み:ユーザーのショッピングニーズが比較的明確な場合、システムは意思決定の絞り込みに役立つディメンションを推奨します。たとえば、「イヤホン」というクエリに対して、システムはユーザーに「装着方法」を選択させ、より迅速な購入決定を促します。

探索と発見:ショッピングニーズの探索と発見をサポートします。ユーザーに購入意図がないと判断された場合は、複数の異なるクエリを推奨します。

ナレッジ Q&A:ユーザーがサードパーティのウェブサイトで事前にショッピングに関するナレッジを学び、その後タオバオに訪れて直接商品を検索するという課題を解決します。いくつかのナレッジ解説を提供し、最終的にはユーザーが購入プロセス全体をスムーズに完了できるようガイドし、タオバオのリンク内で購入および購入後の共有を実現することを目指します。

ユーザーセッションデータの例は以下の通りです。

初期クエリは「紐なしメンズシューズ」で、エージェントはユーザーに「カラー分類:赤、白、黒、グレー」を推奨しました。

ユーザーは「販売数順で並べ替え」を選択しました。

ユーザーは「黒」を選択し、エージェントは複数の異なる質問をユーザーに推奨しました。検出されたもの:メンズレザーシューズ、メンズスニーカー、メンズシューズ、メンズホワイトシューズ、メンズクロスシューズ、メンズキャンバスシューズ、メンズカジュアルシューズ、メンズピーシュー、T シャツメンズ。

ユーザーは「ページをめくる」操作を行いました。

ユーザーは「メンズホワイトシューズ」を選択し、エージェントはさらに「トゥスタイル:ポインテッドトゥ、フラットトゥ、ラウンドトゥ」を推奨しました。

ユーザーは「ポインテッドトゥ」をクリックしました。

ユーザーは「ラウンドトゥ」をクリックしました。

問題定義と関連研究およびモデリング

問題定義

本問題では、ユーザーができるだけ多くシステムと対話できるようにすることを目指しています。より多くの対話はより多くの PV を意味し、ユーザーの滞在時間と粘性を向上させ、PV の増加は広告収益の増加にもつながります。インテリジェント音声対話の分野では、Microsoft が統計指標 CPS(Conversations Per Session)を提案しています。これは人間と AI「チャットボット」との間の対話ターン数を表します。Microsoft の統計によると、Xiaoice の現在の CPS は約 23 である一方、Siri、Google Now、その他のスマートアシスタント目的で開発された AI エンジンの CPS は 3 を超えることはほとんどありません。本論文でもこの指標を最適化目標として使用します。

もちろん、この問題をタスク指向対話システムとして捉え、ユーザーが最小限の対話回数でショッピングを完了できるようにすることも可能です。ここでは前者を目標として設定します。

インタラクティブ検索シナリオにおける強化学習の意義

強化学習が機能するシナリオには、明確な遅延報酬が必要です。一般的に、ボードゲームでは現在の駒を犠牲にして全体の優位を獲得します。Dota 2 のような対戦ゲームでは、ヒーローがラストヒットの経済的利益を犠牲にしてゲーンクや Roshan を選択します。強化学習は逐次的意思決定における遅延報酬問題のモデル化に優れており、現在の局所的最適判断を犠牲にして長期的利益を獲得することを目指します。

インタラクティブ検索システムからユーザーへのフィードバックは典型的な逐次的意思決定プロセスであり、時には現在の最高收益を犠牲にする必要があります。この問題で、最適化目標が全体の CTR である場合、イヤホン検索シナリオの例では、コンテキスト内で意思決定に使用できる「ブランド」と「装着スタイル」の 2 つのディメンションがあります。教師あり手法では、現在のコンテキストでの最適選択肢、つまり貪欲なアプローチを学習します。この場合、「最初にブランドを表示する」方が優れていると学習されますが、実際にはブランドと装着スタイルの順序を変更すると、最初の判断が現在の状態で最適ではなくても、最適な逐次的意思決定のもとでの期待値は高くなる可能性があります。

ゲーム、ボードゲーム、機械制御などの RL が比較的成功している分野と比べて、対話型インタラクティブシステムにおける「終了」の定義は相対的に曖昧です。チャットボットではユーザーの退出を「終了」として定義できます。インタラクティブ検索では、ユーザーの意図切り替えを「終了」として定義するかどうかはタスクに関連します。ユーザーの PV 増加を目指す場合は、インタラクション全体を終了した時点で「終了」とします。絞り込んだカテゴリ内でのショッピングをさらにガイドして取引完了まで導く場合は、「終了」は退出または意図の切り替えとして定義されます。

タスク指向対話における強化学習の一般的なアプローチ

古典的な DM(対話管理)のアプローチは、問題をスロットフィリングとして捉えることです。2007 年から 2013 年にかけて、基本的なアプローチはタスクを定義して一連のスロットに分割し、対話プロセス中にスロットを埋めていく方法でした。この方法の最大の問題はエラー伝播です。上流のエラーが下流に伝わり、NLU や DST の特定ステップでのエラーが直接 DM の誤ったアクションを引き起こし、回復がほぼ不可能になります。エンドツーエンドのアプローチである程度エラー修正を実現できます。基本的なアイデアは、まず教師あり学習で事前訓練し、その後深層強化学習でパラメーターを調整する方法です(サンプルは実際のユーザーから取得)。より代表的な研究は Bing Liu らの 2017 年 NIPS 論文で、スロットフィリングとアクションを同時に最適化する以下のアーキテクチャを提案しています。

インタラクティブ検索ベースの強化学習フレームワークのモデリング

強化学習フレームワークを使用してインタラクティブ検索シナリオをモデル化します。エージェントはサービスプロセス、環境(env)はユーザーおよびプラットフォームのその他の要因です。具体的には、ユーザーが最初にクエリ(例:「携帯電話」)を送信し、エージェントがカテゴリ属性(例:「ブランド」)を選択します。ページには「ブランド」の具体的な値が表示されます。ユーザーは特定の属性値を選択/選択解除するか、直接ページをめくることができ、これらの操作により次の PV に遷移します。エージェントと env はユーザーがセッションを終了するまで継続的に相互作用し、1 つのエピソードを形成します。

時刻 t において env が状態を提示し、エージェントがアクションを実行し、env がエージェントに報酬をフィードバックし、内部ダイナミクスに従って次の状態へ遷移するとします。強化学習の目標は、エージェントの期待累積報酬を最大化するポリシーを見つけることです。

インタラクティブ検索シナリオでは、状態、アクション、報酬を以下のように定義します。

1. 状態設計:状態設計では 2 つのポイントを考慮する必要があります。現在の状態が適切なアクションを学習するのに十分であること、および Q 関数を学習するためにユーザーと環境の相互作用履歴を大幅に変換する必要があることです。ここでは以下の側面を考慮します。

ユーザー状態:ユーザーの性別、年齢、購買力を含みます。

ユーザー履歴、エージェント履歴:カテゴリ、ページ番号(ユーザーのページめくり)、ユーザーがクリックしたタグ、エージェントが推奨したタグ。

クエリ状態:DST 処理後の Norm Query をエンベディングとして使用します(意味粒度の単語分割後のエンベディングの平均値を取ります。もちろん、ここでは自己注意機構で意味貢献度を考慮することも可能ですが、現在のデータボリュームでは未実装です)。

タグ静的スコア:クエリタグスコア、ユーザータグスコアなど。ユーザー情報(性別、年齢、購買力など)およびセッション情報(カテゴリ、ページ番号、クエリ、ユーザー操作記録など)を含みます。

2. アクション:カテゴリ属性。たとえば「ブランド」「パンツタイプ」「素材」など。アクション空間はすべての合法なカテゴリ属性の集合です。

3. 報酬:ユーザーが離脱しなければ +1、離脱すれば 0 です。累積報酬の最大化は、インタラクションターン数の最大化という現在のビジネス目標と等価であるため、このように設計しています。

この問題の難しさは、すべてのカテゴリ属性の総数が約 200K であることです。つまり、アクション空間のサイズは 200K(カテゴリ × ディメンション)となり、検索空間が非常に大きくなり最適なポリシーの発見が困難になります。各製品カテゴリには平均約 15 の属性がありますが、この規模のアクション空間は許容できるとしても、合計約 1,500 のカテゴリがあります。1,500 のエージェントを個別に訓練する場合、ヘッドカテゴリとテールカテゴリのトラフィックが非常に不均衡であるため、テールカテゴリには機械学習手法を適用しにくいという問題があります。訓練の目標は、十分に良好なパフォーマンスを持つエージェントを得ることです。

異なるカテゴリが持つ属性セットには大量の重複があることに着目しました。たとえば、「シャツ」と「パンツ」はどちらも「素材」属性を持っています。同じ属性の意味は異なるカテゴリでも区別できないことが多いものです。たとえば、「ブランド」は品質を重視し、同質製品にブランドが付加する意味を気にするユーザーが選択しがちな属性です。これに基づき、モデルパラメーター(ユーザー履歴、エージェント履歴、およびアクションのエンベディング)を共有して、異なる用途向けにエージェントを共同訓練(マルチタスク)します。具体的なモデルは以下の通りです。このような高次元スコアリングベクトルの出力は明らかに過剰計算なので、カテゴリに応じてアクション空間の集合にマスクを作成し、現在のカテゴリで考慮されるアクションのみをスコアリングして最終的なアクションスコアを算出します。

システム

PAI TF ベースで、Ali AI Agent 強化学習コンポーネント A3gent(略称 A3gent)が実装する DQN アルゴリズムを使用し、最適なポリシーを求解します。

ニューラルネットワークの入力層には複数の入力があり、異なるチャンネルの状態はスパース/デンス、固定長/可変長が混在しており、データ型には int、float、文字列が含まれます。A3gent はマルチチャンネル状態入力をサポートし、各チャンネルのデータ型と形状を設定できます。

複数の入力を処理するだけでなく、ニューラルネットワーク構造も比較的複雑で、エンベディング層、全結合層、結合層を含みます。さらに、エピソード内でエージェントが推奨する属性セットとアクション空間がともに属性セットであることを考慮し、出力層のパラメーターをエンベディング層と共有させます。すなわち、属性 P のエンベディングベクトルを、P に対応する出力ニューロンのパラメーターとして使用します。ここで h は出力層の入力を表します。

異なるカテゴリのエージェントがモデルパラメーターを共有しているため、各カテゴリエージェントのポリシーを簡単に引き継ぐことはできません。状態にはカテゴリ ID のチャンネルが含まれており、これを c とすると、まず c に基づいてカテゴリから属性リストへの辞書を検索し、c に対応する合法属性セットを見つけます。その後、Q 値に基づいて貪欲にアクションを選択します。

上記のロジックは A3gent コンポーネントの計算グラフで表現されており、通常のフォワード伝播と何ら変わりはありません。

強化学習にはエージェントと env の相互作用中のオンライン更新が必要ですが、QP ベースのサービスプロセスではモデル訓練を実現できないため、PAI TF ベースの準リアルタイム訓練戦略を採用しています。

まず履歴データを使用して事前訓練を行います。事前訓練の結果は、オンラインポリシーをモデルの初期パラメーターとしておおむね学習できます。ベースライン(top5 ランダムディメンション、ランダム結果も悪くない)と比較して、オフライン DRL はクエリレベルのクリック率で 1.9% の改善をもたらすことができます(後で分析しますが、現在の報酬設定では CTR を有意に向上させることは実際には困難です)。一方、統計ベースのアンサンブルバージョンでは 6.8% の改善が見られました。同時に、さまざまなポリシーがグローバル指標に与える影響を分析しました。一人あたり PV は 0.5% 減少し、大セッション内の平均インタラクション数は 0.16% 増加しました。詳細は以下の通りです。

この結果に対して、DRL は統計 + ランダムポリシーから生成されたサンプル上で訓練ラウンドを行っただけであり、DRL は環境と相互作用し現在のポリシー(オンポリシー)を使用して訓練データを生成する必要があると考えられます。統計ベースのアンサンブルバージョンは主要検索クエリのデータを多く持っているため、効果がより良いのです。現在の分析に基づき、準リアルタイム訓練を試みました。データ生成部分では、Porsche でリアルタイム分析とリアルタイムデータ(pvlog)生成を行いました。現時点では、モデル訓練用の完全なエピソードを構成する必要があり、ユーザー退出操作を取得する必要がありますが、データ量が少なく、十分なサンプルを生成するには 3 時間かかります。そのため、効果を迅速に検証するため、現在は 1 時間単位のオフライン分析を使用し、その後 PAI でモデルを訓練しています。また、1 時間単位の CTR と 1 時間単位の平均 CPS(平均インタラクション数)をリアルタイムで監視するメトリクスも開発しました。

オンラインデプロイ

DII(アルゴリズムオンラインサービスプラットフォーム)は 0.33 バージョンへのアップグレード後、TensorFlow モデル予測機能を組み込み、テストパフォーマンスは要求を満たしています。モデル更新部分では、DII サービスはモデルファイルをスキャンしてインデックスを置き換えた後、新しいモデルを再ロードします。現時点での唯一の欠点はリアルタイムで実行できないことです。実測で 1.4 GB のモデルファイルに約 30 分かかります。私たちのシナリオでは、現在のトラフィック量でリプレイバッファにデータを蓄積するのに数時間かかるため、この部分は当面許容できます。

補足:現時点でリアルタイム実装が必要な場合、DII 拡張を書いて DII プロセス内で推論を実装するしかありません。更新頻度とモデル切り替え後の開発コストを考慮し、現時点では実装していません。現在は時間ベースのスケジューリングで実装しています。

結果

評価方法

オフライン RL 評価は常に難しい問題です。従来の AUC は現在のコンテキストでの教師あり最適化に基づいているためです。一般的な評価方法は以下の通りです。

シミュレーター:実データに基づいて env シミュレーターを構築し、訓練済みエージェントと相互作用して平均報酬で評価します。ゲーム分野では非常に効果的で、gym の各種環境が代表的です。タオバオにも多くのシミュレータープロジェクトがあります。次のステップでは、対話システムシミュレーターなどを通じた高速反復アルゴリズムも検討します。

手動テスト:手動でシステムと対話し、平均報酬を計算します。この方法での手動フィードバック数は比較的限られます。

オンラインテスト:実際の環境と直接相互作用し、時間経過とともに平均報酬を計算します。このテスト方法では実環境での大量の相互作用が必要で、この評価方法も採用しています。

オンライン効果

訓練済み CPS はアンサンブルバージョンと比較して有意に向上しました。新しいインタラクティブシステムでは、ユーザーの平均インタラクション数は 1.5 倍に増加し、30% 以上の改善となっています。

タグ CTR は有意に向上していません。ここでも理由を分析しました。現在の報酬設定では、必ずしも最高クリック率のタグをユーザーに提示するわけではありません。たとえば、現在のコンテキストで最高 CTR ではないタグを表示する場合がありますが、そのタグでクリックされた製品のユーザー満足度が最も高く、ユーザーはより多く探索し、システムとのインタラクション数も増加します。

まとめと展望

強化学習に基づくタスク指向対話システムは、カスタマーサービスや医療診断の分野で大きな成功を収めています。前者は人件費を大幅に削減し、ユーザーがタスクを迅速に完了できるよう支援します。後者は医療診断データに基づく医療問題の解決が期待されており、医療リソースの不均等な分布問題を解決する可能性があります。

商品購入ガイドの分野では、消費者が注文を完了する際、通常は販売カスタマーサービスと通信し、自分で情報を確認してから購入を決定します。タオバオの膨大な購買データから「ベテラン購入ガイドドライバー」の購買パスを抽出し、適切なタイミングでユーザーに「意思決定価値の説明」を提供することで、消費者により良い購買ガイド体験を提供したいと考えています。このタスクでは、アクション空間が非常に大きくなっています。航空券予約、食事注文、医療などの従来のタスク指向対話タスクと異なり、アクション空間にはシステムアクションの決定(製品属性の選択、コンテンツ説明など)と、確認後の特定アクション値のソートが含まれます。候補アクション空間に m 個のアクションがあり、そのうち n 個をソートして表示する必要がある場合、アクション空間は次元数になります。この規模のアクション空間は学界と産業界の両方にとって大きな課題です。これまでのところ 1 層のみを実装しており、アクション空間は数百万次元に達しています。

これは典型的な多層意思決定問題です。より優れた HRL 手法を設計し、グローバルな利益をより包括的に考慮することは可能でしょうか。また、限られたサンプルでいかに情報を共有するか。実際のオンライン環境でいかに効率的な探索を行うか。オンライン学習をより「安定的、高速、効果的」にするための合理的な経験リプレイをいかに早期に持つか。これらは今後の研究課題です。

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.