الدرس 7 من 10

معالجة النصوص

هدف الدرس

وحّد، نظّف، قسّم، عُدّ

01

الشرح

النصّ الحقيقي فوضوي: مسافات زائدة، وعلامات ترقيم ملتصقة بالكلمات، وPython وpython كلمتان مختلفتان في عين الحاسوب. فقبل أي عدّ يمرّ النصّ بثلاث خطوات: وحّد، ثم نظّف، ثم قسّم.

التوحيد .lower(): لا يغيّر العربية لأنها بلا حالة، لكنه يوحّد ما يختلط بها من اللاتينية. والتنظيف re.sub(r"[^\w\s]", " ", text): كل ما ليس حرفًا أو رقمًا (\w) أو مسافة (\s) يصير مسافة. ثم .split() بلا وسائط تقسم على أي عدد من المسافات وتتجاهل الطرفين كما تفعل .strip()، أما .split(" ") فتُرجع نصوصًا فارغة بين كل مسافتين.

والفخّ مع العربية: string.punctuation فيها علامات الإنجليزية وحدها، لا «،» ولا «؟» ولا «؛». فمن يحذف بها تبقى عنده «ممتازة،» و«ممتازة» كلمتين. أما \w فتعرف الحروف العربية، فالحذف بنفيها يشمل كل العلامات.

02

المطلوب

أكمل words(text) لتُرجع كلمات النصّ نظيفة: بحروف صغيرة، بلا علامات ترقيم ولا كلمات فارغة. ثم اصنع freq: Counter لكل كلمات reviews.

معايير التصحيح

5 معايير
  1. words تحذف علامات الترقيم العربية
  2. words توحّد الحروف اللاتينية
  3. words تتجاهل المسافات الزائدة
  4. words لا تُرجع كلمات فارغة
  5. freq يعدّ كل كلمات التعليقات
main.py
المخرجاتPython · Pyodide

جارٍ تحميل بيئة بايثون… تُحمَّل مرّة واحدة ثم يحفظها المتصفح.

–/5

يبدأ الفحص حين تجهز البيئة.

5 معايير في بطاقة «المطلوب».