Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【全7回】グラフはなぜ使われていない?どうやって使われている?グラフデータベース活用事例 #2

【全7回】グラフはなぜ使われていない?どうやって使われている?グラフデータベース活用事例 #2

今回は「犯罪や税不正、利益相反の調査」編!(オンライン開催)
Youtube: https://youtu.be/KnXiiZLJPn0

グラフデータベースと呼ばれる DBMS(正確さのために「グラフ DBMS」と表記します)は 10年以上前から市場に存在しており、今では多くの開発者がその概要、たとえばグラフという直感的なモデルや「辿る」処理の性能メリット、について見聞きしたことがあるかと思います。その一方で、実際のシステム、とりわけ可用性や安定性が求められるビジネス・クリティカルなシステムでグラフ DBMS が採用されている例は今まで非常に稀でした。

グラフというデータモデルは DBMS で扱うビジネス価値がないのでしょうか。または、長らく注目されているグラフのユースケース(金融の不正検知、製造のトレーサビリティ分析、犯罪や税の不正の調査など)には障壁があるのでしょうか。そんな懸念も持たれていましたが、この数年、一転して、いくつもの業種でグラフ DBMS の導入が検討されるようになりました。

このシリーズでは、最近のユースケースを掘り下げて見てみることで、なにがブレークスルーになっているのかを探っていきたいと思います。ご担当業種で今すぐ再利用いただけるネタ・デモなども共有する予定です。以前よりグラフ DBMS の用途を模索しながら悪戦苦闘してきた登壇者が、その失敗経験なども交えながら、まだまだ進化していくデータベースの面白さをお伝えします。

1 銀行送金の可視化と不正検知 11/17(木) 満員御礼
2 犯罪や税不正、利益相反の調査 12/08(木) 本ページ
3 部品表とトレーサビリティ 01/12(木) 予定
4 仮)リコメンデーションと機械学習 02/09(木) 予定
5 仮)配送計画の最適化と見える化 03/09(木) 予定
6 仮)通話履歴の分析、詐欺の検出 04/13(木) 予定
7 仮)社員の協業の可視化と評価 05/11(木) 予定

oracle4engineer
PRO

January 17, 2023
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. グラフはなぜ使われていない?どうやって使われている?
    グラフデータベース活用事例まとめ
    #2「犯罪や税不正、利益相反の調査」編
    Ryota Yamanaka
    Product Manager Asia-Pacific
    Spatial and Graph, Product Development
    Dec 8, 2022

    View Slide

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

    View Slide

  3. 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 © 2022, Oracle and/or its affiliates
    3

    View Slide

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

    View Slide

  5. 1. 様々な関係性の情報をひとつのグラフに統合
    Copyright © 2022, Oracle and/or its affiliates
    5
    Knowledge Graph
    犯罪
    通話記録
    搭乗記録
    送金記録
    過去の経歴
    位置情報
    税不正
    納税記録
    勤務先
    所有する資産
    送金記録
    家族情報
    利益相反
    購買履歴
    申告書の情報
    家族情報

    View Slide

  6. 2. 新しいエッジを追加してグラフの情報を拡張
    Copyright © 2022, Oracle and/or its affiliates
    6

    View Slide

  7. 3. 特定のパターンや未知の長さのパスの検索
    Copyright © 2022, Oracle and/or its affiliates
    7

    View Slide

  8. Copyright © 2022, Oracle and/or its affiliates
    8
    顧客事例

    View Slide

  9. 9 Copyright © 2022, Oracle and/or its affiliates
    ある地方政府の分析部門における利益相反の検出
    • 課題
    • 社員は個人的な利害関係を申告しているが、潜在的な利益相
    反を自動的にチェックする効率的な方法が提供されていない
    • 隠れた利益相反を発見するためには、様々な関係性を計算に
    より検出してグラフに追加するプラットフォームが必要
    • ソリューション
    • ADB Graph Studio(セットアップが不要)
    • 他の複数のデータベースから表データをインポート
    • マッピングを手動で編集し、テーブルからグラフを作成
    • 未知の長さのサイクルを検出するためのクエリの実行
    • 新しい関係性の追加(same_number, within_500m, etc.)
    • 詳細とデモキット
    • Qiita「利益相反取引をグラフで検出する」

    View Slide

  10. 1. 様々な関係性の情報をひとつのグラフに統合
    Copyright © 2022, Oracle and/or its affiliates
    10
    購買履歴
    登録事業者情報
    利害関係申告書の情報
    (家族情報)
    所在地情報
    (住所からジオコーディング)

    View Slide

  11. 2. 新しいエッジを追加してグラフの情報を拡張
    Copyright © 2022, Oracle and/or its affiliates
    11

    View Slide

  12. 3. 特定のパターンや未知の長さのパスの検索
    Copyright © 2022, Oracle and/or its affiliates
    12

    View Slide

  13. Copyright © 2022, Oracle and/or its affiliates
    13
    デモの内容

    View Slide

  14. 表からグラフの作成、複数のデータソースをグラフに統合
    Copyright © 2022, Oracle and/or its affiliates
    14

    View Slide

  15. グラフクエリを使って特定のパターンを網羅的に検出
    Copyright © 2022, Oracle and/or its affiliates
    15
    SELECT * FROM MATCH
    (s1)(e)(s2)
    ON coi_graph1 LIMIT 1
    SELECT * FROM MATCH
    (s1)(e)(s1)
    ON coi_graph1 LIMIT 3

    View Slide

  16. 新しい関係性の追加(値の一致、地理的距離、など)
    Copyright © 2022, Oracle and/or its affiliates
    16
    SQL

    View Slide

  17. 未知の長さのループの検出
    Copyright © 2022, Oracle and/or its affiliates
    17
    "TOP k SHORTEST"

    View Slide

  18. ADB Graph Studio を使用して上述のシナリオを試すためのサンプル
    • ここにエクスポートしたファイルを置いています
    • https://github.com/ryotayamanaka/oracle-graph/tree/main/conflict-of-interest
    Copyright © 2022, Oracle and/or its affiliates
    18

    View Slide

  19. Copyright © 2022, Oracle and/or its affiliates
    19
    デモ!

    View Slide

  20. 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 © 2022, Oracle and/or its affiliates
    20

    View Slide

  21. View Slide