<<
2408.08921v2.pdf
---
## Page 1
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p001.png)
### 和訳
# グラフ検索拡張生成:サーベイ
BOCI PENG∗、北京大学 知能科学技術学院、中国
YUN ZHU∗、浙江大学 コンピュータサイエンス技術学院、中国
YONGCHAO LIU、Ant Group、中国
XIAOHE BO、中国人民大学 高齢人工知能学院、中国
HAIZHOU SHI、ラトガース大学、アメリカ
CHUNTAO HONG、Ant Group、中国
YAN ZHANG†、北京大学 知能科学技術学院、中国
SILIANG TANG、浙江大学 コンピュータサイエンス技術学院、中国
最近な、RAG(検索拡張生成)っちゅうのがめっちゃすごい成果出してんねん。大規模言語モデル(LLM)の問題を、わざわざ再学習せんでも解決できるようになってきてん。外部の知識ベースを参照することで、RAGはLLMの出力を洗練させて、「ハルシネーション」(AIが嘘つく問題やな)とか、専門知識が足りへん問題とか、情報が古くなっとる問題とかをうまいこと解決できるようになったんや。せやけどな、データベース内の色んなエンティティ(まあ「もの」とか「人」とかのことやな)同士の関係性が複雑に絡み合ってて、これがRAGシステムにとってはなかなかの難題やってん。
そこで登場したのがGraphRAGや!これはエンティティ間の構造的な情報を活用して、もっと正確で網羅的な検索ができるようにしたもんやねん。関係性の知識をちゃんと捉えて、より正確で文脈を理解した回答ができるようになるんや。GraphRAGは新しくて可能性もめっちゃあるから、今の技術をちゃんと整理してレビューするのが大事やろ、ってことでこの論文書いたんや。
この論文では、GraphRAGの方法論について初めて包括的にまとめとるで。GraphRAGのワークフロー(作業の流れやな)を「グラフベースのインデックス作成」「グラフ誘導型検索」「グラフ強化型生成」っていう形式でちゃんと定義してん。ほんで各段階でのコア技術と学習方法についても説明しとるわ。さらに、下流タスク(実際に使われる場面やな)、応用分野、評価方法、そして産業界での実際の使用例についても調べとるで。最後に、今後の研究の方向性についても探って、この分野をもっと発展させるためのヒントを提供しとるんや。この分野の最新の進展を追跡するために、https://github.com/pengboci/GraphRAG-Survey にリポジトリも作ったから、よかったら見てな。
**CCS概念**: • 計算方法論 → 知識表現と推論; • 情報システム → 情報検索; データマイニング
**追加キーワード**: 大規模言語モデル、グラフ検索拡張生成、知識グラフ、グラフニューラルネットワーク
---
∗両著者はこの研究に同等に貢献しとるで。
†責任著者や。
---
## Page 2
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p002.png)
### 和訳
# グラフ検索拡張生成:サーベイ
## 参考文献情報
Peng et al.(2024年)「Graph Retrieval-Augmented Generation: A Survey」ACM学会誌、37巻4号、Article 111、41ページ
---
## 1 はじめに
GPT-4とかQwen2とかLLaMAとか、大規模言語モデル(LLM)の開発がめっちゃすごい革命を起こしてんねん。AI分野全体がガラッと変わって、自然言語処理の世界が根本から塗り替えられたんや。こいつらのモデルはTransformerっていう仕組みで作られてて、めちゃくちゃ多様で膨大なデータで学習されてんねん。そのおかげで、人間の言葉を理解して、解釈して、生成する能力がほんまに今までにないレベルに達してるわけや。この進歩のインパクトはめっちゃでかくて、医療とか金融とか教育とか、いろんな分野に広がってんねん。人間と機械のやり取りがもっと細やかで効率的になってきてるんやで。
でもな、こんだけすごい言語理解とテキスト生成の能力があっても、LLMには限界があんねん。なんでかっていうと、専門分野の知識とか、リアルタイムで更新される情報とか、企業の独自の知識とか、そういうのは学習データに入ってへんからや。この穴があると「ハルシネーション」っていう現象が起きんねん。これ何かっていうと、モデルが不正確な情報とか、もう完全にでっち上げの情報を生成してまうことや。やから、この問題を解決するために外部の知識でLLMを補強せなあかんわけやな。
そこで登場したんが検索拡張生成(RAG)っていう技術や。これは生成プロセスの中に検索の仕組みを組み込むことで、生成されるコンテンツの質と関連性を高めようっていうもんやねん。RAGのキモは、大きなテキストの集まりに動的に問い合わせて、関連する事実の知識を言語モデルの回答に組み込めるところや。これによって回答の文脈的な深みが増すだけやなくて、事実の正確さと具体性もめっちゃ高まんねん。RAGはその優れた性能と幅広い応用範囲のおかげで注目を集めてて、この分野の重要なテーマになってるんやで。
ただな、RAGがすごい成果を出して色んな分野で使われてるとはいえ、実際の現場では限界もあんねん。
**(1)関係性を無視してまう問題**:現実のテキストって孤立してるんやなくて、お互いにつながってんねん。従来のRAGは、意味の類似性だけでは表現できひん重要な構造化された関係の知識を捉えられへんのや。例えば、論文同士が引用関係でつながってる引用ネットワークを考えてみ?従来のRAGは質問に関連する論文を見つけることはできるけど、論文間の重要な引用関係は見落としてまうんや。
**(2)冗長な情報の問題**:RAGはテキストの断片を連結してプロンプトにするやろ?そしたら文脈がめっちゃ長くなってもうて、「真ん中で迷子になる」っていうジレンマが起きんねん。
**(3)全体像が見えへん問題**:RAGは文書の一部しか取得できへんから、全体の情報を包括的に把握できひんのや。やから、クエリに焦点を当てた要約(QFS)みたいなタスクには苦戦してまうねん。
そこで登場したんがグラフ検索拡張生成(GraphRAG)や!これがこれらの課題を解決する革新的なソリューションなんやで。従来のRAGとは違って、GraphRAGは事前に構築されたグラフデータベースから、与えられた質問に関連する関係知識を含むグラフ要素を取得すんねん(図1参照)。この要素にはノードとか、トリプル(3つ組の関係)とか、パスとか、サブグラフとかが含まれてて、これらを使って回答を生成するわけや。GraphRAGはテキスト間のつながりを考慮するから、関係情報をより正確かつ包括的に取得できんねん。
さらにな、知識グラフみたいなグラフデータはテキストデータを抽象化して要約してくれるから、入力テキストの長さをめっちゃ短くできて、冗長性の心配も減らせんねん。サブグラフやグラフコミュニティを取得することで、グラフ構造の中にある広い文脈とつながりを捉えて、包括的な情報にアクセスできるようになんねん。これでQFSの課題も効果的に解決できるっちゅうわけや!
---
## Page 3
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p003.png)
### 和訳
図1. 直接LLM、RAG、GraphRAGの比較やで。ユーザーからの質問が来たとき、LLMに直接聞いても、なんか浅い答えしか返ってこんかったり、具体性に欠けることがあるんよ。RAGはこれを解決しようとして、関連するテキスト情報を引っ張ってきてくれるから、まあまあマシにはなるねん。でもな、テキストって長いし、エンティティ同士の関係性が自然言語でいろんな言い方されてるから、RAGやと「影響」っていう関係性をちゃんと強調するんが難しいんよ。これが質問の核心やのにな。一方でGraphRAGは、グラフデータの中にエンティティと関係性が明示的に表現されてるから、関連する構造化された情報を取ってきて、めっちゃ正確な答えが出せるってわけや。
この論文では、ワイらが初めてGraphRAGについて体系的なサーベイをまとめたで。具体的には、まずGraphRAGのワークフローと、この分野を支える基礎知識を紹介するわ。ほんで、文献をGraphRAGプロセスの主要な段階ごとに分類してんねん:グラフベースのインデキシング(G-Indexing)、グラフガイドの検索(G-Retrieval)、グラフ強化の生成(G-Generation)ってな具合に、それぞれセクション5、6、7で詳しく説明して、各フェーズのコア技術と学習方法を掘り下げていくで。さらに、下流タスク、応用領域、評価手法、産業界でのユースケースも調査してんねん。これによって、GraphRAGが実際どう使われてるんか、いろんな分野でどんだけ汎用性と適応性があるんかが見えてくるわ。最後に、GraphRAGの研究はまだ始まったばっかりやから、将来の研究の方向性についても深掘りしてるで。この先を見据えた議論が、これからの研究の道を切り開いて、新しい研究テーマのヒントになって、この分野の進歩を加速させて、最終的にGraphRAGをもっと成熟した革新的なところまで押し上げていけたらええなって思ってんねん。
ワイらの貢献をまとめるとこんな感じや:
• 既存の最先端GraphRAG手法について、包括的かつ体系的なレビューを提供してるで。GraphRAGの正式な定義を示して、G-Indexing、G-Retrieval、G-Generationを含む普遍的なワークフローも説明してんねん。
• 既存のGraphRAGシステムを支えるコア技術について議論してるで。G-Indexing、G-Retrieval、G-Generationそれぞれについて、今探求されてるモデル選択、方法論的設計、強化戦略のスペクトラムを分析してんねん。さらに、これらのモジュール間で使われてる多様な学習方法論も比較対照してるわ。
• GraphRAGに関連する下流タスク、ベンチマーク、応用領域、評価指標、現在の課題、将来の研究方向性を明確にして、両方の観点から議論してるで。
J. ACM, Vol. 37, No. 4, Article 111. Publication date: September 2024.
[図の説明文]
LLMs|LLMs|クエリ:モネは光と色の描写に革命をもたらす新しい技法を導入したんや。彼の印象派の技法は後の芸術運動に影響を与えて、20世紀初頭に登場したピカソのキュビズムにも繋がってんねん。この影響が、断片化された視点への革新的なアプローチを形作る助けになったわけや。|検索器|19世紀のクロード・モネのような印象派の画家は、後の芸術運動に影響を与える新しい技法を導入したんや。パブロ・ピカソは20世紀初頭にキュビズムを開拓したで。|1. クロード・モネのような印象派の画家は、光と色の描写に革命をもたらす新しい技法を導入した。2. 印象派の技法は後の芸術運動に影響を与えた。3. パブロ・ピカソはキュビズムを開拓し、視覚表現へのアプローチを根本的に変革した。4. キュビズムは20世紀初頭に登場し、芸術に対する伝統的な視点に挑戦した。…|検索されたテキスト|LLMs|(クロード・モネ)-[導入した]→(新しい技法)|(新しい技法)-[革命をもたらした]→(光と色の描写)|(印象派の技法)-[影響を与えた]→(後の芸術運動)|(パブロ・ピカソ)-[開拓した]→(キュビズム)|(キュビズム)-[登場した]→(20世紀初頭)…|検索されたトリプレット|19世紀の芸術運動は、色、形、主題の実験を奨励することで、20世紀の現代美術に影響を与えたんや。これらの運動が抽象、表現主義、その他の革新的な道を切り開いたってわけやな。|回答|回答|回答|19世紀の芸術運動は20世紀の現代美術の発展にどう影響したん?|クエリ|19世紀の芸術運動は20世紀の現代美術の発展にどう影響したん?|検索器|クエリ|19世紀の芸術運動は20世紀の現代美術の発展にどう影響したん?
---
## Page 4
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p004.png)
### 和訳
Pengさんらの研究やで。
**図2. 質問応答タスク向けのGraphRAGフレームワークの全体像**
このサーベイでは、GraphRAGを3つのステージに分けてるねん:G-Indexing(グラフのインデックス化)、G-Retrieval(グラフからの検索)、そしてG-Generation(回答の生成)や。検索元としては、オープンソースのナレッジグラフと、自分で作ったグラフデータの2種類があんねん。検索結果の精度を上げるために、クエリ強化とか知識強化とか、いろんなテクニックを使うこともあるで。普通のRAGは検索してきたテキストをそのまま生成に使うんやけど、GraphRAGはちゃうねん。検索してきたグラフの情報を、生成器が受け取れる形式に変換せなあかんのよ。そうすることでタスクのパフォーマンスがめっちゃ上がるってわけや。
この分野の進歩と今後の展望についてまとめてるで。さらに、既存の業界向けGraphRAGシステムの一覧も作ってて、学術研究が実際の産業ソリューションにどう落とし込まれてるかがわかるようになってるねん。
**構成について**
このサーベイの残りの部分はこんな感じで構成されてるで:セクション2では関連技術との比較、セクション3ではGraphRAGの一般的なプロセスの概要を説明してる。セクション5から7では、GraphRAGの3つのステージ(G-Indexing、G-Retrieval、G-Generation)に関連する技術を分類してるねん。セクション8では検索器と生成器の学習戦略を紹介して、セクション9ではGraphRAGの下流タスク、対応するベンチマーク、応用分野、評価指標、産業向けGraphRAGシステムをまとめてるで。セクション10では将来の方向性について展望を述べて、最後にセクション11でこのサーベイの内容を締めくくってるわ。
## 2 関連技術およびサーベイとの比較
このセクションでは、Graph Retrieval-Augmented Generation(GraphRAG)と関連技術、そしてそれに対応するサーベイを比較していくで。具体的には、RAG、グラフ上のLLM、そしてKnowledge Base Question Answering(KBQA:ナレッジベース質問応答)との比較やな。
### 2.1 RAG
RAGっていうのは、外部の知識とLLM(大規模言語モデル)を組み合わせて、タスクのパフォーマンスを向上させる手法やねん。ドメイン固有の情報を統合することで、事実に基づいた信頼性の高い回答ができるようになるわけや。ここ2年くらいで、研究者たちがRAGについて包括的なサーベイをめっちゃ書いてるで[34, 45, 59, 62, 178, 195, 202]。例えば、Fanらの研究[34]とGaoらの研究[45]は、RAGの手法を検索、生成、拡張っていう観点から分類してるねん。Zhaoらの研究[202]は、異なるモダリティ(データの形式)を持つデータベース向けのRAG手法をレビューしてる。Yuらの研究[195]は、RAG手法の評価について体系的にまとめてるで。これらの研究は...
J. ACM, Vol. 37, No. 4, Article 111. Publication date: September 2024.
---
## Page 5
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p005.png)
### 和訳
Graph Retrieval-Augmented Generation: A Survey
111:5
せやから、今あるRAGの手法をきちっと整理して、この分野をもっと深く理解してもらって、将来どんな方向に進んでいくんかっていう話をしていくねん。
ざっくり言うと、GraphRAGってのはRAGの派生みたいなもんで、テキストの塊からじゃなくて、グラフデータベースから関係性のある知識を引っ張ってくるんよ。でもな、テキストベースのRAGと比べたら、GraphRAGはテキスト同士の関係性もちゃんと考えてて、テキスト以外の構造的な情報も追加の知識として取り込むねん。ほんでな、グラフデータを作る時に、生のテキストデータをフィルタリングしたり要約したりするから、グラフの中の情報がめっちゃ洗練されるんよ。今までのRAGのサーベイでもGraphRAGにちょっと触れてるやつはあったんやけど、ほとんどがテキストデータの統合がメインやってん。この論文はそれとはちゃうねん。構造化されたグラフデータのインデックス作成、検索、活用にガッツリ焦点当ててて、純粋なテキスト情報を扱うのとはかなり違うアプローチやから、新しい技術がどんどん出てきてるんよ。
2.2 グラフにおけるLLM
LLMってのは自然言語処理をめっちゃ革新してるねん。なんでかっていうと、テキストの理解力、推論能力、生成能力がめちゃくちゃ優れてて、しかも汎化能力とかゼロショット転移能力もあるからな。LLMは基本的に純粋なテキストを処理するように設計されてて、グラフみたいな複雑な構造情報を含む非ユークリッドデータ(要は普通の平面とか空間じゃない複雑なデータ構造のことやで)を扱うのは苦手やねん[49, 165]。でもな、この分野でめっちゃ研究が進んでて[17, 35, 74, 92, 102, 116, 130, 131, 173, 204]、これらの論文は主にLLMとGNN(グラフニューラルネットワーク、グラフ構造を学習するニューラルネットのことな)を組み合わせて、グラフデータのモデリング能力を上げて、ノード分類とかエッジ予測とかグラフ分類とか、そういう下流タスクの性能を改善しようとしてるねん。例えば、Zhuらは[204]ENGINEっていう効率的なファインチューニング手法を提案してて、LLMとGNNをサイド構造を通じて組み合わせることで、グラフ表現を強化してるんよ。
GraphRAGはこれらの手法とはちゃうねん。外部のグラフ構造データベースからクエリを使って関連するグラフ要素を検索することに焦点当ててるんよ。この論文では、GraphRAGの関連技術と応用について詳しく紹介してるけど、これは今までのLLMs on Graphsのサーベイには含まれてへんかった内容やねん。
2.3 KBQA
KBQAは自然言語処理の重要なタスクで、外部の知識ベースに基づいてユーザーの質問に答えることを目指してるねん[41, 85, 86, 188]。そうすることで、事実検証とか、文章検索の強化とか、テキスト理解とかの目標を達成するんよ。今までのサーベイでは、既存のKBQAアプローチを大きく2種類に分けてることが多いねん。情報検索(IR)ベースの手法と意味解析(SP)ベースの手法や。具体的に言うと、IRベースの手法[69, 70, 112, 113, 154, 167, 182, 196]は、ナレッジグラフ(KG)からクエリに関連する情報を検索して、それを使って生成プロセスを強化するねん。一方でSPベースの手法[16, 19, 36, 48, 153, 191]は、各クエリに対して論理形式(LF)を生成して、それを知識ベースに対して実行して答えを得るんよ。
GraphRAGとKBQAはめっちゃ関係が深くて、IRベースのKBQA手法は、下流アプリケーションに焦点を当てたGraphRAGアプローチのサブセット(一部分)って言えるねん。この論文では、KBQAだけじゃなくて、いろんな下流タスクにおけるGraphRAGの応用にまで議論を広げてるで。このサーベイでは、GraphRAG技術を徹底的かつ詳細に探求して、既存の手法と潜在的な改善点について包括的に理解できるようにしてるねん。
3 予備知識
このセクションでは、このサーベイをもっと理解しやすくするために、GraphRAGの背景知識を紹介するで。まず、テキスト属性グラフを紹介するねん。これは
J. ACM, Vol. 37, No. 4, Article 111. Publication date: September 2024.
---
## Page 6
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p006.png)
### 和訳
GraphRAGで使うグラフデータについて説明するで。ほんでGNNと言語モデルっていう、取得と生成の段階で使える2種類のモデルについても正式な定義を出すわ。
## 3.1 テキスト属性付きグラフ
Graph RAGで使うグラフデータは、テキスト属性付きグラフ(TAG)として統一的に表現できるねん。これはノード(点)とエッジ(線)にテキストの属性が付いてるやつやな。数式で書くと G = (V, E, A, {x𝑣}𝑣∈V, {e𝑖,𝑗}𝑖,𝑗∈E) ってなるねんけど、Vがノードの集合、E ⊆ V × V がエッジの集合、A ∈ {0, 1}|V|×|V| が隣接行列や。ほんで {x𝑣}𝑣∈V と {e𝑖,𝑗}𝑖,𝑗∈E がそれぞれノードとエッジのテキスト属性やねん。TAGの典型的な例がナレッジグラフ(KG)で、ノードが実体(エンティティ)、エッジが実体同士の関係、テキスト属性が実体と関係の名前になってるわけや。
## 3.2 グラフニューラルネットワーク
グラフニューラルネットワーク(GNN)っていうのは、グラフデータをモデル化するための深層学習のフレームワークやねん。GCN、GAT、GraphSAGEみたいな古典的なGNNは、メッセージパッシングっていう方式でノードの表現を取得するんや。要するに、各ノードの表現 h(l-1)i を l 層目で更新するときに、隣接ノードとエッジから情報を集約するってことやな:
h(l)i = UPD(h(l-1)i, AGGj∈N(i) MSG(h(l-1)i, h(l-1)j, e(l-1)i,j)) (1)
ここで N(i) はノード i の隣接ノードを表すねん。MSG はメッセージ関数で、ノードとその隣接ノード、その間のエッジに基づいてメッセージを計算するやつや。AGG は集約関数で、受け取ったメッセージを順序に依存しない方法(平均とか合計とか最大値とか)で組み合わせるねん。UPD は更新関数で、集約されたメッセージを使って各ノードの属性を更新するわけや。
ほんで、readout関数(平均、合計、最大プーリングとか)を使って、グラフ全体レベルの表現を取得できるねん:
h𝐺 = READOUTi∈V𝐺(h(L)i) (2)
GraphRAGでは、GNNを使って検索フェーズ用のグラフデータの表現を取得したり、取得したグラフ構造をモデル化したりできるんやで。
## 3.3 言語モデル
言語モデル(LM)は言語理解がめっちゃ得意で、主に2種類に分類されるねん:識別型と生成型や。BERT、RoBERTa、SentenceBERTみたいな識別型モデルは、条件付き確率 P(y|x) を推定することに集中してて、テキスト分類とか感情分析みたいなタスクに効果的やねん。一方で、GPT-3とかGPT-4みたいな生成型モデルは、機械翻訳とかテキスト生成みたいなタスクのために同時確率 P(x, y) をモデル化しようとするんや。これらの生成型事前学習モデルは、めっちゃ大規模なデータセットと数十億のパラメータを活用することで、自然言語処理(NLP)の分野をめちゃくちゃ発展させて、様々なタスクで優れた性能を発揮する大規模言語モデル(LLM)の台頭に貢献したわけやな。
初期の段階では、RAGとGraphRAGは識別型言語モデルの事前学習技術の改善に焦点を当ててたんや。最近では、ChatGPT、LLaMA、Qwen2みたいなLLMが言語理解においてめっちゃ大きな可能性を示して、強力なインコンテキスト学習能力を発揮してるねん。その結果、RAGとGraphRAGの研究は、言語モデルのための情報検索の強化、ますます複雑になるタスクへの対応、ハルシネーション(幻覚、つまりAIが嘘をつく問題やな)の軽減へとシフトして、この分野の急速な発展を推進してるんやで。
---
## Page 7
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p007.png)
### 和訳
**4 GraphRAGの全体像**
GraphRAGっていうのはな、外部にある構造化された知識グラフを活用して、言語モデルの文脈理解力をめっちゃ向上させて、もっと賢い回答を生成するためのフレームワークやねん。図2に描いてある通りやな。
GraphRAGの目標はな、データベースから一番関連性の高い知識を引っ張ってきて、下流タスクの回答をパワーアップさせることやねん。このプロセスは以下の式で定義できるで:
𝑎∗ = arg max 𝑝(𝑎|𝑞, G)
𝑎∈𝐴
ここで𝑎∗っていうのは、テキスト付きグラフGが与えられたときのクエリ𝑞に対する最適な回答で、𝐴は考えられる回答の集合やな。
ほんで、目標とする確率分布𝑝(𝑎|𝑞, G)を、グラフ検索器𝑝𝜃(𝐺|𝑞, G)と回答生成器𝑝𝜙(𝑎|𝑞, 𝐺)を使って一緒にモデル化するねん。𝜃と𝜙は学習可能なパラメータやで。ほんで全確率の公式を使って𝑝(𝑎|𝑞, G)を分解すると、こうなるわけや:
𝑝(𝑎|𝑞, G) = Σ 𝑝𝜙(𝑎|𝑞, 𝐺)𝑝𝜃(𝐺|𝑞, G)
G⊆G
≈ 𝑝𝜙(𝑎|𝑞, 𝐺∗)𝑝𝜃(𝐺∗|𝑞, G)
ここで𝐺∗は最適なサブグラフのことやな。なんでかっていうと、候補となるサブグラフの数ってグラフのサイズに対して指数的に増えてまうから、効率的な近似手法が必要になってくるねん。やから式4の1行目は2行目で近似してるわけや。具体的には、グラフ検索器を使って最適なサブグラフ𝐺∗を抽出して、その後で生成器が検索されたサブグラフに基づいて回答を作るっちゅう流れやな。
というわけで、このサーベイではGraphRAGの全プロセスを3つの主要ステージに分解してるで:**グラフベース索引付け**、**グラフ誘導型検索**、**グラフ強化型生成**の3つや。GraphRAGの全体的なワークフローは図2に示してあって、各ステージの詳しい説明は以下の通りやで。
---
**グラフベース索引付け(G-Indexing)**
グラフベース索引付けはGraphRAGの最初のフェーズで、下流タスクに合ったグラフデータベースGを特定するか構築して、それに索引を張ることが目的やねん。
グラフデータベースの出どころは色々あってな、公開されてる知識グラフ[4, 10, 100, 142, 150, 163]やったり、グラフデータ[123]やったり、テキスト[32, 51, 89, 172]とかその他の形式のデータ[183]みたいな独自データソースから構築することもできるねん。
索引付けのプロセスには普通、ノードとエッジのプロパティのマッピング、接続されてるノード間のポインタの確立、高速な走査と検索操作をサポートするためのデータ整理が含まれるで。索引付けは次の検索ステージの粒度を決めるから、クエリ効率を上げる上でめっちゃ重要な役割を果たすねん。
---
**グラフ誘導型検索(G-Retrieval)**
グラフベース索引付けの次は、グラフ誘導型検索のフェーズや。ここではユーザーのクエリや入力に応じて、グラフデータベースから関連する情報を抽出することに焦点を当ててるねん。
具体的に言うとな、自然言語で表現されたユーザークエリ𝑞が与えられたとき、検索ステージの目的は知識グラフから最も関連性の高い要素(エンティティ、トリプレット、パス、サブグラフとか)を抽出することやねん。これは以下のように定式化できるで:
𝐺∗ = G-Retriever(𝑞, G)
= arg max 𝑝𝜃(𝐺|𝑞, G)
G⊆R(G)
= arg max Sim(𝑞, 𝐺)
G⊆R(G)
ここで𝐺∗は最適な検索済みグラフ要素で、Sim(·, ·)はユーザークエリとグラフデータ間の意味的類似度を測る関数やな。R(·)は効率性を考慮して、サブグラフの検索範囲を絞り込む関数を表してるで。
---
## Page 8
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p008.png)
### 和訳
**グラフ拡張生成(G-Generation)**
さて、グラフ拡張生成のフェーズやねんけど、これは取ってきたグラフデータをもとにして、意味のあるアウトプットとか回答を作り出す段階やねん。具体的には、ユーザーからの質問に答えたり、レポート作ったりするわけやな。この段階では、ジェネレーター(生成器)っちゅうもんが、クエリ(質問)と取得したグラフの要素、あと必要に応じてプロンプトを入力として受け取って、回答を生成するねん。これを数式で書くとこうなるで:
𝑎∗ = G-Generator(𝑞, 𝐺 ∗)
= arg max 𝑝𝜙 (𝑎|𝑞, 𝐺 ∗)
= arg max 𝑝𝜙 (𝑎|F (𝑞, 𝐺 ∗)) (式6)
ここでF(・,・)っちゅうのは、グラフデータをジェネレーターが処理できる形に変換する関数やねん。
---
# 5 グラフベースのインデキシング
グラフデータベースの構築とインデキシング(索引付け)は、GraphRAGの土台になる部分やねん。ほんまに、グラフデータベースの品質がGraphRAGの性能にめっちゃ直結するから、ここ超大事やで。このセクションでは、グラフデータの選び方とか作り方、あといろんなインデキシング手法を分類してまとめていくで。
## 5.1 グラフデータ
GraphRAGでは検索と生成のために、いろんな種類のグラフデータが使われてるねん。ここでは、データの出どころで2つに分けて説明するで。**オープン知識グラフ**と**自分で構築するグラフデータ**や。
### 5.1.1 オープン知識グラフ
オープン知識グラフっちゅうのは、誰でも使える公開リポジトリとかデータベースから取ってきたグラフデータのことやねん。これ使うと、開発とかメンテナンスにかかる時間とリソースをめっちゃ節約できるんや。この論文では、さらにスコープ(範囲)で2つに分類してるで。**汎用知識グラフ**と**ドメイン特化型知識グラフ**や。
**(1) 汎用知識グラフ**
汎用知識グラフは主に、一般的で構造化された知識を保存してるもんやねん。普通は世界中のコミュニティからの入力と更新に頼ってて、包括的で常に新しい情報が入ってくるリポジトリになってるねん。
百科事典的な知識グラフは、汎用知識グラフの典型的なタイプやな。人間の専門家とか百科事典から集めた大規模な現実世界の知識が入ってるねん。例えば:
- **Wikidata**は、フリーでオープンな知識ベースで、WikipediaとかWikivoyage、Wiktionaryみたいなウィキメディアの姉妹プロジェクトの構造化データを保存してるねん。
- **Freebase**は、めっちゃ広範囲な協力編集型の知識ベースで、個人の貢献やWikipediaみたいなデータベースからの構造化データなど、いろんなソースからデータを集めてるで。
- **DBpedia**は、Wikipedia記事のインフォボックス(記事の横にある情報まとめ表)やカテゴリを活用して、人とか場所とかモノとか、何百万ものエンティティの情報を表現してるねん。
- **YAGO**は、WikipediaとWordNet、GeoNamesから知識を集めてるで。
常識知識グラフは、汎用知識グラフのもう一つのタイプやねん。これには抽象的な常識の知識、例えば概念同士の意味的な関連とか、イベント間の因果関係とかが含まれてるねん。代表的な常識知識グラフには**ConceptNet**があるで。
---
## Page 9
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p009.png)
### 和訳
Graph Retrieval-Augmented Generation(グラフ検索拡張生成):サーベイ
111:9
これな、意味ネットワークっていうやつで、単語とかフレーズを表すノードが、意味的な関係を示すエッジでつながってる構造やねん。ATOMIC [64, 142]ってのは、イベント同士の因果関係をモデル化してるやつやな。
(2) ドメイン知識グラフ。セクション1で話したように、特定分野の知識グラフってのは、LLM(大規模言語モデル)がその分野特有の質問に答える能力を高めるのにめっちゃ重要やねん。この知識グラフたちは、特定の領域の専門知識を提供してくれて、モデルがより深い洞察と、複雑な専門的関係の包括的な理解を得るのを助けてくれるわけや。医療バイオ分野では、CMeKG6が病気、症状、治療法、薬、そして医学概念間の関係とか、めっちゃ幅広いデータを網羅してるねん。CPubMed-KG7は中国語の医学知識データベースで、PubMedにある膨大な生物医学文献のリポジトリを基に構築されてるんや。映画の分野では、Wiki-Movies [121]がウィキペディアの映画関連記事から構造化された情報を抽出してて、映画、俳優、監督、ジャンル、その他関連する詳細を構造化フォーマットにまとめてるねん。さらに、Jinら[75]はGR-Benchっていうデータセットを構築してて、これには学術、Eコマース、文学、医療、法律の5つの分野にまたがるドメイン知識グラフが含まれてるんや。加えて、Heら[55]はExplaGraphsとSceneGraphsからトリプレット形式とJSONファイルを標準的なグラフ形式に変換して、WebQSPから2ホップ推論が必要な質問を選んで、GraphRAGシステムを評価するための汎用グラフ形式データセットGraphQAを作ってるんやで。
5.1.2 自己構築グラフデータ。自己構築グラフデータってのは、独自の知識や分野特有の知識を検索プロセスにカスタマイズして統合するのを可能にするもんやねん。もともとグラフデータを含まない下流タスクに対して、研究者たちはよく複数のソース(例えば、文書、テーブル、その他のデータベース)からグラフを構築して、GraphRAGを活用してタスクのパフォーマンスを向上させることを提案してるんや。一般的に、こういう自己構築グラフは、その手法の特定の設計と密接に結びついてて、さっき述べたオープンドメインのグラフデータとは区別されるねん。文書間の構造的な関係をモデル化するために、Munikotiら[124]は複数の文書レベルの関係(共引用、共トピック、共会場など)を捉える異種文書グラフを構築することを提案してるんや。Liら[96]とWangら[172]は、共有キーワードに基づいてパッセージ間の関係を確立してるねん。文書内のエンティティ間の関係を捉えるために、Delileら[26]、Edgeら[32]、Gutiérrezら[51]、Liら[89]は固有表現認識ツールを使って文書からエンティティを抽出し、言語モデルを使ってエンティティ間の関係をさらに抽出してて、抽出されたエンティティと関係が知識グラフを形成するわけや。他にも、タスク自体の特性に基づいて設計する必要があるマッピング手法もあるねん。例えば、特許フレーズの類似性推論タスクを解決するために、PengとYang [133]は特許データベースを特許-フレーズグラフに変換してるんや。特許ノードとフレーズノード間の接続は、フレーズが特許に出現する場合に確立されて、特許ノード間の接続は引用関係に基づいてるねん。カスタマーサービスの技術サポートシナリオをターゲットにして、Xuら[183]は過去の問題を知識グラフにモデル化することを提案してて、問題をツリー表現に変換して問題内の関係を維持し、意味的類似性と閾値を使って問題間の関係を保持してるんやで。
5.2 インデキシング
グラフベースのインデキシングは、グラフデータベースに対するクエリ操作の効率と速度を向上させる上でめっちゃ重要な役割を果たしてて、後続の検索手法と粒度に直接影響するねん。一般的なグラフベースのインデキシング手法には、グラフインデキシング、テキストインデキシング、ベクトルインデキシングがあるんや。
5.2.1 グラフインデキシング。グラフインデキシングは最も一般的に使われるアプローチで、グラフの構造全体を保持するねん。この手法は、どんなノードに対しても、そのすべてのエッジと
6https://cmekg.pcl.ac.cn/
7https://cpubmed.openi.org.cn/graph/wiki
J. ACM, Vol. 37, No. 4, Article 111. Publication date: September 2024.
---
## Page 10
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p010.png)
### 和訳
図3. グラフベースのインデックス作成の全体像やで。
隣り合うノードにめっちゃアクセスしやすいのが特徴やねん。その後の検索段階では、BFS(幅優先探索)とか最短経路アルゴリズムみたいな定番のグラフ探索アルゴリズムを使って、検索タスクをスムーズに進められるんやで[73, 75, 112, 113, 154, 158, 189]。
**5.2.2 テキストインデックス作成**
テキストインデックス作成っていうのは、グラフデータをテキストの説明文に変換して検索プロセスを最適化する方法やねん。この説明文はテキストコーパスに保存されて、スパース検索とかデンス検索みたいな色んなテキストベースの検索技術が使えるようになるんや。いくつかのアプローチでは、あらかじめ決めたルールやテンプレートを使って知識グラフを人間が読める文章に変換するんやで。例えば、Li et al. [90]、Huang et al. [63]、Li et al. [95]は、あらかじめ用意したテンプレートを使って知識グラフの各トリプル(主語-述語-目的語のセット)を自然言語に変換してるし、Yu et al. [193]は同じヘッドエンティティ(主語)を持つトリプルをまとめて一つの文章にしてるんや。さらに、サブグラフレベルの情報をテキスト説明に変換する方法もあるで。例えば、Edge et al. [32]はグラフ上でコミュニティ検出を行って、各コミュニティの要約をLLM(大規模言語モデル)で生成してるんやで。
**5.2.3 ベクトルインデックス作成**
ベクトルインデックス作成は、グラフデータをベクトル表現に変換して検索効率を上げる方法やねん。これで高速な検索と効果的なクエリ処理ができるようになるんや。例えば、クエリの埋め込みベクトルを使ってエンティティリンキング(実体の紐付け)がスムーズにできるし、LSH(Locality Sensitive Hashing)[66]みたいな効率的なベクトル検索アルゴリズムも使えるんやで。G-Retriever [55]は言語モデルを使ってグラフ内の各ノードとエッジに関連するテキスト情報をエンコードしてるし、GRAG [58]は言語モデルを使ってk-hopエゴネットワーク(あるノードから k ステップ以内の近傍ネットワーク)をグラフ埋め込みに変換して、構造情報をより良く保持してるんや。
**5.2.4 ハイブリッドインデックス作成**
上の3つのインデックス方法には、それぞれ独自のメリットがあるんやで。グラフインデックスは構造情報にアクセスしやすい、テキストインデックスはテキスト内容の検索が簡単、ベクトルインデックスは素早く効率的な検索ができる。やから実際のアプリケーションでは、どれか1つだけに頼るんやなくて、これらのインデックス方法を組み合わせたハイブリッドアプローチがよく好まれるんやで。例えば、HybridRAG [144]はベクトルとグラフデータを同時に検索して、取得するコンテンツの質を向上させてるんや。一方でEWEK-QA [24]はテキストと知識グラフの両方を使ってるで。
**6 グラフガイド検索**
GraphRAGにおいて、検索プロセスは外部のグラフデータベースから関連性が高くて質の良いグラフデータを抽出することで、生成される出力の品質と関連性を確保するためにめっちゃ重要やねん。せやけど、グラフデータの検索には2つの大きな課題があるんや。(1) **候補サブグラフの爆発的増加**:グラフのサイズが大きくなると、候補となるサブグラフの数が指数関数的に増えてしまうから、関連するサブグラフを効率的に探索・検索するためのヒューリスティック探索アルゴリズムが必要になるんや。(2) **類似度測定の不十分さ**:テキストクエリとグラフデータの間の類似度を正確に測るには、テキスト情報と構造情報の両方を理解できるアルゴリズムの開発が必要やねん。
J. ACM, Vol. 37, No. 4, Article 111. 発行日:2024年9月.
§5.1 グラフデータ • オープン知識グラフ • 自己構築知識グラフ • 一般知識グラフ • ドメイン知識グラフ • グラフインデックス • テキストインデックス • ベクトルインデックス • ハイブリッドインデックス §5.2 インデックス作成 グラフデータベース データソース... Wikipedia テキストコーパス テーブル
---
## Page 11
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p011.png)
### 和訳
# グラフを使った情報取り出し(Retrieval)の全体像
図4見てみて。これがグラフベースの検索の基本的な仕組みやねん。
これまでめっちゃ多くの研究者が、さっき言うた課題を解決するために検索プロセスの最適化に取り組んできたんよ。このサーベイでは、GraphRAGの中の検索プロセスについて、いろんな角度から見ていくで。具体的には、**リトリーバー(検索エンジン)の選び方**、**検索のやり方(パラダイム)**、**どれくらい細かく取ってくるか(粒度)**、それと**効果をアップさせるテクニック**やな。グラフを使った検索の全体像は図4に描いてあるから見てみてな。
## 6.1 リトリーバー(検索するやつ)
GraphRAGにはいろんなタイプのリトリーバーがあって、それぞれ得意なことが違うねん。ここでは、中身のモデルの種類で3つに分けて説明するで:**ノンパラメトリック型**、**言語モデル(LM)型**、それと**GNN(グラフニューラルネットワーク)型**や。
ちなみに、クエリのエンコードとかエンティティリンキング(文中の単語をグラフのノードに紐付ける作業)みたいな前処理で使うモデルは、ここでは扱わへんで。なんでかっていうと、そういうのは方法によってバラバラやし、この論文のメインの話とはちょっと違うからな。
### 6.1.1 ノンパラメトリック型リトリーバー
これはな、ヒューリスティックなルール(経験則)とか昔ながらのグラフ検索アルゴリズムを使うやつで、ディープラーニングのモデルに頼らへんねん。せやから、めっちゃ検索が速いのがウリやな。
例えば、YasunagaらとTaunkらの研究では、質問と選択肢のペアに出てくるトピックエンティティを含む**kホップのパス**(k回たどれる道筋)を取ってくるねん。G-Retrieverっていうのは、「Prize-Collecting Steiner Tree(PCST)」っていう従来のアルゴリズムをパワーアップさせて、エッジ(つながり)にコストを付けて、関連するサブグラフをうまいこと抜き出せるようにしたやつや。DelileらとMavromatisらの研究では、まずクエリに出てくるエンティティを抜き出して、そのエンティティに関係する**最短パス**を取ってくるねん。
こういう方法は大体、検索する前に「エンティティリンキング」っていう前処理をして、グラフの中のどのノードが対象なんかを特定するステップが入るんや。
### 6.1.2 言語モデル(LM)型リトリーバー
言語モデルはGraphRAGでめっちゃ優秀なリトリーバーになれるねん。なんでかっていうと、自然言語を理解する力がほんまに強いからや。いろんな自然言語のクエリを処理して解釈するのが得意やから、グラフベースのフレームワークの中で幅広い検索タスクに対応できるんよ。
言語モデルは大きく2種類に分けられるで:**識別型(discriminative)** と **生成型(generative)** や。
- **Subgraph Retriever**は、RoBERTaっていうモデルをリトリーバーとして訓練して、トピックエンティティから広げていって、関連するパスを順番に決めながら取ってくるねん。
- **KG-GPT**は、LLM(大規模言語モデル)を使って、特定のエンティティに関係するトップKの関連関係を生成させるやつや。
- **Woldら**の研究では、ファインチューニングしたGPT-2を使って推論パス(答えにたどり着くまでの道筋)を生成するねん。
- **StructGPT**は、LLMを使って事前に定義されたいくつかの関数を自動的に呼び出して、関連情報を取ってきて組み合わせることで、さらなる推論を助けるっていう仕組みや。
---
*図4の説明:*
入力クエリから始まって、クエリの強化(拡張や分解)→グラフデータベースから検索(リトリーバーの種類、検索パラダイム、検索粒度を選ぶ)→知識の強化(マージや剪定)っていう流れになってるで。検索粒度は、ノード単位、トリプレット(3つ組)、パス、サブグラフ、それらのハイブリッドから選べるんや。
---
## Page 12
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p012.png)
### 和訳
ほな、このGraphRAGの検索の仕組みについて説明していくで〜!
---
**6.1.3 GNNベースの検索器**
GNN(グラフニューラルネットワーク)っていうのは、めっちゃ複雑なグラフ構造を理解するのが得意なやつやねん。GNNベースの検索器は、まずグラフデータをエンコード(数値に変換)して、それから質問との似てる度合いで点数つけて、欲しい情報を取ってくるんよ。
例えばやな、GNN-RAGっていう手法は、最初にグラフをエンコードして、各エンティティ(実体、つまりモノや概念のこと)にスコアつけて、閾値を基準に質問に関係あるやつを引っ張ってくるねん。EtDっていうやつは何回も繰り返して関連するパス(経路)を取得するんやけど、各イテレーションでまずLLaMA2を使って今いるノードにつながってるエッジ(辺)を選んで、その後GNNで新しい層のノードの埋め込みを取得して、次のLLMの選択に使うっていう流れや。
**6.1.4 議論:結局どれがええの?**
検索プロセスにおいて、ノンパラメトリック(パラメータを学習せん)検索器は検索効率がええんやけど、下流タスクでの学習してへんから、検索精度がイマイチになることがあるねん。一方で、LMベースとかGNNベースの検索器は精度は高いけど、計算コストがめっちゃかかるんよ。
この相補性(お互いの弱点を補い合える関係)を考えて、多くの手法がハイブリッド検索アプローチを提案してるわけや。検索の効率と精度の両方を改善するためにな。いろんなアプローチが多段階検索戦略を採用してて、各段階で異なるモデルを使うねん。
例えば、RoGは最初にLLMを使って計画パスを生成して、その後その計画パスを満たすパスをナレッジグラフから抽出するんや。GenTKGQAはLLMを使って質問から重要な関係性と制約を推論して、その制約に従ってトリプレット(主語-述語-目的語の三つ組)を抽出するで。
---
**6.2 検索パラダイム**
GraphRAGの中では、いろんな検索パラダイム(やり方)があって、それぞれが取得する情報の関連性と深さを改善するのに重要な役割を果たしてるねん。具体的には「一発検索」「反復検索」「多段階検索」があるで。
**一発検索**は、一回の操作で関連情報を全部かき集めようとするやつや。
**反復検索**は、前に取ってきた情報を基にさらに検索を重ねて、徐々に最も関連性の高い結果に絞り込んでいくねん。ここではさらに「適応型反復検索」と「非適応型反復検索」に分けてるんやけど、違いは検索の停止をモデルが決めるかどうかだけやで。
**多段階検索**は、検索を複数のステージに分けて、各ステージで異なるタイプの検索器を使って、より精密で多様な検索結果を得ようとするもんや。
ほな、それぞれ詳しく見ていこか!
---
**6.2.1 一発検索**
一発検索は、一回のクエリで関連情報を全部取ってこようとするやつやねん。
一つのカテゴリのアプローチは、埋め込みの類似度を使って最も関連性の高い情報を取得するで。もう一つのカテゴリは、事前に定義したルールやパターンを設計して、グラフデータベースからトリプレットやパス、サブグラフみたいな特定の構造化情報を直接抽出するんや。
例えばやな、G-Retrieverは拡張PCSTアルゴリズムっていうのを使って、最も関連性の高いサブグラフを取得するねん。KagNetはトピックエンティティ(話題に関係するモノ)のペア間で、長さがk以下のパスを全部抽出するで。Yasunagaらの手法とTaunkらの手法は、全てのトピックエンティティとその2ホップ隣接ノード(2回たどって到達できる範囲のノード)を含むサブグラフを抽出するんや。
あと、このセクションには複数回検索するけど、それぞれが独立してて並列計算できるから実質一回で済むようなメソッドも含めてるで。例えば、Luoらの手法とChengらの手法は、最初にLLMに複数の推論パスを生成させて、それからBFS検索器(幅優先探索)を使ってナレッジグラフの中から各パスにマッチするサブグラフを順番に探すねん。KG-GPTは元の質問を複数のサブクエリに分解して、一回の検索プロセスで各サブクエリに関連する情報を取得するんや。
---
**6.2.2 反復検索**
反復検索では、複数の検索ステップを使って、後の検索が前の検索結果に依存するようになってるねん。これらの手法は、連続した反復を通じて取得情報の理解や完全性を深めることを目指してるんや。
---
## Page 13
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p013.png)
### 和訳
グラフを使った検索で生成を強化する技術(GraphRAG)のサーベイ
111:13
このサーベイではな、繰り返し検索をさらに2つに分けてるねん。(1)非適応型と(2)適応型や。この2種類の方法について詳しく説明していくで。
**(1)非適応型の検索**
非適応型の方法はな、決まった順番で検索していって、「何回やったら終わり」とか「このくらいの値になったら終わり」みたいに最初から終了条件が決まってるねん。例えばPullNet [151]っていう手法は、𝑇回繰り返して問題に関係するサブグラフ(グラフの一部分やな)を取ってくるねん。毎回の繰り返しで、取ってきたエンティティ(ものとか概念のことやで)から一部を選ぶルールがあって、選んだやつに関係するエッジ(つながりのことな)を知識グラフから探して広げていくわけや。KGP [172]っていう手法は、毎回まずグラフの中のノードと文脈の似てる度合いを見て、種になるノードを選ぶねん。ほんでLLM(大規模言語モデルのことやで)を使って、その種ノードの周りにあるノードの文脈を要約して更新して、次の繰り返しで使うんや。
**(2)適応型の検索**
適応型の検索のめっちゃ特徴的なとこはな、モデルが自分で「もう検索終わりでええわ」っていうベストなタイミングを決めるところやねん。例えば [50, 182] は言語モデルを使って「あと何ホップ(何段階先まで)探索するか」を予測して、それを終了の目安にしてるねん。あと、モデルが生成した特別なトークンとかテキストを「検索終わりの合図」として使う研究者もおるで。例えばToG [113, 154]っていう手法は、LLMエージェントに複数の推論経路を探索させて、「この推論経路で質問に答えられるわ」ってLLMが判断したら終わりにするねん。[196]はRoBERTaっていうモデルを訓練して、各トピックエンティティから経路を拡張していくんやけど、そのプロセスで「[END]」っていう仮想的な関係を導入して、検索を終了させるようにしてるねん。
もう一つよくあるアプローチは、大規模モデルをエージェント(自律的に動くやつやな)として扱って、質問への回答を直接生成させることで繰り返しの終了を知らせる方法やねん。例えば [67, 69, 75, 155, 170] はLLMベースのエージェントを提案してて、こいつらがグラフ上で推論するねん。このエージェントたちは、検索に必要な情報を自分で決めて、あらかじめ定義された検索ツールを呼び出して、取ってきた情報を見て検索プロセスを終わらせることができるんや。
**6.2.3 マルチステージ検索**
マルチステージ検索っていうのは、検索プロセスを一直線に複数のステージに分けるやり方やねん。ステージとステージの間に、検索の強化とか、生成プロセスとかの追加ステップが入ることもあるで。マルチステージ検索では、各ステージで違う種類のリトリーバー(検索器のことな)を使えるから、クエリの色んな側面に合わせた検索テクニックを組み込めるんや。例えばWangら [171] はまず非パラメトリックなリトリーバー(学習パラメータを使わんやつ)を使って、クエリの推論チェーンにあるエンティティの𝑛ホップパス(𝑛段階先までの経路)を取り出すねん。ほんで枝刈りステージの後、刈り込んだサブグラフの中のエンティティの1ホップ隣接ノード(1段階隣のやつ)をさらに検索するんや。OpenCSR [53]は検索プロセスを2段階に分けてるねん。最初の段階でトピックエンティティの1ホップ隣接ノードを全部取ってきて、2段階目でこれらの隣接ノードと他のノードの類似度を比較して、一番似てる上位𝑘個のノードを検索用に選ぶんや。GNN-RAG [119]はまずGNN(グラフニューラルネットワークのことやで)を使って、回答になりそうな上位𝑘個のノードを検索するねん。その後、クエリエンティティと回答エンティティの間の最短経路を全部ペアワイズ(ペアごと)で検索するんや。
**6.2.4 議論**
GraphRAGではな、1回だけの検索は複雑さが低くて応答時間も短いから、リアルタイムで反応せなあかんシナリオに向いてるねん。一方で繰り返し検索は時間的な複雑さが高くなりがちで、特にLLMをリトリーバーとして使う時は処理時間が長くなる可能性があるんや。でもな、繰り返し情報を洗練させて応答を生成することで、より高い検索精度が得られることもあるねん。やから、どの検索パラダイムを選ぶかは、具体的な使用ケースと要件に基づいて、精度と時間的複雑さのバランスを取らなあかんわけや。
**6.3 検索の粒度**
タスクのシナリオやインデックスの種類によって、研究者たちは異なる検索粒度(つまりグラフデータから取ってくる関連知識の形式やな)を設計してるねん。これは以下のように分けられるで
J. ACM, Vol. 37, No. 4, Article 111. 発行日: 2024年9月.
---
## Page 14
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p014.png)
### 和訳
ほな、グラフRAGの話の続きやけど、データの取り出し方には「ノード」「トリプレット」「パス」「サブグラフ」っていう4つの粒度があるねん。それぞれ得意なことが違うから、使う場面によって使い分けるのがええんやで。詳しく説明していくわな。
**6.3.1 ノード**
ノードってのは、グラフの中の個別の要素をピンポイントで取ってくる方法やねん。「この情報だけ欲しい!」っていう狙い撃ちの検索にめっちゃ向いてるわ。ナレッジグラフの場合、ノードってのは基本的に「エンティティ」、つまり人とか場所とか物事のことやな。他のテキスト属性グラフやと、ノードの特徴を説明するテキスト情報が入ってたりするねん。グラフの中からノードを取り出すことで、GraphRAGシステムはそのノードの属性とか関係性とか、周りの文脈情報なんかを詳しく教えてくれるわけや。例えば、Munikotiらとか、Liらとか、Wangらは文書グラフを作って、関連する文章ノードを取り出してるし、Liuらとか、Sunらとか、Gutiérrezらは作ったナレッジグラフからエンティティを取り出してるねん。
**6.3.2 トリプレット**
トリプレットってのは、「主語-述語-目的語」の形でエンティティとその関係をセットにしたもんやねん。グラフの中の関係データを整理された形で表現できるのがポイントや。この構造化されたフォーマットのおかげで、データをスッキリ整理して取り出せるから、エンティティ間の関係性とか文脈的なつながりを理解することがめっちゃ大事な場面で威力を発揮するねん。Yangらはトピックエンティティを含むトリプレットを関連情報として取り出してるし、Huangらとか、Liらとかは、まずグラフデータの各トリプレットをあらかじめ用意したテンプレート使ってテキストの文章に変換して、それからテキスト検索器で関連トリプレットを抽出してるねん。ただな、グラフデータから直接トリプレットを取り出すだけやと、文脈の幅や深さが足りへんことがあって、間接的な関係とか推論の連鎖をうまく捉えられへんこともあるねん。この問題を解決するために、Wangらは元の質問に基づいて論理チェーンを生成して、その各論理チェーンに関連するトリプレットを取り出す方法を提案してるわ。
**6.3.3 パス**
パス粒度のデータ取得ってのは、エンティティ間の関係の連なりを捉えることやねん。これで文脈の理解力と推論能力がグッと上がるわけや。GraphRAGでパスを取り出すのは、グラフの中の複雑な関係性と文脈的なつながりを捉えられるから、めっちゃ有利やねん。
でもな、パスの取得には難しいところもあるねん。なんでかっていうと、グラフのサイズが大きくなると、可能なパスの数が指数関数的に爆増して、計算がめちゃくちゃ重くなるからや。この問題に対処するために、あらかじめ決めたルールに基づいて関連パスを取り出す方法があるねん。例えば、WangらとかLo and Limは、まずクエリの中のエンティティペアを選んで、それからn-ホップ以内でその間のすべてのパスを辿って見つけるんや。HyKGEは最初に3種類のパスを定義してる:普通のパス、共通祖先チェーン、共起チェーンの3つやな。ほんでそれぞれに対応するルールを使って取り出すねん。あと、モデルを使ってグラフ上でパス探索する方法もあるで。ToGはLLMエージェントにナレッジグラフ上でビームサーチさせて、質問の答えに役立つ複数の推論パスを見つける方法を提案してる。Luoらとか、Wuらとか、Guoらは、まずモデルを使って信頼できる推論プランを生成して、それからそのプランに基づいて関連パスを取り出すねん。GNN-RAGはまず質問の中のエンティティを特定して、それから特定の長さ関係を満たすエンティティ間のすべてのパスを抽出するわ。
**6.3.4 サブグラフ**
サブグラフを取り出すのは、グラフの中の包括的な関係の文脈を捉えられるから、ほんまに大きなメリットがあるねん。この粒度やと、GraphRAGは大きな構造の中に埋め込まれた複雑なパターンとか、連なりとか、依存関係を抽出して分析できるから、より深い洞察と、意味的なつながりのより繊細な理解ができるようになるわけや。
情報の完全性と検索効率の両方を確保するために、まずルールベースで候補サブグラフを取り出して、その後でさらに絞り込んだり処理したりする方法もあるねん。Peng and Yangは、自分らで構築した特許フレーズグラフから特許フレーズのエゴグラフ(自分中心のグラフ)を取り出してる。Yasunagaらとか、Fengらとか、Taunkらも同様のアプローチを取ってるで。
---
## Page 15
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p015.png)
### 和訳
Graph Retrieval-Augmented Generation: A Survey
111:15
[158]の研究ではな、まずトピックエンティティ(話題の中心になるやつ)とその2ホップ先の隣接ノードをまとめてノードセットにするねん。ほんでそのノードセットの中に頭と尻尾のエンティティが両方含まれてるエッジを選んで、サブグラフを作るっていう流れやな。それ以外にも、埋め込みベースのサブグラフ取得方法もあんねん。例えばHuらの研究[58]では、まずグラフデータベースから全部の𝑘ホップのエゴネットワーク(自分中心のご近所ネットワークみたいなもんや)をエンコードして、そっから埋め込み同士の類似度を見てクエリに関係するサブグラフを取ってくるねん。Wenら[175]とLiら[89]は、事前に決めたルールに基づいて、パス証拠サブグラフと隣接証拠サブグラフっていう2種類のグラフを抽出するんや。OpenCSR[53]は最初にいくつかのシードノードからスタートして、徐々に新しいノードに広げていって、最終的にサブグラフを形成するって方法やな。
上で言うた直接的なサブグラフ取得以外にも、まず関連するパスを取ってきて、そっから関連するサブグラフを構築するっていうアプローチを提案してる研究もあんねん。例えばZhangら[196]は、RoBERTaモデルを訓練して、順次的な意思決定プロセスを通じて複数の推論パスを特定して、そのあと異なるパスから同じエンティティをマージして最終的なサブグラフを導き出すんや。
6.3.5 ハイブリッド粒度。上で述べた各取得粒度のええとことあかんとこを考慮してな、ハイブリッド粒度を使うことを提案してる研究者もおるねん。つまり、グラフデータから複数の粒度の関連情報を取得するってことや。このタイプの粒度はな、詳細な関係性とより広い文脈的理解の両方を捉えるシステムの能力を高めて、ノイズを減らしながら取得データの関連性を向上させるんや。Jinら[75]、Jiangら[67]、Jiangら[69]、Wangら[170]、Sunら[155]なんかの先行研究では、LLMエージェントを使って複雑なハイブリッド情報を取得することを提案してて、ノード、トリプレット、パス、サブグラフを適応的に選択するLLMベースのエージェントの採用を提案してるんや。
6.3.6 議論。(1) 実際のアプリケーションではな、これらの取得粒度の間に明確な境界線なんてないねん。なんでかっていうと、サブグラフは複数のパスで構成できるし、パスはいくつかのトリプレットで形成できるからや。(2) ノード、トリプレット、パス、サブグラフみたいな様々な粒度は、GraphRAGのプロセスでそれぞれ異なるメリットがあんねん。粒度を選ぶときは、タスクの具体的な文脈に応じて、取得内容と効率のバランスを取ることがめっちゃ重要なんや。単純なクエリやったり効率が最優先の場合は、エンティティやトリプレットみたいな細かい粒度が好まれることが多いねん。取得速度と関連性を最適化できるからな。逆に、複雑なシナリオでは複数の粒度を組み合わせたハイブリッドアプローチが有効なことが多いんや。このアプローチやと、グラフ構造と関係性のより包括的な理解が確保できて、生成される応答の深さと正確さが向上するっちゅうわけや。そういうわけで、GraphRAGの粒度選択の柔軟性によって、様々なドメインの多様な情報検索ニーズに効果的に適応できるようになってんねん。
6.4 取得の強化
高い取得品質を確保するために、研究者たちはユーザークエリと取得される知識の両方を強化する技術を提案してんねん。この論文では、クエリ強化をクエリ拡張とクエリ分解に分類して、知識強化をマージとプルーニングに分類してるで。これらの戦略を合わせて取得プロセスを最適化するんや。クエリリライティング[114, 117, 132, 137]みたいな他の技術はRAGではよく使われるんやけど、GraphRAGではあんまり適用されてへんねん。GraphRAGに適応できる可能性はあるんやけど、この論文ではそこまで深掘りせんでおくわ。
6.4.1 クエリ強化。クエリに適用される戦略は、普通は情報を豊かにしてより良い取得を実現するための前処理技術を含むんや。これにはクエリ拡張とクエリ分解が含まれるで。
(1) クエリ拡張。クエリは一般的に短くて情報量が限られてるから、クエリ拡張は追加の関連用語や概念で元のクエリを補足・洗練することで検索結果を改善することを目指してんねん。Luoら[112]は基盤となる関係パスを生成して...
J. ACM, Vol. 37, No. 4, Article 111. Publication date: September 2024.
---
## Page 16
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p016.png)
### 和訳
ほな翻訳いくで〜!
---
Pengさんらの研究やねんけど、KG(ナレッジグラフ、要は知識のつながりを表したデータベースみたいなもんや)とLLM(大規模言語モデル、ChatGPTとかそういうやつな)を組み合わせて、検索クエリをパワーアップさせる話やねん。
Chengさんらはな、SPARQLっていうデータベース問い合わせ言語を使って、Wikidataから検索したい単語の別名(エイリアス)を全部引っ張ってきて、検索クエリを強化してんねん。同じ意味やけど言い方が違う表現もちゃんと拾えるようにするためやな。
Huangさんらは「コンセンサスビュー知識検索法」っていう方法を提案してんねん。まず意味的に関係ありそうなクエリを見つけ出して、それから元のクエリの単語に重み付けし直して検索精度を上げるっちゅうやり方や。
HyKGEっていう手法はな、大規模モデルに「こんな答えちゃう?」っていう仮説的な出力を生成させて、その仮説出力と元のクエリをくっつけて検索システムに投げ込むねん。
Golden-Retrieverはな、まずクエリの中の専門用語を見つけ出して、その専門用語の説明を検索してきてクエリの補足情報として追加するっちゅう仕組みや。
**(2) クエリ分解**
クエリ分解っていうテクニックはな、元々のユーザーのクエリをもっと小さくて具体的なサブクエリに分割するねん。それぞれのサブクエリは元のクエリの特定の側面とか要素にフォーカスするから、言語クエリの複雑さとか曖昧さをめっちゃ軽減できるわけや。例えば、[22, 80]の研究ではな、メインの質問をサブ文に分解して、それぞれが別々の関係性を表すようにして、各サブ文に関連するトリプレット(主語-述語-目的語の3つ組データや)を順番に検索していくねん。
### 6.4.2 知識の強化
最初の検索結果を取得した後はな、知識強化戦略を使って検索結果を洗練・改善するフェーズに入るねん。この段階では主に知識のマージ(統合)と知識のプルーニング(枝刈り、いらんもん削除することや)のプロセスがあって、一番関係ある情報を目立たせるようにするねん。最終的な検索結果が網羅的であるだけやなくて、ユーザーが求めてる情報にめっちゃ関連してるようにするのが目的やで。
**(1) 知識のマージ(統合)**
検索された情報をマージするとな、情報の圧縮と集約ができて、複数のソースから関連する詳細をまとめることでより包括的な見方ができるようになるねん。このアプローチは情報の完全性と一貫性を高めるだけやなくて、モデルの入力長の制限に関する問題も軽減できるんや。
KnowledgeNavigatorはな、ノードをマージして、トリプレットの集約を通じて検索されたサブグラフを凝縮することで、推論の効率を上げてんねん。
Subgraph Retrievalではな、各トピックエンティティからトップkのパスを検索して1つのサブグラフを形成した後、異なるサブグラフから同じエンティティをマージして最終的なサブグラフを作るっちゅう方法を提案してるねん。
Wenさんらとliさんらはな、関係性に基づいて検索されたサブグラフをマージして、同じ関係を満たす主語エンティティと目的語エンティティを2つの別々のエンティティ集合にまとめて、最終的に関係パスを形成するやり方や。
**(2) 知識のプルーニング(枝刈り)**
知識のプルーニングっていうのはな、関連性が低いとか冗長な検索情報をフィルタリングして結果を洗練することやねん。これまでのプルーニング手法は大きく2つのカテゴリに分けられるで:(再)ランキングベースのアプローチとLLMベースのアプローチや。
(再)ランキング手法は、カスタマイズされた指標や基準を使って検索された情報を並べ替えたり優先順位付けしたりするもんやねん。
一つ目の方法群は、より強力なモデルを再ランキングに導入するパターンや。例えばLiさんらはな、検索された各トリプレットを質問-選択肢のペアと連結して、事前学習済みのクロスエンコーダー[140]を使ってトリプレットを再ランキングしてんねん。Jiangさんらは、FlagEmbeddingを使ってテキストをエンコードして、埋め込みモデル「bge_reranker_large」が返したトップkの文書を再ランキングしてるで。Liuさんらは事前学習済み言語モデルを訓練して...(文章途中で切れてるな)
もう一つのカテゴリは、クエリと検索された情報の間の類似度を使ってランキングする方法やねん。例えばChengさんらはな、サブグラフとクエリの間の関係性と細粒度の概念の両方の類似度に基づいて候補サブグラフを再ランキングしてるねん。
Taunkさんらはまず2ホップ近傍をクラスタリングして、入力クエリとの類似度スコアが一番低いクラスタを削除するっちゅうやり方や。
Yasunagaさんらは、事前学習済み言語モデルで計算された質問コンテキストとKGエンティティノード間の関連性スコアに従って検索されたサブグラフを枝刈りしてんねん。
Wangさんら、Jiangさんら、Gutiérrezさんら、Luoさんらは、パーソナライズドPageRankアルゴリズムを採用して、検索された候補情報をランク付けしてさらなるフィルタリングをしてるで。Liuさんらは...(これも途中で切れてるな)
---
J. ACM, Vol. 37, No. 4, Article 111. 発行日: 2024年9月
---
## Page 17
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p017.png)
### 和訳
図5. グラフを使った生成の全体像やで。
PLM(事前学習済み言語モデル)を使って、取ってきた情報とクエリ(質問)がどれくらい似てるかスコアつけて、その類似度スコアをもとにパス(経路)を並べ替えるんや。G-G-E [43]はな、まず取ってきたサブグラフをいくつかの小さいサブグラフに分けて、それぞれの小さいサブグラフとクエリの類似度を比べるねん。類似度が低いやつは捨てて、残った小さいサブグラフをまたデカいサブグラフにくっつけるんや。
ほんで、3つ目のカテゴリとして、並べ替え用の新しい指標を提案してる方法もあるで。例えばMunikotiらは、取ってきたテキストの塊の「影響力」と「新しさ」の両方を測る指標を提案してんねん。KagNet [97]は取ってきたパスを三つ組(トリプレット:主語・述語・目的語みたいなやつ)に分解して、ナレッジグラフ埋め込み(KGE)っていう技術で測った確信度スコアをもとにパスを並べ替えるんや。LLMベースの方法は、複雑な言語パターンや意味のニュアンスをめっちゃうまく捉えられるから、検索結果のランキングとか回答生成の精度がほんまに上がるねん。ノイズ(余計な情報)が入り込むのを防ぐために、Wangら [171]とKimら [80]は、LLMを呼び出して関係ない グラフデータを刈り取る(プルーニングする)方法を提案してるで。
## 7 グラフで強化された生成
生成段階はGraphRAGのもう一つのめっちゃ大事なステップやねん。取ってきたグラフデータとクエリを統合して、回答の質を上げることが目的なんや。この段階では、下流タスク(最終的にやりたいこと)に合わせて適切な生成モデルを選ばなあかん。取ってきたグラフデータは、生成器が扱えるフォーマットに変換されるんや。生成器はクエリと変換されたグラフデータの両方を入力として受け取って、最終的な回答を出すんやで。こういう基本的な処理に加えて、生成強化テクニックを使えば、クエリとグラフデータの相互作用を強めたり、コンテンツ生成そのものを充実させたりして、出力をさらに良くできるねん。このセクションの構成とグラフ強化生成の全体像は図5に示してあるで。
### 7.1 生成器
生成器の選び方は、だいたい下流タスクの種類によって決まるんや。識別タスク(例えば選択式の質問応答とか)や、識別タスクとして定式化できる生成タスク(例えばKBQA:ナレッジベース質問応答)の場合は、GNNとか識別型言語モデルを使ってデータの表現を学習できるで。この表現を各選択肢に対応するロジット(スコアみたいなもん)にマッピングして回答を出すんや。あるいは、生成型言語モデルを使って直接答えを生成することもできるで。でもな、生成タスクの場合は、GNNと識別型言語モデルだけじゃ足りひんねん。なんでかっていうと、こういうタスクはテキストを生成せなあかんから、デコーダー(出力を生成する部品)を使う必要があるからや。
#### 7.1.1 GNN
GNNはグラフデータに対するめっちゃ強力な表現能力を持ってるから、識別タスクに特に効果的やねん。GNNはグラフデータを直接エンコード(符号化)できて、グラフ構造に含まれる複雑な関係やノードの特徴をうまく捉えられるんや。このエンコーディングはその後、多層パーセプトロン(MLP:ニューラルネットの一種やな)を通して処理されて、予測結果を生成するで。こういうアプローチは
J. ACM, Vol. 37, No. 4, Article 111. Publication date: September 2024.
[図の説明]
- 生成前の強化
- 生成中の強化
- 生成後の強化
- 検索結果
- §7.1 生成器
- §7.2 グラフフォーマット
- グラフ言語
- グラフ埋め込み
- GNN
- 言語モデル
- ハイブリッドモデル
- 回答
- §7.3 生成強化
---
## Page 18
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p018.png)
### 和訳
ほな、翻訳していくで〜!
---
Pengらのチームの話やけどな。
基本的には昔からあるGNNモデルを使ってんねん。GCNとかGATとかGraphSAGEとかGraph Transformersとかな。そのまま使うこともあれば、やりたいタスクに合わせてちょっとイジることもあるわけや。
例えばHamQAっていう研究ではな、「双曲GNN」っていうちょっと特殊なやつを設計してんねん。これ何がええかっていうと、質問とグラフの間にある階層的な関係性、つまり「親子関係」みたいな構造をうまく学習できんねんな。あと、Sunらはページランクスコアっていうのを近くのノードに対して計算して、メッセージパッシング(ノード間で情報をやり取りする処理のことやで)のときにそのスコアで重み付けして情報を集約してんねん。こうすることで、中心のノードが「ほんまに関係ある隣のノード」からの情報をうまく取り込めるようになるわけや。
MavromatisfとKarypisはもっとオモロいことしてんねん。クエリ(質問)をいくつかのベクトル(命令みたいなもんや)に分解して、BFS(幅優先探索)っていうグラフ探索のやり方をGNNで真似することで、命令の実行をうまくやれるようにしてんねん。さらに適応的推論っていうのを使って、KG(知識グラフ)から得た情報で命令をアップデートしていくんやで。
**7.1.2 言語モデル(LM)について**
LMってのはテキストを理解する能力がめっちゃ強いねん。で、その力があるからこそ「生成器」としても使えるわけや。LMとグラフデータを組み合わせる場合、まず取ってきたグラフデータを特定のフォーマットに変換せなあかんねん。この変換プロセスがあることで、構造化された情報をLMがちゃんと理解して使えるようになるんやな。このフォーマットについては7.2節で詳しく説明するけど、グラフデータの関係性とか階層構造をちゃんと保つためにめっちゃ重要やねん。複雑なデータをモデルがうまく解釈できるようになるからな。グラフデータをフォーマットしたら、それを質問と組み合わせてLMに食わせるわけや。
エンコーダーオンリーのモデル、例えばBERTとかRoBERTaとかは、主に判別タスク(これかあれかを判定する系のやつな)に使われんねん。GNNと同じように、まず入力テキストをエンコードして、それからMLP(多層パーセプトロンっていう神経回路みたいなやつ)を使って答えの空間にマッピングするんや。
一方でエンコーダー・デコーダー型とかデコーダーオンリーのモデル、T5とかGPT-4とかLLaMAとかな、こいつらは判別タスクも生成タスクも両方いけるんやで。テキストの理解、生成、推論が得意やから、テキスト入力を直接処理してテキストで返事を返せるわけや。
**7.1.3 ハイブリッドモデル**
GNNはグラフデータの構造を表現するのが得意、LMはテキストをしっかり理解するのが得意。この2つの強みを組み合わせて、ええ感じの回答を生成しようっていう研究がいっぱい出てきてんねん。この論文ではハイブリッド生成アプローチを2種類に分けてるで。「カスケード型」と「並列型」や。
**(1) カスケード型パラダイム**
カスケード型ってのはな、順番に処理していく方式やねん。一つのモデルの出力が次のモデルの入力になるっていう流れや。具体的には、まずGNNがグラフデータを処理して、構造とか関係性の情報をLMが理解できる形にまとめんねん。ほんで、その変換されたデータをLMに渡して、最終的なテキスト回答を生成するわけや。この方法やと、各モデルの強みをステップごとに活かせるから、構造データもテキストデータも両方しっかり見れるんやな。
この方式でよく使われるのが「プロンプトチューニング」っていうアプローチやねん。GNNで取ってきたグラフデータをエンコードして、そのエンコードされたグラフデータをLMの入力テキスト埋め込みの前にくっつけるんや(プレフィックスとして)。ほんで下流タスクを通じてGNNを最適化して、グラフデータのより良いエンコーディングを作れるようにしていくわけやな。
**(2) 並列型パラダイム**
並列型はちゃうで。GNNとLLMの両方を同時に動かすんや。両方のモデルに最初の入力を同時に渡して、同じデータの違う側面を並行して処理するねん。ほんで出力を別のモデルとかルールセットで統合して、グラフ構造からの知見とテキスト内容からの知見を両方含んだ統一的な回答を作るわけや。
並列型でよくあるアプローチは、GNNとLMでそれぞれ別々に入力をエンコードして、その2つの表現を統合するか、出力の回答を直接統合するかやな。例えばJiangらは、GNNとLMからの予測を重み付き合計で集約して最終回答を得てんねん。LinらとPahujaらは...(続きは次のページや)
---
J. ACM, Vol. 37, No. 4, Article 111. 発行日: 2024年9月
---
## Page 19
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p019.png)
### 和訳
**図6. グラフ言語のイラストやで。** 左側に取ってきたサブグラフがあるやろ?これをいろんなジェネレーター(生成器)の入力形式に合わせるために、隣接/エッジテーブル、自然言語、ノード列、コードっぽい形式、構文木とかに変換する方法を見せとるんや。
GNNから出てきたグラフの表現と、言語モデル(LM)から出てきたテキストの表現を、アテンション機構っていう仕組みを使ってうまいこと組み合わせるんやな。Yasunagaら[189]、Munikotiら[124]、Taunkら[158]は、グラフ表現とテキスト表現をそのままガッチャンコして繋げとるわけや。
もう一個のやり方としては、GNNとLMを統合する専用モジュールを設計するっていうのがあんねん。こうすると、できあがった表現に構造的な情報とテキスト情報の両方が入るようになるんや。例えばやな、Zhangら[199]は「GreaseLMレイヤー」っていうモジュールを提案しとって、これはGNNとLMの両方のレイヤーを持っとるんや。各レイヤーで、テキスト表現とグラフ表現を2層のMLP(多層パーセプトロン)で統合してから次のレイヤーに渡すっていう仕組みやねん。同じような感じで、ENGINE[204]は「G-Ladders」っていうのを提案しとって、これはLMとGNNをサイド構造で組み合わせて、下流タスク向けのノード表現を強化するんや。
**議論。** GNNのグラフデータ表現能力と、LMのテキストデータ表現能力の両方を活かしたハイブリッドモデルは、めっちゃ将来性あるんやで。せやけど、この2つのモダリティ(異なる種類のデータ)からの情報を効果的に統合するっていうのは、まだまだ大きな課題として残っとるんや。
### 7.2 グラフフォーマット
GNNをジェネレーターとして使うときは、グラフデータをそのままエンコードできるんや。でもな、LMをジェネレーターとして使うときは、グラフデータが非ユークリッド的な性質を持っとるから、テキストデータとそのまま組み合わせてLMに入力するのは難しいんやな。なんでかっていうと、グラフって普通の座標空間みたいに整理されてへんからやねん。
この問題を解決するために、「グラフトランスレーター」っていうのを使って、グラフデータをLMが扱える形式に変換するんや。この変換によって、LMが構造化されたグラフ情報を効果的に処理・活用できるようになって、生成能力がパワーアップするわけやな。
このサーベイでは、2つの異なるグラフフォーマットをまとめとる:**グラフ言語**と**グラフ埋め込み**や。図6に例を示しとるから、詳しい説明は以下を見てな。
#### 7.2.1 グラフ言語
グラフ記述言語っていうのは、グラフデータを特徴づけて表現するために特別に作られた、形式化された記法のシステムのことやねん。グラフの構成要素とその繋がりを記述するための、統一された構文と意味的な枠組みを定めとるんや。
この言語を使うとな、ユーザーは機械が理解できる形式で、一貫してグラフデータを生成したり、操作したり、解釈したりできるようになるんや。グラフの構造を定義したり、ノードやエッジの属性を指定したり、操作やクエリを実装したりできるっていうわけやな。
---
## Page 20
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p020.png)
### 和訳
Pengさんらの研究やねんけど、グラフ構造についての話やで。ほんで、5種類のグラフ言語について順番に説明していくわな。隣接テーブル・エッジテーブル、自然言語、コード、構文木、ノード列の5つやで。
**(1) 隣接テーブル / エッジテーブル**
隣接テーブルとエッジテーブルっていうんは、グラフ構造を表現するんにめっちゃよう使われる方法やねん[38, 49, 94, 165]。隣接テーブルはな、各頂点のすぐ隣にあるノードを全部リストアップするやり方で、スカスカなグラフ(疎グラフっていうねん)をコンパクトに表現できるんや。例えばな、KG-GPT [80]では取得したサブグラフの中のトリプル(3つ組のデータのことやで)を一列に並べて、それを全部つなげてからLLM(大規模言語モデルのことな)に食わせてるんや。一方でエッジテーブルの方は、グラフの中の全部のエッジ(つながり)を詳しく記述する方法で、グラフを一列に処理したり分析したりするんにめっちゃ便利やねん。どっちの方法も簡潔で、わかりやすくて、直感的やで。
**(2) 自然言語**
ユーザーの質問って普通は自然言語で来るやん?ほんで言語モデルは自然言語を理解する能力がめっちゃ優れてるから、取得したグラフデータを自然言語で説明するっていうアプローチが魅力的になってくるわけや。グラフデータをわかりやすい言葉に翻訳することで、言語モデルが生のデータ表現とユーザーフレンドリーな情報の橋渡しをしてくれて、データ駆動型アプリとのやり取りがもっと効果的になるってわけやな。例えばな、一部の研究者[63, 90]はエッジの種類ごとに自然言語のテンプレートをあらかじめ定義しといて、各エッジの両端のノードをその種類に応じたテンプレートに埋め込むっていう方法を提案してるで。Yeさんら[190]は、中心ノードから1ホップと2ホップ離れた隣接ノードの情報を自然言語で説明してる。Edgeさんら[32]はLLMを使って、検出されたグラフコミュニティ(グラフの中で密につながってるグループのことやな)ごとにレポートみたいな要約を生成してるんや。Wuさんら[182]とGuoさんら[50]は言語モデルを使って取得したサブグラフのエッジテーブルを書き直して、自然言語の説明文を生成してる。Fatemiさんら[38]はノードの表現方法(整数エンコーディング、アルファベット、名前とか)とエッジの表現方法(括弧、矢印、接続とか)のいろんなパターンを検討してるで。Jinさんら[75]、Jiangさんら[67]、Jiangさんら[69]、Wangさんら[170]、Sunさんら[155]は、グラフ内の異なる粒度の情報を対話形式の自然言語としてプロンプトに組み込んでるんや。
**(3) コードっぽい形式**
なんでかっていうと、自然言語の説明とか他の1次元の列って、グラフデータの2次元構造を直接表現するには本質的に不十分やねん。ほんで言語モデルはコードを理解する能力がめっちゃ高いから、多くの研究者[49]がコードっぽいフォーマットを使ってグラフ構造を表現することを探求してるんや。例えばGuoさんら[49]は、グラフを表現するんにGraph Modeling Language (GML) [56]とGraph Markup Language (GraphML) [141]を使うことを検討してる。これらの標準化された言語はグラフデータ専用に設計されてて、ノード、エッジ、それらの相互関係を包括的に記述できるんやで。
**(4) 構文木**
グラフを単純に平坦化する(一列に並べる)んと比べて、一部の研究[201]ではグラフを構文木みたいな構造に変換することを提案してるんや。構文木っていうんは階層構造を持ってて、トポロジカルグラフ(位相的グラフ)でもあるから、トポロジカル順序(位相的順序)も維持してるねん。この方法やと構造の情報をもっと多く保持できて、グラフが本来持ってる特性の理解と分析が深まるんや。こういう変換をすると、グラフの要素間の関係性のダイナミクスが保存されるだけやなくて、グラフの分析と処理のためのもっと洗練されたアルゴリズムも使いやすくなるってわけやな。GRAPHTEXT [201]では、中心ノードのエゴネットワーク(そのノードを中心とした周辺ネットワークのことやで)をグラフ構文木フォーマットに変換することを提案してる。このフォーマットは構造情報をカプセル化するだけやなくて、ノードの特徴も統合してるんや。この構文木を走査することで、トポロジカル順序と階層構造の両方を維持したノード列を取得できるってわけやで。
**(5) ノード列**
一部の研究[18, 119]では、ノードの列を使ってグラフを表現することを提案してて、この列は事前に定義されたルールを使って生成されることが多いねん。自然言語の説明と比べると、これらのノード列はもっと簡潔で、事前知識、具体的にはグラフの構造的な知識が組み込まれてるんやで。
---
## Page 21
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p021.png)
### 和訳
# グラフ検索強化生成:サーベイ
111:21
ルールで強調された情報をうまく取り込めるようになるねん。Luoらとかの研究者たちは、検索してきたパス(経路)をノードの順番に変換して、それをLLM(大規模言語モデル)に入れることでタスクの性能をアップさせてるんやで。LLaGAっていう手法は、グラフをノードの順番に変換する2つのテンプレートを提案してんねん。1つ目は「近傍詳細テンプレート」って呼ばれてて、中心のノードとそのすぐ周りをじっくり細かく見ていくやつ。2つ目は「ホップフィールド概要テンプレート」で、これはノードの周辺をざっくりまとめた視点で見れて、もっと広い範囲にも拡張できるようになってるんや。GNN-RAGは、検索してきた推論パスをノードの順番にしてプロンプトとして言語モデルに入れる方法やねん。
**議論**。ええグラフ言語っていうのは、完全で、簡潔で、わかりやすくないとあかんねん。完全性っていうのは、グラフ構造の中にある大事な情報を全部ちゃんと捉えて、重要な詳細を漏らさへんことや。簡潔性っていうのは、テキストの説明を短くせなあかんっていうことで、なんでかっていうと「真ん中で迷子」現象を避けたり、言語モデルの長さ制限を超えへんようにするためやねん。長すぎる入力は言語モデルの処理能力を邪魔して、文脈がわからんくなったりデータの解釈が途中で切れたりする可能性があるんや。理解しやすさっていうのは、使う言語がLLMにとってわかりやすくて、グラフの構造を正確に表現できるようにすることやね。グラフ言語にはそれぞれ特徴があるから、どれを選ぶかで下流タスクの性能がめっちゃ変わってくるんやで。
**7.2.2 グラフ埋め込み**。上で説明したグラフ言語の方法やと、グラフデータをテキストの列に変換するから、文脈がめっちゃ長くなりがちで、計算コストが高くついたり、LLMの処理限界を超えてまう可能性があるんや。それに、今のところLLMはグラフ言語を使ってもグラフ構造を完全には理解でけへんねん。せやから、GNN(グラフニューラルネットワーク)を使ってグラフを埋め込み(ベクトル表現)にするのは有望な代替案やねん。ここでの核心的な課題は、グラフの埋め込みとテキスト表現を統一された意味空間に統合することや。今の研究では、さっき説明したプロンプトチューニングの方法を使うことに注目してるんや。あと、FiD(Fusion-in-Decoder)を採用する方法もあって、これはまずグラフデータをテキストに変換して、それから言語モデルベースのエンコーダーでエンコードして、デコーダーに入れるっていうやり方やねん。ちなみに、グラフ表現を言語モデルに入れるのは、オープンソースの言語モデルでは可能やけど、GPT-4みたいなクローズドソースのモデルではでけへんねんな。グラフ埋め込み方法は長いテキスト入力を扱わんで済むんやけど、別の課題があって、例えば特定のエンティティ名みたいな正確な情報を保持するのが難しかったり、汎化性能が低かったりするんや。
**7.3 生成の強化**
生成フェーズでは、検索したグラフデータを生成器が受け入れられる形式に変換してクエリと一緒に入力して最終的な応答を生成するだけやなくて、多くの研究者が出力応答の品質を上げるためにいろんな生成強化テクニックを探求してるんやで。これらの方法は、適用する段階によって3つのカテゴリに分けられるねん:生成前強化、生成中強化、生成後強化や。
**7.3.1 生成前強化**。生成前強化テクニックは、生成器に入れる前に入力データや表現の品質を上げることに焦点を当ててるんや。実際のところ、生成前強化と検索の間には明確な境界線はないねん。このサーベイでは、検索段階を「元のグラフから知識を取り出して、取り出した知識をマージしたり刈り込んだりするプロセス」として分類してるんや。その後の操作を生成前強化と見なしてるわけやな。
よく使われる生成前強化のアプローチは、主に検索したグラフデータを意味的に豊かにして、グラフデータとテキストクエリをもっとしっかり統合することを含んでるねん。Wuらの研究では、LLMを使って検索したグラフデータを書き換えて、変換された自然言語出力の自然さと意味的な豊かさを高めてるんや。この方法によって、
J. ACM, Vol. 37, No. 4, Article 111. Publication date: September 2024.
---
## Page 22
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p022.png)
### 和訳
Pengさんらの研究やけどな、グラフデータをもっとスムーズで自然な言葉に変換するだけやなくて、意味の中身もぐっと豊かにしてんねん。逆にDALK [89]は、取ってきたグラフデータを使ってクエリ(質問文)を書き換えるっていうアプローチやな。Chengさんらは [20]、まずLLM(大規模言語モデル)に推論の計画を立てさせて、その計画通りに質問に答えさせるっていう方法を取ってんねん。Taunkさんら [158] とYasunagaさんら [189] は、GNN(グラフニューラルネットワーク)をパワーアップさせることを狙ってて、質問に関係あるグラフの表現を学習できるようにしてんねん。具体的には、QAペア(質問と回答のセット)から名詞を全部抜き出して、それをノード(点)として取得したサブグラフにぶち込むっていうやり方やねん。Mavromatisさんと Karypis [118] が提案してる方法はな、生成する前に、クエリの表現を「インストラクション」って呼ばれる複数のベクトルに分解すんねん。それぞれがクエリの違う特徴を表してて、取得したサブグラフをGNNで学習するときのメッセージパッシング(情報のやり取り)で条件として使うわけや。あと、グラフデータ以外の追加情報も取り入れる方法もあってな。例えばPullNet [151] はエンティティ(実体)に関連する文書を取り込むし、MVP-Tuning [63] は関連する他の質問を引っ張ってくんねん。
**7.3.2 生成中の強化。** 生成中の強化っていうのは、生成プロセスの最中に適用される技術のことやねん。こういう手法は普通、途中結果とか文脈のヒントに基づいて生成戦略を調整すんねん。TIARA [148] は制約付きデコーディングっていうのを導入して、出力の範囲をコントロールして生成エラーを減らしてんねん。論理形式を生成するとき、制約付きデコーダーが「今パターン項目を生成してるな」って検知したら、次に生成するトークンをKB(知識ベース)のクラスと関係が入ってるトライ木の中にあるものだけに制限すんねん。ビームサーチと比べてどうかっていうと、このアプローチやと生成されるパターン項目が知識グラフに確実に存在することが保証されるから、生成エラーが減るっちゅうわけや。他にもLLMのプロンプトを調整して多段階推論を実現する方法があってな。例えばMindMap [175] は答えを出すだけやなくて、推論のプロセスも一緒に生成すんねん。
**7.3.3 生成後の強化。** 生成後の強化は、最初の応答が生成された後に行われるやつやな。生成後の強化手法は主に、複数の生成された応答を統合して最終的な応答を得ることに焦点を当ててんねん。同じ生成器から異なる条件や入力で出てきた出力を統合する方法があるんや。例えばEdgeさんら [32] はグラフのコミュニティごとに要約を生成して、その要約に基づいてクエリへの応答を生成し、LLMを使ってそれらの応答にスコアをつけんねん。最終的に、応答をスコアの高い順に並べて、トークンの上限に達するまで順番にプロンプトに組み込んでいくねん。ほんで、LLMが最終応答を生成するっていう流れや。Wangさんら [164] と Kimさんら [80] はまずクエリをいくつかのサブ質問に分解して、それぞれのサブ質問への回答を生成し、最後に全サブ質問の回答をマージして最終回答を得るっていう方法やねん。あるいは、別のモデルで生成された応答を組み合わせたり選択したりする方法もあるで。Linさんら [97] と Jiangさんら [68] はGNNとLLM両方の出力を組み合わせて相乗効果を狙ってんねん。UniOQA [95] は回答生成に2つの方法を探求してて、一つはCypher Query Language(CQL)でクエリを生成して実行し結果を得る方法、もう一つは取得したトリプレット(三つ組)に基づいて直接回答を生成する方法やねん。最終回答は動的選択メカニズムで決めるんや。EmbedKGQA [145] では、学習したスコアリング関数に加えて、研究者らはグラフ構造に基づくルールベースのスコアも別途設計してんねん。この2つのスコアを組み合わせて回答エンティティを見つけ出すわけや。Liさんら [94] は取得したグラフデータに基づく回答と、LLM自身の知識に基づいて生成した応答を組み合わせてんねん。複数の応答を統合する以外にも、KALMV [7] は生成された回答が正しいかどうかを判定する検証器を訓練してて、もし間違ってたら、そのエラーが生成のせいなのか検索のせいなのかをさらに判断できるようにしてんねん。
---
## Page 23
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p023.png)
### 和訳
# グラフ検索拡張生成(Graph RAG):サーベイ
## 8章 トレーニングについて
この章ではな、検索器(Retriever)と生成器(Generator)それぞれの個別トレーニングと、両方いっぺんにやる共同トレーニングについてまとめていくで。
過去の研究は大きく**Training-Free(トレーニング不要)**と**Training-Based(トレーニング必要)**の2つに分けられるねん。なんでこう分けるかっていうと、明示的なトレーニングが必要かどうかで全然アプローチが違うからや。
**Training-Free**の方法は、GPT-4みたいなクローズドソース(中身が公開されてない)のLLMを検索器や生成器として使う時によく使われるねん。この方法は基本的に、めっちゃ工夫して作ったプロンプト(AIへの指示文)でLLMの検索能力と生成能力をコントロールするんや。LLMは文章理解と推論がほんまに得意やねんけど、Training-Freeの課題は何かっていうと、下流タスク(実際に解きたい問題)に対する専用の最適化がないから、結果がベストじゃない可能性があるってことやねん。
逆に**Training-Based**の方法は、教師信号(正解データ)を使ってモデルをトレーニングしたりファインチューニング(微調整)したりするんや。こっちのアプローチは、特定のタスクの目的に合わせてモデルを適応させることで性能を上げて、検索や生成するコンテンツの質と関連性を良くできる可能性があるねん。
検索器と生成器の**共同トレーニング**は、両者の連携を強化して下流タスクの性能をブーストすることを目指してるんや。この協力的なアプローチは、両方のコンポーネントの得意なところを活かして、情報検索とコンテンツ生成のアプリケーションでより頑健で効果的な結果を出そうとしてるわけやね。
---
## 8.1 検索器のトレーニング戦略
### 8.1.1 Training-Free(トレーニング不要)
今使われてるTraining-Freeの検索器は主に2タイプあるねん。
**1つ目**は、ノンパラメトリック検索器や。これは特定のモデルじゃなくて、あらかじめ決めたルールとか従来のグラフ探索アルゴリズムに頼る方法やねん。
**2つ目**は、事前学習済みの言語モデル(LM)を検索器として使う方法や。具体的にはな、一部の研究は事前学習済みの埋め込みモデルでクエリ(検索したいこと)をエンコードして、クエリとグラフの要素の類似度に基づいて直接検索するんや。別のグループの研究は、生成型言語モデルをTraining-Freeの検索に使ってるねん。エンティティ(実体)、トリプル(主語-述語-目的語の3つ組)、パス、サブグラフみたいな候補となるグラフ要素をLLMへのプロンプト入力の一部として含めて、LLMが意味的な関連性を使って、与えられたプロンプトに基づいて適切なグラフ要素を選ぶんや。こういう方法は、言語モデルのめっちゃ強力な意味理解能力を活用して、明示的なトレーニングなしで関連するグラフ要素を検索できるってわけやね。
### 8.1.2 Training-Based(トレーニング必要)
検索の粒度がノード(点)やトリプレット(3つ組)の場合、多くの方法は検索の正解と クエリの類似度を最大化するように検索器をトレーニングするねん。例えば**MemNNs**は、距離学習を使って正解とクエリを意味空間で近づけつつ、関係ない事実はクエリから離すようにしてるんや。
逆に、検索の粒度がパス(経路)の場合は、検索器のトレーニングは自己回帰的なアプローチをよく採用するねん。これは何かっていうと、それまでの関係パスをクエリの後ろにくっつけて、そのくっつけた入力に基づいて次の関係を予測するってやり方や。
せやけどな、大半のデータセットには検索コンテンツの正解がないっていうのが大きな課題やねん。この問題に対処するために、多くの方法は**遠隔監視(distant supervision)**に基づいて推論パスを構築して、検索器のトレーニングをガイドしようとしてるんや。例えば、Zhangらとか、Fengらとか、Luoらは、クエリに含まれるエンティティと答えに含まれるエンティティの間の全てのパス(または最短パス)を抽出して、それを検索器のトレーニングデータとして使ってるねん。さらにZhangらは、教師なし設定では関係抽出データセットも遠隔監視に使ってるで。
もう一つのカテゴリーの方法として、**暗黙的な中間監視信号**を使って検索器をトレーニングするやつがあるねん。例えば**NSM**は双方向探索戦略を使ってて、2つの検索器がそれぞれヘッドエンティティ(主語)とテイルエンティティ(目的語)から探索を始めるんや。教師あり学習の目的は、2つの検索器が探索したパスができるだけ近くで合流するようにすることやねん。**KnowGPT**と**MINERVA**は、パスやサブグラフを構築するために隣接ノードを選ぶことをマルコフ過程(次の状態が現在の状態だけで決まる確率過程)として扱ってるで。
---
## Page 24
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p024.png)
### 和訳
彼らの手法では、報酬関数を「取ってきた情報の中にちゃんと答えが含まれてるかどうか」を基準に設計してて、ポリシー勾配みたいな強化学習の手法を使ってRetrieverを最適化していくねん。
でな、「遠隔監視信号とか暗黙的な中間監視信号ってノイズめっちゃ入ってて、ちゃんとしたRetriever学習させるの難しくない?」って主張する手法もあるわけよ。せやから、自己教師あり学習でRetrieverを事前学習させようって考え方が出てきたんやな。SKP [29] はDPR(Dense Passage Retrieval)モデル [78] を事前学習させる方法やねん。まず最初にサブグラフをランダムにサンプリングして、それを文章(パッセージ)に変換するやん。ほんでそのパッセージをランダムにマスクして、マスク言語モデル(MLM)で学習させるねん。さらに対照学習も使うんやけど、マスクしたパッセージと元のパッセージを「似てるペア」として比較して学習させるってわけや。
## 8.2 Generatorの学習
### 8.2.1 学習なしパターン
学習なしのGeneratorってのは、主にクローズドソースのLLM(中身見れへんやつ)とか、「学習コストかけたくないねん」っていう場面で使われるんや。この方法やと、取ってきたグラフデータをクエリと一緒にLLMに渡すだけやねん。ほんでLLMはプロンプトに書かれたタスクの説明に従って回答を生成するんやけど、これってLLMが元々持ってるクエリとグラフデータを理解する能力にめっちゃ頼ってるってことやな。
### 8.2.2 学習ありパターン
Generatorを学習させると、下流タスクから直接教師信号もらえるねん。生成型のLLMやったら、教師ありファインチューニング(SFT)で調整できるで。タスクの説明とクエリとグラフデータを入力して、出力を下流タスクの正解と比べて学習させるわけや [55, 58, 112]。一方で、GNNとか判別型モデルをGeneratorとして使う場合は、下流タスクに特化した損失関数を設計してモデルを効果的に学習させるんやで [68, 90, 158, 189, 199]。
## 8.3 同時学習
RetrieverとGeneratorを同時に学習させると、お互いの強みを補い合って下流タスクの性能がアップするねん。RetrieverとGeneratorを1つのモデル(だいたいLLM)に統合して、検索目標と生成目標を同時に学習させるアプローチもあるで [112]。この方法は統一アーキテクチャの一体感を活かしてて、1つのフレームワークの中で関連情報をスムーズに検索して、ちゃんとした回答を生成できるようになるんや。
他にも、最初はRetrieverとGeneratorを別々に学習させといて、その後で同時学習のテクニックで両方をファインチューニングするやり方もあるねん。例えばSubgraph Retriever [196] は交互学習パラダイムを採用してて、まずRetrieverのパラメータを固定してグラフデータでGeneratorを学習させるねん。ほんでその後、今度はGeneratorのパラメータを固定して、Generatorからのフィードバックを使ってRetrieverを学習させるわけや。この繰り返しのプロセスで、両方のコンポーネントが協調しながら性能を磨いていけるってことやな。
## 9 アプリケーションと評価
このセクションでは、GraphRAGに関連する下流タスク、応用分野、ベンチマークと評価指標、それから産業応用についてまとめていくで。表1には既存のGraphRAG技術がまとめてあって、下流タスク、ベンチマーク、手法、評価指標で分類してあるねん。この表は包括的な概要として、GraphRAG技術のいろんな側面と様々な分野での応用を一目でわかるようにしてくれてるで。
## 9.1 下流タスク
GraphRAGは色んな下流タスク(特にNLPタスク)に適用されてて、質問応答とか情報抽出とか、他にもいろいろあるねん。
---
## Page 25
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p025.png)
### 和訳
グラフ検索拡張生成(GraphRAG)のサーベイ論文やねん
111:25ページ目
**表1. GraphRAGのタスク、ベンチマーク、手法、評価指標まとめ**
| タスク | ベンチマーク | 手法 | 評価指標 |
|--------|------------|------|---------|
| **KBQA(知識ベース質問応答)** | WebQSP、WebQ、CWQ、GrailQA、QALD10-en、SimpleQuestions、CMCQA、MetaQA、Natural Question、TriviaQA、HotpotQA、Mintaka、FreebaseQA | [112]〜[24]の各種手法(めっちゃ沢山あるから詳細は原文見てな) | 正解率、完全一致(EM)、再現率、F1スコア、BERTScore、GPT-4の平均ランキング |
| **CSQA(常識質問応答)** | CSQA、OBQA、MedQA、SocialIQA、PIQA、RiddleSenseQA | [158]〜[30]の各種手法 | Recall@K |
| **情報抽出(IE)** | | | |
| ・エンティティリンキング | ZESHEL、CoNLL | [180] | Hits@1 |
| ・関係抽出 | T-Rex、ZsRE | [155]、[154]、[113]、[94] | 正解率、F1 |
| **事実検証** | Creak、FACTKG | [94]、[155]、[154]、[113]、[80]、[87]、[101] | MRR、Hits@K |
| **その他** | | | |
| ・リンク予測 | FB15K-237、FB15k、WN18RR、NELL995 | [22]、[129] | MRR、Hits@K |
| ・対話システム | OpenDialKG | [5] | |
| ・レコメンド | Yelp | [168] | NDCG@K、Recall@K |
---
**9.1.1 質問応答タスクについて**
質問応答(QA)タスクには、大きく分けて「知識ベース質問応答(KBQA)」と「常識質問応答(CSQA)」の2種類があるねん。
**(1) KBQA(知識ベース質問応答)**
KBQAっていうのは、GraphRAGの超重要な下流タスクやねん。どういうことかっていうと、質問が特定のナレッジグラフ(知識グラフ)に関係してて、答えはそのグラフの中にあるエンティティ(人とか場所とかモノの名前)とか、関係性とか、エンティティ同士の集合演算の結果になってるわけ。
ほんまにこのタスク、構造化された知識ベースから情報を引っ張ってきて推論する能力を試すもんやから、複雑な質問に答えるためにめっちゃ大事なんよ。
**(2) CSQA(常識質問応答)**
CSQAはKBQAとはちょっと違うねん。主に選択式の問題形式になってるんよ。常識推論の問題って、常識的な質問と一緒にいくつかの選択肢が出てきて、それぞれの選択肢はエンティティの名前やったり、なんかの文章やったりするわけ。
目標は何かっていうと、機械がConceptNetみたいな外部の常識知識グラフを使って、質問と選択肢に関連する知識を見つけ出して、ちゃんと推論して正解を導き出すことやねん。
---
**9.1.2 情報検索タスクについて**
情報検索タスクには「エンティティリンキング(EL)」と「関係抽出(RE)」の2つのカテゴリがあるで。
**(1) エンティティリンキング**
エンティティリンキング(EL)っていうのは、自然言語処理の分野でめっちゃ重要なタスクやねん。なんでかっていうと、テキストの中で言及されてるエンティティを特定して、それをナレッジグラフの中の対応するエンティティに紐づける作業やからな。
Graph RAGみたいなシステムを使えば、ナレッジグラフから関連情報を取ってこれるから、テキスト中の言及がどの具体的なエンティティに対応するんかを正確に推論できるようになるねん[180]。
---
J. ACM, Vol. 37, No. 4, Article 111. 2024年9月発行
---
## Page 26
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p026.png)
### 和訳
**関係抽出**について話すで。これは何かっていうと、文章の中にある「エンティティ」(人とか物とか場所とかの要素やな)同士の「意味的なつながり」を見つけて分類する作業のことやねん。GraphRAGを使うと、グラフベースの構造でエンティティ間の相互依存関係をうまくエンコードして活用できるから、いろんなテキストソースからより正確で文脈に沿った関係データを引っ張り出せるようになるっちゅうわけや。
**その他のタスク**についても触れとくな。さっき挙げたタスク以外にも、GraphRAGは自然言語処理のいろんな分野で使えるねん。事実検証、リンク予測、対話システム、レコメンデーションとかな。
**事実検証**っていうのは、ある事実に関する主張がホンマかウソかを知識グラフを使って判定する作業のことや。モデルは構造化された知識リポジトリを活用して、与えられた事実主張が正しいかどうかを判断するねん。GraphRAGの技術を使えば、エンティティ間の証拠となるつながりを抽出して、システムの効率と精度をグッと高められるんやで。
**リンク予測**は、グラフの中で欠けてる関係性とか、エンティティ間のつながりそうな部分を予測する作業やねん。GraphRAGがこのタスクに適用されるのは、グラフから構造化された情報を検索・分析する能力があるからや。グラフデータの中に隠れてる関係やパターンを見つけ出して、予測精度を上げられるっちゅうことやな。
**対話システム**は、人間と自然言語で会話するために設計されたシステムのことで、質問に答えたり、情報を提供したり、ユーザーとのやり取りをスムーズにしたりするいろんなタスクを処理するねん。会話の履歴とか文脈的な関係をグラフベースの枠組みで構造化することで、GraphRAGシステムはモデルが一貫性があって文脈に合った応答を生成する能力を向上させられるんや。
**レコメンデーション**についてやけど、ECサイトの文脈でいうと、ユーザーと商品の間の購買関係は自然にネットワークグラフを形成するやろ?これらのプラットフォームでのレコメンデーションの主な目的は、ユーザーの将来の購買意図を予測すること、つまりこのグラフ内の潜在的なつながりを予測することなんやで。
### 応用分野
GraphRAGは、構造化された知識グラフと自然言語処理を統合するめっちゃ優れた能力があるから、EC、バイオメディカル、学術、文献、法律、その他いろんな応用シナリオで幅広く使われてるねん。以下で紹介していくで。
**EC分野**では、主な目標はパーソナライズされたレコメンデーションとインテリジェントなカスタマーサービスを通じて、お客さんの買い物体験を向上させて売上を伸ばすことやねん。この分野では、ユーザーと商品の間の過去のやり取りが自然にグラフを形成して、そこにはユーザーの行動パターンとか好みの情報が暗黙的にカプセル化されてるんや。せやけど、ECプラットフォームの数が増えて、ユーザーのインタラクションデータの量もどんどん増えてるから、GraphRAG技術を使って重要なサブグラフを抽出することがめっちゃ重要になってきてるねん。Wangらは、異なるタイプやパラメータを持つ複数のリトリーバーをアンサンブルして関連するサブグラフを抽出し、それをエンコードして時間的なユーザー行動予測に使ってるんや。カスタマーサービスの質問応答システムのモデル性能を向上させるために、Xuらは過去の問い合わせグラフを構築してるねん。これはイシュー内とイシュー間の関係を持ってて、与えられたクエリごとに類似した過去のイシューのサブグラフを検索して、システムの応答品質を高めてるっちゅうわけや。
**バイオメディカル分野**では、最近GraphRAGの技術がバイオメディカルの質問応答システムにどんどん適用されてて、先進的な医療意思決定のパフォーマンスを達成してるねん。この分野では、
---
## Page 27
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p027.png)
### 和訳
Graph Retrieval-Augmented Generation: A Survey
111:27
病気にはそれぞれ特定の症状があるやん、ほんで薬には特定の有効成分が入ってて、それが狙った病気を治すっていう仕組みになっとんねん。研究者の中には[26, 89, 177]、特定のタスクに合わせて専用のナレッジグラフ(知識をグラフ構造にしたやつな)を作る人もおれば、[73, 175, 185]みたいにCMeKGとかCPubMed-KGっていうオープンソースの知識グラフをそのまま検索元として使う人もおるんよ。今ある手法は基本的に、まずパラメータを使わない検索システムで最初の検索をかけて、その後にリランキング(順位の並べ替えな)で取ってきた情報をフィルタリングする方法を設計するっていう流れやねん[26, 73, 89, 175, 185]。あと、取ってきた情報を使ってモデルへの入力を書き換えて、生成の精度を上げようっていうアプローチもあるで[89]。
9.2.3 学術分野。学術研究の世界では、論文は一人以上の研究者が書いてて、研究分野と紐づいとるやろ。著者は所属機関があって、著者同士には共同研究とか同じ機関に所属してるとか、そういう関係性があるわけや。こういう要素をグラフの形に整理できるんよね。このグラフに対してGraphRAGを使うと、学術的な探索がめっちゃ捗るねん。例えば、ある著者の潜在的な共同研究者を予測したり、特定の分野のトレンドを見つけたりできるってわけや。
9.2.4 文学。学術研究と同じような感じで、文学の世界でもナレッジグラフが作れるんよ。ノード(点)には本、著者、出版社、シリーズを置いて、エッジ(線)には「誰が書いた」「どこから出版された」「どのシリーズか」っていうラベルをつけるねん。GraphRAGを使えば、スマート図書館みたいな実用的なアプリケーションを強化できるで。
9.2.5 法律。法律の世界では、判例と司法意見の間にめっちゃたくさんの引用関係があるんよ。なんでかっていうと、裁判官は新しい判決を下すときに、過去の意見をよく参照するからやねん。これが自然とグラフ構造を作り出すわけや。ノードには意見、意見クラスター、訴訟記録、裁判所を置いて、エッジには「意見の引用」「意見のクラスター化」「クラスターと訴訟記録の関係」「訴訟記録と裁判所の関係」みたいな関係性が含まれるねん。法律の場面でGraphRAGを使えば、弁護士とか法学研究者が判例分析とか法律相談とか、いろんなタスクをこなすのに役立つで。
9.2.6 その他。上で挙げた以外にも、GraphRAGは現実世界のいろんな場面で使われとるんよ。例えば情報レポートの生成[139]、特許フレーズの類似度検出[133]、ソフトウェアの理解[1]とかな。RanadeとJoshi[139]は、まずイベントプロットグラフ(EPG)っていうのを作って、イベントの重要な側面を取り出して情報レポートの生成を助けるんや。PengとYang[133]は特許フレーズのグラフを作って、指定された特許フレーズのエゴネットワーク(そのフレーズを中心とした周辺ネットワークな)を取得して、フレーズの類似性判断を手伝うねん。Alhanahnah ら[1]は、ソフトウェアパッケージの依存関係を理解するためのチャットボットを提案しとって、まず自動で依存関係グラフを構築して、ユーザーがその依存関係について質問できるようにしてるんや。
9.3 ベンチマークと評価指標
9.3.1 ベンチマーク。GraphRAGシステムの性能を評価するためのベンチマークは、2つのカテゴリに分けられるで。1つ目は、下流タスクに対応するデータセットや。セクション9.1の分類に従って、ベンチマークとそれでテストされた論文をまとめたのが表1に載っとるから見てみてな。2つ目は、GraphRAGシステム専用に設計されたベンチマークや。こっちは通常、複数のタスク領域をカバーして総合的なテスト結果を出せるようになっとるねん。例えばSTARK[179]は、半構造化された知識ベース上でのLLM検索をベンチマークしてて、商品検索、学術論文検索、精密医療でのクエリっていう3つの領域をカバーして、今のGraphRAGシステムの能力を評価しとるんよ。Heら[55]は、現実世界のテキストグラフを対象にした柔軟な質問応答ベンチマーク「GraphQA」を提案しとって、シーングラフの理解、常識推論、知識グラフ推論といった複数のアプリケーションに適用できるねん。グラフ推論ベンチマーク(GRBENCH)[75]は、拡張の研究を促進するために作られたやつや。
J. ACM, Vol. 37, No. 4, Article 111. Publication date: September 2024.
---
## Page 28
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p028.png)
### 和訳
グラフ付きLLMの話やねんけど、これには1,740個の質問が入ってて、10個の専門分野のグラフから得られる知識で答えられるようになってんねん。CRAG[186]っていうのは構造化されたクエリデータセットを提供してて、ベースにあるモックKG(ナレッジグラフのことやで)から情報にアクセスするためのモックAPIも追加で付いてるから、公平に比較できるようになってんねん。
**9.3.2 評価指標。** GraphRAGの評価指標は大きく2種類に分けられるねん:下流タスクの評価(生成品質)と検索品質や。
**(1) 下流タスク評価(生成品質)。** ほとんどの研究では、下流タスクの評価指標がGraphRAGの性能を測る主要な方法として使われてんねん。例えばKBQA(知識ベース質問応答)では、Exact Match(EM、完全一致のことやで)とF1スコアが、答えのエンティティ(実体)がどんだけ正確かを測るのによく使われてんねん。あと、多くの研究者がBERT4ScoreとGPT4Scoreを使ってんのは、なんでかっていうと、LLMが正解と同じ意味やけど完全一致やないエンティティを生成する場合に対応するためやねん。CSQA(常識質問応答)では、Accuracy(正解率)が一番よく使われる評価指標やな。QAシステムみたいな生成タスクには、BLEU、ROUGE-L、METEORとかの指標がモデルが生成したテキストの品質を評価するのによく使われてんねん。
**(2) 検索品質評価。** GraphRAGを下流タスクの性能で評価するのは可能やねんけど、検索したコンテンツの精度を直接測るのはめっちゃ難しいねん。せやから、多くの研究では検索コンテンツの精度を測るための特別な指標を使ってんねん。例えば、正解エンティティが分かってる場合、検索システムは取ってきた情報の量と答えのカバー率のバランスを取らなあかんねん。せやから、答えのカバー率と検索サブグラフのサイズの比率を使って検索システムの性能を評価する研究もあんねん。さらに、クエリ関連性、多様性、忠実性スコアみたいな指標を探求してる研究もあって、それぞれ検索コンテンツとクエリの類似度、検索コンテンツの多様性、検索した情報の忠実性を評価してんねん。
**9.4 産業界におけるGraphRAG**
このセクションでは、主に産業用GraphRAGシステムに焦点を当てるで。これらのシステムの特徴は、産業用グラフデータベースシステムに依存してるか、大規模グラフデータに焦点を当ててるかやねん。詳しくは以下の通りや。
• **GraphRAG(Microsoft製)**10:このシステムはLLMを使ってエンティティベースのナレッジグラフを構築して、関連するエンティティグループのコミュニティサマリーを事前に生成すんねん。これによって、ドキュメントコレクション内のローカルな関係とグローバルな関係の両方を捉えることができて、Query-Focused Summarization(QFS、クエリに焦点を当てた要約タスク)の性能が上がんねん[32]。このプロジェクトは、LlamaIndex11やLangChain12みたいなオープンソースのRAGツールキットを使って素早く実装することもできるで。
• **GraphRAG(NebulaGraph製)**13:このプロジェクトは最初の産業用GraphRAGシステムで、NebulaGraph社が開発したもんやねん。LLMをNebulaGraphデータベースに統合してて、より賢くて正確な検索結果を提供することを目指してんねん。
• **GraphRAG(Antgroup製)**14:このフレームワークは、DB-GPTみたいなAIエンジニアリングフレームワーク、ナレッジグラフエンジンのOpenSPG、グラフデータベースのTuGraphといった複数の基盤の上に開発されてんねん。具体的には、このシステムはまずLLMを使ってドキュメントからトリプル(主語-述語-目的語の3つ組のことやで)を抽出して、それをグラフデータベースに保存すんねん。検索フェーズでは、クエリからキーワードを特定して、グラフデータベース内の対応するノードを見つけて、BFS(幅優先探索)を使ってサブグラフを辿っていくねん。
---
10https://github.com/microsoft/graphrag
11https://docs.llamaindex.ai/en/stable/examples/index_structs/knowledge_graph/KnowledgeGraphDemo.html
12https://python.langchain.com/docs/use_cases/graph
13https://www.nebula-graph.io/posts/graph-RAG
14https://github.com/eosphoros-ai/DB-GPT
J. ACM, Vol. 37, No. 4, Article 111. Publication date: September 2024.
---
## Page 29
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p029.png)
### 和訳
Graph Retrieval-Augmented Generation: サーベイ論文
111:29
BFSとかDFSみたいなグラフ探索アルゴリズムを使うねん。ほんで生成フェーズでは、取ってきたサブグラフのデータをテキスト形式に整えて、コンテキストとクエリと一緒にLLMに渡して処理させるわけや。
• NaLLM(Neo4j製)15: NaLLM(Neo4jとLarge Language Modelsの略やで)っていうフレームワークは、Neo4jのグラフデータベース技術とLLMを組み合わせたもんやねん。Neo4jとLLMがどんだけ相性ええか探って見せるのが目的で、主に3つのユースケースに注目してんねん:ナレッジグラフへの自然言語インターフェース、構造化されてないデータからナレッジグラフ作る、それから固定データとLLMのデータ両方使ってレポート生成する、っていう3つや。
• LLM Graph Builder(Neo4j製)16: これはNeo4jが開発した、ナレッジグラフを自動で構築するプロジェクトやねん。GraphRAGのグラフデータベース構築とインデックス作成フェーズにぴったりなやつや。このプロジェクトは主にLLMを使って、構造化されてないデータからノードとかリレーションシップとかそれらのプロパティを抽出して、LangChainフレームワークで構造化されたナレッジグラフを作るんや。
10 今後の展望
GraphRAG技術はめっちゃ進歩してきたんやけど、まだまだちゃんと探っていかなあかん課題がいっぱい残ってんねん。このセクションでは、よくある障壁と、GraphRAG分野の将来の研究で期待される方向性について掘り下げていくで。
10.1 動的で適応型のグラフ
ほとんどのGraphRAG手法[32, 41, 85, 86, 111, 188]は静的なデータベースの上に構築されてんねんけど、時間が経つにつれて新しいエンティティとか関係性がどうしても出てくるやん[20, 44, 181]。こういう変化を素早く更新するのは、将来性あるけどめっちゃ難しいんや。なんでかっていうと、更新された情報を取り込むことは、より良い結果を出したり、最新データが必要な新しいトレンドに対応したりするのにめっちゃ重要やからな。動的な更新と新しいデータのリアルタイム統合のための効率的な方法を開発することで、GraphRAGシステムの効果と関連性がめっちゃ向上するはずやで。
10.2 マルチモーダル情報の統合
ほとんどのナレッジグラフは主にテキスト情報しか含んでへんねん。つまり画像、音声、動画みたいな他のモダリティが入ってへんのや。これらはデータベース全体の品質と豊かさをめっちゃ高める可能性を秘めてんねんで[174]。こういう多様なモダリティを取り込むことで、保存された知識をより包括的で繊細に理解できるようになるはずや。せやけど、そういうマルチモーダルデータの統合はかなりの課題があんねん。情報量が増えると、グラフの複雑さとサイズが指数関数的に膨れ上がって、管理とメンテナンスがどんどん難しくなるんや。この規模の拡大に対応するには、高度な方法論と洗練されたツールを開発して、多様なデータタイプを既存のグラフ構造に効率よくスムーズに統合せなあかん。そうすることで、充実したナレッジグラフの正確性とアクセスしやすさの両方を確保できるんや。
10.3 スケーラブルで効率的な検索メカニズム
産業界でのナレッジグラフは、数百万どころか数十億ものエンティティを含むことがあって、ほんまに広大で複雑な規模なんや。せやけど、今のほとんどの手法は小規模なナレッジグラフ向けに設計されてて[32]、数千のエンティティしか扱えへんかったりすんねん。大規模なナレッジグラフの中から関連するエンティティを効率的かつ効果的に検索するのは、実用上めっちゃ重要な課題のままや。この問題に対処するには、高度な検索アルゴリズムとスケーラブルなインフラの開発が必須やねん。そうすることで、膨大なデータ量を処理しながらも、エンティティ検索の高いパフォーマンスと精度を維持できるシステムを実現できるんや。
15https://github.com/neo4j/NaLLM
16https://github.com/neo4j-labs/llm-graph-builder
J. ACM, Vol. 37, No. 4, Article 111. Publication date: September 2024.
---
## Page 30
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p030.png)
### 和訳
10.4 グラフ基盤モデルとの組み合わせ
最近な、グラフ基盤モデル[42, 115]っていうのがめっちゃ注目されてんねん。これ何かっていうと、いろんなグラフ関連のタスクをバリバリこなせるモデルのことやねん。ほんまにすごい成果出してるわ。で、このモデルを今のGraphRAGの仕組みに組み込んでパワーアップさせるっていうのが、めっちゃ大事な課題やねん。グラフ基盤モデルはな、最初からグラフ構造のデータを扱うように作られてるから、LLM(大規模言語モデル)よりもそういうデータを効率よく処理できんねん。こういう最新のモデルをGraphRAGに取り入れたら、グラフ構造の情報をもっとうまく処理・活用できるようになって、全体的な性能と能力がグンと上がるはずやで。
10.5 取得したコンテキストの無損失圧縮
GraphRAGではな、取ってきた情報がエンティティ(モノや概念)とその関係性を含むグラフ構造で整理されてんねん。で、この情報をLLMが理解できるように一列に並べて変換するんやけど、そうするとめっちゃ長いコンテキストになってまうねん。こんな長いコンテキストを入力すると2つ問題があってな。まず、LLMはあんまり長いシーケンスを扱えへん。それと、推論するときの計算がえげつないことになって、個人で使うには厳しいねん。この問題を解決するには、長いコンテキストを情報を失わずに圧縮することがめっちゃ重要やねん。このアプローチは、いらん情報を取り除いて、長い文章を短いけど意味のある文章に圧縮すんねん。そしたらLLMがコンテキストの大事なとこをちゃんと捉えられるし、推論も速くなるわ。せやけどな、情報を失わない圧縮技術を設計するのはほんまに難しいねん。今ある研究[41, 86]は、圧縮と情報保持のバランスを取ってる状態やねん。効果的な無損失圧縮技術を開発するのは、GraphRAGにとってめっちゃ重要やけど、かなりチャレンジングな課題やで。
10.6 標準ベンチマーク
GraphRAGはまだ新しい分野やから、いろんな手法を評価するための統一された標準ベンチマークがないねん。標準ベンチマークを作るのはこの分野にとってめっちゃ大事やで。なんでかっていうと、比較するための一貫した枠組みができるし、いろんなアプローチを客観的に評価できるし、それぞれの強みと弱みを見つけることで進歩を促せるからやねん。このベンチマークには、多様で代表的なデータセット、ちゃんと定義された評価指標、それと包括的なテストシナリオが含まれてないとあかん。そうすることで、GraphRAGの手法をしっかり意味のある形で評価できるようになるねん。
10.7 より広い応用分野
今のGraphRAGの応用は主に、カスタマーサービスシステム[183]、レコメンデーションシステム[25]、KBQA(知識ベース質問応答)[41]みたいな一般的なタスクに集中してるねん。GraphRAGを医療[79]、金融サービス[3]、法務・コンプライアンス[81]、スマートシティとIoT[149]とかのもっと広い分野に展開するには、より複雑な技術を取り入れる必要があるねん。例えば医療分野やったら、GraphRAGは医学文献、患者の病歴、リアルタイムの健康データを統合することで、医療診断、患者記録の分析、個別化された治療計画の作成をサポートできるねん。金融サービスやったら、取引データ、市場トレンド、顧客プロファイルを分析することで、不正検出、リスク評価、個別の金融アドバイスに活用できるわ。法務・コンプライアンス関連の応用では、法的文書、判例、規制の更新情報を統合することで、包括的な法律調査、契約分析、規制遵守のモニタリングができるようになるねん。GraphRAGをこういう多様で複雑な分野に広げていくことで、その有用性とインパクトが高まって、いろんな分野でより洗練されたターゲットを絞ったソリューションを提供できるようになるで。
11 結論
まとめるとな、このサーベイはGraphRAG技術について包括的に振り返って、その基本的な技術、学習手法、そして
J. ACM, Vol. 37, No. 4, Article 111. 発行日: 2024年9月
---
## Page 31
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p031.png)
### 和訳
グラフ検索拡張生成:サーベイ論文
111:31
いろんな場面で使えるんやけど、GraphRAGってほんまにすごいんよ。グラフデータから引っ張ってきた大事な関係性の情報をうまいこと活用することで、情報検索の関連性、正確さ、網羅性をめっちゃ高めてくれるんや。これで従来のRAG(検索拡張生成)が抱えてた重大な弱点をカバーできるようになったわけやな。ほんで、GraphRAGってまだまだ新しい研究分野やから、ベンチマーク(評価基準)の整理とか、今ある課題の分析とか、これから研究が進むであろう方向性についても、この論文でしっかり説明しとるで。
謝辞
この研究はAnt Groupの「Ant Research Intern Program」からサポートしてもらってます。
参考文献
[1] Mohannad Alhanahnah, Yazan Boshmaf, and Benoit Baudry. 2024年. DepsRAG: 大規模言語モデルを使ってソフトウェアの依存関係を管理しようって研究や. arXiv:2405.20455 [cs.SE] https://arxiv.org/abs/2405.20455
[2] Zhiyu An, Xianzhong Ding, Yen-Chun Fu, Cheng-Chung Chu, Yan Li, and Wan Du. 2024年. Golden-Retriever: 産業用知識ベースのためのめっちゃ精度の高いエージェント型検索拡張生成の研究やで. arXiv:2408.00798 [cs.IR] https://arxiv.org/abs/2408.00798
[3] Muhammad Arslan and Christophe Cruz. 2024年. Business-RAG: ビジネスの知見を得るための情報抽出についての研究. ICSBT 2024 (2024), 88.
[4] Sören Auer, Christian Bizer, Georgi Kobilarov, Jens Lehmann, Richard Cyganiak, and Zachary G. Ives. 2007年. DBpedia: オープンデータのウェブの核となるデータベースの話や. The Semantic Web, 第6回国際セマンティックウェブ会議、第2回アジアセマンティックウェブ会議, ISWC 2007 + ASWC 2007, 韓国・釜山, 2007年11月11-15日 (Lecture Notes in Computer Science, Vol. 4825). 722–735.
[5] Jinheon Baek, Alham Fikri Aji, Jens Lehmann, and Sung Ju Hwang. 2023年. エンティティリンキングなしで知識グラフから直接事実を取ってくる方法の研究や. Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), ACL 2023, カナダ・トロント, 2023年7月9-14日. 10038–10055.
[6] Jinheon Baek, Alham Fikri Aji, and Amir Saffari. 2023年. ゼロショット知識グラフ質問応答のための知識拡張言語モデルプロンプティングの研究. arXiv:2306.04136 [cs.CL] https://arxiv.org/abs/2306.04136
[7] Jinheon Baek, Soyeong Jeong, Minki Kang, Jong C. Park, and Sung Ju Hwang. 2023年. 知識拡張言語モデルの検証についての研究や. Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing, EMNLP 2023, シンガポール, 2023年12月6-10日. 1720–1736.
[8] Jonathan Berant, Andrew Chou, Roy Frostig, and Percy Liang. 2013年. 質問と回答のペアからFreebase上で意味解析する研究. Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing, EMNLP 2013, 2013年10月18-21日, アメリカ・シアトル・グランドハイアット, ACLの特別興味グループSIGDATの会議. 1533–1544.
[9] Yonatan Bisk, Rowan Zellers, Ronan Le Bras, Jianfeng Gao, and Yejin Choi. 2020年. PIQA: 自然言語での物理的な常識推論についての研究やで. The Thirty-Fourth AAAI Conference on Artificial Intelligence, AAAI 2020, アメリカ・ニューヨーク, 2020年2月7-12日. 7432–7439.
[10] Kurt Bollacker, Colin Evans, Praveen Paritosh, Tim Sturge, and Jamie Taylor. 2008年. Freebase: 人間の知識を構造化するためにみんなで協力して作ったグラフデータベースの話. Proceedings of the 2008 ACM SIGMOD international conference on Management of data. 1247–1250.
[11] Kurt D. Bollacker, Colin Evans, Praveen K. Paritosh, Tim Sturge, and Jamie Taylor. 2008年. Freebase: 人間の知識を構造化するための協調型グラフデータベース. Proceedings of the ACM SIGMOD International Conference on Management of Data, SIGMOD 2008, カナダ・バンクーバー, 2008年6月10-12日. 1247–1250.
[12] Antoine Bordes, Nicolas Usunier, Sumit Chopra, and Jason Weston. 2015年. メモリネットワークを使った大規模シンプル質問応答の研究. arXiv:1506.02075 [cs.LG] https://arxiv.org/abs/1506.02075
[13] Antoine Bordes, Nicolas Usunier, Sumit Chopra, and Jason Weston. 2015年. メモリネットワークを使った大規模シンプル質問応答の研究. arXiv:1506.02075 [cs.LG] https://arxiv.org/abs/1506.02075
[14] Tom Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared D Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al. 2020年. 言語モデルは少数の例だけで学習できるっていうめっちゃ有名な研究や. Advances in neural information processing systems 33 (2020), 1877–1901.
[15] Andrew Carlson, Justin Betteridge, Bryan Kisiel, Burr Settles, Estevam R. Hruschka Jr., and Tom M. Mitchell. 2010年. 終わりなき言語学習のためのアーキテクチャを目指す研究. Proceedings of the Twenty-Fourth AAAI Conference on Artificial Intelligence, AAAI 2010, アメリカ・ジョージア州アトランタ, 2010年7月11-15日. 1306–1313.
J. ACM, Vol. 37, No. 4, Article 111. 出版日: 2024年9月.
---
## Page 32
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p032.png)
### 和訳
[16] Abir Chakraborty. 2024. 大規模言語モデル使ってナレッジグラフの複数ホップ質問応答するって話。
arXiv:2404.19234 [cs.AI] https://arxiv.org/abs/2404.19234
要はな、質問に答えるのに知識グラフを何回もジャンプして情報たどっていく必要があるやつを、LLMでどうやるかって研究やねん。
[17] Huajun Chen. 2024. 大規模知識モデル:展望と課題。
arXiv:2312.02706 [cs.AI] https://arxiv.org/abs/2312.02706
知識をめっちゃデカいモデルでどう扱うか、これからどうなっていくか、何が難しいかって話やで。
[18] Runjin Chen, Tong Zhao, Ajay Jaiswal, Neil Shah, Zhangyang Wang. 2024. LLaGA:大規模言語・グラフアシスタント。
arXiv:2402.08170 [cs.LG] https://arxiv.org/abs/2402.08170
言語モデルとグラフをガッチャンコして、両方の良いとこ取りしようって研究やな。
[19] Shuang Chen, Qian Liu, Zhiwei Yu, Chin-Yew Lin, Jian-Guang Lou, Feng Jiang. 2021. ReTraCk:知識ベース質問応答のための柔軟で効率的なフレームワーク。計算言語学会年次大会と自然言語処理国際会議のシステムデモ論文集、325-336ページ。
ナレッジベースに質問投げて答え返してもらうシステムを、めっちゃ柔軟に効率よく作れるフレームワーク作ったで、って話やねん。
[20] Keyuan Cheng, Gang Lin, Haoyang Fei, Yuxuan zhai, Lu Yu, Muhammad Asif Ali, Lijie Hu, Di Wang. 2024. 時間的知識編集下での複数ホップ質問応答。
arXiv:2404.00492 [cs.CL] https://arxiv.org/abs/2404.00492
これ面白くてな、知識が時間で変わるやん?そういう時間軸の変化がある中で、複数の情報をたどって答え出すってどうすんねんって研究や。
[21] Hyeong Kyu Choi, Seunghun Lee, Jaewon Chu, Hyunwoo J. Kim. 2023. NuTrea:コンテキスト誘導型複数ホップKGQAのためのニューラル木探索。NeurIPS 2023、ニューオーリンズ。
木構造でニューラルに探索していって、文脈見ながら知識グラフの質問応答するって手法やで。
[22] Nurendra Choudhary, Chandan K. Reddy. 2024. 大規模言語モデルを使った知識グラフ上の複雑な論理推論。
arXiv:2305.01157 [cs.LO] https://arxiv.org/abs/2305.01157
単純な質問だけやなくて、「AかつBで、Cじゃない場合」みたいな複雑な論理の推論を、LLMと知識グラフでやろうって話やな。
[23] Rajarshi Das, Shehzaad Dhuliawala, Manzil Zaheer, Luke Vilnis, Ishan Durugkar, Akshay Krishnamurthy, Alex Smola, Andrew McCallum. 2018. 散歩して答えにたどり着け:強化学習で知識ベースのパスを推論する。ICLR 2018、バンクーバー。
めっちゃええタイトルやろ?強化学習使って、知識ベースの中をお散歩みたいにウロウロして、ちゃんと答えにたどり着くって研究やねん。
[24] Mohammad Dehghan ほか. 2024. EWEK-QA:引用ベース質問応答システムのための強化ウェブ・効率的知識グラフ検索。ACL 2024、バンコク、14169-14187ページ。
ウェブの情報と知識グラフの両方をうまく使って、引用付きで質問に答えるシステム作ったで。なんでかっていうと、どっちか片方だけやと情報足りひんことあるからな。
[25] Yashar Deldjoo ほか. 2024. 生成モデルを使った現代のレコメンダーシステムのレビュー(Gen-RecSys)。
arXiv:2404.00579 [cs.IR] https://arxiv.org/abs/2404.00579
最近のおすすめシステムって生成AIめっちゃ使うようになってきてんねん。そのへんまとめたレビュー論文やで。
[26] Julien Delile, Srayanta Mukherjee, Anton Van Pamel, Leonid Zhukov. 2024. グラフベースの検索器がバイオメディカル知識のロングテールを捉える。
arXiv:2402.12352 [cs.CL] https://arxiv.org/abs/2402.12352
医療とか生物系の知識ってマイナーな情報(ロングテールっていうねん)がめっちゃ大事やねんけど、グラフ使った検索でそこもちゃんと拾えるようにしたって話や。
[27] Tim Dettmers, Pasquale Minervini, Pontus Stenetorp, Sebastian Riedel. 2018. 畳み込み2D知識グラフ埋め込み。AAAI 2018、ニューオーリンズ、1811-1818ページ。
知識グラフを2次元の畳み込みで埋め込むって手法やねん。画像処理でよく使う畳み込みを知識グラフに応用したんや。
[28] Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova. 2019. BERT:言語理解のための深層双方向トランスフォーマーの事前学習。NAACL-HLT 2019、4171-4186ページ。
これはもう超有名なやつやな!BERTって聞いたことあるやろ?文章を前からも後ろからも見て理解するモデルで、自然言語処理にめっちゃ革命起こしたんや。
[29] Guanting Dong ほか. 2023. KB-テキストギャップを埋める:KBQAのための構造化知識認識事前学習の活用。CIKM 2023、バーミンガム、3854-3859ページ。
知識ベースとテキストって別モンやから、そのギャップ埋めるために構造化された知識を意識した事前学習しようって研究やで。
[30] Junnan Dong ほか. 2023. 知識グラフ上の階層認識型複数ホップ質問応答。WWW 2023、オースティン、2519-2527ページ。
知識グラフって階層構造あるやん?上位概念とか下位概念とか。そこをちゃんと意識しながら複数ホップの質問に答えようって話や。
[31] Abhimanyu Dubey, Abhinav Jauhri ほか. 2024. Llama 3モデル群。
arXiv:2407.21783 [cs.AI] https://arxiv.org/abs/2407.21783
MetaのLlama 3シリーズの論文やな。オープンソースのLLMとしてはめっちゃ性能ええやつや。
[32] Darren Edge ほか. 2024. ローカルからグローバルへ:クエリ集中型要約へのGraph RAGアプローチ。
arXiv:2404.16130 [cs.CL] https://arxiv.org/abs/2404.16130
普通のRAGって関係ある文書取ってくるだけやけど、Graph RAGはグラフ構造使って、局所的な情報から全体像まで見渡せるようにしたって研究やねん。
[33] Hady ElSahar ほか. 2018. T-REx:自然言語と知識ベーストリプルの大規模アラインメント。LREC 2018、宮崎。
自然言語の文章と、知識ベースの「主語-述語-目的語」のトリプルを大量に対応付けたデータセット作ったで、って話や。これがあると学習データに使えてめっちゃ便利やねん。
J. ACM, Vol. 37, No. 4, Article 111. 出版日:2024年9月。
---
## Page 33
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p033.png)
### 和訳
Graph Retrieval-Augmented Generation: A Survey
111:33
[34] Wenqi Fanさんらが2024年に出した論文やねんけど、RAGとLLMがどうやって出会ってるかっていうサーベイやねん。要するに「検索で強化された大規模言語モデルに向けて」っていうテーマで、arXivに上がってるで。https://arxiv.org/abs/2405.06211
[35] 同じくWenqi Fanさんらの2024年の論文で、これはLLM時代のグラフ機械学習についてまとめてるやつやな。LLMがめっちゃ流行ってる今、グラフを使った機械学習がどうなってるかって話やで。https://arxiv.org/abs/2404.14928
[36] Haishuo Fangさんらの2024年の論文で、DARAっていうシステムについて書いてるねん。これ何かっていうと、知識グラフを使った質問応答のために、分解して・揃えて・推論するっていう自律型の言語エージェントなんやな。https://arxiv.org/abs/2406.07080
[37] Jinyuan Fangさんらの2024年の論文で、REANOっていう手法やねん。知識グラフを生成することで、検索で強化されたリーダーモデルを最適化するって話やな。2024年8月にバンコクで開催されたACL学会で発表されて、2094-2112ページに載ってるで。
[38] Bahare Fatemiさんらの2023年の論文で、「グラフみたいに喋ろう」っていうタイトルがめっちゃおもろいねん。LLMにグラフの情報をどうやってエンコードするかって話やで。https://arxiv.org/abs/2310.04560
[39] Chao Fengさんらの2023年の論文で、Knowledge Solverっていうやつやねん。LLMに「知識グラフからドメイン知識を探してこい」って教えるシステムやな。https://arxiv.org/abs/2309.03118
[40] Yanlin Fengさんらの2020年の論文で、知識を使った質問応答のために、複数ホップの関係推論をスケーラブルにやる方法について書いてるねん。2020年11月のEMNLP学会で発表されて、1295-1309ページやで。
[41] Bin Fuさんらの2020年の論文で、知識ベース上での複雑な質問応答についてのサーベイやねん。最近の進歩と課題についてまとめてるで。https://arxiv.org/abs/2007.13069
[42] Mikhail Galkinさんらの2023年の論文で、知識グラフ推論のための基盤モデルに向けてっていう内容やな。ICLR学会っていうめっちゃ有名な機械学習の学会で発表されてるで。
[43] Hanning Gaoさんらの2022年の論文で、大規模な知識グラフに対するクエリのために、グラフで強化したランキング学習をやるって話やねん。2022年11月のAACL/IJCNLP学会で発表されて、82-92ページに載ってるで。
[44] Yifu Gaoさんらの2024年の論文で、時間的知識グラフ、つまり時間の情報も入った知識グラフに対して、LLMを使った2段階の生成型質問応答をするって内容やな。https://arxiv.org/abs/2402.16568
[45] Yunfan Gaoさんらの2024年の論文で、LLMのための検索拡張生成(RAG)についてのサーベイやねん。めっちゃ包括的にまとめてあるで。https://arxiv.org/abs/2312.10997
[46] Aashish Ghimireさんらの2024年の論文で、教育における生成AIについての研究やな。教育者の認識とか感情、影響要因についてまとめてるで。https://arxiv.org/abs/2403.15586
[47] Yu Guさんらの2021年の論文で、「I.I.D.を超えて」っていうタイトルやねん。I.I.D.っていうのは「独立同分布」っていう統計の仮定のことやねんけど、知識ベース上の質問応答における3つのレベルの一般化について書いてるで。2021年4月のWWW学会で発表されて、3477-3488ページやな。
[48] 同じくYu Guさんらの2022年の論文で、ArcaneQAっていうシステムやねん。知識ベース質問応答のための動的プログラム誘導と文脈化エンコーディングをやるって話やな。2022年の計算言語学国際会議で発表されて、1718-1731ページやで。
[49] Jiayan Guoさんらの2023年の論文で、GPT4Graphっていうやつやねん。「大規模言語モデルってグラフ構造のデータ理解できるん?」っていう疑問に対して、実験的に評価してベンチマークしてるで。https://arxiv.org/abs/2305.15066
[50] Tiezheng Guoさんらの2024年の論文で、KnowledgeNavigatorっていうシステムやねん。LLMを活用して知識グラフ上での推論を強化するって話やな。https://arxiv.org/abs/2312.15880
[51] Bernal Jiménez Gutiérrezさんらの2024年の論文で、HippoRAGっていうめっちゃおもろい名前のやつやねん。これ何かっていうと、神経生物学、つまり脳の仕組みにインスパイアされたLLMのための長期記憶システムなんやな。海馬(Hippocampus)から名前取ってるっぽいで。https://arxiv.org/abs/2405.14831
[52] William L. Hamiltonさんらの2017年の論文で、大規模グラフ上での帰納的表現学習についてやねん。NeurIPS 2017っていうめっちゃ有名な学会で発表されて、1024-1034ページやで。
[53] Zhen Hanさんらの2023年の論文で、オープンエンドな常識質問応答のためのグラフガイド推論アプローチやねん。https://arxiv.org/abs/2303.10395
[54] Gaole Heさんらの2021年の論文で、複数ホップの知識ベース質問応答を改善するために、中間的な監督信号を学習するって話やな。2021年3月のWSDM学会で発表されて、553-561ページやで。
J. ACM, Vol. 37, No. 4, Article 111. 発行日: 2024年9月。
---
## Page 34
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p034.png)
### 和訳
Pengさんらの研究やねんけど
[55] Heさんらが2024年に出したG-Retrieverっていう研究があるねんけど、これめっちゃおもろいねん。テキストで表現されたグラフを理解して質問に答えるために、検索で情報を補強して生成するっていう手法やねん。要するに、AIが知識グラフから必要な情報を引っ張ってきて、それを使って賢く答えを出すシステムやな。
[56] Himsoltさんが1996年にパッサウ大学で作ったGMLっていうのは、グラフを記述するための言語やねん。グラフの構造をコンピュータに教えるための書き方のルールみたいなもんや。
[57] Hoffartさんらが2011年のEMNLP(自然言語処理の学会やで)で発表した研究は、テキストの中の固有名詞をちゃんと見分けるっていう話やねん。例えば「Apple」って出てきたら、果物のりんごなのかApple社なのか、文脈からバシッと判断せなあかんやろ?そういう曖昧さをロバスト(頑健)に解消する手法を提案してるねん。
[58] Huさんらが2024年に出したGRAGは、グラフを使った検索拡張生成やねん。普通のRAGは文章を検索してくるんやけど、これはグラフ構造の知識を検索してきて生成に使うっていう、より賢いアプローチやな。
[59] HuさんとLuさんの2024年のサーベイ論文は、RAGとRAU(検索拡張言語モデル)について自然言語処理の観点からまとめたもんやねん。検索で情報を補強するAIの手法を網羅的に調べた、めっちゃ参考になる論文やで。
[60] Huさんらが2022年のEMNLPで発表した研究は、知識グラフの推論能力を言語モデルに持たせて、オープンドメインの質問応答をできるようにしたっていう話やねん。つまり、AIに知識グラフを使って論理的に考える力を与えたってことやな。
[61] Huangさんらが2023年に出したサーベイは、大規模言語モデルのハルシネーション(幻覚)についてやねん。ハルシネーションっていうのは、AIがもっともらしい嘘をついてまうことやねん。なんでそうなるのか、どんな種類があるのか、どう解決するのか、っていう原理からオープンな課題まで全部まとめてるねん。
[62] HuangさんとHuangさん(同じ名字やけど別人やで)の2024年のサーベイは、大規模言語モデルの検索拡張テキスト生成についてまとめたもんやねん。AIが外部の情報を検索してきて、それを使って文章を生成する手法についての調査論文やな。
[63] Huangさんらが2023年のACLで発表したMVP-Tuningは、常識推論のための多視点知識検索とプロンプトチューニングの手法やねん。複数の角度から知識を引っ張ってきて、AIに常識的な推論をさせるっていうアプローチや。めっちゃ賢いやろ?
[64] Hwangさんらが2021年のAAAIで発表した(Comet-) Atomic 2020は、記号的・ニューラルな常識知識グラフについての研究やねん。人間の常識をグラフの形で表現して、AIが使えるようにしたっていう話やな。日常的な「こうしたらこうなる」みたいな因果関係とかを整理してるねん。
[65] IzacardさんとGraveさんが2021年のEACLで発表した研究は、オープンドメインの質問応答で、文章検索と生成モデルを組み合わせるっていう手法やねん。関連する文章を見つけてきて、それを使って答えを生成するっていう、今のRAGの基礎になるような研究やで。
[66] Jafariさんらが2021年に出したサーベイは、Locality Sensitive Hashing(LSH)っていうアルゴリズムとその応用についてやねん。LSHは似たようなデータを効率よく見つけるための技術で、大量のデータから類似したものを高速に検索するときに使うねん。
[67] Jiangさんらが2023年のEMNLPで発表したStructGPTは、大規模言語モデルが構造化データ(テーブルとかグラフとか)を使って推論するための汎用フレームワークやねん。普通のテキストだけやなくて、整理されたデータも理解して使えるようにしたってことやな。
[68] Jiangさんらが2022年のNAACL Findingsで発表した研究のタイトルがおもろいねん。「偉大な真実はいつもシンプル」っていうて、事前学習モデルの常識推論能力を高めるためのシンプルな知識エンコーダーを提案してるねん。複雑にせんでも、シンプルなアプローチでええ結果出せるでっていう主張やな。
[69] Jiangさんらが2024年に出したKG-Agentは、知識グラフを使った複雑な推論のための効率的な自律エージェントフレームワークやねん。AIが自分で知識グラフを探索して、複雑な質問にも答えられるようにしたシステムやな。
[70][71] Jiangさんらが2023年のICLRで発表したUniKGQAは、知識グラフを使ったマルチホップ質問応答のための統合的な検索・推論手法やねん。マルチホップっていうのは、「AはBで、BはCやから、AはC」みたいに複数のステップを経て答えを導き出すことやねん。検索と推論を一緒にやることで、より正確に答えられるようになったんや。(同じ論文が重複して載ってるみたいやな)
[72] Jiangさんらが2019年のNAACL-HLTで発表したFreebaseQAは、トリビアスタイルの質問と回答のペアをFreebase(知識ベース)とマッチングさせた新しい事実に基づくQAデータセットやねん。AIの質問応答能力を評価するためのベンチマークとして使われてるで。
[73] Jiangさんらが2024年に出したHyKGEは、仮説知識グラフを使って精度を向上させるフレームワークやねん。(論文タイトルが途中で切れてるけど)知識グラフに仮説を組み込んで、より正確な推論ができるようにしたっていう研究みたいやな。
---
## Page 35
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p035.png)
### 和訳
グラフ検索拡張生成(Graph RAG)に関するサーベイ
111:35ページ
ほんで、信頼できる医療用LLMの応答についての研究やな。arXiv:2312.15883 [cs.CL] https://arxiv.org/abs/2312.15883
[74] Bowen Jinらの2024年の研究で「グラフ上での大規模言語モデル:包括的サーベイ」っていうのがあるねん。要するに、LLMとグラフがどう組み合わさってるかを全部まとめた論文やで。arXiv:2312.02783 [cs.CL] https://arxiv.org/abs/2312.02783
[75] これもBowen Jinらの2024年の研究やねんけど、「グラフ思考連鎖(Graph Chain-of-Thought):グラフ上で推論することで大規模言語モデルを強化する」っていうテーマや。なんでかっていうと、LLMにグラフを使って考えさせたら、もっと賢くなるんちゃうかって話やねん。arXiv:2404.07103 [cs.CL] https://arxiv.org/abs/2404.07103
[76] Di Jinらの2020年の研究は「この患者さん、何の病気なん?」っていう、医学試験から作った大規模オープンドメイン質問応答データセットの話や。めっちゃ実用的なデータセットやで。arXiv:2009.13081 [cs.CL] https://arxiv.org/abs/2009.13081
[77] Mandar Joshiらの2017年の研究は「TriviaQA」っていう、読解力を試すためのめっちゃでかいチャレンジ用データセットの話や。2017年7月30日〜8月4日にバンクーバーで開かれたACL 2017の第55回年次大会で発表されてん。1601〜1611ページに載ってるで。
[78] Vladimir Karpukhinらの2020年の研究は「オープンドメイン質問応答のための密ベクトル検索(Dense Passage Retrieval)」や。2020年11月16〜20日にオンラインで開催されたEMNLP 2020で発表されてん。6769〜6781ページやな。これ、質問に答えるために関連する文章を見つけ出す技術の話やねん。
[79] Sohum Kashyapらの2024年の研究は「知識グラフで大規模言語モデルをアシストする」っていうテーマや。
[80] Jiho Kimらの2023年の研究「KG-GPT:大規模言語モデルを使って知識グラフ上で推論するための汎用フレームワーク」は、2023年12月6〜10日にシンガポールで開催されたEMNLP 2023のFindingsで発表されてん。9410〜9421ページやで。
[81] Jaewoong KimとMoohong Minの2024年の研究は「RAGからQA-RAGへ:製薬の規制コンプライアンスプロセスに生成AIを統合する」っていう話や。製薬業界で規制を守るために生成AIをどう使うかって内容やねん。arXiv:2402.01717 [cs.CL] https://arxiv.org/abs/2402.01717
[82] Jiho Kimらの2023年の別の研究「FactKG:知識グラフ上での推論によるファクト検証」は、2023年7月9〜14日にトロントで開催されたACL 2023で発表されてん。16190〜16206ページや。事実かどうかを知識グラフ使って確認する方法やで。
[83] Thomas N. KipfとMax Wellingの2017年の研究は「グラフ畳み込みネットワーク(GCN)による半教師あり分類」や。2017年4月24〜26日にフランスのトゥーロンで開催されたICLR 2017で発表されてん。これめっちゃ有名な論文で、グラフデータを深層学習で扱う基礎になってるやつやねん。
[84] Tom Kwiatkowskiらの2019年の研究「Natural Questions:質問応答研究のためのベンチマーク」は、Transactions of the Association for Computational Linguisticsの第7巻、452〜466ページに載ってるで。Googleが作った質問応答の有名なデータセットやねん。
[85] Yunshi Lanらの2021年の研究は「複雑な知識ベース質問応答:手法、課題、解決策のサーベイ」や。2021年8月19〜27日にモントリオールでオンライン開催されたIJCAI 2021で発表されてん。4483〜4491ページやな。
[86] 同じYunshi Lanらの2023年の研究「複雑な知識ベース質問応答:サーベイ」は、IEEE Transactions on Knowledge and Data Engineeringの第35巻11号、11196〜11215ページに載ってるで。
[87] Yunshi LanとJing Jiangの2020年の研究は「知識ベースから複数ホップの複雑な質問に答えるためのクエリグラフ生成」や。2020年7月5〜10日にオンライン開催されたACL 2020で発表されてん。969〜974ページやな。複雑な質問に答えるために、どうやってグラフ上でクエリを組み立てるかって話や。
[88] Brian Lesterらの2021年の研究「パラメータ効率の良いプロンプトチューニングにおけるスケールの力」は、2021年11月7〜11日にプンタカナでオンライン開催されたEMNLP 2021で発表されてん。3045〜3059ページや。少ないパラメータでプロンプトを調整する方法についての研究やねん。
[89] Dawei Liらの2024年の研究「DALK:科学文献を使ってアルツハイマー病に関する質問に答えるためのLLMと知識グラフの動的共同拡張」やな。LLMと知識グラフを一緒に動的に強化して、アルツハイマーに関する質問に答えようっていう、めっちゃ実用的な研究やで。arXiv:2405.04819 [cs.CL] https://arxiv.org/abs/2405.04819
[90] Shiyang Liらの2023年の研究「トリプレット検索を使った質問応答のためのグラフ推論」は、2023年7月9〜14日にトロントで開催されたACL 2023のFindingsで発表されてん。3366〜3375ページや。トリプレット(主語-述語-目的語の3つ組)を取ってきて推論する方法やな。
[91] Xiang Lisa LiとPercy Liangの2021年の研究「Prefix-Tuning:生成のための連続プロンプトの最適化」は、2021年8月1〜6日にオンライン開催されたACL/IJCNLP 2021で発表されてん。4582〜4597ページやで。プロンプトの前に付け加える部分を学習させて、生成タスクを良くしようっていう手法や。
[92] Yuhan Liらの2024年の研究「グラフと大規模言語モデルの出会い:進展と今後の方向性のサーベイ」やな。グラフとLLMがどう融合してきてるか、これからどうなるかをまとめた論文やで。arXiv:2311.12399 [cs.LG] https://arxiv.org/abs/2311.12399
[93] Yinheng Liらの2024年の研究「金融における大規模言語モデル:サーベイ」は、金融分野でLLMがどう使われてるかをまとめた論文や。arXiv:2311.10723 [q-fin.GN] https://arxiv.org/abs/2311.10723
J. ACM, Vol. 37, No. 4, Article 111. 発行日:2024年9月
---
## Page 36
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p036.png)
### 和訳
Peng et al.
[94] Yihao Liさんたち、2024年の研究やねんけど、これがめっちゃおもろいねん。ナレッジグラフを使ってLLM(大規模言語モデル)の推論をパワーアップさせる方法を考えたんや。要するに、AIが「考える」ときに、知識のネットワークを一緒に使って協力させたら、もっと賢くなるやろって話やな。arXiv:2402.04978 [cs.CL] https://arxiv.org/abs/2402.04978
[95] Zhuoyang Liさんたちも2024年に発表してんねんけど、「UniOQA」っていう統一フレームワークを作ったんや。ナレッジグラフに対する質問応答を、大規模言語モデルを使ってやるための仕組みやねん。バラバラやった手法を一つにまとめたってことやな。arXiv:2406.02110 [cs.CL] https://arxiv.org/abs/2406.02110
[96] Zijian Liさんたちの2024年の研究は、グラフニューラルネットワーク(GNN)を使って、LLMの質問応答の情報検索をパワーアップさせる方法やねん。GNNってのは、データの「つながり」を学習できるAIの一種やで。arXiv:2406.06572 [cs.CL] https://arxiv.org/abs/2406.06572
[97] Bill Yuchen Linさんたちの2019年の研究は「KagNet」っていうシステムやねん。これは常識的な推論をするために、知識を意識したグラフネットワークを使うんや。EMNLP-IJCNLP 2019っていう香港で開催された学会で発表されて、2829〜2839ページに載ってるで。
[98] 同じBill Yuchen Linさんたちが2021年に発表した「RiddleSense」は、なぞなぞ問題に挑戦する研究やねん。言語的な創造性と常識知識を使って、なぞなぞを解くっていう、なかなかユニークな課題やな。ACL/IJCNLP 2021のFindingsで発表されて、1504〜1515ページやで。
[99] Guangyi Liuさんたちの2024年の研究は「Explore then Determine」っていうフレームワークやねん。GNNとLLMを組み合わせて、ナレッジグラフ上で推論するんや。まず探索して、それから決定するっていう二段階のアプローチやな。arXiv:2406.01145 [cs.CL] https://arxiv.org/abs/2406.01145
[100] H LiuさんとP Singhさんの2004年の研究は「ConceptNet」やねん。これは実用的な常識推論のためのツールキットで、BT technology journalの22巻4号、211〜226ページに載ってるで。めっちゃ昔からあるけど、今でも使われてる基礎的な知識ベースやな。
[101] Haochen Liuさんたちの2024年の研究は、ナレッジグラフでLLMをパワーアップさせる方法やねんけど、「パス選択」っていうアプローチを使うんや。知識グラフの中からどの経路が重要かを選んで、それを言語モデルに教えてあげるわけやな。ACL 2024のFindingsで発表されて、6311〜6321ページやで。
[102] Jiawei Liuさんたちの2024年の研究は、グラフ基盤モデルに向けたサーベイ論文やねん。「基盤モデル」っていうのは、いろんなタスクに使える万能なAIモデルのことで、それをグラフデータに対してどう作るかっていう全体像をまとめてくれてるんや。arXiv:2310.11829 [cs.LG] https://arxiv.org/abs/2310.11829
[103] Lei Liuさんたちの2024年の研究は、医療分野の大規模言語モデルについてのサーベイやねん。技術、応用、信頼性、そして将来の方向性について網羅的にまとめてくれてるで。医療AIに興味ある人には必読やな。arXiv:2406.03712 [cs.CL] https://arxiv.org/abs/2406.03712
[104] Nelson F. Liuさんたちの2024年の研究は「Lost in the Middle」っていうタイトルで、言語モデルが長い文脈をどう使うかを調べてんねん。なんでかっていうと、長い文章の真ん中あたりにある情報を、AIが見落としがちやっていう問題があるからやねん。Trans. Assoc. Comput. Linguisticsの12巻、157〜173ページやで。
[105] Xiao Liuさんたちの2022年の研究は「P-Tuning」やねん。プロンプトチューニング(AIへの指示の出し方を調整する方法)が、ファインチューニング(モデル自体を調整する方法)と同じくらい効果的やっていうことを、いろんな規模とタスクで示したんや。ACL 2022の短い論文部門で、61〜68ページやで。
[106] 同じXiao Liuさんたちの2023年の研究「GPT Understands, Too」は、GPTも理解してるんやでっていう話やな。arXiv:2103.10385 [cs.CL] https://arxiv.org/abs/2103.10385
[107] Yinhan Liuさんたちの2019年の研究は「RoBERTa」やねん。これはBERTっていう有名なAIモデルの事前学習をめっちゃ最適化したバージョンやで。ロバストに(頑健に)最適化されたBERT事前学習アプローチってことやな。arXiv:1907.11692 [cs.CL] https://arxiv.org/abs/1907.11692
[108] Pei-Chi LoさんとEe-Peng Limさんの2023年の研究は「Contextual Path Retrieval」やねん。文脈を考慮したエンティティ関係の埋め込みを使って、パスを検索するアプローチやな。ACM Trans. Inf. Syst.の41巻1号、1:1〜1:38ページやで。
[109] Lajanugen Logeswaranさんたちの2019年の研究は、エンティティの説明文を読むだけで、学習データなしでエンティティリンキング(テキスト中の言葉を知識ベースの項目に結びつけること)ができるっていう研究やねん。ゼロショットでできるってすごいやろ。ACL 2019で発表されて、3449〜3460ページやで。
[110] Dan Luoさんたちの2023年の研究は、複雑なナレッジベース質問応答を改善する方法やねん。関係を意識したサブグラフ検索と推論ネットワークを使うんや。IJCNN 2023っていうオーストラリアのゴールドコーストで開催された学会で発表されて、1〜8ページやで。
[111] Haoran Luoさんたちの2024年の研究は「ChatKBQA」やねん。これは「まず生成して、それから検索する」っていうフレームワークで、ファインチューニングされた大規模言語モデルを使ってナレッジベース質問応答をするんや。arXiv:2310.08975 [cs.CL] https://arxiv.org/abs/2310.08975
[112] Linhao Luoさんたちの2024年の研究は「Reasoning on Graphs」やねん。グラフ上での忠実で解釈可能なLLM推論を目指してるんや。AIがなんでその答えを出したか、ちゃんと説明できるようにするってことやな。arXiv:2310.01061 [cs.CL] https://arxiv.org/abs/2310.01061
[113] Shengjie Maさんたちの2024年の研究は「Think-on-Graph 2.0」やねん。ナレッジグラフを使った検索で、深くて解釈可能なLLM推論を実現するんや。バージョン2.0ってことは、前のバージョンからさらに進化してるってことやな。arXiv:2407.10805 [cs.CL] https://arxiv.org/abs/2407.10805
[114] Xinbei Maさんたちの2023年の研究は、検索拡張型の大規模言語モデルのためのクエリ書き換えについてやねん。ユーザーの質問をそのまま使うんやなくて、検索に適した形に書き換えるってことやな。arXiv:2305.14283 [cs.CL] https://arxiv.org/abs/2305.14283
[115] Haitao Maoさんたちの2024年の研究は「グラフ基盤モデルはもうここにある」っていう立場表明(Position paper)やねん。第41回機械学習国際会議で発表されたんやけど、グラフ基盤モデルはもう実現してるんやでっていう主張やな。
J. ACM, Vol. 37, No. 4, Article 111. Publication date: September 2024.
---
## Page 37
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p037.png)
### 和訳
Graph Retrieval-Augmented Generation: A Survey
111:37
Learning(学習)のとこやね。
[116] Qiheng Maoさんら、2024年の論文やねんけど、これめっちゃ大事な話でな。大規模言語モデル(LLMって呼ばれるやつ、ChatGPTみたいなやつやな)を使ってグラフ表現学習をどう進化させるかっていう技術を全部まとめた総合サーベイやねん。グラフ表現学習ってのは、ネットワークみたいなつながりのあるデータをAIが理解できる形に変換する技術のことやで。arXiv:2402.05952
[117] Shengyu Maoさんらの2024年の研究「RaFe」やねんけど、これなにがすごいかっていうとな、RAG(検索拡張生成)でクエリ書き換えをランキングのフィードバックで改善するって話やねん。要するに、AIに質問するとき、その質問をもっとええ感じに書き換えて、より良い答え引っ張ってこれるようにする技術やな。arXiv:2405.14431
[118] Costas Mavramatisさんと George Karypis さんの2022年の研究「ReaRev」。知識グラフ上での質問応答に適応的推論を使うって話やねん。知識グラフってのは、「織田信長は日本の武将である」みたいな知識をネットワーク状につないだデータベースみたいなもんや。それ使って質問に答えるとき、柔軟に考え方変えていけるようにしたんやな。EMNLP 2022でアブダビで発表されたやつや。
[119] 同じMavramatisさんらの2024年の研究「GNN-RAG」。グラフニューラルネットワーク(GNN)を使った検索で大規模言語モデルの推論能力上げようって話やねん。GNNってのは、グラフ構造のデータを処理するのに特化したニューラルネットワークのことやで。arXiv:2405.20139
[120] Todor Mihaylovさんらの2018年の研究で「鎧って電気通すん?」っていうタイトルがおもろいやろ。これ、オープンブック質問応答用の新しいデータセット作りましたって話やねん。オープンブックってのは、参考書見ながらテスト受けるみたいな感じで、外部知識使って質問に答えるタスクのことや。EMNLP 2018でブリュッセルで発表されたで。
[121] Alexander H. Millerさんらの2016年の研究「Key-Value Memory Networks」。文書を直接読むためのキーバリューメモリネットワークやねん。キーで検索してバリューを取り出すっていう、辞書みたいな仕組みをニューラルネットに組み込んだやつや。EMNLP 2016、テキサスのオースティンでの発表やな。
[122] Seungwhan Moonさんらの2019年の研究「OpenDialKG」。知識グラフ上のアテンションベースの歩行で説明可能な会話推論を実現するって話やねん。要するに、AIが会話するとき、知識グラフの上を歩き回るみたいにして情報集めて、「なんでその答えになったか」も説明できるようにしたんや。ACL 2019、フィレンツェでの発表やで。
[123] Christopher Morrisさんらの2020年の研究「TUDataset」。グラフ学習用のベンチマークデータセットをまとめたコレクションやねん。AIの性能比較するのに、みんなが同じデータで試せるように標準的なデータセット用意しましたって話や。ICML 2020のワークショップで出たやつやな。
[124] Sai Munikotiさんらの2023年の研究「ATLANTIC」。学際的な科学研究のための構造を意識した検索拡張言語モデルやねん。いろんな分野にまたがる科学の問題を解くとき、データの構造も考慮して賢く検索・生成するモデルってことやな。arXiv:2311.12289
[125] Yuqi Nieさんらの2024年の研究。金融アプリケーション向けの大規模言語モデルについてのサーベイやねん。株とか投資とかの分野でLLMがどう使われてて、今後どうなりそうで、どんな課題があるかをまとめた論文や。arXiv:2406.11903
[126] Yasumasa Onoeさんらの2021年の研究「CREAK」。エンティティ知識に関する常識推論のためのデータセットやねん。エンティティってのは「人」とか「場所」とか「物」みたいな実体のことで、それについての常識的な推論ができるかテストするデータセットや。NeurIPS 2021で発表されたで。
[127] OpenAIの2024年の論文「GPT-4 Technical Report」。あの有名なGPT-4の技術報告書やな。arXiv:2303.08774
[128] Long Ouyangさんらの2022年の研究。人間のフィードバックを使って言語モデルに指示に従うよう訓練するって話やねん。これがいわゆるRLHF(人間のフィードバックによる強化学習)ってやつで、ChatGPTとかがちゃんと言うこと聞くようになった重要な技術やで。NeurIPS 2022の論文や。
[129] Vardaan Pahujaさんらの2023年の研究。知識グラフのリンク予測のための「検索して読む」フレームワークやねん。リンク予測ってのは、知識グラフで「この人とこの人、なんか関係あるんちゃう?」って予測することや。CIKM 2023、バーミンガムでの発表やな。
[130] Jeff Z. Panさんらの2023年の研究。大規模言語モデルと知識グラフの機会と課題についてやねん。LLMと知識グラフ、この2つをどう組み合わせたらええか、可能性と問題点をまとめた論文や。TGDK誌に載ったやつやで。
[131] Shirui Panさんらの2024年の研究「Unifying Large Language Models and Knowledge Graphs: A Roadmap」。大規模言語モデルと知識グラフを統合するためのロードマップやねん。この2つの技術をどうやって一緒に使っていくか、将来への道筋を示した論文や。IEEE Transactions on Knowledge and Data Engineeringに載ってるで。
[132] Wenjun Pengさんらの2024年の研究。タオバオ検索でのロングテールクエリ書き換えに大規模言語モデル使う話やねん。ロングテールクエリってのは、あんまり検索されへんけど存在する細かい検索クエリのことで、それをLLMでうまく処理しようって実践的な研究やな。WWW 2024、シンガポールでの発表や。
[133] Zhuoyi Pengさんと Yi Yangさんの2024年の研究「Connecting the Dots」。取得したフレーズグラフを使って特許フレーズの類似性を推論するって話やねん。特許の文書で似たような表現を見つけるのに、フレーズをグラフにして関係性から判断するアプローチや。arXiv:2403.16265
[134] Aleksandr Perevalovさんらの2022年の研究「QALD-9-plus」。DBpediaとWikidataに対する質問応答の多言語データセットで、ネイティブスピーカーが翻訳したやつやねん。いろんな言語で知識グラフに質問できるかテストするためのデータセットや。IEEE ICSC 2022、カリフォルニアでの発表やな。
[135] Fabio Petroniさんらの2021年の研究「KILT」。知識集約型言語タスクのベンチマークやねん。知識をたくさん必要とするいろんなタスク(質問応答とか事実確認とか)をまとめて評価できるベンチマーク作りましたって話や。NAACL 2021で発表されたで。
J. ACM, Vol. 37, No. 4, Article 111. 2024年9月発行やで。
---
## Page 38
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p038.png)
### 和訳
[136] Zhixiao Qiらの研究グループが2023年に発表したやつやねん。FoodGPTっていう、食品検査の分野に特化した大規模言語モデルを作ったんや。これがめっちゃおもろいのが、段階的に事前学習させて、さらにナレッジグラフ(知識を網の目みたいに整理したやつな)を使ったプロンプトで性能上げてるとこやねん。
[137] Zile Qiaoらが2024年に出した論文やで。RAG(検索で情報取ってきて言語モデルに渡すやつな)をもっと賢くするために、「この情報ほんまに役立つんか?」っていう観点から知識を書き換える手法を提案してんねん。Supportiveness-basedっていうのは、つまり「サポートになるかどうか」で判断するってことや。
[138] Colin Raffelらが2020年に発表した超有名な論文やな。T5モデルの話やで。転移学習(あるタスクで学んだことを別のタスクに活かすやつ)の限界をどこまで押し広げられるか探求したんや。ポイントは、全部のタスクを「テキストからテキストへの変換」っていう形式に統一したとこやねん。めっちゃシンプルやけど、これが効いたんや。
[139] Priyanka RanadeとAnupam Joshiが2023年に発表したFABULAっていうシステムや。情報レポートを自動生成するんやけど、RAG(検索拡張)を使ってナラティブ、つまり物語みたいな構成で文章を組み立てるっていうアプローチやねん。インテリジェンスレポートって、諜報とか情報分析のレポートのことやで。
[140] Nils ReimersとIryna Gurevychが2019年に発表したSentence-BERTや。これめっちゃ重要な研究やねん。BERTっていう言語モデルを使って文章全体の意味をベクトル(数字の並び)で表現できるようにしたんや。シャムネットワークっていう、双子みたいに同じ構造のネットワークを2つ使う方法でやってるねん。これのおかげで文章同士の類似度を計算するのがめっちゃ速くなったんやで。
[141] Yu Rongらが2020年に発表したDropEdgeや。グラフニューラルネットワーク(データを網の目構造で処理するAI)を深くしていくと性能落ちる問題があってんけど、それを解決する手法やねん。ノード分類(網の目の各点を分類するタスク)で使えるで。
[142] Maarten Sapらが2019年に発表したATOMICやな。これ、機械に常識を教えるためのデータセットやねん。「もしこうなったら、次はこうなる」っていう因果関係の知識をめっちゃ集めたアトラス(地図帳みたいなもん)や。AIに「普通こうなるやろ」っていう推論をさせるための基盤になってるんやで。
[143] 同じくMaarten Sapらが2019年に出したSocialIQAや。これは社会的なやりとりについての常識推論のデータセットやねん。「この状況で相手はどう思う?」とか「なんでこの人こんなことしたん?」みたいな、人間関係の機微を理解するためのもんやで。
[144] Bhaskarjit Sarmahらが2024年に発表したHybridRAGや。ナレッジグラフ(知識の網の目)とベクトル検索(意味で検索するやつ)を両方組み合わせたRAGシステムやねん。情報抽出を効率よくやるために、両方のいいとこ取りしようっていう発想やな。
[145] Apoorv Saxenaらが2020年に発表した研究や。ナレッジグラフを使った質問応答で、複数のステップを踏まないと答えられへん問題(マルチホップ質問応答っていうねん)をどう改善するかって話や。ナレッジベースの埋め込み表現(知識をベクトルに変換したやつ)を使ってるのがミソやで。
[146] Priyanka Senらが2022年に発表したMintakaっていうデータセットや。質問応答のためのデータセットやねんけど、複雑で自然な質問が入ってて、しかも多言語対応っていうのがポイントやな。エンドツーエンド(最初から最後まで一気に処理する)の質問応答システムの評価に使えるで。
[147] Ahsan Shehzadらが2024年に出したGraph Transformersのサーベイ(調査論文)や。グラフ構造のデータをTransformer(最近のAIの主流アーキテクチャ)で処理する手法をまとめてるねん。この分野の全体像を把握したかったら、まずこれ読んどくとええで。
[148] Yiheng Shuらが2022年に発表したTIARAや。大規模なナレッジベースに対する質問応答をロバスト(頑健、ちょっとやそっとじゃ壊れへん)にするための手法やねん。マルチグレインド検索っていって、粗いレベルから細かいレベルまで複数の粒度で情報を取ってくるアプローチやで。
[149] Saurabh Srivastavaらが2020年に発表した研究や。スマートシティ向けのIoT(モノのインターネット)監視ゴミ箱の話やねん。センサーとかつけて、ゴミの状態を監視できるようにしたっていう実用的な研究やな。
[150] Fabian M Suchanekらが2007年に発表したYAGOや。これめっちゃ有名なナレッジベースやねん。意味的な知識の核心部分を集めたもんで、WikipediaとWordNetから情報抽出して作ったんや。今でもいろんな研究で使われてるで。
[151] Haitian Sunらが2019年に発表したPullNetや。オープンドメイン(特定の分野に限定せん)の質問応答システムやねん。ナレッジベースとテキストの両方から、繰り返し検索して情報を引っ張ってくる(Pull)アプローチやで。
[152] 同じくHaitian Sunらが2018年に発表した研究や。オープンドメイン質問応答で、ナレッジベースとテキストを早い段階で融合(Early Fusion)させるっていうアイデアやねん。両方の情報源を最初から一緒に使うことで、より良い答えを出せるようになるっていう話やで。
[153] Hao Sunらが2023年に発表した研究やな。会話型のナレッジベース質問応答(チャットしながら質問に答えるシステム)を改善する手法やねん。履歴のセマンティックグラフ(過去の会話の意味を網の目で表現したやつ)を使って、さらに時間情報のモデリングも入れてるのがポイントや。「さっき聞いたあれ」みたいな文脈を理解するのに役立つねん。
---
## Page 39
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p039.png)
### 和訳
Graph Retrieval-Augmented Generation: A Survey
111:39
[154] Jiashuo Sunさんたちが2024年に出した「Think-on-Graph」っちゅう論文やねんけど、これめっちゃおもろいねん。大規模言語モデル(LLM)にナレッジグラフ上で深く責任ある推論させようっちゅう研究やで。要は、AIがただ適当に答えるんやなくて、ちゃんと知識のつながりを辿りながら考えさせようっちゅうことやな。arXiv:2307.07697 [cs.CL] https://arxiv.org/abs/2307.07697
[155] Lei Sunさんらの2024年の「ODA」は、観察駆動型エージェントっちゅうやつで、LLMとナレッジグラフをうまいこと統合する方法を提案してるねん。なんでかっていうと、AIが見たもん(観察)を元に動くようにしたら、もっと賢く情報使えるやろって発想やねんな。arXiv:2404.07677 [cs.CL] https://arxiv.org/abs/2404.07677
[156] Alon TalmorさんとJonathan Berantさんの2018年の研究は、ウェブ全体を知識ベースとして使って複雑な質問に答えようっちゅうもんやねん。NAACL-HLT 2018でニューオーリンズで発表されたやつで、641-651ページに載ってるで。ウェブにある情報そのものをデータベース代わりにしようっちゅう、ほんまに大胆な発想やな。
[157] 同じTalmorさんが2019年に出した「CommonsenseQA」は、常識的な知識を問う質問応答のチャレンジやねん。ミネアポリスのNAACL-HLT 2019で発表されて、4149-4158ページや。AIに「普通の人やったら知ってるやろ」っていう常識をちゃんと理解させようっちゅうベンチマークやな。
[158] Dhaval Taunkさんたちの2023年の「GrapeQA」は、グラフの拡張と枝刈りで質問応答を強化しようっちゅう研究やねん。ACM Web Conference 2023のCompanionで、オースティンで発表されたやつや。グラフを大きくしたり、いらんとこ削ったりして、答えの精度上げようっちゅうことやな。1138-1144ページ。
[159] Kristina Toutanovaさんらの2015年の研究は、テキストとナレッジベースを一緒に埋め込み表現にする方法やねん。リスボンのEMNLP 2015で発表されて、1499-1509ページ。文章と知識を同じ空間で表現できたら、めっちゃ便利やろっちゅう話やな。
[160] Hugo Touvronさんらの2023年の「Llama 2」は、オープンな基盤モデルとファインチューニングされたチャットモデルやねん。Meta(旧Facebook)が出したやつで、誰でも使えるように公開されてるのがほんまにありがたいやつやで。arXiv:2307.09288 [cs.CL] https://arxiv.org/abs/2307.09288
[161] Ashish Vaswaniさんたちの2017年の「Attention is All you Need」は、もうこれ伝説級の論文やで。Transformerっちゅうアーキテクチャを提案したやつで、今のAIの基盤になってるねん。NeurIPS 2017でロングビーチで発表されて、5998-6008ページ。「注意機構だけでええねん!」っちゅう衝撃的な主張やったな。
[162] Petar Veličkovićさんらの2018年の「Graph Attention Networks」は、グラフに注意機構を適用したやつやねん。グラフの中で「どのノードが大事か」を自動で学習できるようになったんやで。arXiv:1710.10903 [stat.ML] https://arxiv.org/abs/1710.10903
[163] Denny VrandečićさんとMarkus Krötzschさんの2014年の論文は、Wikidataについて解説したやつやねん。みんなで協力して作るフリーのナレッジベースやで。Communications of the ACMの57巻10号、78-85ページ。ウィキペディアの構造化データ版みたいなもんやな。
[164] Chaojie Wangさんらの2023年の「keqing」は、知識ベースを使った質問応答がLLMのChain-of-Thought(思考の連鎖)の先生役になるっちゅう研究やねん。要は、知識を使って段階的に考える方法をAIに教えようっちゅうことやな。arXiv:2401.00426 [cs.CL] https://arxiv.org/abs/2401.00426
[165] Heng Wangさんたちの2023年NeurIPSの研究は、「言語モデルって自然言語でグラフ問題解けるん?」っちゅう素朴やけど大事な疑問に答えようとしてるねん。ニューオーリンズで発表されたやつやで。
[166] Jinqiang Wangさんらの2024年のサーベイは、汎用的なLLMから医療応用まで幅広くカバーしてるねん。データセット、方法論、評価方法まで全部まとめてくれてるから、医療AI興味ある人にはめっちゃ参考になるで。arXiv:2406.10303 [cs.CL] https://arxiv.org/abs/2406.10303
[167] Keheng Wangさんたちの2023年の「Knowledge-Driven CoT」は、知識集約型の質問応答でLLMに信頼できる推論させようっちゅう研究やねん。知識で駆動するChain-of-Thoughtで、でたらめ言わんようにしようっちゅうことやな。arXiv:2308.13259 [cs.CL] https://arxiv.org/abs/2308.13259
[168] Ruijie Wangさんらの2022年の「RETE」は、時系列イベント予測を強化するための検索技術やねん。WWW 2022でリヨンで発表されて、462-472ページ。商品の進化を統一的なグラフで表現して、将来何が起こるか予測しようっちゅうもんやな。
[169] Shen Wangさんたちの2024年のサーベイは、教育向けLLMについてまとめたやつやねん。AIが先生代わりになる未来について、現状と展望を解説してくれてるで。arXiv:2403.18105 [cs.CL] https://arxiv.org/abs/2403.18105
[170] Xintao Wangさんらの2023年の「KnowledGPT」は、LLMに知識ベースへの検索・保存アクセスを与えて強化しようっちゅう研究やねん。AIが自分で知識を調べたり、新しい知識を保存したりできるようになるんやで。arXiv:2308.11761 [cs.CL] https://arxiv.org/abs/2308.11761
[171] Yuqi Wangさんたちの2024年の研究は、効率的な知識パス上での推論についてやねん。ナレッジグラフがLLMを導いて、専門分野の質問にうまく答えられるようにしようっちゅうことや。arXiv:2404.10384 [cs.CL] https://arxiv.org/abs/2404.10384
[172] Yu Wangさんらの2024年AAAI論文は、複数文書への質問応答にナレッジグラフのプロンプティングを使おうっちゅう研究やねん。バンクーバーで発表されて、19206-19214ページ。いっぱい文書があっても、グラフで整理したら答えやすくなるっちゅうことやな。
J. ACM, Vol. 37, No. 4, Article 111. 2024年9月発行。
---
## Page 40
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p040.png)
### 和訳
[173] Yaoke Wang, Yun Zhu, Wenqiao Zhang, Yueting Zhuang, Yunfei Li, and Siliang Tang. 2024. テキスト属性付きグラフにおけるローカルな詳細とグローバルな文脈の橋渡し。arXiv:2406.12608 [cs.CL] https://arxiv.org/abs/2406.12608
→ これな、テキストがくっついたグラフデータで、細かいとこと全体像をうまいことつなげる方法の話やねん。
[174] Yinwei Wei, Xiang Wang, Liqiang Nie, Xiangnan He, Richang Hong, and Tat-Seng Chua. 2019. MMGCN:ショート動画のパーソナライズドレコメンデーションのためのマルチモーダルグラフ畳み込みネットワーク。第27回ACM国際マルチメディア会議論文集、1437–1445。
→ TikTokみたいなショート動画を「この人これ好きやろ」って当てるやつな。画像とかテキストとか色んな情報を一緒くたにして学習させるグラフのニューラルネットワークやで。
[175] Yilin Wen, Zifeng Wang, and Jimeng Sun. 2024. MindMap:大規模言語モデルにおける思考のグラフを引き出すナレッジグラフプロンプティング。arXiv:2308.09729 [cs.AI] https://arxiv.org/abs/2308.09729
→ 知識グラフをうまいこと使って、LLMに「あれとこれがつながってるな」って連想ゲームみたいに考えさせる仕組みやねん。マインドマップ作るみたいなもんや。
[176] Sondre Wold, Lilja Øvrelid, and Erik Velldal. 2023. テキストから知識グラフへのアラインメント:分類タスクにおける現行手法の比較。arXiv:2306.02871 [cs.CL] https://arxiv.org/abs/2306.02871
→ 普通の文章と知識グラフをどうやって対応付けるか、今ある方法を分類問題で比べてみたって研究や。
[177] Junde Wu, Jiayuan Zhu, and Yunli Qi. 2024. Medical Graph RAG:グラフ検索拡張生成による安全な医療大規模言語モデルに向けて。arXiv:2408.04187 [cs.CV] https://arxiv.org/abs/2408.04187
→ 医療分野でLLMが変なこと言わんように、医学知識のグラフから情報引っ張ってきて回答させる仕組みやねん。めっちゃ大事やで、命に関わるからな。
[178] Shangyu Wu, Ying Xiong, Yufei Cui, Haolun Wu, Can Chen, Ye Yuan, Lianming Huang, Xue Liu, Tei-Wei Kuo, Nan Guan, and Chun Jason Xue. 2024. 自然言語処理のための検索拡張生成:サーベイ。arXiv:2407.13193 [cs.CL] https://arxiv.org/abs/2407.13193
→ RAG(検索して関連情報持ってきてから回答生成するやつ)の総まとめ論文や。NLP分野でのRAGの使われ方を網羅的に調べとるで。
[179] Shirley Wu, Shiyu Zhao, Michihiro Yasunaga, Kexin Huang, Kaidi Cao, Qian Huang, Vassilis N. Ioannidis, Karthik Subbian, James Zou, and Jure Leskovec. 2024. STaRK:テキストおよび関係知識ベース上のLLM検索ベンチマーク。arXiv:2404.13207 [cs.IR] https://arxiv.org/abs/2404.13207
→ LLMが知識ベースから情報を検索する能力をちゃんと測るためのベンチマークを作ったって話や。テキストだけやなくて、関係性も含めた知識ベースでテストするねん。
[180] Taiqiang Wu, Xingyu Bai, Weigang Guo, Weijie Liu, Siheng Li, and Yujiu Yang. 2023. ゼロショットエンティティ検索のための知識認識型階層グラフによる細粒度情報のモデリング。第16回ACM国際ウェブ検索・データマイニング会議(WSDM 2023)論文集、シンガポール、2023年2月27日〜3月3日、1021–1029。
→ 見たことないエンティティでも検索できるように、知識を階層構造のグラフで表現して細かい情報もちゃんと捉えようって研究やな。
[181] Yuxia Wu, Yuan Fang, and Lizi Liao. 2024. 動的グラフモデリングのための検索拡張生成。arXiv:2408.14523 [cs.LG] https://arxiv.org/abs/2408.14523
→ 時間とともに変わっていくグラフ(SNSのつながりとかな)に対してRAGを適用する方法やねん。
[182] Yike Wu, Nan Hu, Sheng Bi, Guilin Qi, Jie Ren, Anhuan Xie, and Wei Song. 2023. Retrieve-Rewrite-Answer:知識グラフ質問応答のためのKG-to-Text強化LLMフレームワーク。arXiv:2309.11206 [cs.CL] https://arxiv.org/abs/2309.11206
→ 知識グラフに質問するとき、まず検索して、それを文章に書き直して、LLMに答えさせるっていう3段構えの仕組みやで。
[183] Zhentao Xu, Mark Jerome Cruz, Matthew Guevara, Tie Wang, Manasi Deshpande, Xiaofeng Wang, and Zheng Li. 2024. カスタマーサービス質問応答のための知識グラフを用いた検索拡張生成。第47回国際ACM SIGIR情報検索研究開発会議(SIGIR 2024)論文集、ワシントンDC、2024年7月14–18日、2905–2909。
→ コールセンターとかのカスタマーサポートで、知識グラフとRAGを組み合わせてええ感じに答えるシステムの話やな。
[184] An Yang, Baosong Yang, and et al. 2024. Qwen2テクニカルレポート。arXiv:2407.10671 [cs.CL] https://arxiv.org/abs/2407.10671
→ アリババが作ったQwen2っていうLLMの技術詳細やで。どないして作ったかとか性能とか書いてあるねん。
[185] Rui Yang, Haoran Liu, Edison Marrese-Taylor, Qingcheng Zeng, Yu He Ke, Wanxin Li, Lechao Cheng, Qingyu Chen, James Caverlee, Yutaka Matsuo, and Irene Li. 2024. KG-Rank:知識グラフとランキング技術による医療QAのための大規模言語モデル強化。arXiv:2403.05881 [cs.CL] https://arxiv.org/abs/2403.05881
→ 医療の質問に答えるとき、知識グラフから関連情報を引っ張ってきて、さらにランキングでええやつを選んでLLMに渡すって方法やねん。
[186] Xiao Yang, Kai Sun, Hao Xin, Yushi Sun, Nikita Bhalla, Xiangsen Chen, Sajal Choudhary, Rongze Daniel Gui, Ziran Will Jiang, Ziyu Jiang, Lingkun Kong, Brian Moran, Jiaqi Wang, Yifan Ethan Xu, An Yan, Chenyu Yang, Eting Yuan, Hanwen Zha, Nan Tang, Lei Chen, Nicolas Scheffer, Yue Liu, Nirav Shah, Rakesh Wanga, Anuj Kumar, Wen tau Yih, and Xin Luna Dong. 2024. CRAG – 包括的RAGベンチマーク。arXiv:2406.04744 [cs.CL] https://arxiv.org/abs/2406.04744
→ RAGの性能をめっちゃ色んな角度から測れるベンチマークを作ったで。これでRAGシステムの実力がちゃんと分かるようになるねん。
[187] Zhilin Yang, Peng Qi, Saizheng Zhang, Yoshua Bengio, William W. Cohen, Ruslan Salakhutdinov, and Christopher D. Manning. 2018. HotpotQA:多様で説明可能なマルチホップ質問応答データセット。2018年自然言語処理における経験的手法会議(EMNLP)論文集、ブリュッセル、2018年10月31日〜11月4日、2369–2380。
→ 1回の検索じゃ答えられへん、何回もジャンプせなあかん質問のデータセットやねん。「なんでその答えなん?」っていう説明もついてるのがポイントや。
[188] Mohammad Yani and Adila Alfa Krisnadhi. 2021. シンプルな知識グラフ質問応答の課題・技術・トレンド:サーベイ。Inf. 12, 7 (2021), 271。
→ 知識グラフに対するシンプルな質問応答の研究を総まとめした論文や。何が難しくて、どんな方法があって、どこに向かってるかが分かるで。
[189] Michihiro Yasunaga, Hongyu Ren, Antoine Bosselut, Percy Liang, and Jure Leskovec. 2021. QA-GNN:質問応答のための言語モデルと知識グラフによる推論。北米計算言語学会(NAACL-HLT 2021)論文集、オンライン、2021年6月6–11日、535–546。
→ 言語モデルと知識グラフを組み合わせて、グラフニューラルネットワークで推論させるやつやねん。めっちゃ有名な手法やで。
[190] Ruosong Ye, Caiqi Zhang, Runhui Wang, Shuyuan Xu, and Yongfeng Zhang. 2024. 言語こそがグラフに必要なすべて。arXiv:2308.07134 [cs.CL] https://arxiv.org/abs/2308.07134
→ グラフの処理も結局は言語モデルでいけるんちゃう?っていう大胆な主張の論文や。
[191] Xi Ye, Semih Yavuz, Kazuma Hashimoto, Yingbo Zhou, and Caiming Xiong. 2021. Rng-kbqa:知識ベース質問応答のための生成拡張反復ランキング。arXiv preprint arXiv:2109.08678 (2021)。
→ 知識ベースへの質問応答で、生成とランキングを繰り返して答えの精度上げていく方法やねん。
[192] Wen-tau Yih, Matthew Richardson, Christopher Meek, Ming-Wei Chang, and Jina Suh. 2016. 知識ベース質問応答におけるセマンティックパースラベリングの価値。第54回計算言語学会年次会議(ACL 2016)論文集、ベルリン、2016年8月7–12日、第2巻:短論文。
→ 知識ベースに質問するとき、ちゃんと意味を解析してラベル付けしたデータがあるとめっちゃ役立つでっていう研究や。
J. ACM, Vol. 37, No. 4, Article 111. 発行日:2024年9月。
---
## Page 41
[](/attach/345fa9030560d7f9ec1f97e8a847ea0e5b361f97c630a927ba017c7906b6b533_p041.png)
### 和訳
[193] Donghan Yuさんらが2023年にICLR(めっちゃ有名な機械学習の国際会議やねん、ルワンダのキガリで5月1日から5日に開催されたやつな)で発表した「DecAF」っていう研究があんねん。これ何かっていうと、知識ベースに対する質問応答で、答えと論理形式を一緒にデコードするっちゅう手法やねん。要は質問に答えるときに「答え」と「その答えを導き出すロジック」を同時に出力するって感じやな。
[194] 同じDonghan Yuさんらが2022年にACL(これまた自然言語処理の超大手会議やで、ダブリンで5月22日から27日に開催)で発表した「KG-FiD」っちゅう研究もあんねん。Fusion-in-Decoderっていう手法に知識グラフを注入して、オープンドメインの質問応答をやるっちゅうもんやな。ページ番号は4961から4974やで。
[195] Hao Yuさんらが2024年に出したサーベイ論文で「RAGの評価に関する調査」やねん。arXivっていう論文プレプリントサーバーに上がってて、番号は2405.07437や。RAGってのは検索で補強した生成のことで、その評価方法をまとめた論文やな。
[196] Jing Zhangさんらが2022年のACL(同じくダブリンの会議やな)で発表した「サブグラフ検索で強化したマルチホップ知識ベース質問応答モデル」やねん。マルチホップってのは、一回の検索じゃなくて何段階も推論を重ねて答えにたどり着くやつやな。ページは5773から5784やで。
[197] Mengmei Zhangさんらが2024年のWWW(Webの国際会議で、シンガポールで5月13日から17日開催)で発表した「GraphTranslator」やねん。これはグラフモデルと大規模言語モデルを連携させて、オープンエンドなタスク(つまり答えが決まってないような柔軟な課題やな)に対応するっちゅう研究や。ページは1003から1014。
[198] Qinggang Zhangさんらが2024年に出した「KnowGPT」っていう研究で、知識グラフを使って大規模言語モデルにプロンプトを与えるっちゅうアプローチやねん。arXiv番号は2312.06185やで。
[199] Xikun Zhangさんらが2022年のICLR(バーチャル開催で4月25日から29日)で発表した「GreaseLM」やな。これはグラフ推論で言語モデルを強化するっちゅう手法で、「Graph REASoning Enhanced Language Models」の略やねん。まあ、グラフの力を借りて言語モデルの推論力をアップさせるってことや。
[200] Yuyu Zhangさんらが2018年のAAAI(人工知能の超有名会議で、ニューオーリンズで2月2日から7日開催)で発表した研究やねん。知識グラフを使った質問応答のための変分推論っちゅうテーマやな。変分推論ってのは確率的な推論手法の一種で、ちょっと数学的にややこしいけど、要は不確実性を扱いながら推論するってことやで。ページは6069から6076。
[201] Jianan Zhaoさんらが2023年に出した「GraphText」っていう研究で、テキスト空間でグラフ推論をやるっちゅうアプローチやねん。arXiv番号は2310.01089や。グラフの構造をテキストに変換して推論するって感じかな。
[202] Penghao Zhaoさんらが2024年に出したサーベイ論文で「AI生成コンテンツのためのRAGに関する調査」やねん。arXiv番号は2402.19473で、カテゴリはコンピュータビジョン(cs.CV)になってるな。AIが作るコンテンツをRAGでどう支援するかってまとめやで。
[203] Yanxin Zhengさんらが2024年に出した「医療分野における大規模言語モデルのサーベイ」やねん。arXiv番号は2405.13055や。医療でLLMをどう使うかっていう調査論文やな。
[204] Yun Zhuさんらが2024年に出した研究で、テキストグラフ上での大規模言語モデルの効率的なチューニングと推論についてやねん。arXiv番号は2401.15569や。要は、グラフ構造を持つテキストデータに対してLLMを効率よく使う方法を研究してるってことやな。
出典:J. ACM(Journal of the ACM、コンピュータサイエンスの超名門ジャーナルやで)、第37巻、第4号、論文番号111。2024年9月発行。
---
1 / 1