تقنية

مقطع حرفي في التحليل: هل يمتد إلى وحدة كاملة؟

رسم يقارن رفض المحاذاة وتقليص المقطع وتوسيعه.
رسم تحريري لمحاذاة مفترضة؛ لا يعرض تشغيل محلل نصوص.

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

الخلاصة السريعة

المجال الحرفي المطلوب ومقطع الوحدات المعاد قد يختلفان. في Doc.char_span يلتزم strict بالحدود، وcontract يحتفظ بالوحدات كاملة داخل المجال، وexpand يشمل الوحدات التي يغطيها ولو جزئيًا. [1]

  • حدد بداية المجال ونهايته غير المشمولة، وحدود الوحدات في النص نفسه؛ strict قد يعيد None إذا لم تتوافق الحدود. [1]
  • في «صندوق كبير» وفق حدودنا، المجال من 1 إلى 10 يقطع «صندوق»؛ strict لا ينشئ مقطعًا صالحًا بالحدود المطلوبة.
  • contract يعيد «كبير» في المثال، وexpand يعيد «صندوق كبير»؛ الثاني أوسع من الحروف التي اخترناها.
  • راجع النص المعاد مقابل المطلوب قبل اعتماد تسمية؛ التوسيع لا يثبت أن كل الحروف الجديدة قصدها المحرر أو تحمل معنى واحدًا.

ما حدود المجال الذي طلبته؟

توثق spaCy بداية الحروف ونهاية غير مشمولة، وأوضاع strict بلا تعديل حدود، وcontract للوحدات كاملة داخل المجال، وexpand للوحدات المغطاة جزئيًا على الأقل. [1]

نعلن نص المثال «صندوق كبير» بلا تشكيل. نتعامل مع «صندوق» وحدة تبدأ عند 0 وتنتهي قبل 5، ومع «كبير» وحدة تبدأ عند 6 وتنتهي قبل 10؛ المسافة عند 5. هذه الحدود جزء من تصميم المثال، ولا نفترض أن أي محلل سيقسم كل نص عربي بهذه الطريقة.

الاختيار يبدأ داخل الوحدة

نطلب المجال من 1 إلى 10، مع استبعاد الموضع 10 نفسه. حروف الاختيار تبدأ عند «ن» من «صندوق»، وتضم بقية الوصف حتى آخر «كبير». البداية لا توافق بداية الوحدة الأولى.

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

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

التقليص والتوسيع ينتجان مقطعين

عند contract تحتفظ المقارنة بالوحدة الكاملة الموجودة داخل المجال: «كبير». لا تدخل «صندوق» لأنها مقطوعة عند بدايتها. وعند expand تدخل الوحدتان، فيصبح المقطع «صندوق كبير»؛ هكذا أضيف الحرف الأول الذي لم يشمله اختيارنا.

نستطيع قراءة نتيجتين صحيحتين بالنسبة إلى عقدين مختلفين، لكنهما لا تعبران عن اختيار حرفي واحد مطابق. ولا نسمي contract استعادة لجميع الحروف الأصلية، أو expand اكتشافًا مؤكدًا لاسم منتج.

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

راجع أثر تغيير الحدود

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

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

المصادر ومتابعة القراءة

  1. spaCy Doc.char_span (يفتح في نافذة جديدة)spacy.io

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.