تمثيل كلمات القرآن الكريم باستخدام بايثون

تحليل تركيبة الكلمات في مجموعة نصوص Corpus قد يكون مفيداً لأخذ صورة عامة عن طبيعة وتركيبة هذه المجموعة. على سبيل المثال، قام روب داوسون بتحليل تركيبة أشهر 100,000 كلمة في كتب قوقل الإنجليزية. كانت نتيجة هذا التحليل هو هذا الرسم:

wordvis_100k
اضغط على الصورة لمشاهدتها بشكل أكبر

هذا النوع من الرسم اسمه Sunburst Chart. هذا الرسم هو عبارة عن حلقات دائرية Rings. الدائرة الداخلية الصغرى مقسمة إلى أجزاء، وكل جزء يمثل نسبة تواجد الحرف في أول الكلمة (الحرف الأول في الكلمة). والدائرة التي تليها تمثل نسبة تواجد الحرف كثاني حرف للكلمة. وهكذا. لاحظ أن حرف T هو أكثر الحروف تكرراً في أول الكلمات الانجليزية.

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

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

quran-sunburst
اضغط على الصورة لعرضها بالحجم الأصلي (2.4MB)

من النظرة الأولى لهذا الرسم، نلاحظ أن كلمة “الله” (من منتصف الرسم باتجاه أعلى اليمين) هي من أكثر الكلمات تردداً . كذلك لاحظ كلمة “والله” (باتجاه أعلى اليسار)، و “من” (باتجاه اليسار).

في الرسم التالي، سنركز على الحروف بغض النظر عن موقعه في الكلمة. سيتضح لنا أكثر الحروف تكراراً في القرآن الكريم. حرفا الألف واللام يتصدران القائمة.

histogram-modified

  • تم أخذ نص القرآن الكريم من ويكيبيديا، ثم تمت معالجته (حذف أرقام الآيات، حذف البسملة، تحويل الرسوم المختلفة للأحرف أ إ آ ا ء ، …).
  • استخدمت سكربت البايثون هذا لرسم الـ Sunburst Chart ، بعد التعديل عليه لدعم أفضل للنص العربي. السكربت يأخذ متغيرين اثنين: ملف نصي يحوي في كل سطر على كلمة ثم عدد تكرارها في النص (جدول تردد)، واسم الملف الذي سيحفظ فيه ملف الـ svg. بالنسبة لرسم تكرار الأحرف، استخدمت مكتبة matplotlib.
  • يمكن تحسين التحليل بحذف الكلمات الشائعة stop words. لكني فضلت تركها لصغر النص.