データのつながりを活かす技術〜ネットワーク/グラフデータの機械学習から得られる新視点

[表紙]データのつながりを活かす技術〜ネットワーク/グラフデータの機械学習から得られる新視点

紙版発売

A5判/256ページ

定価3,300円(本体3,000円+税10%)

ISBN 978-4-297-14784-6

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

ネットワークデータは,点と点の「つながり」によって表現されるデータです。決して特別なデータではなく,私たちの日常生活のさまざまな場面に存在しています。たとえば,SNSのフォロー関係やWebページ間のリンクのような明らかにネットワーク構造を持つデータだけでなく,ECサイトの購買履歴や株式市場の取引といった,一見ネットワークとは無関係に思えるデータにも,つながりの構造を見出すことができます。この「つながり」を活用することで,これまで見えなかったデータの新しい特徴を引き出すことが可能になります。

近年では,計算機リソースの向上や新しいアルゴリズムの登場により,ネットワークデータの実用化が急速に進んでいます。本書では,各手法について平易な言葉で解説することを目指すだけでなく,Pythonを用いたコード例を通じて,データの取り扱いから特徴抽出,さらにNode EmbeddingやGNNといった機械学習手法への応用までを実践的に紹介します。

また,単なる技術の羅列ではなく,身近なデータからネットワーク構造をどのように見出し,意味付けし,課題解決に結びつけるかという思考プロセスや応用事例にも重点を置いています。具体例としては,SNSのフォロー関係やWebページのリンクといった典型的なネットワークデータはもちろん,ECサイトの購買履歴やビジネス文書,さらにはレシートといった,通常「表形式」で扱われるデータに隠れた「つながり」を抽出・活用する手法を丁寧に解説します。

こんな方におすすめ

  • ネットワーク分析を学びたい方
  • データから新しい知見を見つけたい方

目次

1章 ネットワークデータの基礎

1.1 ネットワークとは

1.2 さまざまなネットワーク

  • 1.2.1 つながりの方向
  • 1.2.2 つながりの重み
  • 1.2.3 主体,つながりの種別
  • 1.2.4 主体,つながりの付属情報
  • 1.2.5 時間変化の考慮
  • 1.2.6 シンプルにネットワークを構成する

1.3 ネットワークデータの表現方法

  • 1.3.1 数式による表現
  • 1.3.2 隣接行列

2章 ネットワークデータの発見・観測・構築

2.1 分析前の確認事項

2.2 ネットワークを発見する

  • 2.2.1 行動・状態を探し,結ぶ
  • 2.2.2 共起関係を探し,結ぶ
  • 2.2.3 移動・流れを探し,貼り合わせる
  • 2.2.4 距離や類似度から完全グラフを作る

2.3 ネットワークデータを観測・入手する

  • 2.3.1 複数のノードを観測し,その間のエッジを見つける
  • 2.3.2 エッジを抽出し,つなぎ合わせる
  • 2.3.3 任意のノードとその近傍ノードを抽出する
  • 2.3.4 経路を観測し,貼り合わせる

2.4 ネットワークのデータ形式

  • 2.4.1 ネットワークの基本的なデータ形式

2.5 ネットワークデータのハンドリング

  • 2.5.1 NetworkXとの連携
  • 2.5.2 PyTorch Geometricとの連携

2.6 本章のまとめ

3章 ネットワークの性質を知る

3.1 どのようなノードか

  • 3.1.1 どのぐらい中心的な役割を果たしているか
  • 3.1.2 どのぐらい周りが密になっているか
  • 3.1.3 中心性指標の正規化

3.2 2つのノードはどのような関係にあるか

  • 3.2.1 最短経路長
  • 3.2.2 ノードの属性の類似性
  • 3.2.3 最短経路長を用いた中心性

3.3 どのようなネットワークか

  • 3.3.1 ネットワークの大きさ
  • 3.3.2 ネットワークの密度
  • 3.3.3 中心性指標の分布
  • 3.3.4 大域的クラスター係数
  • 3.3.5 直径・平均距離
  • 3.3.6 同類性係数・次数相関

3.4 NetworkXを用いてネットワークの特徴を知る

  • 3.4.1 分析の準備
  • 3.4.2 ネットワーク全体の概形を見る
  • 3.4.3 個々のノードについての特徴を計算する
  • 3.4.4 ネットワーク全体を見渡し傾向を知る

