Knowledge Graph
يخزّن الرسم البياني المعرفي الحقائق في صورة ثلاثيات تتألف من كيان وعلاقة وكيان، ما يتيح لأنظمة الذكاء الاصطناعي الاستعلام عنها وربطها والاستدلال بها. ويتناول هذا المفهوم RDF وGraphRAG والبرمجيات.
الرسم البياني المعرفي تمثيل منظم للحقائق، تكون فيه العقد كيانات مثل الأشخاص والأماكن والمنتجات والمفاهيم، وتكون الحواف الموسومة العلاقات بينها. وكل حقيقة ثلاثية تتكون من موضوع ومحمول ومفعول به، مثل (ماري كوري، وُلدت في، وارسو)، ويحدد مخطط أو أنطولوجيا أنواع الكيانات والعلاقات المسموح بها. ولأن العلاقات مخزنة صراحةً، يستطيع النظام الإجابة عن الأسئلة باتباع المسارات في الرسم البياني، ودمج حقائق من مصادر مختلفة عن الكيان نفسه، واستنتاج حقائق لم تُذكر مباشرةً قط. ويوفر الرسم البياني المعرفي من Google، الذي أُطلق عام 2012، لوحات الحقائق بجوار نتائج البحث، بينما تضم Wikidata، وهي قاعدة المعرفة الحرة التي يديرها متطوعو Wikimedia، أكثر من 100 مليون عنصر.
الكيانات والعلاقات والثلاثيات#
- الكيانات (العقد): أشياء لها هوية، ويحدد الأنطولوجيا نوع كل منها، مثل شخص أو مدينة أو مركب كيميائي.
- العلاقات (الحواف): روابط موجّهة وموسومة مثل "وُلد في" أو "عاصمة لـ". وتحمل التسمية المعنى، لذا فإن (وارسو، عاصمة لـ، بولندا) و(بولندا، عاصمة لـ، وارسو) ادعاءان مختلفان.
- السمات: قيم حرفية مرتبطة بكيان، مثل تاريخ الميلاد أو عدد السكان.
- الأنطولوجيا: مخطط الفئات وأنواع العلاقات والقواعد، مثل أن كل عاصمة مدينة، ما يتيح لمحرك الاستدلال اشتقاق حقائق جديدة من الحقائق الموجودة.
يسود نموذجان للبيانات. يعرّف إطار وصف الموارد (RDF) التابع لـW3C كل كيان وعلاقة باستخدام معرّف URI على الويب، ويخزن ثلاثيات خالصة يمكن الاستعلام عنها باستخدام SPARQL، ما يجعله مناسبًا للبيانات المفتوحة والمترابطة مثل Wikidata. أما الرسوم البيانية ذات الخصائص، التي تستخدمها قواعد بيانات الرسوم البيانية مثل Neo4j، فتتيح للعقد والحواف حمل خصائص على هيئة أزواج مفتاح-قيمة، ويمكن الاستعلام عنها بلغات مثل Cypher أو GQL، التي نشرتها ISO معيارًا في أبريل 2024.
في هذا الرسم البياني الصغير، يكون السؤال "في أي بلد وُلدت ماري كوري؟" مسارًا من خطوتين يبدأ بماري كوري ويمر عبر وارسو إلى بولندا، فيما تربط حواف "فاز" المشتركة بين كوريين اثنين وجائزتهما المشتركة عام 1903.
إنشاء رسم بياني معرفي والاستعلام عنه#
تُملأ الرسوم البيانية من قواعد بيانات منتقاة، ومن النصوص عبر التعرّف على الكيانات المسماة (NER) واستخراج العلاقات، اللذين تنفذهما نماذج اللغة الكبيرة (LLMs) على نحو متزايد، ومن الصور أيضًا. ثم تحل مطابقة الكيانات الإشارات المختلفة إلى الشيء نفسه، مثل "م. كوري" و"ماري سكلودوفسكا-كوري"، في عقدة واحدة. وإلى جانب الاستعلامات الصريحة، تمثل تضمينات الرسم البياني المعرفي مثل 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}")الرسوم البيانية المعرفية ونماذج اللغة الكبيرة#
تخزّن نماذج اللغة الكبيرة المعرفة ضمنيًا في أوزانها، ما يصعّب فحص الحقائق أو تحديثها ويجعلها عرضةً لـالهلوسة. أما الرسوم البيانية المعرفية فتخزّن الحقائق صراحةً، مع مصادر يمكن الاستشهاد بها وتعديلات تُطبّق فورًا. ويجمع GraphRAG بين النهجين: إذ يوسّع نطاق التوليد المعزز بالاسترجاع (RAG) باسترجاع الكيانات المترابطة ومسارات العلاقات، أو ملخصات مجتمعات الرسم البياني، بدلًا من مقاطع نصية منفصلة، ما يساعد في الإجابة عن أسئلة متعددة القفزات، مثل تحديد موردي قطعة متأخرة يزودون مصنعًا آخر أيضًا. كما تحوّل نماذج اللغة الكبيرة الأسئلة باللغة الطبيعية إلى استعلامات SPARQL أو Cypher على الرسوم البيانية الموجودة.
تطبيقات عملية#
- البحث والمساعدات: تسترجع لوحات الكيانات والإجابات المباشرة والمساعدات الصوتية حقائق عن الأشخاص والأماكن والمؤسسات من رسوم بيانية كبيرة منتقاة.
- اكتشاف الأدوية: تربط الرسوم البيانية الطبية الحيوية الجينات والبروتينات والمركبات والأمراض والآثار الجانبية، ويقترح التنبؤ بالروابط أهدافًا دوائية محتملة أو استخدامات جديدة للأدوية المعتمدة.
- اكتشاف الاحتيال: تشكّل الحسابات التي تتشارك الأجهزة أو العناوين أو بطاقات الدفع حلقات مترابطة تظهر بوضوح عند تتبع الرسم البياني، حتى عندما يبدو كل حساب طبيعيًا بمفرده.
- فهم المشهد: تصف الرسوم البيانية للمشهد الصورة باعتبارها أجسامًا وعلاقات بينها، مثل (شخص، يركب، حصان). وتعلّق مجموعة بيانات Visual Genome أكثر من 100,000 صورة بهذه الطريقة لتدريب نماذج تجيب عن الأسئلة المتعلقة بالمشاهد.
الرسوم البيانية المعرفية مقارنةً بمخازن البيانات ذات الصلة#
- قواعد البيانات العلائقية: تخزّن السجلات في جداول مرتبطة بمفاتيح خارجية، ما يناسب المعاملات ذات المخطط الثابت. وتتطلب الأسئلة متعددة القفزات مثل "أصدقاء الأصدقاء الذين اشتروا هذا المنتج" عملية ربط واحدة لكل قفزة، بينما يتتبع الرسم البياني الحواف المخزنة مباشرةً.
- قواعد بيانات المتجهات: تسترجع العناصر بحسب تشابه التضمينات، فتجد محتوى ذا صلة من دون روابط صريحة. أما الرسم البياني المعرفي فيسجل بدقة العلاقة بين كيانين، وتستخدم الأنظمة الهجينة كلا النهجين.
- الأنطولوجيات: الأنطولوجيا هي مخطط الأنواع والقواعد، والرسم البياني المعرفي هو ذلك المخطط بعد ملئه بحقائق عن أمثلة محددة، مثل ملايين الأشخاص والأماكن والأعمال الفردية في Wikidata.










