Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Knowledge Graph

ナレッジグラフでは、事実をエンティティ・関係性・エンティティの三つ組として保存し、AIシステムがそれらを検索、関連付け、推論できるようにします。RDF、GraphRAG、コードについて解説します。

ナレッジグラフは、事実を構造化して表現したもので、ノードは人、場所、商品、概念などのエンティティを表し、ラベル付きエッジはそれらの関係を表します。各事実は主語、述語、目的語のトリプルです。たとえば(Marie Curie, born in, Warsaw)のように記述され、スキーマまたはオントロジーによって、許可されるエンティティの種類と関係が定義されます。関係が明示的に保存されるため、システムはグラフ上のパスをたどって質問に回答したり、同じエンティティに関する異なる情報源の事実を組み合わせたり、直接明示されていない事実を推論したりできます。2012 年に公開された Google の Knowledge Graph は、検索結果の横に表示される情報パネルに事実を提供します。また、Wikimedia のボランティアが運営する無料のナレッジグラフであるWikidataには、1 億件を超える項目が登録されています。

エンティティ、関係、トリプル#

  • エンティティ(ノード): 個人、都市、化合物など、固有の識別情報を持ち、それぞれがオントロジーによって型付けされるものです。
  • 関係(エッジ): 「出身地」や「の首都」など、向きとラベルを持つリンクです。ラベルが意味を持つため、(Warsaw, capital of, Poland)と(Poland, capital of, Warsaw)は異なる主張です。
  • 属性: 生年月日や人口など、エンティティに付与されるリテラル値です。
  • オントロジー: クラス、関係の種類、ルールを定義するスキーマです。たとえば、すべての首都が都市であるというルールにより、推論エンジンは既存の事実から新しい事実を導き出せます。

主流のデータモデルは 2 種類あります。W3C のResource Description Framework(RDF)は、Web URI で各エンティティと関係を識別し、純粋なトリプルを保存して SPARQL でクエリを実行します。Wikidata などのオープンなリンクデータに適しています。Neo4j などのグラフデータベースで使われるプロパティグラフでは、ノードやエッジにキーと値のプロパティを持たせられます。Cypher や、ISO が 2024 年 4 月に標準として公開した GQL などの言語でクエリを実行します。

この小さなグラフでは、「Marie Curie はどの国で生まれましたか」という問いは、Marie Curie から Warsaw を経由して Poland に至る 2 ホップのパスです。また、共通する「受賞」エッジによって、2 人の Curie が 1903 年の共同受賞につながっています。

ナレッジグラフの構築とクエリ#

グラフには、厳選されたデータベース、テキストから抽出した情報、画像から抽出した情報が格納されます。テキストからの抽出には固有表現認識(NER)や関係抽出が使われ、これらの処理は大規模言語モデル(LLM)によって行われることが増えています。次にエンティティ解決を行い、「M. Curie」と「Marie Skłodowska-Curie」のような同一のものに対する異なる表記を 1 つのノードに統合します。明示的なクエリ以外にも、TransE などのナレッジグラフ埋め込みは、各エンティティと関係をベクトルで表し、始点エンティティと関係を足した値が終点エンティティにどれだけ近いかで候補トリプルを評価します。これにより欠落したリンクを予測できます。また、グラフニューラルネットワークはグラフの構造から直接学習します。

コンピュータービジョンは画像からエンティティと関係を抽出します。YOLO26検出器の出力は(画像、含む、クラス)のトリプルになり、背景情報と結合すると、検出器だけでは回答できない、画像にどの種類の車両が写っているかといった質問に答えられます。

import networkx as nx
from ultralytics import YOLO

# Detect objects in an image
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]

# Each detected class becomes an entity node linked to the image
graph = nx.DiGraph()
for class_id in result.boxes.cls.int().tolist():
    graph.add_edge("bus.jpg", result.names[class_id], relation="contains")

# Background knowledge as (subject, relation, object) triples
for subject, relation, obj in [("bus", "is_a", "vehicle"), ("car", "is_a", "vehicle"), ("person", "is_a", "human")]:
    graph.add_edge(subject, obj, relation=relation)

# Two-hop query: which detected entities are vehicles?
vehicles = [node for node in graph.successors("bus.jpg") if graph.has_edge(node, "vehicle")]
print(f"Vehicles in bus.jpg: {vehicles}")

ナレッジグラフと大規模言語モデル#

LLM は重みに知識を暗黙的に保存するため、事実の確認や更新が難しく、ハルシネーションも発生しやすくなります。ナレッジグラフは事実を明示的に保存するため、情報源を引用でき、編集内容もすぐに反映されます。GraphRAGはこの 2 つを組み合わせます。独立したテキストチャンクの代わりに、つながりのあるエンティティや関係のパス、またはグラフコミュニティの要約を検索することで、検索拡張生成(RAG)を拡張します。これにより、遅延した部品の供給元のうち、別の工場にも供給しているのはどこかといった、複数ホップを要する質問に対応しやすくなります。LLM は、自然言語の質問を既存のグラフに対する SPARQL または Cypher クエリに変換することもできます。

実際のアプリケーション#

  • 検索とアシスタント: エンティティパネル、直接回答、音声アシスタントは、大規模な厳選グラフを検索し、人、場所、組織に関する事実を提示します。
  • 創薬: バイオメディカルグラフは遺伝子、タンパク質、化合物、疾患、副作用を関連付けます。リンク予測により、候補となる創薬標的や、承認済み医薬品の新たな用途を提案できます。
  • 不正検知: デバイス、住所、決済カードを共有するアカウントはつながりを持つグループを形成し、各アカウントを個別に見ると正常に見える場合でも、グラフをたどると検出できます。
  • シーン理解: シーングラフは、画像をオブジェクトとその関係(例:(人物、乗る、馬))として表現します。Visual Genomeデータセットでは、シーンについて質問に答えるモデルの学習用に、10万枚を超える画像をこの形式でアノテーションしています。
  • リレーショナルデータベース: 固定スキーマのトランザクションに適した、外部キーで関連付けられたテーブルにレコードを保存します。「この商品を買った人の友人の友人」のような複数ホップの質問では、ホップごとに結合が必要ですが、グラフは保存されたエッジを直接たどります。
  • ベクトルデータベース: 埋め込みの類似度に基づいてアイテムを検索するため、明示的なリンクがなくても関連コンテンツを見つけられます。ナレッジグラフは 2 つのエンティティの関係を正確に記録し、ハイブリッドシステムは両方を利用します。
  • オントロジー: オントロジーは型とルールのスキーマで、ナレッジグラフはそれに、Wikidata にある何百万もの個々の人、場所、作品などのインスタンスに関する事実を格納したものです。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう