Amazon Web Services ブログ

トムソンロイターが Amazon Personalize を使用してパーソナライズされたコンテンツサブスクリプションプランを大規模に提供した方法

トムソンロイター(TR)は、企業や専門家に世界で最も信頼されている情報機関の一つです。トムソンロイターは、企業が信頼できる答えを見つけるために必要な情報、技術、専門知識を提供し、より良い意思決定をより迅速に行えるようにします。トムソンロイターの顧客は、金融、リスク、法務、税務、会計、メディアの各市場に広がっています。

トムソンロイターは、税務、法務、ニュースの各分野で市場をリードする製品を提供しており、ユーザーはサブスクリプションライセンスモデルで契約することができます。TR は、顧客体験を高めるために、営業チームが顧客に最も関連性の高いサブスクリプションパッケージを提案し、顧客のニーズに合わせた製品選択により、顧客の市場サービス向上に役立つ製品への認知を高めるための提案を生成できる、集中型レコメンデーションプラットフォームを構築したいと考えていました。

この集中型レコメンデーションプラットフォームを構築する前、TR はサブスクリプション更新のレコメンドを生成するためのレガシーなルールベースのエンジンを持っていました。このエンジンのルールはあらかじめ定義され、SQL で書かれていたため、管理するのが大変だっただけでなく、様々な統合データソースからの膨大なデータへの対応に苦労していました。TR の顧客データは、変化する顧客ニーズに合わせてビジネスルールを進化させるよりも速いスピードで変化しています。TR の新しい機械学習(ML)ベースのパーソナライゼーションエンジンへの主要な要件は、最近の顧客動向を考慮した正確なレコメンデーションシステムが中心でした。そのためには、運用のオーバーヘッドが少なく、ビジネス目標の達成を加速できること、そして消費者の習慣や新製品の変化に対応できるよう、常に最新のデータで学習できるパーソナライゼーションエンジンを望んでいました。

TR のお客様にとって価値ある商品とは何かを考え、サブスクリプション更新の提案をパーソナライズすることは、営業・マーケティングチームにとって重要なビジネス課題でした。TR 社には、お客様とのやり取りから収集され、集中管理されたデータウェアハウス内に保管されている、パーソナライゼーションに利用できる豊富なデータがあります。TR は Amazon SageMaker を使った ML を早くから採用しており、AI/ML 分野に成熟していたため、データウェアハウス内に関連する重要なデータセットを照合し、それを使ってチームがパーソナライズモデルを学習することができました。TR は AI/ML のイノベーションを継続しており、最近では Amazon Personalize を使用しレコメンデーションプラットフォームを刷新しました。この記事では、TR が Amazon Personalize を使用して、最適な製品の定期購入プランと関連する価格を顧客に提供する、スケーラブルでマルチテナントなレコメンデーションプラットフォームを構築した方法を説明します。

ソリューションアーキテクチャ

TR のコア事業であるデータによるユーザー理解 – 膨大なデータからパーソナライズされた関連性の高いコンテンツをユーザーに提供すること – は、ミッションクリティカルな要件であるため、ソリューションの設計には注意が必要でした。ユーザーごとにカスタマイズされた質の高いレコメンデーションを実現するためには、優れたレコメンデーションシステムを構築することが重要です。

このソリューションでは、ユーザーの行動データの収集と準備、Amazon Personalize を使った ML モデルの学習、学習済みモデルによるパーソナライズされたレコメンデーションの生成、そしてパーソナライズされたレコメンデーションによるマーケティングキャンペーンの推進が必要とされました。

TR は、可能な限り AWS のマネージドサービスを活用し、運用を簡素化し、差別化を生まない重労働を軽減したいと考えました。TR は、ML パイプラインの抽出、変換、ロード(ETL)ジョブを実行するために AWS Glue DataBrewAWS Batch ジョブを使用し、レコメンデーションを調整するために Amazon Personalize と一緒に SageMaker を使用しました。学習データ量と実行時間の観点から、このソリューションは、データを利用する TR ビジネスチームエンドユーザーにコミットした時間枠内で数百万レコードを処理するスケーラビリティを持つ必要がありました。

