Slide 1

Slide 1 text

グラフはなぜ使われていない?どうやって使われている? グラフデータベース活用事例まとめ #4「リコメンデーションと機械学習」編 Ryota Yamanaka Product Manager Asia-Pacific Spatial and Graph, Product Development Feb 9, 2023

Slide 2

Slide 2 text

ユースケース概要、顧客事例、デモコンテンツを紹介します • 第1回(11月17日)銀行送金の可視化と不正検知(金融) • 第2回(12月08日)犯罪や税不正、利益相反の調査(公共) • 第3回(01月12日)部品表とトレーサビリティ(製造) • 第4回(02月09日)リコメンデーションと機械学習(小売) • 第5回(03月09日)配送計画の最適化と見える化(物流) 航空機搭乗者の関係性の検出 • 第6回(04月13日)通話履歴の分析、詐欺の検出(通信) 情報システムとクリティカルパス • 第7回(05月11日)社員の協業の可視化と評価(人事) 対象:各インダストリでグラフデータベースの導入を検討されている方、 グラフという技術に興味がある方(コンプするとグラフエキスパートになれる?) Agenda Copyright © 2023, Oracle and/or its affiliates 2

Slide 3

Slide 3 text

リソース • 日本語 • このシリーズのスライドの公開先 • https://oracle-code-tokyo-dev.connpass.com/event/265244/ • CodeZine 記事「グラフ・データベースはなぜ使われてこなかったか、その展望とは」 • https://codezine.jp/article/detail/16539 • Qiita: https://qiita.com/tags/oraclegraph • Twitter: https://twitter.com/uraryotas • 英語 • Medium: https://medium.com/tag/oracle-graph • LinkedIn: https://www.linkedin.com/groups/1848520/ • YouTube: https://www.youtube.com/channel/UCZqBavfLlCuS0il6zNY696w Copyright © 2022, Oracle and/or its affiliates 3

Slide 4

Slide 4 text

Copyright © 2023, Oracle and/or its affiliates 4 ユースケース紹介

Slide 5

Slide 5 text

1. 購買記録から顧客と商品の二部グラフを作成 Copyright © 2023, Oracle and/or its affiliates 5 • 表からグラフを定義 • 顧客や商品のマスター(ディメン ション表)からノードを作成 • 購買のトランザクション(ファク ト表)からエッジを作成 • 分析の対象と手法によって、データ ウェアハウス内の必要なデータのみ をグラフに変換することが可能 • ビュー(PG View)として保持す るためデータの複製は不要 • アルゴリズム利用の際にはメモリ 上にグラフをロード Customer Product Purchased Recommendation

Slide 6

Slide 6 text

2. アルゴリズムを用いてリコメンデーションを計算 Copyright © 2023, Oracle and/or its affiliates 6 • Two approaches • Evaluate only the surrounding information (for on-the-fly, real-time recommendation) • Evaluate the entire graph (then, calculate the similarity scores between vertex vectors)

Slide 7

Slide 7 text

2. アルゴリズムを用いてリコメンデーションを計算 Copyright © 2023, Oracle and/or its affiliates 7 • グラフ全体に対する処理が必要ないもの • PPR (Personalized PageRank): ランダムウォークを用いて関係性の高いノードを検出 • SALSA (Stochastic Approach for Link-Structure Analysis): PPR の二部グラフへの拡張 • 二部グラフでなく Twitter のような同質グラフの場合には Who-to-follow • グラフ全体に対する処理が必要なもの(ベクトル表現の類似度を利用) • 協調フィルタリング: 顧客数を次元数とした行列を Matrix Factorization で次元圧縮 • DeepWalk: ランダムウォークの結果を文字列として word2vec に与えてノードのベクトル表現を取得 • GraphWise: スケーラブルな Graph Neural Networks の実装で、ノードのプロパティの畳込みが可能 *ボールド体で記載されたアルゴリズムは全て Graph Server にはじめから内蔵されており、 必要に応じてカスタマイズも可能

