بناء قاعدة معرفية للرافعات العلوية والاستدلال الدلالي
الحل التقني لرسم خرائط المعرفة لأعطال الرافعة العلوية
تعمل رسم خرائط المعرفة على تحويل سجلات الأعطال المتناثرة وأوامر الصيانة وبيانات قطع الغيار ومعاملات المعدات في عمليات تشغيل الرافعة العلوية وصيانتها إلى شبكة دلالية منظمة. تتضمن السلسلة التقنية أربعة مستويات: طبقة البيانات (أوامر الصيانة/سجلات الأعطال/إنذارات المستشعرات/استبدال قطع الغيار/المعايير الصناعية/أدلة المعدات)، وطبقة استخراج المعرفة (التعرف على الكيانات عبر BiLSTM+CRF واستخراج العلاقات بدقة F1=91.2%)، وطبقة تخزين الرسم البياني (Neo4j Enterprise 5.x، نموذج الرسم البياني للخصائص، عدد العقد ≥ 500,000)، وطبقة التطبيق (استدلال تشخيص الأعطال/توصية خطط الإصلاح/البحث عن الأعطال المشابهة/الاستعلام الذكي). تم نشر النظام في قاعدة المعرفة الداخلية لشركة كيلود للصناعات الثقيلة، ويغطي 8 أنواع من معدات الرافعة العلوية، و243 نمط عطل، و1,580 حالة عطل موثقة.
اعتمد تشخيص أعطال الرافعة العلوية (الرافعة الجسرية) لفترة طويلة على الخبرة الشخصية لمهندسي الصيانة. خلال دورة حياة الرافعة التي تتراوح بين 15 و20 عامًا من التركيب حتى الإيقاف النهائي، تُنتَج مئات أوامر الصيانة وسجلات الأعطال — لكن هذه البيانات المنظمة وشبه المنظمة الموزعة عبر أنظمة مختلفة (ERP، CMMS، Excel) لا تشكل أصلًا معرفيًا قابلًا لإعادة الاستخدام. تعمل تقنية رسم خرائط المعرفة (Knowledge Graph) عبر التعرف على الكيانات (NER)، واستخراج العلاقات (RE)، والتخزين البياني (Neo4j) على تحويل هذه المعلومات المجزأة إلى شبكة ارتباطات دلالية بين المعدات والأعطال والأسباب والإجراءات وقطع الغيار. تستعرض هذه المقالة، في سياق بناء قاعدة المعرفة الداخلية للأعطال في مجموعة كيلود للصناعات الثقيلة، التنفيذ الهندسي الكامل بدءًا من جمع البيانات وصولًا إلى الاستعلام والاستدلال البياني. يعتمد الحل التقني التالي على توثيق Neo4j الرسمي (Neo4j Graph Data Science Manual v5.x, 2024)، وحزمة أدوات المعالجة اللغوية الطبيعية HanLP (الإصدار 2.1، 2023)، وخبرة النشر الفعلي لمشروع قاعدة المعرفة الداخلية للأعطال في كيلود للصناعات الثقيلة (رقم المشروع KL-KG-2024-001).
مصادر بيانات رسم خرائط المعرفة لأعطال الرافعة العلوية ونظام الكيانات
تستمد بيانات رسم خرائط المعرفة لأعطال الرافعة العلوية من أربعة أبعاد: ① ملفات المعدات (الطراز/سعة الرفع/البحر/ارتفاع الرفع/فئة التشغيل/الرقم التسلسلي/تاريخ التشغيل)؛ ② أوامر الأعطال (وقت العطل/رقم المعدة/ظاهرة العطل/رمز الخطأ/مسار الفحص/إجراءات الإصلاح/قطع الغيار المستبدلة/فني الصيانة/مدة التوقف)؛ ③ بيانات المستشعرات (القيمة الفعالة للاهتزاز/درجة الحرارة/التيار/سجل مرات التحميل الزائد)؛ ④ المعايير الصناعية (بنود الحكم على الأعطال ذات الصلة في معيار ISO 4301 / FEM 1.001، واللائحة الفنية TSG 51 لسلامة المعدات الخاصة، ومعيار FEM 1.001 وغيرها). بعد استخراج علاقات الكيانات، تم تعريف 6 أنواع من الكيانات و9 أنواع من العلاقات:
| نوع الكيان | اسم الوسم | مثال | مستوى الكمية |
|---|---|---|---|
| رافعة علويةالمعدات | Crane | QD32t-023/ LD10t-156 | 500+ |
| ظاهرة العطل | Fault | رفعانزلاق الحمولة/تآكل سكة الرافعة/مكبحضوضاء غير طبيعية | 243 نوع |
| سبب العطل | Cause | بطانة فراملاهتراء/مداس العجلةتنقر (تآكل تنقري)/قارنةسطح السناهتراء | 480+ |
| صيانةإجراء | Action | استبدالبطانة فرامل/ضبطخلوص فرامل/استبدالقارنة | 620+ |
| قطعة غيارالمواد | Part | YWZ5-315/23مكبح/العجلةZGY-600 | 1,200+ |
| المعياربند | Standard | معيار ISO 4301 / FEM 1.001《رافعةالتصميمالمواصفةتفسير البنود الأساسية:الحمولة/البنية/الآلية/الكهرباء/أنظمة السلامة الخمسة الرئيسية》 5.2.3 | 80+ |
| نوع العلاقة | نقطة البداية والنهاية | الوصف |
|---|---|---|
| has_fault | Crane Fault | رافعة معينةرافعة علويةحدث فيها عطل معين |
| has_symptom | Fault | حدث فيها عطل معينAالعطل المصاحبBالظهور بالتزامن |
| caused_by | Fault Cause | عطل معين ناتج عن سبب معين |
| resolved_by | Fault Action | عطل معين يُحل عبر إجراء معين |
| uses_part | Action Part | إجراء معين يتطلب استبدال جزء معينقطعة غيار |
| ref_standard | Fault Standard | المتعلق بعطل معينالمعياربند |
| similar_to | Fault | حدث فيها عطل معينAمع العطلBمشابه(تشابه جيب التمام>0.8) |
| located_in | Crane Location | رافعة علويةيقع فيورشة/القطاع التشغيلي |
| occurred_at | Fault Time | وقت حدوث العطل |
استخراج العلاقات بين الكيانات — تنفيذ BiLSTM+CRF
يُعد استخراج المعرفة الخطوة الأكثر أهمية في بناء الرسم البياني المعرفي. يعتمد النظام على نموذج التوسيم التسلسلي BiLSTM+CRF (شبكة ذاكرة طويلة قصيرة المدى ثنائية الاتجاه + حقل عشوائي شرطي)، مع استخدام HanLP 2.1 كخط أنابيب للمعالجة المسبقة (تقسيم الكلمات + توسيم أجزاء الكلام + التحليل النحوي للتبعية)، ويتم تدريبه على 2,400 نص موصوف يدويًا لأعطال الرافعات العلوية. يعتمد مخطط التوسيم BIOES (البداية/الداخل/الخارج/النهاية/المفرد)، مع 6 فئات للكيانات × BIOES = 30 وسمًا للتوسيم.
التخزين في قاعدة بيانات Neo4j والاستعلام بلغة Cypher
تُخزَّن الثلاثيات المستخرجة (الكيان الرئيسي - العلاقة - الكيان الثانوي) في قاعدة بيانات الرسم البياني Neo4j Enterprise 5.x. يعتمد النموذج على Labeled Property Graph (رسم بياني للخصائص الموسومة)، حيث يحمل كل عقدة وسمًا واحدًا (label)، ولكل علاقة نوع (type) واتجاه (direction). حجم البيانات: عدد العقد ≥ 58,000، عدد العلاقات ≥ 126,000 (حتى يونيو 2026).
مثال على استعلام Cypher نموذجي:
// استعلامQD32t-023جميع سجلات الأعطال التاريخية للرافعة العلوية وإجراءات الصيانة المقابلة MATCH (c:Crane {id: 'QD32t-023'})-[r1:has_fault]->(f:Fault) OPTIONAL MATCH (f)-[r2:resolved_by]->(a:Action) OPTIONAL MATCH (a)-[r3:uses_part]->(p:Part) RETURN f.name AS عرض العطل, a.name AS جميع سجلات الأعطال التاريخية للرافعة العلوية وإجراءات الصيانة المقابلة, p.name AS استبدال قطع الغيار ORDER BY f.severity DESC// الاستدلال على الأعطال بناءً على مسار الرسم البياني:ظهور حالة على رافعة علوية"انزلاق الحمولة أثناء الرفع",توصية باتجاهات الفحص وقطع الغيار MATCH path = (f:Fault {name: 'انزلاق الحمولة أثناء الرفع'})-[*1..2]-(n) WHERE ANY(label IN labels(n) WHERE n:Action OR n:Part OR n:Cause) RETURN path LIMIT 30// البحث عن الأعطال المشابهة(بناءً على الأسباب المشتركة+الإجراءاتJaccardدرجة التشابه) MATCH (f1:Fault {name: 'ضوضاء غير طبيعية في المكبح'})-[r1]->(n) MATCH (f2:Fault)-[r2]->(n) WHERE f2 <> f1 WITH f2, COUNT(DISTINCT n) AS common, COLLECT(DISTINCT n.name) AS shared_nodes ORDER BY common DESC LIMIT 5 RETURN f2.name, common, shared_nodesالاستدلال الدلالي والاستعلام الذكي
تكمن قيمة الرسم البياني المعرفي في الاستدلال (Reasoning). يدعم النظام ثلاثة أنماط للاستدلال:
①الاستدلال بالقواعد — يعتمد على شجرة قرارات جاهزة لتشخيص الأعطال (مجموعة قواعد IF-THEN، أعدّها 3 مهندسين خبراء في صيانة الرافعات العلوية، تغطي 8 فئات من المعدات × 243 عطلًا × أكثر من 480 سببًا، بإجمالي 1,520 قاعدة)، ويتم التنفيذ عبر اجتياز الرسم البياني بلغة Cypher للتشخيص التلقائي؛
②الاستدلال بترتيب المسارات — عند إعطاء عقدة عطل، يتم ترتيب حلول الصيانة المرشحة عبر المشي العشوائي (Personalized PageRank، عدد التكرارات 20، احتمال إعادة التشغيل 0.15)، وتبلغ دقة التوصيات الثلاث الأولى 86.4% (مجموعة تحقق N=500)؛
③الاستعلام الدلالي — يعتمد على تحويل NL2Cypher القائم على القوالب (تحويل الاستعلامات باللغة الطبيعية إلى استعلامات Cypher)، ويدعم 12 قالبًا للأسئلة (مثل ”ما الأعطال التي ظهرت في الرافعة العلوية XX” MATCH(c:Crane)…).
مقارنة بين الحل التقليدي وحل الرسم البياني المعرفي
| عنصر المقارنة | الحل التقليدي(قاعدة البيانات العلائقية+البحث بالكلمات المفتاحية) | حل الرسم البياني المعرفي(Neo4j+الاستدلال الدلالي) |
|---|---|---|
| نموذج البيانات | الجدول ثنائي الأبعاد،الربط بالمفتاح الخارجي | الرسم البياني بالخصائص،العقدة-العلاقة-الخاصية |
| استعلام ارتباط الأعطال | جداول متعددةJOIN(3~5جدول)،وقت الاستجابة500ms~3s | اجتياز الرسم البياني،وقت الاستجابة<50ms |
| الاستدلال متعدد القفزات(مثل:سبب العطل والإجراءقطعة غيار) | يتطلب4مرةSQLاستعلام ارتباط الأعطال+التجميع في طبقة التطبيق | مرة واحدةCypherاجتياز الرسم البياني[1..4]قفزة |
| اكتشاف الأعطال المشابهة | المطابقة القائمة على الوسوم والكلمات المفتاحية،دقة منخفضة | قائم على البنية الرسميةJaccardتشابه جيب التمام+PageRank |
| إعادة استخدام المعرفة | الاعتماد على الخبرة الشخصية،فقدان المعرفة بسبب تنقل الموظفين | التخزين الدائم للرسم البياني المعرفي،المشاركة الجماعية |
| البدء البارد لمعدات جديدة | يتطلب تجميع سجلات أعطال كافية | يمكن الاستدلال بالترحيل بناءً على البنية الرسمية لمعدات مماثلة |
| مرونة الاستعلام | التقارير المحددة مسبقًا،الاستعلام المؤقت يتطلب تطويرًا | Cypherالاستعلام الفوري،Webالخدمة الذاتية عبر الواجهة |
الأسئلة الشائعة
س: ما حجم البيانات المطلوب لتحقيق نتائج عملية من قاعدة المعرفة؟
ج: يُنصح بالبدء بما لا يقل عن 500 سجل أعطال (تشمل الظاهرة + السبب + الإجراء)، وهو ما يقابل حوالي 6,000 إلى 8,000 كيانًا و12,000 إلى 15,000 علاقة. عند هذا الحجم، تصل دقة التوصية بأفضل 3 أعطال إلى أكثر من 70%. وعندما ينمو حجم البيانات إلى أكثر من 2,000 سجل (الحجم الحالي لهذا المشروع)، ترتفع الدقة إلى 86%. وفي مرحلة البدء الباردة، يمكن استيراد بيانات الأعطال العامة والمعايير القياسية من المصادر المفتوحة لتكون نواة قاعدة المعرفة.
س: ما الفرق الجوهري بين قاعدة بيانات Neo4j الرسومية وMySQL/PostgreSQL في إدارة معرفة الأعطال؟
ج: الفرق الجوهري يكمن في كفاءة الاستعلامات متعددة القفزات. على سبيل المثال، للاستعلام عن "إجراءات صيانة الأعطال المشابهة لخلل وقع في رافعة علوية"، يتطلب MySQL من 5 إلى 8 عمليات JOIN (استجابة في نطاق الثواني)، كما يصعب توسيع أبعاد الارتباط بعد تثبيت هيكل الجداول. أما Neo4j فيستخدم مطابقة الأنماط ذات الطول المتغير `[*1..4]`، ويمكن إنجاز الاستعلام بعبارة Cypher واحدة خلال أقل من 50ms. كما أن النموذج الرسومي يدعم التوسع الأفقي بشكل طبيعي — إذ يمكن إضافة أنواع كيانات أو علاقات جديدة دون تعديل هيكل الجداول.
س: ما حجم بيانات التعليق اليدوي المطلوب لاستخراج الكيانات والعلاقات في قاعدة المعرفة؟
ج: يستخدم هذا المشروع 2,400 سجل بيانات معلّقة يدويًا (28,600 كيانًا و12,400 علاقة)، بتكلفة تعليق تبلغ حوالي 6,500 درهم إماراتي (3 معلّقين × 10 أيام × 220 درهمًا إماراتيًا/يوم). إذا كانت ميزانية التعليق محدودة، يمكن أيضًا استخدام أسلوب الإشراف عن بُعد (Distant Supervision)، الذي يعتمد على جداول قطع الغيار ورموز الأعطال الحالية لتوليد بيانات تعليق ضعيفة تلقائيًا، ثم مراجعتها يدويًا — مما يقلل حجم التعليق إلى 400-600 سجل، مع انخفاض قيمة F1 من 91.2% إلى حوالي 85%.
س: هل تكفي 12 قالبًا للاستعلام الدلالي NL2Cypher؟
ج: تغطي القوالب الـ12 حوالي 85% من سيناريوهات الاستعلام اليومي لقاعدة معرفة الأعطال (استنادًا إلى إحصائيات سجلات الاستعلام الداخلية لشركة كيلود للصناعات الثقيلة على مدى 3 أشهر). وتُصنف القوالب وظيفيًا إلى 3 فئات: استعلامات الأعطال (عطل جهاز معين، سبب عطل معين، الإجراء المقابل لسبب معين)، واستعلامات قطع الغيار (قطع الغيار المستخدمة في إجراء معين، الإجراءات المناسبة لقطعة غيار معينة)، والاستعلامات الإحصائية (تردد الأعطال TOP N، الأجهزة ذات أطول دورة صيانة). أما الاستعلامات التي تتجاوز نطاق القوالب، فتُعالج حاليًا عبر تلميحات صيغة Cypher مع إكمال يدوي.