以下のセクションでは、このソリューションに関連するコンポーネントについて説明します。

ML 学習パイプライン

ユーザーとコンテンツ間のインタラクションは、顧客がコンテンツをクリックした際に発生するクリックストリームデータという形で収集されます。TR は、これがサブスクリプションプランの一部なのか、サブスクリプションプランを超えているのかを分析し、価格やプランの登録オプションに関する追加の詳細情報を提供できるようにします。様々なソースからのユーザーインタラクションデータは、同社のデータウェアハウスに保存されます。

次の図は、ML トレーニングパイプラインを表しています。

パイプラインは、データウェアハウスからデータを抽出し、データを変換してインタラクション、ユーザー、およびアイテムのデータセットを作成する AWS Batch ジョブから開始します。

モデルの学習には、以下のデータセットが使用されます。

  • 構造化された製品データ:サブスクリプション、注文、製品カタログ、トランザクション、顧客詳細
  • 半構造化された行動データ:ユーザー、使用状況、インタラクション

この変換されたデータは Amazon Simple Storage Service (Amazon S3) のバケットに保存され、モデル学習のために Amazon Personalize にインポートされます。TR はユーザーにパーソナライズされたレコメンデーションを生成したいので、USER_PERSONALIZATION レシピを使ってカスタムデータ用の ML モデルを学習させますが、これをソリューションバージョンの作成と呼びます。ソリューションバージョンは作成された後、ユーザーに対してパーソナライズされたレコメンデーションを生成するために使用されます。

ワークフロー全体は、AWS Step Functions を使用してオーケストレーションされます。アラートと通知は、Amazon Simple Notification Service (Amazon SNS) と Amazon EventBridge を使用して取得され、Microsoft Teams に公開されます。

パーソナライズされたレコメンデーションの生成パイプライン:バッチ推論

顧客の要件や嗜好は非常に頻繁に変化しますが、クリックストリームデータに取り込まれた最新のインタラクションは、顧客の嗜好の変化を理解するための重要なデータポイントとして機能します。刻々と変化する顧客の嗜好に適応するために、TR はパーソナライズされたレコメンデーションを日々生成しています。

パーソナライズされたレコメンデーションを生成するパイプラインを以下の図に示します。

DataBrew のジョブは、現在のサブスクリプションプランと最近のアクティビティに基づいて、更新時にレコメンデーションを提供する対象となるユーザーのデータを TR のデータウェアハウスから抽出します。DataBrew ビジュアルデータ準備ツールにより、TR のデータアナリストやデータサイエンティストは、データのクリーン化と正規化を簡単に行い、分析や ML 用にデータを準備することができます。ビジュアルデータ準備ツール内で 250 以上のビルトインの変換を選択し、コードを書かずにデータ準備タスクを自動化できることは、重要な機能でした。DataBrew ジョブは、バッチレコメンデーションジョブのためのインタラクションと入力の増分データセットを生成し、その出力を S3 バケットに格納します。新しく生成された増分データセットは、インタラクションのデータセットにインポートされます。増分データセットのインポートジョブが成功すると、入力データを利用して Amazon Personalize バッチレコメンデーションジョブが起動します。Amazon Personalize は、入力データで提供されたユーザーに対する最新のレコメンデーションを生成し、レコメンデーション用 S3 バケットに格納します。

価格の最適化は、新規に作成されたレコメンデーションを利用する前の最後のステップです。TR は、生成されたレコメンデーションに対して価格最適化ジョブを実行し、この最終ステップの一部として、SageMaker を使用してレコメンデーションに対してカスタムモデルを実行します。AWS Glue ジョブが Amazon Personalize から生成された出力をキュレーションし、SageMaker のカスタムモデルが必要とする入力形式に変換します。TR は、AWS が提供する幅広いサービスを活用し、Amazon Personalize と SageMaker の両方をレコメンデーションプラットフォームで使用することにより、顧客企業やエンドユーザーのタイプに基づいてレコメンドを調整することができます。

ワークフロー全体は、Step Functions を使用して疎結合化・オーケストレーションされており、データ処理要件に応じてパイプラインを柔軟に拡張することができます。アラートと通知は、Amazon SNS と EventBridge を使用して取得されます。