Slide 8

Slide 8 text

3. リコメンデーションの取得と利用 Copyright © 2023, Oracle and/or its affiliates 8 • 計算結果はグラフに格納できる • ノードのリコメンデーションスコア • ノードのベクトル表現 • クエリによって制約条件を満たす優先度 の高いリコメンデーションを検索 • 以前に購買されていないものなど • 結果をデータベースに下記戻して永続化 することで再利用することも可能 • APEX アプリケーションなど

Slide 9

Slide 9 text

3. リコメンデーションの取得と利用 Copyright © 2023, Oracle and/or its affiliates 9

Slide 10

Slide 10 text

Copyright © 2023, Oracle and/or its affiliates 10 顧客事例

Slide 11

Slide 11 text

CaixaBank - 顧客 360 度分析 Copyright © 2023, Oracle and/or its affiliates 11 • 関係性を加えて顧客データを充実させる • 顧客プロファイルの充実 • リスク評価の向上 • 情報源 • 同じ時間、同じ場所でクレジットカードを利用 • 関係性を示唆する銀行送金、e-Wallet 決済 • ワークフロー • リレーショナルデータからメイングラフへの マッピング、サブグラフの抽出 • メモリに移動し、アルゴリズムを実行 • ビジネスアナリストによるインタラクティブな 分析と結果を基にしたバッチ処理 Images courtesy: Caixabank https://youtu.be/j_RlUmd6qps

Slide 12

Slide 12 text

Copyright © 2023, Oracle and/or its affiliates 12 デモの内容

Slide 13

Slide 13 text

1. 購買記録から顧客と商品の二部グラフを作成 Copyright © 2023, Oracle and/or its affiliates 13 • Moviestream データセット • 148,129 顧客 • 3,800 映画タイトル • 956,730 購買履歴(2019-01) • こちらのワークショップからダウンロード • https://apexapps.oracle.com/pls/apex/r/dbp m/livelabs/view-workshop?wid=889 • 他の顧客のレンタルの傾向から、顧客がまだ観 ていない映画を推薦できるか CREATE PROPERTY GRAPH graph1 VERTEX TABLES ( customer KEY (cust_id) LABEL customer PROPERTIES (cust_id, first_name, last_name, email) , movie KEY (movie_id) LABEL movie PROPERTIES (movie_id, title, year) ) EDGE TABLES ( rental KEY (sales_id) SOURCE KEY(cust_id) REFERENCES customer DESTINATION KEY(movie_id) REFERENCES movie LABEL rented PROPERTIES (day_id) )

Slide 14

Slide 14 text

2. アルゴリズムを用いてリコメンデーションを計算 Copyright © 2023, Oracle and/or its affiliates 14

Slide 15

Slide 15 text

2. アルゴリズムを用いてリコメンデーションを計算 Copyright © 2023, Oracle and/or its affiliates 15

Slide 16

Slide 16 text

3. リコメンデーションの取得と利用 Copyright © 2023, Oracle and/or its affiliates 16

Slide 17

Slide 17 text

Copyright © 2023, Oracle and/or its affiliates 17 デモ!

Slide 18

Slide 18 text

Oracle Graph に関する情報 (再掲) • 日本語 • このシリーズのスライドの公開先 • https://oracle-code-tokyo-dev.connpass.com/event/265244/ • CodeZine 記事「グラフ・データベースはなぜ使われてこなかったか、その展望とは」 • https://codezine.jp/article/detail/16539 • Qiita: https://qiita.com/tags/oraclegraph • Twitter: https://twitter.com/uraryotas • 英語 • Medium: https://medium.com/tag/oracle-graph • LinkedIn: https://www.linkedin.com/groups/1848520/ • YouTube: https://www.youtube.com/channel/UCZqBavfLlCuS0il6zNY696w Copyright © 2023, Oracle and/or its affiliates 18

Slide 19

Slide 19 text

No content