はじめに
RAGの活用が進んでいる現在、従来のRAG手法に加えて、様々な検索手法が開発されています。中でもGraphRAGの活用を行うことで、2つのエンティティの関係性をつなぐ必要のある質問や、データ全体への総合的な理解を求める質問への回答において大幅に改善できるとされています。
包括性(Comprehensiveness:質問の暗黙の文脈の枠組みの中での完全性)
多様性(Diversity:提起された質問に対する異なる視点や角度の提供)
エンパワーメント(Empowerment:裏付けとなるソース資料やその他の文脈情報の提供)
の観点優れたパフォーマンスが示されることが、マイクロソフトなどの研究チームなどの論文を参考にするとわかってきています。
Neo4jで推理小説に登場する人物を登録する
かまいたちの夜に登場する人物を整理して、ベクトルデータベースに登録します。
MATCH (n) DETACH DELETE n;
CREATE
(ペンション:Organization {name: 'ペンション'}),
(宿泊客:Organization {name: '宿泊客'}),
(矢嶋透:Person {name: '矢嶋透', 職業: '大学生'}),
(小林真里:Person {name: '小林真里',職業: '大学生'}),
(小林二郎:Person {name: '小林二郎', 職業: 'ペンション経営'}),
(矢嶋透)-[:恋人]->(小林真里),
(小林二郎)-[:夫婦]->(小林今日子),
(篠崎みどり)-[:夫婦]->(小林今日子),
(小林真里)-[:親戚]->(小林二郎),
(久保田俊夫)-[:夫婦]->(篠崎みどり),
(矢嶋透)-[:WORKS_IN]->(宿泊客),
(小林真里)-[:WORKS_IN]->(宿泊客),
(小林二郎)-[:WORKS_IN]->(ペンション);