メールキャンペーンの推進

価格設定の結果とともに生成されたレコメンデーションは、TR のお客様へのメールキャンペーンに使用されます。AWS のバッチジョブを使用して、お客様ごとのレコメンデーションを作成し、最適化された価格情報を付加しています。これらのレコメンデーションは、TR のキャンペーンシステムに取り込まれ、以下のメールキャンペーンを推進します。

  • 顧客が興味を持ちそうな新製品を紹介する、自動サブスクリプション更新/アップグレードキャンペーン
  • より良いオファー、より関連性の高い製品、リーガルコンテンツ資料を提供するサブスクリプション更新の中間キャンペーン

このプロセスで得られた情報は、顧客ポータルにも反映され、現在の契約内容を確認するお客様が、新しい更新の推奨事項を見ることができるようになっています。TR では、新しいレコメンデーションプラットフォームを導入して以来、メールキャンペーンからのコンバージョンレートが向上し、販売受注の増加につながりました。

次のステップ:リアルタイムレコメンデーションパイプライン

お客様の要望や購買行動はリアルタイムに変化しており、レコメンデーションをリアルタイムに変化させることは、適切なコンテンツを提供するための重要なポイントです。バッチレコメンデーションシステムの導入で大きな成功を収めた TR は、このソリューションを次の段階に進めるため、Amazon Personalize を使ってリアルタイムレコメンデーションパイプラインを導入することを計画しています。

次の図は、リアルタイムレコメンデーションを提供するためのアーキテクチャを示したものです。

リアルタイム統合は、ライブのユーザーエンゲージメントデータを収集し、それを Amazon Personalize にストリーミングすることから始まります。ユーザーが TR のアプリケーションとインタラクトすると、クリックストリームイベントが生成され、それが Amazon Kinesis Data Streams にパブリッシュされます。このイベントは、Amazon Managed Streaming for Kafka (Amazon MSK) 上に構築された TR の集中型ストリーミングプラットフォームに取り込まれます。Amazon MSK は、フルマネージド Apache Kafka でストリーミングデータをリアルタイムで簡単に取り込み、処理できるようにします。このアーキテクチャでは、Amazon MSK はストリーミングプラットフォームとして機能し、生の受信クリックストリームイベントに必要なあらゆるデータ変換を実行します。その後、AWS Lambda 関数がトリガーされ、Amazon Personalize データセットと互換性のあるスキーマにイベントをフィルタリングし、putEvent API を使用して Amazon Personalize イベントトラッカーにこれらのイベントをプッシュします。これにより、Amazon Personalize はユーザーの直近の行動から学習し、関連するアイテムをレコメンデーションに含めることができます。

TR のウェブアプリケーションは、Amazon API Gateway に展開された API を呼び出してレコメンデーションを取得し、それがトリガーとなって Lambda 関数がAmazon Personalize との GetRecommendations API コールを呼び出します。Amazon Personalize は、ユーザーの行動に合わせてキュレーションされたパーソナライズされた最新のレコメンデーションセットを提供し、それは Lambda と API Gateway を介してウェブアプリケーションに提供されます。

このリアルタイムアーキテクチャにより、TR は顧客の最新の行動に合わせてキュレーションしパーソナライズされたレコメンデーションを提供することで、顧客のニーズに応えることができるようになります。

まとめ

今回は、TR が Amazon Personalize をはじめとする AWS サービスを利用して、レコメンドエンジンを実装する方法をご紹介しました。Amazon Personalize を利用することで、TR は顧客にレコメンデーションを提供するための高性能モデルの開発とデプロイを加速させることができました。TR は、以前は数カ月かかっていた新しい製品群の追加を、今では数週間で実現できるようになりました。Amazon Personalize と SageMaker のおかげで、TR はより良いコンテンツサブスクリプションプランと価格で顧客体験を向上させることができるようになったのです。

このブログを読んで、Amazon Personalize の詳細や、レコメンデーションシステムの構築について知りたいと思われた方は、開発者向けガイドをご覧ください。

翻訳はソリューションアーキテクト 前川 泰毅 が担当しました。原文はこちらです。