صفحة 1 من 1

كيف تمت برمجة نظام الإنغرام؟

مرسل: الثلاثاء 20 يوليو 2021, الساعة 14:47
بواسطة السهلي
ما هو الإنغرام
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
الإنغرام هو مبيان يحصي تردد الكلمات عبر مر الزمان. وبالنظر إليه، تستطيع أن تستنج بسهولة متى دخلت كلمة ما للغة العربية، ومتى ازدهرت وهل ماتت بعد مدة، وهل تم إحياءها، وتأثير الأحداث السياسية عليها وهكذا ذواليك...
أمثلة: جبريل، سقراط، أفلاطون ...

صورة

السبب
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لم يكن في الحقيقة من داعٍ عندنا لتطوير برنامج الإنغرام إلا أنه كان تحصيل حاصل عمل آخر (1). وعلى كل حال، فقد ارتأينا أن نضمه للموقع حتى يستفيد منه الباحثين عن تأثيل الكلمات.

المصادر
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
قد قمنا بإحصاء تكرار الكلمات لمدة تزيد عن 2000 سنة من حياة اللغة العربية، وتحديدا من سنة 10م إلى 2016م. والكتب الرقمية التي اعتمدناه هي ما وجدناه عند إخواننا في مكتبة الشاملة وأيضا بعض الدواوين الشعرية وخطب الفصحاء في الجاهلية كأكثم بن صيف. أما في الوقت الحاضر فقد اعتمدنا على ما وجدناه من مقالات في ويكيبيديا العربية. وقد لاحظنا أن ازدهار الكلمات العامة والكلمات الدينية الخاصة كان له الحظ الوافر مباشرة بعد بعثة الرسول ﷺ. ولو بحثت عن كلمات لها علاقة بالعلوم والفلسفلة لوجدت أنها دخلت للعربية وازدهرت ابتداء من العصر العباسي. وقد بدا لنا أن الكتب التي حصلنا عليها من الشاملة مركزة بشكل كبير على الفترة العباسية، ولا أدري أقلّ التأليف في العصر العثماني ام أننا لم نرقمن كتب هذه الفترة بعد؟ وعلى كل حال، فإنك سترى انخفاظا مذهلا في معظم الكلمات خلال هذه الفترة تحديدا. لكن الجميل ها هنا هو ذاك الصعود اللافت للنظر في عصر النهضة (2) وعصر الصحوة (3)، ونرجوا أن يستمر ذلك.

مشاريع شبيهة
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
إذا كنت تريد الاضطلاع أكثر على الإنغرام فننصح بزيارة الرابط ngram وكذلك مشروع الإنغرام لغووغل ngram-viewer.

إنغرام العنقاء تفاعلي
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

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

صورة

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

صورة

ليكن في علمك أن نظام الإنغرام في العنقاء سيتفاعل معك تلقائيا بإعادة تنظيم نفسه وتكبير المنحنيات الأخرى حين تقرر إخفاء إحداها. وعليك أن تنتبه لسلم النسب في محور الأراتيب على اليمين كما هو بائن في الشكل التالي:

صورة

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

صورة

ونحن نرحب بكل مقترحاتكم لتحسين هذا النظام، فلا تبخلوا علينا بآرائكم هنا.

منظومة الإنغرام في العنقاء
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

صورة

تعتبر منظومة الإنغرام ثانوية في هندسة نظام العنقاء، ويتم تحديثها بين الفينة والأخرى من خلال رقمنة المؤلفات.
وقد قمنا بربطها بالقاموس التأثيلي وهي متاحة للجميع الآن. ونرى أنها سترتبط بالقاموس التاريخي أيضا إن شاء الله.

تحظير قاعدة البيانات:
برمجة المنظومة ليس بالأمر الصعب. فما عليك إلا أن تحصي الكلمات في كل سنة من السنوات وأن تأخذ بعين الاعتبار السنوات التي عاشها المؤلف، فإن عاش المؤلف 60 سنة مثلا فيمكنك أن تعتبر ان الكلمة التي قالها في أحد قصائده او ذكرها في أحد كتبه لها نفس التردد طيلة حياته. أما إذا كان وقت وفاته معروفا وولادته مجهولة فخذ بقاعدة " أَعْمَارُ أُمَّتِي مَا بَيْنَ السِّتِّينَ إِلَى السَّبْعِينَ، وَأَقَلُّهُمْ مَنْ يَجُوزُ ذَلِكَ".

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

الواجهة:
لأنه من الصعب الحصول على المؤلفات كلها عبر التاريخ، فسيبدوا رسم المنحنيات مُتَشَوِّكا جدا. فسيكون تردد الكلمة تارة عاليا جدا في سنة ما، ومنخفضا جدا في التي تليها. وهذا الأمر معروف جدا عند معالجة الإشارات (4) في مجالات أخرى. وما علينا إلا أن نطبق دالة رياضية على المنحنى لتنعيمه. وفي العنقاء، فقد طبقنا على المنحنيات دالة تسمى SMA وهي معروفة جدا في عالم الإحصائيات. فهكذا سيبدوا المنحنى إذا افترضنا أن عمر المؤلف سنة واحد ولا تنعيما للمنحنى:

صورة

أما إذا افترضنا أن عمر المؤلف هو 100 سنة مثلا وبدون تنعيم للمنحنى فسيبدوا هذا الأخير هكذا:

صورة

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

صورة

الخلاصة
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
هل تعرف مبيانات أخرى أفضل لدراسة الكلمات واللغة؟ أم عندك بعضا من الأفكار لتطوير منظومة الإنغرام، المهم شاركنا بها لتطوير العنقاء.

مقتطفات عند بناء منظومة الإنغرام
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
هذه بعضا من مقتطفات العمل على إنجاز هذه المنظومة. كل ملف تراه هناك معنون بالتقويم الميلادي ورقم المؤلف:

صورة
صورة

ـــــــــــــــــــــــــــــــــــ
(1) تحصيل العمل على نظام اشتقاق الأسماء.
(2) عصر النهضة: القرنين 19م و20م.
(3) عصر الصحوة: القرن 21م.
(4) أي signal processsing