Special Articles

店頭とWebにおけるAIレコメンド改善

レコメンド ランキング学習 GNN

宮木 健一郎(みやき けんいちろう)
橋本 雅人(はしもと まさと)

サービスイノベーション部

あらまし
従来,店頭およびWebにおいて各種サービスのレコメンドを実施してきたが,どの顧客に対しても一律の訴求が多く,魅力的な提案となっていなかった.ドコモは顧客にとってより魅力あるサービス提案を行うため,1人ひとりの顧客ニーズを把握し,各種サービスを統合的にランキング化するAI技術を開発した.これにより,顧客にとって納得感のあるレコメンドを実現し,顧客満足度を向上させ,契約率を高めることが可能となった.

01. まえがき

  • ドコモはWeb,店頭,モバイルアプリ,ソーシャルメディアなど,さまざまなメディア上に ...

    開く

    ドコモはWeb,店頭,モバイルアプリ,ソーシャルメディアなど,さまざまなメディア上に,自社サービスのレコメンド*1や案内などの顧客接点を展開している.この多様な顧客接点は,顧客に対する新しい価値提供や顧客からの有益なフィードバックを促進し,1人ひとりの顧客に寄り添ったコミュニケーションを可能とする.

    近年,ドコモは,この顧客接点における顧客満足度をより向上させることを重要な経営課題とし,いくつかの取組みを実施している.その1つとして,レコメンドシステムの改善がある.レコメンドシステムとは,顧客のニーズに合うコンテンツ,製品,サービス,情報などを個別に提案するための技術基盤である.顧客接点にレコメンドシステムを導入することで,顧客の特性や需要を考慮した上で,顧客視点のサービス提供が可能となる.これにより,顧客接点における顧客満足度の向上が見込まれる.

    しかし,その一方で,従来のドコモのレコメンドシステムは,開発から一定の時間が経過しており,レコメンドシステムが達成すべきKPI(Key Performance Indicator)の変遷や最新技術の取込みへの対応が十分でない.そのため,レコメンドの最適化や精度の向上が不十分となっている.また,システム全体における構造上の問題から,運用コストが多くかかるなど,さまざまな課題を抱えている.そこで,これらの課題を解決することを目的として大規模な改善を実施した.

    新レコメンドシステムでは,最新技術のグラフニューラルネットワーク(GNN:Graph Neural Network)*2を導入し,顧客とサービスの親和性を適切に測る機能を組み込むことで,顧客視点に立ったレコメンドシステムの構築を実現した.

    本稿では,従来のレコメンドシステム(以下,旧レコメンドシステム)の概要および課題を提示した上で,新レコメンドシステムに適用した具体的な手法に焦点を当てて解説する.

    1. レコメンド:ユーザに合わせて,商品やコンテンツを推薦すること.
    2. グラフニューラルネットワーク(GNN):ネットワーク理論を基にした機械学習の一種で,グラフ構造を扱うために設計されたニューラルネットワークのこと.ソーシャルネットワーク分析,化学分子の予測,推薦システムなど多くの応用分野で成功を収めており,グラフデータの複雑な関係をモデル化するための強力なアルゴリズムである.

