>100 Views
April 09, 26
スライド概要
第8回ナレッジグラフ勉強会(2026/03/18)
https://kg-wakate.connpass.com/event/384344/
ナレッジグラフ若手の会は、ナレッジグラフ関連の研究者の交流・情報交換の場です。 論文読み会やLT会、講演会などのイベントやオンラインでの知見の共有を行い、様々なドメインの研究者による「ナレッジグラフコミュニティ」の活性化を図っています。 年齢、組織、職種、在学の有無に関係なく、ナレッジグラフ関連分野に興味を持ち、若手の心を持った方のご参加を歓迎いたします。
翻訳者に聞く! 『はじめての知識グラフ構築ガイド』 櫻井亮佑 日本経済新聞社 情報サービスユニット ryosuke.sakurai@nex.nikkei.com 安井雄一郎 日本経済新聞社 日経イノベーション・ラボ/統計数理研究所 yuichiro.yasui@nex.nikkei.com
櫻井 亮佑(さくらい りょうすけ) 所属: 情報サービスユニット 職種: 自然言語処理/MLOps エンジニア : @sakusaku-rich 興味: 知識グラフ、自然言語処理、MLOps など 最近業務でやってること : ○ 記事からの情報抽出(NER, Entity Linking など) ○ 言語モデル推論基盤の構築 趣味: GeoGuessr PyTorch実践入門 マイナビ出版/2021年1月発行 2
日本経済新聞社の事業とエンジニア組織 HACK THE NIKKEI 電子版以外にも幅広く事業を行っている。 AI エージェントで業界分析・顧客調査・事業企画を支援する NIKKEI KAI など。 100 名規模の社内エンジニアが内製開発を主導して事業を成長させている。 安井が携わっている範囲 沿革 従業員 (役員) 企業と人物の関係 NEEDS業種 上場先 企業 櫻井が携わっている範囲 業種 企業間の関係 3
『はじめての知識グラフ構築ガイド』について ● ● 原著は 2023 年 6 月に O'Reilly Media, Inc. から出版された 『Building Knowledge Graphs』。Neo4j の社員である Jesús Barrasa 氏(AI 領域の CTO)と Jim Webber 氏 (チーフデータサイエンティスト)の両名による執筆。 日本語版である本書は 2024 年 9 月にマイナビ出版より出版。
章立て 1章 知識グラフについて 2章 知識グラフ構築のための構成原則 3章 グラフデータベース 4章 知識グラフデータの読み込み 5章 知識グラフの組み込み 6章 データサイエンスによる知識グラフ拡充 7章 グラフネイティブ機械学習 8章 メタデータ知識グラフ 9章 知識グラフと識別 10章 パターン検知の知識グラフ 11章 依存関係の知識グラフ 12章 セマンティック検索と類似度 13章 知識グラフとの会話 14章 知識グラフから知識レイクへ 知識グラフ とは? プロパティグラフモデル とは? Neo4j で知識グラフを操作(走査)🏃 jj 豊富な実例を交えながら グラフ上のデータを計算し、 知識グラフを分析・加工する グラフデータサイエンス を実践!
知識グラフ(ナレッジグラフ)とは ● 知識グラフ(ナレッジグラフ) は知識をグラフ構造で表現 ○ 知識の概念を エンティティ (ノード)で、知識間の関係を リレーション (エッジ)で表現 (entity) Obi-Wan Kenobi (relation) characterIn (entity) Star Wars 最小単位は3つ組 (ent1, rel, ent2) Star Trek と Star Wars に関するナレッジグラフ の例 ● 汎用的な知識の構造化 により、様々なアプリケーションを実現 ○ ○ ある概念について、 関連した概念を探索 することができる 近年「グラフ構造」を学習する機械学習など、盛んに研究されている 6
知識グラフの方針 (RDF とプロパティグラフ ) ● RDF は全てを (subject, predicate, object) で表現(左図) ○ ● (櫻井,勤務先,日経) などのエンティティ間の関係だけでなく、 (櫻井,生年月日,YYYY-MM-DD) などのエンティティの属性も (s,p,o) で表現 プロパティグラフ ではグラフ+ラベル+ key-value で表現(右図) ○ ○ ノードやリレーションにラベルと key-value 型の属性情報を保持 RDF に比べてグラフ構造はシンプルに表現できる 7
ラベル付きプロパティグラフ
●
ノードやエッジ(リレーション)がラベル(タイプ) を持つ
プロパティグラフモデル
○
●
RDB でいうとテーブル(エンティティ)、
オブジェクト指向プログラミングでいうとクラスのようなイメージ。
視覚的な表現のクエリ言語でデータを抽出
○
○
国際標準は GQL (2024年4月に ISO/IEC 39075:2024) 。
() でノード、-[]-> でエッジを表現し、グラフ上のパターンを抽出する。
{...}
MATCH (a:Person)-[b:LivesIn]->(c:City)
WHERE a.firstname = 'Avery'
RETURN a.firstname, b, c.name
{name: "Granville", ...}
Pet
a.firstname
b
c.name
"Avery"
[:LivesIn {since: 1980-07-15}]
"Granville"
{...}
City
{since: 1980-07-15}
LivesIn
Person
{firstname: "Avery", ...}
8
Neo4j とは ● ● ● 最も広く使われているプロパティグラフデータベースの一つ。 クエリ言語として GQL やそのベースとなった Cypher を採用。 データベースの周辺を取り巻くエコシステムが充実している。 ○ ○ ○ ○ 豊富なドキュメント 活発なユーザーコミュニティ 各プログラミング言語でデータベースを操作するためのドライバ Neo4j 公式がサポートする便利なライブラリ ■ 便利な関数の宝庫💎: APOC Core ■ グラフアルゴリズムのハッピーセット🍟: Graph Data Science Library 9
GDSL(Graph Data Science Library) の特徴 ● ● Cypher クエリから直接呼び出し可能 (例)CALL gds.pageRank.stream(...) 多種多様なグラフアルゴリズムをサポート カテゴリ 代表アルゴリズム できること・活用シーン 中心性 PageRank, Betweenness Centrality 影響力の高いノードを発見(SNS のインフルエンサー検出) コミュニティ検出 WCC, Label Propagation 密なつながりのクラスタを検出(エンティティ解決 、グループ分け) 類似度 Node Similarity, KNN 構造的に似たノードを発見(推薦、類似エンティティ検索) 経路探索 Dijkstra, BFS / DFS ノード間の最短経路・到達可能性を評価(経路分析、影響範囲調査) ノード埋め込み FastRP, Node2Vec ノードを数値表現に変換(特徴量として機械学習モデルに入力) リンク予測 Common Neighbors, Preferential Attachment まだ存在しない関係を予測(推薦) 10
安井 雄一郎(やすい ゆういちろう) ● 基本情報 ○ ○ ○ ○ 日経イノベーション・ラボ 上級研究員 統計数理研究所 外来研究員 博士(統計科学)/著書 2本/埼玉県出身/ 3児の父 興味のある領域 ■ ● グラフ理論、高性能計算(HPC)、数理最適化、統計科学、セマンティッ ク・ウェブ(知識グラフ)、自然言語処理など これまでの経歴 ○ −2016 中央大・九州大 技術スタッフ・研究員 ■ ○ Excelで学ぶOR オーム社/2012年7月発行 2017−2018 日経BP データサイエンティスト ■ ○ スパコン・計算機上で効率的に動作するアルゴリズムやデータ構造の 開発。スパコン向けのグラフベンチマーク Graph500 / Green Graph500 で世界1位(省電力性能)を複数回獲得。 データ分析基盤の設計・構築・運用、データ分析など 2019− 日本経済新聞社 日経イノベーション・ラボ ■ 自然言語処理を用いた記事テキストの構造化、数理最適化を用いた出 番表の作成、ユーザ閲覧行動のモデル化など はじめての知識グラフ構築ガイド マイナビ出版/2024年9月発行 原著: Building Knowledge Graphs 11
9.3 グラフを用いた段階的なエンティティ解決 1章 知識グラフについて 2章 知識グラフ構築のための構成原則 3章 グラフデータベース 4章 知識グラフデータの読み込み 5章 知識グラフの組み込み 6章 データサイエンスによる知識グラフ拡充 7章 グラフネイティブ機械学習 8章 メタデータ知識グラフ 9章 知識グラフと識別 10章 パターン検知の知識グラフ 11章 依存関係の知識グラフ 12章 セマンティック検索と類似度 13章 知識グラフとの会話 14章 知識グラフから知識レイクへ 9.3 グラフを用いた段階的なエンティティ解決 ● ● ● さまざまな場面で必要となるデータの正規化、名 寄せをグラフデータベースを用いて実際に 取り組む内容 データの観察、優先度付け ○ 容易にマッチできる信頼性が高いカラムと、 注意する必要がある信頼性の低い カラムがあることに注目 Neo4j へロードして、段階的に処理を行う ○ 前処理により形式の統一化 ○ 信頼性が高いデータ間にエッジを貼り、クラ スタを形成する ○ クラスタを抽出して、エンティティ として解決
弱い識別子 強固な識別子 形式が異なる 形式が異なる 今回は触れないが重要な情報 粒度が異なる
エンティティマッチング (1) - Cypher による直感的な操作 1. Neo4j へのロード、日付や名前など比較しやすい形式に正規化を行う 2. 完全一致でエッジを張る SAME_AS
エンティティマッチング (2) - Cypher による直感的な操作 4. 類似検索による曖昧性を考慮したエッジ追加 SIMILAR 5. 6. 完全一致を優先(曖昧性を考慮したエッジを削除)し、スコアによる削除 WCC で連結成分を抽出し、同一となるデータをエンティティと見なす
エンティティマッチング (3) - Cypher による直感的な操作 ● WCC により抽出されたクラスタ ID をエンティティ ID とする
本書を超えた範囲(活用事例) ● ○ Wikidata のリソースは instanceof プロパティを持つ instance エンティティと、 subclassof プロパティを持つ class エンティティに大分できる 特定の class エンティティに紐付く instance エンティティを抽出したい … ○ ● 特定の class エンティティ Wikidata エンティティを活用したいが、分類が細かすぎる プロパティグラフ型のデータベースによる実装 ○ 日本語ラベルをもつエンティティ 350万ノード、instanceof と subclassof に関するエッジ 427 万件をロードし、クエリする MATCH (s)-[:InstanceOf]->(x)-[SubclassOf*0..]->(o) WHERE o.qid IN [ 'Q17379835' ] // Wikimedia 関連エンティティ RETURN distinct s // ノイズとなりやすいエンティティを50万件以上抽出 ○ ○ ○ subclassof property class instanceof property instance 特定の class エンティティに紐付く instance エンティティを抽出 M4 Macbook Pro 上の Kuzu データベースで 3 秒ほどで実行 上記のクエリでは instanceof を1ホップだけ辿り、 subclassof を 0 ホップ以上を辿る 人 (Q5)、組織 (Q43229)、行政区画 (Q56061) などのエンティティを抽出できる
行政区画(Q56061) の例 yFiles Jupyter Graphs for Kuzu による描画
まとめ ● ● ● ● 知識グラフはつながりを扱うのが得意。ノードとリレーションによる 構造化で、従来の RDB では難しい「関係の探索」を容易に行える。 プロパティグラフモデルではノードやエッジにラベルと属性を 付与できる。RDB に近い感覚でデータを表現しながらグラフの 恩恵を受けられる。 Neo4j は最も広く使われているグラフデータベースの一つ。 豊富なライブラリのおかげで知識グラフの構築・分析・活用を一貫して 実践できる。 グラフ構造を活かしたアルゴリズムを活用すれば、 通常のデータ分析では見えにくい「関係性のパターン」を発見できる。
我々の思い グラフ構造に着目したアルゴリズムの研究や知識の構造化は、 従来より学術領域で活発に取り組まれてきました。 しかし、国内のビジネス現場でグラフデータが活用されている例を 目にすることはまだ多くありません。 データをグラフで表現する利点を学術領域以外にも広め、 実務での活用を後押ししたいという思いから本書を翻訳出版しました。 グラフを使えばデータを柔軟に表現できます。 身の回りのデータをグラフデータベースに import してみてください!
本イベントを記念したセールを実施中!