رسم بياني لتقدم ترجمة الذكاء الاصطناعي

تفعيلتُ الترجمات بالذكاء الاصطناعي على خادم Discourse المستضاف ذاتيًا في يوم أمس. كل شيء يسير على ما يرام… إلى حدٍ ما.

رسم بياني لتقدم الترجمة إما لا يتم تحديثه أو غير دقيق. هذا ما أراه:

وهذا يشير إلى أنني وصلت إلى نسبة 99% لجميع المنشورات منذ 23 فبراير 2026.

هذا غير دقيق. لديّ حوالي 3,000 منشور خلال هذه الفترة الزمنية. بناءً على سجلات الترجمة، فهو يعمل حاليًا على منشورات من قبل حوالي 6 أيام.

إذًا، هل يعرف أحد:

  • ما هو معدل التحديث لهذا الرسم البياني؟
  • استعلام مستكشف البيانات للمنشورات في انتظار الترجمة؟
  • استعلام مستكشف البيانات للمنشورات التي تمت ترجمتها؟
  • استعلام مستكشف البيانات للمنشورات التي حاولت ترجمتها لكنها فشلت بسبب خطأ أو سبب ما.

شكرًا مقدّمًا.

لقد اضطررنا إلى تخزين هذه الصفحة مؤقتًا (كاش) لأنها كانت تتعطل بسبب انتهاء المهلة الزمنية على المواقع الكبيرة.

تتكون الترجمة في الأساس من خطوتين:

  1. اكتشاف اللغة الأصلية للمنشور
  2. الترجمة إلى جميع اللغات الأخرى

في البداية، ستكون موقعك عالقًا بشكل أساسي في الخطوة الأولى، والتي أظهرناها في البداية في صفحة تقدم الترجمة، لكننا أزلناها لاحقًا لأن التعليقات أشارت إلى أنها “تقدم معلومات كثيرة جدًا”.

ومع ذلك، هذه ملاحظات جيدة. إن تخزين صفحة التقدم مؤقتًا وعدم وجود معلومات حول اكتشاف اللغة المحلية (Locale) يجعل التجربة سيئة للغاية في بداية العملية.

أخيرًا، قمنا بتعيين معدل الملء الخلفي (Backfill) بشكل محافظ جدًا، وقد ترغب في زيادته وفقًا لميزانيتك.

أقترح النظر في نهج أبسط للإبلاغ.

بناءً على فهمي، تعمل عملية الترجمة على مرحلتين:

  1. ترجمة بيانات المواضيع المؤهلة.
  2. ترجمة بيانات المشاركات المؤهلة.

من منظور إداري وتقارير، لست مهتمًا كثيرًا بما هو قيد التنفيذ حاليًا، بل أكثر اهتمامًا بالتقدم العام مقابل حجم العمل المؤهل. أفضل أن أرى التقارير مبنية على قواعد أهلية الترجمة المكونة.

على سبيل المثال:

الحالة

تم تكوين إعدادات الملء الخلفي لترجمة جميع المحتويات التي تم إنشاؤها بعد 23 فبراير 2026.

المنطقة الإجمالي المؤهل مترجم مكتمل
مواضيع 25,000 540 450 83%
مشاركات 400,000 3,700 800 22%

الترجمات الفاشلة

معرف المشاركة السبب
34543 أحرف غير سليمة في السطر xxxx

يبدو أن الرسم البياني الحالي يعرض النشاط التشغيلي، وهو أمر مفيد بالتأكيد. ومع ذلك، ما أريد فهمه حقًا هو مقدار العمل المؤهل الذي تم إنجازه.

بشأني الشخصي، لست مهتمًا جدًا بنسب الإكمال حسب اللغة. الموضوع أو المشاركة إما أن يكون مترجمًا أو لا. السؤال الرئيسي بالنسبة لي هو مقدار الخلفية المكونة التي تمت معالجتها بنجاح.

يبدو أن هذا النهج سيكون أيضًا أكثر ودية لقاعدة البيانات، حيث يركز على الأعداد الإجمالية بدلاً من تتبع التقدم عبر كل مجموعة لغوية.

إذا كان الإبلاغ المحدد حسب اللغة لا يزال ذا قيمة، فربما يمكن عرضه من خلال عامل تصفية. يمكن للمسؤول اختيار لغة وعرض جدول التقدم نفسه لتلك اللغة فقط.

بعض الأفكار فقط.

ملاحظة:

ما هو إطار الوقت الحالي للتخزين المؤقت؟

لقد عملت على استعلامات SQL الخاصة باستكشاف البيانات لإنشاء التقرير المذكور أعلاه. لستُ خبيرًا في SQL، لكن هذه الاستعلامات تعمل. ستوفر الاستعلامات أدناه هذا المستوى من المعلومات.

تقرير حالة الترجمة

المجال المؤهل للترجمة مترجم قيد الترجمة
المواضيع 540 450 90
المشاركات 3,700 800 2900

المواضيع:

-- الإعداد:
-- تحديث إعدادات الترجمة في SQL
-- الأيام للخلف (Backfill) - Interval 'xxx'
-- الفئة لتجاهلها - Category_id NOT IN ()
-- نوع الموضوع - Regular أو private_message
--
-- حالة الترجمة:
--  إجمالي المواضيع للترجمة: قم بتعليق كل من عبارتي 'and topics.locale' في WHERE
--  المواضيع غير المترجمة: قم بإلغاء التعليق فقط عن - topics.locale is null
--  المواضيع المترجمة: قم بإلغاء التعليق فقط عن - topics.local = 'en'

SELECT count(distinct topics.id)
     FROM topics
     JOIN posts  ON topics.id  = posts.topic_id
    WHERE posts.created_at >= NOW() - INTERVAL '100 days' 
     AND  posts.user_id > 0
     AND  topics.category_id NOT IN (22,3)
     AND  topics.archetype = 'regular'
--   AND  topics.locale = 'en'
--   AND  topics.locale is null

المشاركات:

-- الإعداد:
-- تحديث إعدادات الترجمة في SQL
-- الأيام للخلف (Backfill) - Interval 'xxx'
-- الفئة لتجاهلها - Category_id NOT IN ()
-- نوع الموضوع - Regular أو private_message
--
-- حالة الترجمة:
--  إجمالي المشاركات للترجمة: قم بتعليق كل من عبارتي 'and posts.locale' في WHERE
--  المشاركات غير المترجمة: قم بإلغاء التعليق فقط عن - posts.locale is null
--  المشاركات المترجمة: قم بإلغاء التعليق فقط عن - posts.locale = 'en'

SELECT count(*)
     FROM posts
     JOIN topics  ON topics.id  = posts.topic_id
    WHERE posts.created_at >= NOW() - INTERVAL '100 days' 
     AND  posts.user_id > 0
     AND  topics.category_id NOT IN (22,3)
     AND  topics.archetype = 'regular'
--     AND  posts.locale = 'en'
--     AND  posts.locale is null

شكرًا جزيلاً لك على الملاحظات @LotusJeff

سأدون بعض النقاط التي طرحتها هنا وسأعمل على إجراء التحسينات قريبًا™ (ربما في يوليو).

بالنسبة لاستفساراتك باللغة الألمانية، سأعود إليك غدًا بمعلومات أكثر دقة.

أخذت الغد وقتًا طويلًا…

لقد فكرت في الرد عليك باستعلام آخر من مستكشف البيانات، لكنني أوافق على أن رسم بياني لتقدم الترجمة يمكن أن يستفيد من التحسين، ومن المناسب القيام بذلك الآن.

إليك تحديث سريع حول ما قمنا به:

التحميل :skull:

تجميلي، لكنه لطيف دائمًا

توقيت التخزين المؤقت والتقدم حسب نوع المحتوى

سيكون وقت تحميل هذه الصفحة طويلاً جدًا بسبب المنشورات. لدينا بالفعل ذاكرة تخزين مؤقتة (2 ساعة)، وسنشير إلى ذلك أيضًا. ونظرًا لأننا نقوم الآن بأكثر من مجرد منشورات ومواضيع، فإننا نعرض التقدم لها.

إليك فكرة عن الشكل الذي سيبدو عليه عندما يكون غير مكتمل

تفصيل لكل لغة حسب نوع المحتوى

هذا المستوى من التفاصيل يستغرق وقتًا طويلاً للاستعلام عنه، وهي تفاصيل لا تحتاج إلى رؤيتها دائمًا، لذا نعرضها فقط عندما يريدها المسؤول.


هذا متاح الآن، لذا قم بتحديث موقعك وستكون جاهزًا تمامًا.

لقد كنت أسافر خلال الأيام القليلة الماضية وتمكنت من التحديث الليلة.

هذا أكثر فائدةً ووضوحًا في حد ذاته. فهو يوفر نظرة عامة جيدة على ما يتم ترجمته. كما أن القدرة على التعمق في التفاصيل حسب المواضيع والمنشورات أمر مفيد أيضًا.

الشيء الوحيد الذي يبدو غير دقيق هو محتوى أيقونة المساعدة الخاصة بـ “المؤهل” ضمن المواضيع/المنشورات. فهو يقول “تم استبعاد المحتوى الموجود بالفعل بهذه اللغة”. يجب أن يكون هذا هو إجمالي المحتوى المتوقع لترجمته. تعديل طفيف.

عمل رائع وشكرًا لك على إجراء هذا التحسين في صفحة حالة الترجمة.

الآن، لو أمكننا تعيين الترجمات لتاريخ محدد بدلاً من الأيام الماضية لإزالة عدم التطابق بين ترجمة الموضوع/المنشور. لست مضطرًا بعدئذٍ إلى إجراء أي تعديلات يدوية على إعدادات الترجمة للحفاظ على توافق تواريخ المنشورات والمواضيع.

أوافق. سأشارك رأيي في هذا الموضوع.