02. 旧レコメンドシステムの課題

  • 2.1 システム概要

    開く

    旧レコメンドシステムは,メディア間における入出力の共有部が存在せず,完全に独立して構成されている.一方で,各メディア内のレコメンドシステムには類似した処理部が存在しており,これらは図1に示すとおり大きく分けて2つの処理部で構成される.1つ目は,各サービスのレコメンド対象顧客の抽出処理部であり,2つ目は,各顧客のレコメンド優先度決定処理部である.また,これら2つの処理部には,手動処理部とAIによる自動処理部が混在する.特に手動処理部が存在しているのが旧レコメンドシステムの特徴である.

    図1 旧レコメンドシステムの各処理部イメージ

    2.2 課 題

    旧レコメンドシステムは,以下の3つの課題を抱えている.

    (1) 作業・運用コストの削減

    メディアごとにレコメンドシステムを構築しているため,メディア数分の作業・運用コストが発生する.また,手動処理部が存在していることから,人的コストも多く発生する.長期的に運用を考えた場合は,これらのコストを削減する必要があり,改善が必要となる.

    (2) 各メディアにおけるレコメンドの統一化

    各メディアは完全に独立しているため,レコメンド内容を共有していない.そのため,メディア間をまたいだレコメンドの統一が実現できず,顧客が複数のメディアに訪れた場合,異なるサービスをレコメンドされる可能性がある.これにより,顧客にとってレコメンドされるべきサービスが曖昧となり,顧客満足度の低下を招く可能性がある.

    (3) 1人ひとりの顧客需要に最適化したレコメンドの実施

    旧レコメンドシステムに限らず,一般的にレコメンドシステムは,メディアの表示部分の制約を受ける.そのため,顧客に対して複数個のレコメンド対象サービスが存在する場合は,その数を絞った上でレコメンドする必要がある.しかし,旧レコメンドシステムにおいてはその絞り方が,図1②に示したとおり,全顧客に対して1通りのサービス優先度を適用し,優先度の高いサービスからレコメンドを実施するものとなっている.そのため,各顧客にレコメンド対象サービスが複数個存在した場合に,既定の数に絞る過程で,顧客の需要や特徴を加味した優先度を作成できていない.

    以上の3つの課題に対し,本稿で紹介する新レコメンドシステムは対応した.