3.5 本章のまとめ

4章 ネットワークの機械学習タスク

4.1 ネットワークを対象とした機械学習タスクの整理

4.2 ノードを対象とした機械学習タスク

  • 4.2.1 ノードの教師あり学習
  • 4.2.2 ノードの教師なし学習:クラスタリング
  • 4.2.3 ノードの教師なし学習:次元削減

4.3 エッジを対象にした教師あり学習

  • 4.3.1 リンク予測
  • 4.3.2 リンク予測における負例の作成
  • 4.3.3 その他のエッジの教師あり学習

4.4 ネットワーク構造を対象とした機械学習タスク

4.5 本章のまとめ

5章 ノード埋め込み

5.1 表データを対象とした機械学習の復習

5.2 単語埋め込み

  • 5.2.1 記号としての単語の数値表現
  • 5.2.2 意味を考慮した単語の数値表現
  • 5.2.3 単語埋め込みの仕組み

5.3 ノード埋め込み

  • 5.3.1 ノードの近接性を捉える手法
  • 5.3.2 近接性以外の特性を捉える手法

5.4 ノード埋め込みの実装

  • 5.4.1 実装の方針
  • 5.4.2 データセットのダウンロードと前処理
  • 5.4.3 node2vecによる分散表現の学習
  • 5.4.4 ロジスティック回帰による論文の技術領域の分類

5.5 本章のまとめ

6章 グラフニューラルネットワーク

6.1 深層学習の発展と構造データの扱い

6.2 GNNのフレームワーク

  • 6.2.1 グラフフィルタの概要
  • 6.2.2 グラフプーリングの概要

6.3 グラフ畳み込みネットワーク

  • 6.3.1 初期のGCNフィルタ
  • 6.3.2 スペクトルベースのGCNフィルタ
  • 6.3.3 GCNフィルタ

6.4 GraphSAGE

6.5 GATフィルタ

6.6 Relational GCN

6.7 GNNの実装

  • 6.7.1 GNNによる論文の技術領域の分類
  • 6.7.2 フィルタの差し替え
  • 6.7.3 GNNによる論文の引用関係の予測

6.8 本章のまとめ

7章 さまざまな分野における実例

7.1 自然言語処理におけるネットワーク分析

  • 7.1.1 レイアウトを考慮した帳票からの情報抽出
  • 7.1.2 大規模言語モデルの活用とRAGの改善

7.2 金融分野におけるネットワーク分析

  • 7.2.1 金融ドメインにおけるネットワークデータ
  • 7.2.2 分析事例

7.3 労働市場におけるネットワーク分析

  • 7.3.1 組織内ネットワークを利用したハイパフォーマーの特定
  • 7.3.2 転職ネットワークの分析

7.4 情報推薦におけるネットワーク分析

  • 7.4.1 協調フィルタリングに基づく推薦
  • 7.4.2 知識グラフに基づく推薦
  • 7.4.3 最小費用流問題の応用

7.5 ネットワーク科学とソーシャルネットワークの分析

  • 7.5.1 複雑ネットワーク
  • 7.5.2 エコーチェンバーとフェイクニュースの分析

7.6 生物学におけるネットワーク分析

  • 7.6.1 生態系ネットワークの分析
  • 7.6.2 創薬におけるネットワーク分析

7.7 本章のまとめ

著者プロフィール

黒木裕鷹(くろきゆたか)

1994年生まれ。2020年東京理科大学大学院工学研究科修士課程修了。同年よりSansan株式会社に入社し,現在は企業データのドメイン横断での分析・利用や,実験的な機能の開発に従事。2018年度統計関連学会連合大会 優秀報告賞,2022年度人工知能学会金融情報学研究会 (SIG-FIN) 優秀論文賞 などを受賞。大阪公立大学 客員研究員。


保坂大樹(ほさかたいじゅ)

2020年に早稲田大学で工学修士号を取得し,Sansan株式会社に入社。入社後は帳票の解析技術の研究開発および運用に取り組む。現在は同社のSaaS事業においてプロダクトマネジメントを行う一方で,帳票解析チームのリーダーとしてプロジェクトマネジメントも担当する。単語の意味や主体の持つ特性が単語埋め込みやノード埋め込みで得られる数値表現にどのように反映されるかに強い関心をもつ。