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

تفعيلتُ الترجمات بالذكاء الاصطناعي على خادم 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

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

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