الوسم التلقائي على السلسلة النصية يعمل على *السلسلة النصية*

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

للعلم: ميزة “الاختبار” في صفحة مواصفة الوسم التلقائي تعمل بشكل صحيح (بالنسبة للوسم التلقائي لكلمة “فن”، لا يولد مصطلح “اصطناعي” وسمًا أثناء الاختبار).

ربما لم يُلاحظ هذا الخطأ لأنه من غير الشائع إجراء وسم تلقائي على كلمة قصيرة يتم مراقبتها.

4 إعجابات

أعتقد أن @codinghorror لاحظ هذا أيضًا. إنه مدرج في قائمتنا لحل هذه المسألة.

4 إعجابات

تم إصلاح هذا الخطأ واستبداله، حيث ستعمل الكلمات المرصودة في الروابط والوسوم على الكلمات الكاملة.

يوجد استثناء عند تمكين watched_words_regular_expressions.

4 إعجابات

شكرًا لاستجابتك يا بياتنكا.

أعتقد أنني فعلت watched_word_regular_expression بشكل افتراضي، ولم أدرك أن هذا يكسر خاصية “التصرف على كلمات كاملة”. هل من الضروري أن يكون التصرف على كلمات كاملة غير متوافق مع التعبيرات النمطية؟

بمعنى آخر، هل يجب أن أعتبر هذا خطأً أم قيدًا ضروريًا ناتجًا عن ميزة أخرى؟

حتى الآن، ما زلت أعتبره خطأً. لا أرى أي سبب يجعل تحليل الكلمات الكاملة بدون تعبيرات نمطية غير متوافق مع التحليل باستخدام التعبيرات النمطية عند تحديد تعبير نمطي.

مرحبًا نورمان،

إذا كنت تستخدم التعابير النمطية (regex) لبعض الكلمات التي تراقبها، فإن ذلك ينطبق على جميعها. وبناءً على ذلك، إذا تم تمكين التعابير النمطية وقمت بتكوين الوسم التلقائي لـ art، فمن المتوقع أن يُوسَم artificial. وللتحري عن كلمة art فقط، استخدم حرف التحكم الخاص بحدود الكلمة \b. وفي حالة art، سيكون ذلك على النحو التالي: \bart\b

3 إعجابات

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

شبه ما يحدث عندما تظهر رسالة “Caps Lock مفعل” عند إدخال كلمة المرور، وما إلى ذلك.

3 إعجابات

شكرًا جزيلاً للجميع. يجب أن أعتذر إذا كان فهمي البسيط نسبيًا للتعبيرات النمطية (regular expressions) غير كافٍ وأدى إلى سوء فهمي لكيفية عملها مع الكلمات المراقبة. لكن… بعض النقاط:

  • أعتقد أنني ظننت أن سياق التعبير النمطي يُعتبر شيئًا مثل “سلسلة ضمن حدود الكلمات”. ما الذي قد يكون منطقيًا آخر؟ بالتأكيد ليس مستند الموضوع بأكمله؟ في هذه الحالة، لكي يتم وضع علامة على كلمة “artificial”، سأحتاج إلى تحديد art* (أو art.* أو ما شابه، كما ورد في عنوان هذا الموضوع).

  • جوشوا: شكرًا لك على اقتراحك حول رمز الوصف الحدودي للكلمة. جربته للتو ولم يعمل. لا في دالة الاختبار ولا في الواقع الفعلي. لذا… يبدو حاليًا أنه لا توجد طريقة بديلة (أو “طريقة صحيحة” للحصول على السلوك المطلوب).

  • دالة الاختبار رائعة جدًا. يبدو أنها تتصرف تمامًا كما توقعت حدسيًا. art تُفعّل فقط عند ظهور كلمة “art” ككلمة منفصلة (ولا تُفعّل مع “artificial”)، بينما art* تُفعّل مع “artificial” كما هو متوقع. علاوة على ذلك، art* life تُفعّل مع كلاً من “art life” و"artificial life". فكرت أيضًا ربما أن دالة الاختبار قد لا تستخدم تحليل التعبيرات النمطية إذا أدخلت كلمة واحدة فقط، لكن لا… foo* art تُفعّل مع “foobar art” ولا تُفعّل مع “foobar artificial”. لذا… يبدو أن من كتب دالة الاختبار يفكر بالطريقة التي أفكر بها (أعتقد).

في الخلاصة،

  • اقتراح جيف بتذكير أن watched_words_regular_expressions مفعل هو اقتراح جيد.
  • يجب أن يتطابق سلوك دالة الاختبار مع السلوك الفعلي.
    • وبالنسبة لي، تفضيلي هو أن يتطابق السلوك الفعلي مع سلوك دالة الاختبار الحالي.
  • إذا احتاج المرء إلى معرفة أكبر بالتعبيرات النمطية مما تقترحه دالة الاختبار الحالية، فسيكون من الجيد وجود أمثلة في مكان ما.
  • إذا كانت هناك طريقة بديلة أو “طريقة صحيحة” (مثل “استخدم \bart\b للحصول على السلوك المطلوب”)، فسأكون سعيدًا باستخدامها.

مرة أخرى، شكرًا للجميع على اهتمامهم بهذه المسألة البسيطة نسبيًا لمنصة رائعة!

إعجابَين (2)

هل يمكننا التأكد من تعيين هذا للمستخدم @zogstrip؟

4 إعجابات

لقد أضفت إشعارًا عند تمكين إعدادات الموقع الخاصة بـ «كلمات مُراقبة» باستخدام التعبيرات النمطية في هذا طلب الدمج:

هذا هو شكله عند تعطيل التعبيرات النمطية ثم تفعيلها (راجع الإشعار والنص النائب المختلف في حقل الإدخال):

4 إعجابات

لكن يا بيانكا،

محاولتي باستخدام ‘\bart\b’ لم تُفعّل مع كلمة ‘art’ (أو ‘artificial’، كما ينبغي ألا تفعل).

كانت هذه المحاولة مخصصة للوسم التلقائي.

هل هناك سبب يمنعنا من استخدام دالة الاختبار الموجودة بالضبط لتحليل المواضيع (لإجراء الوسم التلقائي)؟

مرحبًا نورمان،

إذا كانت إعدادات الموقع watched words regular expressions مفعّلة، فيجب عليك استخدام \bart\b، حيث يمثل \b حدود الكلمة. أما إذا كانت إعدادات الموقع معطّلة، فلا داعي لاستخدامها لأن حدود الكلمة تُضمَّن تلقائيًا.

لقد اختبرت ذلك للتو وهو يعمل بشكل جيد بالنسبة لي، بما في ذلك نافذة الاختبار:

لقد قمت بتنفيذ ذلك، ويجب أن يعمل على أحدث إصدار.

3 إعجابات

مرحبًا يا بيانكا،
شكرًا جزيلاً لكِ على التدقيق في هذا الأمر.

  1. كنتُ مرتبكًا بشأن تمكين “التعبيرات النمطية للكلمات الخاضعة للمراقبة”. ظننتُ أنها تُفعّل تلقائيًا إذا استخدمتُ حرف النجمة (*) في مواصفات التفعيل التلقائي. أدرك الآن أن هذا ليس هو الحال، لذا لا غرابة في فشل محاولتي باستخدام \bart\b.
  2. سأراجع “أحدث إصدار” للحصول على تطبيقك لدالة الاختبار. بالنسبة لي، عملت “اختبار” دائمًا، تمامًا كما هو الحال بالنسبة لكِ.

شكرًا مرة أخرى!

إعجابَين (2)