Synergizing LLMs and Knowledge Graphs: A Novel Approach to Software Repository-Related Question Answering
要約
# 要旨
- LLMとナレッジグラフを組み合わせて、ソフトウェアリポジトリに関する質問応答の精度向上を目指した研究
- 5つのオープンソースプロジェクトで評価を実施し、Chain-of-Thoughtプロンプトと組み合わせることで84%の精度を達成
# 1. はじめに
- ソフトウェアリポジトリには開発プロセスに関する重要な情報が含まれている
- これらの情報へのアクセスには技術的な専門知識と時間が必要
- 自然言語で情報にアクセスできるチャットボットが開発されているが、精度に課題がある
# 2. 背景と関連研究
- ソフトウェアリポジトリ:
- コミット、プルリクエスト、イシュー、開発者の活動などの情報を含む
- これらの情報は開発プロセスの理解に重要だが、分析には専門知識が必要
- ナレッジグラフ:
- エンティティとその関係を構造化して表現
- ソフトウェアリポジトリの表現に活用されている
- ソフトウェアエンジニアリングチャットボット:
- 自然言語でリポジトリ情報にアクセス可能
- 自然言語理解の精度に課題がある
# 3. アプローチ
- Knowledge Graph Constructor:
- リポジトリデータを収集してナレッジグラフを構築
- ユーザー、コミット、イシュー、ファイルの4つのエンティティを定義
- Query Generator:
- 自然言語の質問からグラフクエリを生成
- LLMを使用してCypherクエリを生成
- Query Executor:
- 生成されたクエリを実行してデータを取得
- Response Generator:
- 取得したデータを使用して自然言語の回答を生成
# 4. 評価設定
- 選定プロジェクト:
- GitHub上の人気のオープンソースプロジェクト5つを選定
- コードとイシュー追跡データがGitHub上にあるものを選定
- 評価質問:
- 20の質問を難易度別に3レベルに分類
- レベル1:単一エンティティのみ必要
- レベル2:1つの関係が必要
- レベル3:2つ以上の関係が必要
# 5. 結果
- RQ0: LLMのCypherクエリ生成能力の評価
- GPT-4oが65%の精度で最も高い性能
- RQ1: アプローチの有効性評価
- 全体で65%の精度を達成
- 難易度が上がるにつれて精度が低下
- RQ2: アプローチの限界の分析
- 不適切な関係のモデリングが最も多い問題
- 他に算術ロジックの誤り、属性フィルタの誤用などを特定
- RQ3: Chain-of-Thoughtの効果
- 精度が84%に向上
- 特にレベル3の質問で大きな改善
# 6. 考察
- プロジェクト間での精度の違いはLLMの非決定性による
- 曖昧な質問への対応にも一定の有効性を示す
- アドホックな質問にも対応可能
# 7. 妥当性の脅威
- 構成妥当性:
- ナレッジグラフスキーマへの依存
- 内部妥当性:
- LLM出力の確率的性質
- データ依存性
- 外部妥当性:
- 評価質問の一般性
# 8. 結論
- LLMとナレッジグラフの組み合わせは有効
- Chain-of-Thoughtにより精度が向上
- さらなる改善の余地あり
評価
# 新規性
- ソフトウェアリポジトリに関する質問応答において、LLMとナレッジグラフを組み合わせる初めての試み
- LLMによるCypherクエリ生成能力の実証的評価を初めて実施
- 質問の難易度に基づく3段階の分類方法を提案(1つの関係性のみ、2つの関係性、3つ以上の関係性が必要)
# 言及されている全ての関連研究との相違点
- Abdellatif et al.(2020)のMSRBotは限られた意図のみをサポート。本研究ではLLMを使うことで、より多様な意図に対応可能
- Abedu et al.(2024)のRAGベースのチャットボットは83.3%のケースで適切なデータ検索に失敗。本研究ではナレッジグラフを用いることで検索精度を改善
- 既存のソフトウェアリポジトリのナレッジグラフ研究(Zhao et al. 2019, Ma et al. 2024など)は質問応答に焦点を当てていない
# 有効性
- 5つの人気オープンソースプロジェクトで評価を実施し、65%の精度を達成
- Chain-of-thought promptingの導入により、精度が84%まで向上
- 特に複雑な質問(3つ以上の関係性が必要)での精度が50%から90%に大幅改善
# 信頼性
- 各クエリを5回実行し、過半数(3回以上)で正解した場合のみ正解とカウント
- 評価用の20個の質問は、先行研究で収集された165個の質問から、各意図を代表する2問ずつを選定
- 第一著者が手動で作成した正解クエリを、著者全員で確認・議論してバイアスを排除
- コード・データセット・スクリプトを公開し再現可能性を確保
和訳
1 / 1
100%