03. 新レコメンドシステムによる課題解決

  • 3.1 システム概要

    開く

    旧レコメンドシステムの3つの課題を解決するため,新規にレコメンドシステムの構築を行った.3つの課題とは前述のとおり,①作業・運用コストの削減,②各メディアにおけるレコメンドの統一化,③顧客需要に最適化したレコメンドの実施である.①および②を解決するため,システムの集約とAI導入により,手動処理部を削減したレコメンドシステムを開発し,出力結果を各メディアに共有可能なインフラを構築した(図2).また,③を解決するため,各顧客に対してレコメンドするサービスの優先度を顧客視点で行うAIを開発して,システムへ導入した(図3).以下では課題解決のために採用した要素技術について解説する.

    図2 新旧レコメンドシステム比較イメージ、図3 新レコメンドシステムの概要イメージ

    3.2 要素技術

    (1) サービスのベクトル化

    (a)概 要

    レコメンド対象サービスのベクトル化を実施した.ベクトル化とは,サービス特性や顧客の利用傾向などの情報を,複数の次元の数値に変換する技術を指す.また,ベクトル化することで,ベクトル間の距離を算出することができ,2つのベクトル間の親和性を測定することが可能となる.例えば,ドコモではターゲットとなる顧客像が異なるさまざまなサービスがあるが,本ベクトル化技術を用いるとサービス間の親和性が数値で表現でき,また,同じ顧客像のサービス同士はベクトル同士の距離も近くなる一方,異なる顧客像のサービス同士はベクトル同士の距離が遠くなるため,サービス間の親和性の有無が確認できる.

    (b)異種グラフを用いたGNNの採用

    ドコモは,サービスのベクトル化を実現する手法としてGNNを採用した.GNNが扱えるデータをグラフ*3と呼び,ノード*4とエッジ*5の2つ要素で構成される.このグラフを扱うニューラルネットワーク系AIを総じてGNNと呼ぶ.新レコメンドシステムでは,顧客・サービスをノードとして表現し,それぞれ,顧客ノード・サービスノードと呼称する(図3).また,顧客がサービスを契約している状態は,その顧客ノードとサービスノードの間にエッジを張ることで表現する.つまり,新レコメンドシステムのグラフは,顧客とサービスの2種類のノードと,それらを結ぶエッジで表現される.このような複数種類のノード(またはエッジ)で表現されるグラフを,異種グラフと呼ぶ.新レコメンドシステムでは,この異種グラフを用いる.

    (c)初期ベクトルの定義

    次に,ノードごとに初期ベクトルを定義する.この初期ベクトルの設定方法は,乱数値で構成されたベクトルを適用する方法と,事前に作成した,ノードを特徴付けるベクトルを適用する方法の2種類が存在する.新レコメンドシステムでは,サービスノードに関しては前者の手法を適用し,顧客ノードに関しては,後者の手法を適用している.後者の手法では,匿名化*6された顧客の契約情報を基に作成したベクトルを用いている.サービスノードに前者の手法を適用しているのは,レコメンド対象サービスが随時変更される可能性があり,逐次柔軟な対応を可能とするためである.グラフと以上で定義した各ノードの初期ベクトルをGNNへの入力とする.

    (d)リンク予測問題*7による学習

    GNNでは,ある2つのノード同士の間にエッジ(リンク)があるか否かを学習していく.このような学習方法を一般的にリンク予測問題と呼ぶ.2つのノード同士のエッジの有無はそれぞれのノードがもつベクトルの距離で判定される.距離がしきい値以上であればエッジが有ると判定し,それ以下であればエッジは無いと判定をする.ここで,各ノードがもつベクトルは,エッジを通じた周辺のノードのベクトルを考慮して重み付け・更新された上で,上記のエッジ有無判定の計算がなされる.エッジの有無を正しく判定できるような重み付けがなされるまで,繰り返し重みの値の更新とエッジ有無判定の精度評価をしながら学習を行う.

    このように,周辺ノードを考慮した重み付けをして更新された各ノードのベクトルは,利用傾向(グラフ構造)を考慮した性質をもつようになる.すなわち,利用者の属性が近いサービス同士はベクトルの距離が近くなり,利用者の属性が異なるサービス同士はベクトルの距離も遠くなる.特にリンク予測問題による学習によって得られたサービスのベクトルはサービスの特徴を捉えており,後段のレコメンド処理において有効である.

    (2)顧客のベクトル化

    匿名化された顧客情報やサービス利用履歴を用いて顧客のベクトル化を実施する.このベクトルは主に,契約情報データによる性別・年代・契約状態を数値化しベクトルとして表現する手法と,顧客と各レコメンドサービスとの親和性をスコアとしそれをベクトルとして表現する手法の2つで構成される.これら2つのベクトルを結合し顧客ごとに1つのベクトルとする.この顧客ベクトルは顧客1人ひとりの属性・傾向の特徴を捉えているといえる.

    (3)各ベクトル化による親和性を基にランキング化

    前述した2種類のベクトル(サービスのベクトルと顧客のベクトル)の親和性を基に,各顧客に対してどのサービスを優先度付けてレコメンドするかを決定する(図3).このような優先度付けをランキングと呼び,ランキング順序を学習する手法をランキング学習*8と呼ぶ.ランキング学習では顧客とサービスの全組合せにおいて,それぞれの組合せで契約が有れば高いランキング,無ければ低いランキングを出力するように学習する.

    この学習済みのランキングAIによって出力された各ユーザの上位ランキングサービスの上から5つを,レコメンドの出力として各メディアに連携する.

    3.3 期待される効果

    新レコメンドシステムの導入により次の効果が期待される.課題①に対しては,メディアごとに独立していたレコメンドシステムの集約により,手動作業の稼働と運用コストの削減が可能になる.課題②に対しては,メディア間のレコメンド統一化により,メディア間で異なるレコメンドがされる可能性を排除し,ユーザ体験の向上が期待される.課題③に対しては,メディアの表示数制限を考慮した上でサービス優先度付けを自動化し,顧客視点のレコメンドを可能としたことで,顧客満足度の向上が期待される.

    1. グラフ:ノードとエッジの集合.
    2. ノード:グラフを構成する要素の1つ.オブジェクト.本稿では,顧客,サービスを意味する.
    3. エッジ:グラフを構成する要素の1つ.対となるノードを結ぶ辺.本稿では,ある顧客があるサービスを契約していた場合に,その顧客ノードとサービスノードにエッジを定義する.
    4. 匿名化:個人データを本人が特定されない状態にする処理のこと.
    5. リンク予測問題:グラフ解析にあたって,特定のノード間にエッジがあるか否かを推定するタスクのこと.
    6. ランキング学習:データのランキングを学習・推論するAIアルゴリズムの総称.

04. あとがき

  • 本稿では,旧レコメンドシステムの抱える課題と,これらの解消を目的とした新しい ...

    開く

    本稿では,旧レコメンドシステムの抱える課題と,これらの解消を目的とした新しい仕組みのレコメンドシステムについて解説した.

    今後,システムの総合的な評価として,顧客満足度に加えて各サービスの契約率とサービス利用の継続率の評価を随時行い,精度向上に取り組む.また,ドコモでは引き続き顧客体験向上に向けて技術・システム開発を行っていく予定である.

このページのトップへ