الذكاء الاصطناعي1 - الوحدة الثالثة [131-139].pdf

Document Details

DedicatedSilver

Uploaded by DedicatedSilver

الحكم بن هشام بالمهد - مسارات

Tags

artificial intelligence machine learning natural language processing

Full Transcript

‫ماذا تع ّلمت‬ ‫>ا�ستخدام اال�ستدعاء الذاتي حلل امل�شكالت‪.‬‬ ‫>تطبيق خوارزميات اجتياز املُخطَّ ط املُتقدمة‪.‬‬ ‫>تطبيق األأنظمة القائمة على القواعد الب�سيطة واملتقدمة‪.‬‬ ‫>ت�صميم منوذج الذكاء اال�صطناعي‪.‬‬ ‫>قيا�س فعالية منوذج الذكاء اال�صطناعي الذي �ص َمّمتَه‪.‬‬ ‫>ا�ستخدام خوارزميات البحث ملحاك...

‫ماذا تع ّلمت‬ ‫>ا�ستخدام اال�ستدعاء الذاتي حلل امل�شكالت‪.‬‬ ‫>تطبيق خوارزميات اجتياز املُخطَّ ط املُتقدمة‪.‬‬ ‫>تطبيق األأنظمة القائمة على القواعد الب�سيطة واملتقدمة‪.‬‬ ‫>ت�صميم منوذج الذكاء اال�صطناعي‪.‬‬ ‫>قيا�س فعالية منوذج الذكاء اال�صطناعي الذي �ص َمّمتَه‪.‬‬ ‫>ا�ستخدام خوارزميات البحث ملحاكاة حلّ م�شكالت احلياة الواقعية‪.‬‬ ‫امل�صطلحات الرئي�سة‬ ‫تدريب النموذج‬ ‫�إيجاد امل�سار‬ ‫اال�ستدعاء الذاتي‬ ‫األأنظمة القائمة على‬ ‫القواعد‬ ‫دالة ت�سجيل النقاط‬ ‫خوارزميات البحث‬ ‫‪Model Training‬‬ ‫‪Path Finding‬‬ ‫‪Recursion‬‬ ‫‪Rule-Based‬‬ ‫‪Systems‬‬ ‫‪Scoring Function‬‬ ‫‪Search‬‬ ‫‪Algorithms‬‬ ‫البحث غري امل ُ�ستنري‬ ‫‪Uninformed‬‬ ‫‪Search‬‬ ‫ُخُمطَّ ط غري موزون‬ ‫‪Unweighted‬‬ ‫‪Graph‬‬ ‫ُخُمطَّ ط موزون‬ ‫‪Weighted Graph‬‬ ‫البحث ب�أولوية األأف�ضل‬ ‫�أداء اخلوارزمية‬ ‫البحث ب�أولوية االت�ساع‬ ‫م�صفوفة الدقة‬ ‫البحث ب�أولوية العمق‬ ‫‪A* Search‬‬ ‫‪Algorithm‬‬ ‫‪Performance‬‬ ‫‪Breadth-First‬‬ ‫)‪Search (BFS‬‬ ‫‪Confusion‬‬ ‫‪Matrix‬‬ ‫‪Depth-First‬‬ ‫)‪Search (DFS‬‬ ‫دالة ا�ستداللية‬ ‫‪Heuristic‬‬ ‫‪Function‬‬ ‫البحث امل ُ�ستنري‬ ‫قاعدة املعرِفة‬ ‫حل املتاهات‬ ‫‪Informed Search‬‬ ‫‪Knowledge Base‬‬ ‫‪Maze Solving‬‬ ‫‪131‬‬ ‫‪ .3‬معاجلة اللغ��ات الطبيعية‬ ‫�س ��يتعلّم الطال ��ب يف ه ��ذه الوح ��دة عملي ��ة تدري ��ب �ش ��املة لنم ��وذج التع ُّل ��م املوجَّ ��ه‬ ‫والتع ُّل ��م غ�ري�ر املوجَّ ��ه لفه ��م املعن ��ى الكام ��ن يف �أج ��زاء الن�صو� ��ص‪ .‬وكذل ��ك �س ��يتعلّم‬ ‫كيفي ��ة ا�س ��تخدام تع ُّل ��م اآلآل ��ة (‪ )Machine Learning - ML‬يف دع ��م التطبيق ��ات‬ ‫ذات ال�صلة مبعاجلة اللغات الطبيعية (‪.)Natural Language Processing -NLP‬‬ ‫�أهداف التعلُّم‬ ‫بنهاية هذه الوحدة �سيكون الطالب قادرًا على �أن‪:‬‬ ‫> يُعرِّ ف التعلُّم املوجَّ ه‪.‬‬ ‫> يُدرِّب منوذج التعلُّم املوجَّ ه على فهم الن�ص‪.‬‬ ‫> يُعرِّ ف التعلُّم غري املوجَّ ه‪.‬‬ ‫> يُدرِّب منوذج التعلُّم غري املوجَّ ه على فهم الن�ص‪.‬‬ ‫> يُن�شئ روبوت درد�شة ب�سيط‪.‬‬ ‫> يُنت� ��ج الن�صو�� ��ص با�س� ��تخدام تقني� ��ات تولي� ��د اللغ� ��ات الطبيعي� ��ة‬ ‫(‪.)Natural Language Generation -NLG‬‬ ‫األأدوات‬ ‫>مفكرة جوبيرت (‪)Jupyter Notebook‬‬ ‫‪132‬‬ ‫الدر�س األأول‬ ‫املوجه‬ ‫التع ُّلم َّ‬ ‫ا�ستخدام التع ُلّم املوجَّ ه لفهم الن�صو�ص‬ ‫‪Using Supervised Learning to Understand Text‬‬ ‫معا جل��ة اللغ��ات الطبيعي��ة ( ‪ )Natural Language Processing - NLP‬ه��ي �إ ح��دى جم��االت ا ل��ذكاء اال�صطنا ع��ي‬ ‫(‪ )Artificial Intelligence - AI‬الت��ي تر ّك��ز عل��ى متك�نين �أجه��زة احلا�س��ب لت�صب��ح ق��ادرة عل��ى فه��م اللغ��ات الب�ش��ريّة‪ ،‬وتف�س�ريرها‪،‬‬ ‫و�إنتاجها‪ .‬حيث تُعنى معاجلة اللغات الطبيعية بعدد من املهام‪ ،‬مثل‪ :‬ت�صنيف الن�صو�ص‪ ،‬وحتليل امل�ش��اعر‪ ،‬والرتجمة اآلآلية‪ ،‬واإلإجابة‬ ‫املوج��ه ال��ذي ُيع� ُّد �أح��د األأن��واع الرئي�س��ة لتع ُّل��م اآلآل��ة‬ ‫عل��ى األأ�س��ئلة‪� .‬س�ريركز ه��ذا الدر���س ب�ش��كل خا���ص عل��ى كيفي��ة ا�س��تخدام التع ُّل��م َّ‬ ‫(‪ )Machine Learning - ML‬يف حتقيق الفهم والتنب�ؤ التلقائي خل�صائ�ص الن�صو�ص‪.‬‬ ‫كاًّل من تعلُّم اآلآلة والتعلُّم العميق‪ ،‬كما يت�ضح يف ال�شكل ‪،3.1‬‬ ‫لقد تعلّمت يف الوحدة األأوىل �أن الذكاء اال�صطناعي هو م�صطلح ي�شم ُل ًّ‬ ‫فال��ذكاء اال�صطناع��ي ه��و ذل��ك املج��ال الوا�س��ع م��ن علوم احلا�س��ب الذي ُيعنى بابت��كار �آالت ذكية‪ ،‬بينما تعلُّم اآلآلة ه��و �أحد فروع الذكاء‬ ‫اال�صطناع��ي ال��ذي ير ّك��ز عل��ى ت�صمي��م اخلوارزميات وبِناء النم��اذج التي ُمُتكِّن اآلآلة من التعلُّم من البيانات دون احلاجة �إىل برجمتها‬ ‫ب�شكل �صريح‪.‬‬ ‫الذكاء اال�صطناعي‬ ‫تعلُّم اآلآلة‬ ‫التعلُّم العميق‬ ‫�شكل ‪ :3.1‬فروع الذكاء اال�صطناعي‬ ‫التعلُّم العميق (‪:)Deep learning‬‬ ‫التعلُّ��م العمي��ق ه��و �أح��د �أن��واع تعلُّ��م اآلآل��ة ال��ذي ي�س� ِ‬ ‫�تخدم‬ ‫ال�شبكات الع�صبية العميقة للتعلُّم تلقائيًا من جمموعات‬ ‫كب�ريرة م��ن البيان��ات‪ ،‬فه��و ي�س��مح ألأجه��زة احلا�س��ب‬ ‫بالتع ّرف على األأمناط واتخاذ القرارات بطريقة حتاكي‬ ‫اإلإن�سان‪ ،‬عرب ت�صميم مناذج ُمعقدة من البيانات‪.‬‬ ‫تعلُّم اآلآلة ‪Machine Learning‬‬ ‫تعلُّم اآلآلة هو �أحد فروع الذكاء اال�صطناعي املعني بتطوير اخلوارزميات التي ُمُتكِّن �أجهزة احلا�سب من التعلُّم من البيانات‬ ‫بداًل من اتباع التعليمات الربجمية ال�صريحة‪ ،‬فهو يعمل على تدريب مناذج احلا�سب للتعرُّف على األأمناط والقيام‬ ‫املُدخَ لة‪ً ،‬‬ ‫بالتنب�ؤات وفقًا للبيانات املُدخَ لة مما ي�سمح للنموذج بتح�سني الدقة مع مرور الوقت‪ ،‬وكذلك يتيح لآلآلة �أداء مهام متعددة‪ ،‬مثل‪:‬‬ ‫الت�صنيف‪ ،‬واالنحدار‪ ،‬والتجميع‪ ،‬وتقدمي التو�صيات دون احلاجة �إىل برجمة اآلآلة ب�شكل �صريح للقيام بكل مُهِ مَّة على حدة‪.‬‬ ‫ميكن ت�صنيف تعلُّم اآلآلة �إىل ثالثة �أنواع رئي�سة‪:‬‬ ‫التع ُّل��م املوجَّ ��ه (‪ )Supervised learning‬ه��و ن��وع م��ن تعلُّ��م اآلآل��ة تتع ّل��م فيه اخلوارزمية م��ن بيانات تدريب مُعن َون��ة (‪)Labelled‬‬ ‫به��دف القي��ام بالتنب��ؤات ح��ول بيان��ات جدي��دة غ�رير موج��ودة يف جمموعة التدري��ب �أو االختبار كما هو مو�ضح يف �ش��كل ‪ ،3.2‬ومن‬ ‫األأمثلة عليه‪:‬‬ ‫•ت�صنيف ال�صور (‪ ،)Image Classification‬مثل‪ :‬التعرف على الكائنات يف ال�صور‪.‬‬ ‫•ك�شف االحتيال (‪ ،)Fraud Detection‬مثل‪ :‬حتديد املُعامَ الت املالية امل�شبوهة‪.‬‬ ‫•ت�صفية الربيد اإلإلكرتوين الع�شوائي (‪ ،)Spam Filtering‬مثل‪ :‬حتديد ر�سائل الربيد اإلإلكرتوين غري املرغوب فيها‪.‬‬ ‫‪133‬‬ ‫املوج��ه (‪ )Unsupervised learning‬ه��و ن��وع م��ن تعلُّ��م اآلآل��ة تعم��ل‬ ‫التع ُّل��م غ�رير َّ‬ ‫في��ه اخلوارزمي��ة مبوج��ب بيان��ات غ�رير مُعن َون��ة (‪ )Unlabeled‬يف حماول��ة‬ ‫إلإيجاد األأمناط والعالقات بني البيانات‪ ،‬ومن األأمثلة عليه‪:‬‬ ‫•الك�ش��ف ع��ن االخت�الاف (‪ ،)Anomaly Detection‬مث��ل‪ :‬حتدي��د األأمن��اط‬ ‫غري العادية يف البيانات‪.‬‬ ‫•التجميع (‪ ،)Clustering‬مثل‪ :‬جتميع البيانات ذات اخل�صائ�ص املت�شابهة‪.‬‬ ‫•تقلي���ص األأبع��اد (‪ ،)Dimensionality Reduction‬مث��ل‪ :‬اختي��ار األأبع��اد‬ ‫املُ�ستخدَ مة للحدِّ من تعقيد البيانات‪.‬‬ ‫التع ُّل��م املع �زَّز (‪ )Reinforcement learning‬ه��و ن��وع م��ن تعلُّ��م اآلآل��ة تتفاع��ل‬ ‫في��ه اآلآل��ة م��ع البيئ��ة املحيط��ة وتتع ّل��م ع�ربر املحاول��ة واخلط ��أ �أو تل ّق��ي املكاف ��أة‬ ‫والعقاب‪ ،‬ومن األأمثلة عليه‪:‬‬ ‫•لعب األألعاب‪ ،‬مثل‪ :‬لعبة ال�شطرجن �أو لعبة قو (‪. )GO‬‬ ‫•الروبوتية‪ ،‬مثل‪ :‬تعليم الروبوت كيف يتنقل يف البيئة املحيطة به‪.‬‬ ‫•تخ�صي�ص املوارد‪ ،‬مثل‪ :‬حت�سني ا�ستخدام املوارد يف �شبكة ما‪.‬‬ ‫جدول ‪ 3.1‬يلخ�ص مزايا وعيوب �أنواع تعلُّم اآلآلة‪.‬‬ ‫جدول ‪ :3.1‬مزايا �أنواع تع ّلم اآلآلة‪ ،‬وعيوبها‬ ‫املزايا‬ ‫التعلُّم املوجَّ ه‬ ‫•�أثبت كفاءة وفعالية كبرية ويُ�ستخدم على نطاق وا�سع‪.‬‬ ‫•�سهل الفهم والتطبيق‪.‬‬ ‫• ُمُيكن��ه التعام��ل م��ع البيان��ات اخلطي��ة وغ�رير اخلطي��ة عل��ى‬ ‫حد �سواء‪.‬‬ ‫التعلُّم غري املوجَّ ه‬ ‫•ال يتطلب بيانات مُعنوَنة‪ ،‬مما يجعله �أكرث مرونة‪.‬‬ ‫• ُمُيكنه اكت�شاف األأمناط اخلفية يف البيانات‪.‬‬ ‫• ُمُيكنه التعامل مع البيانات ال�ضخمة واملُعقدة‪.‬‬ ‫التعلُّم املعزَّز‬ ‫•يتّ�س��م باملرون��ة‪ُ ،‬ومُيكن��ه التعام��ل م��ع البيئ��ات املُعق��دة‬ ‫واملتغرية با�ستمرار‪.‬‬ ‫•ميكن��ه التعلُّ��م م��ن التج��ارب ال�س��ابقة وحت�س�نين الكف��اءة مع‬ ‫مرور الوقت‪.‬‬ ‫•يتنا�س��ب م��ع عملي��ات �صن��ع الق��رار مث��ل لع��ب األألع��اب‬ ‫والروبوتية‪.‬‬ ‫‪134‬‬ ‫امل ُخرَج املتوقّع‬ ‫النموذج‬ ‫جمموعة بيانات‬ ‫االختبار‬ ‫اخلوارزمية‬ ‫جمموعة بيانات‬ ‫التدريب‬ ‫امل ُخرَج املطلوب‬ ‫�شكل ‪ :3.2‬متثيل التعلُّم املوجَّ ه‬ ‫العيوب‬ ‫•يتطلب بيانات مُعنوَنة‪ ،‬والتي قد تكون مرتفعة التكلفة‪.‬‬ ‫•يقت�صر ا�س��تخدامه على املُهِ َّمة التي مت تدريبه عليها‪ ،‬وقد‬ ‫ال ميكنه �إعطاء التنب�ؤ ال�صحيح للبيانات اجلديدة‪.‬‬ ‫•ي�صع��ب تكيف��ه م��ع امل�ش��كالت األأخ��رى يف ح��االت النم��اذج‬ ‫املُعقدة جدً ا‪.‬‬ ‫•�أ�صعب من التعلُّم املوجَّ ه من حيث الفهم والتف�سري‪.‬‬ ‫•يقت�صر على التحليل اال�ستك�ش��ايف‪ ،‬وقد ال ينا�س��ب عمليات‬ ‫�صنع القرار‪.‬‬ ‫•ي�صع��ب تكيف��ه م��ع امل�ش��كالت األأخ��رى يف ح��االت النم��اذج‬ ‫املُعقدة جدً ا‪.‬‬ ‫•�أكرث تعقيدً ا من التعلّم املوجَّ ه وغري املوجَّ ه‪.‬‬ ‫•�صعوب��ة ت�صمي��م نظ��م مكاف ��آت ُحُت��دد ال�س��لوك املطل��وب‬ ‫ب�شكل دقيق‪.‬‬ ‫•ق��د يتطل��ب جمموع��ات كبرية م��ن بيانات التدري��ب واملوارد‬ ‫احل�سابية‪.‬‬ ‫التعلُّم املوجَّ ه ‪Supervised Learning‬‬ ‫التعلُّ��م املوجَّ ��ه ه��و �أح��د �أن��واع تعلُّ��م اآلآل��ة ال��ذي يعتمد عل��ى ا�س��تخدام البيانات‬ ‫املُعنوَنة لتدريب اخلوارزميات للقيام بالتنب�ؤات‪ .‬يتم تدريب اخلوارزمية على‬ ‫جمموع��ة م��ن البيان��ات املُعن َون��ة ث��م اختبارها على جمموع��ة بيانات جديدة مل‬ ‫املوج��ه ع��اد ًة يف معاجل��ة‬ ‫تك��ن ج��زءًا م��ن بيان��ات التدري��ب‪ُ .‬ي�س� َ‬ ‫�تخدم التعلُّ��م َّ‬ ‫اللغ��ات الطبيعي��ة للقي��ام مبه��ام مث��ل‪ :‬ت�صني��ف الن�صو���ص‪ ،‬وحتلي��ل امل�ش��اعر‪،‬‬ ‫والتعرّف على الكيانات امل�سماة (‪.)Named Entity Recognition - NER‬‬ ‫يف ه��ذه امله��ام يت��م تدري��ب اخلوارزمي��ة عل��ى جمموع��ة م��ن البيان��ات املُعن َون��ة‪،‬‬ ‫حيث يتم �إدراج كل مثال حتت عنوان الت�صنيف املنا�سب �أو امل�شاعر املنا�سبة‪.‬‬ ‫املوج��ه ا�س��م االنح��دار (‪ )Regression‬عندم��ا‬ ‫يُط َل��ق عل��ى عملي��ة التعلُّ��م َّ‬ ‫تك��ون القي��م الت��ي تتنب��أ به��ا اآلآل��ة رقم ّي��ة‪ ،‬بينم��ا يطل��ق عليه��ا ا�س��م الت�صني��ف‬ ‫(‪ )Classification‬عندما تكون القيم متقطّ عه‪.‬‬ ‫التعلُّم املوجَّ ه‬ ‫)‪:(Supervised Learning‬‬ ‫�ست�س��تخدم يف التعلُّ��م املوجَّ ��ه جمموع��ات‬ ‫البيان��ات املُعن َون��ة واملُنظم��ة ب�ش��كل ي��دوي‬ ‫لتدري��ب خوارزميات احلا�س��ب على التنب�ؤ‬ ‫بالقيم اجلديدة‪.‬‬ ‫االنحدار‬ ‫على �س��بيل املثال‪ ،‬قد ُي�س��تخدم االنحدار يف التنب�ؤ ب�س��عر بيع املنزل وفقًا مل�س��احته‪ ،‬وموقعه‪ ،‬وعدد غرف النوم فيه‪ .‬كما‬ ‫ميك��ن ا�س��تخدامه يف التنب��ؤ بحج��م الطل��ب عل��ى �أح��د املنتج��ات ا�س��تنادًا �إىل بيان��ات املبيع��ات التاريخي��ة وحج��م اإلإنف��اق‬ ‫اإلإع�الاين‪ .‬ويف جم��ال معاجل��ة اللغ��ات الطبيعي��ة‪َ ،‬ي�س� ِ‬ ‫�تخدم االنح��دار الن�صو���ص املُدخَ ل��ة املتوفرة للتنب��ؤ بتقييم اجلمهور‬ ‫للفيلم �أو مدى التفاعل مع املن�شورات اخلا�صة به على و�سائل التوا�صل االجتماعي‪.‬‬ ‫الت�صنيف‬ ‫من ناحية �أخرى‪ُ ،‬ي�ستخدم الت�صنيف يف التطبيقات مثل‪ :‬ت�شخي�ص احلاالت الطبية وفقًا لألأعرا�ض ونتائج الفحو�صات‪.‬‬ ‫املوجه يف ت�صنيف الن�صو�ص املُدخَ لة �إىل فئات �أو عناوين‬ ‫وعندما يتعلق األأمر بفهم الن�صو�ص‪ ،‬ميكن ا�ستخدام التعلُّم َّ‬ ‫املوجه‬ ‫�أو التنب��ؤ به��ا بن��ا ًء عل��ى الكلم��ات �أو العب��ارات املوج��ودة يف املُ�س��تنَد‪ .‬على �س��بيل املثال‪ ،‬ميكن تدريب من��وذج التعلُّم َّ‬ ‫�تخدمة يف ر�س��الة‬ ‫لت�صنيف ر�س��ائل الربيد اإلإلكرتوين �إىل ر�س��ائل مزعجة �أو غري مزعجة وفقًا للكلمات �أو العبارات املُ�س� َ‬ ‫الربي��د اإلإلك�رتروين‪ .‬و ُيع� ّد ت�صني��ف امل�ش��اعر �أح��د التطبيق��ات ال�ش��هرية كذل��ك‪ ،‬حي��ث ميك��ن التنب��ؤ باالنطب��اع العام حول‬ ‫و�س ُي�س��تخدم ه��ذا التطبي��ق كمث��ال عمل��ي يف ه��ذه الوح��دة‪ ،‬ل�ش��رح كل خط��وات‬ ‫م�س��تند م��ا �س��واء كان �س��لب ًّيا �أم �إيجاب ًّي��ا‪َ .‬‬ ‫املوجه ب�شكل �شامل من بداية رحلة التعلم حتى نهايتها‪.‬‬ ‫عملية بِناء وا�ستخدام منوذج التعلُّم َّ‬ ‫يف ه��ذه الوح��دة �ستَ�س��تخدم جمموع��ة بيان��ات م��ن مراجع��ات األأف�الام على موقع ‪ IMDb.com‬ال�ش��هري‪� .‬س��تجد البيانات‬ ‫حُت ّمل‬ ‫مُق�سّ ��مه �إىل جمموعت�نين؛ األأوىل �ستُ�س��تخدم لتدري��ب النم��وذج‪ ،‬والثاني��ة الختب��ار �أداء النم��وذج‪ .‬يف البداية البد �أن ُ َ‬ ‫البيان��ات �إىل ‪ِ ،DataFrame‬ل��ذا علي��ك ا�س��تخدام مكتب��ة باندا���س بايث��ون (‪ )Pandas Python‬والت��ي ا�س��تخدمتها‬ ‫�س��ابقًا‪ .‬مكتب��ة باندا���س ه��ي �إح��دى األأدوات ال�ش��هرية الت��ي ُت�س��تخدم للتعام��ل م��ع جداول البيان��ات‪ .‬التعليم��ات الربجمية‬ ‫التالية �ستقوم با�سترياد املكتبة �إىل الربنامج‪ ،‬ثم حتميل جمموعتي البيانات‪:‬‬ ‫‪%%capture # capture is used to suppress the installation output.‬‬ ‫‪# install the pandas library, if it is missing.‬‬ ‫‪!pip install pandas‬‬ ‫‪import pandas as pd‬‬ ‫مكتبة باندا�س هي مكتبة �شهيرة تُ�ستخدم لقراءة ومعالجة البيانات ال�شبيهة بجداول البيانات‪.‬‬ ‫‪135‬‬ # load the train and testing data. imdb_train_reviews=pd.read_csv('imdb_data/imdb_train.csv') imdb_test_reviews=pd.read_csv('imdb_data/imdb_test.csv') imdb_train_reviews ‫ف ��إن‬،3.3 ‫وكم��ا يت�ض��ح يف ال�ش��كل‬ DataFrame ‫جمموع��ة بيان��ات‬ :‫حتتوي على عمودين‬ .‫ن�ص التقييم‬ ّ • .)‫(ال�صنف‬ َّ ‫•القيم‬ ‫تقييم �إيجابي‬ ‫تقييم �سلبي‬ ‫ جمموعة بيانات التدريب املُعنوَنة‬:3.3 ‫�شكل‬ ‫ متثل تقييمًا �سلبيًّا‬0 ‫القيمة‬ .‫ متثل تقييمًا �إيجابيًّا‬1 ‫بينما القيمة‬ ‫اخلطوة التالية هي �إ�سناد �أعمدة الن�ص والقيم �إىل متغريات م�ستقلة يف �أمثلة التدريب واالختبار املُمثّلة كمجموعة‬ :‫ كما يلي‬DataFrame ‫بيانات‬ # extract the text from the 'text' column for both training and testing. X_train_text=imdb_train_reviews['text'] X_test_text=imdb_test_reviews['text'] # extract the labels from the 'label' column for both training and testing. Y_train=imdb_train_reviews['label'] Y_test=imdb_test_reviews['label'] X_train_text # training data in text format ‫ عاد ًة يف‬Y‫ و‬X ‫ت�ستخدم الرموز‬ ‫ عن البيانات‬X ‫فيعرّب‬ ّ ‫التعلُّم املوجَّ ه‬ ‫ عن القيم‬Y‫ و‬،‫املدخلة للتنب�ؤ‬ .‫امل�ستهدفة‬ DataFrame ‫) من جمموعة بيانات‬X_train_text( ‫ �صورة من �أمثلة التدريب‬:3.4 ‫�شكل‬ 136 ‫جتهيز البيانات واملعاجلة املُ�سبقة ‪Data Preparation and Pre-Processing‬‬ ‫على الرغم من �أن تن�س��يق الن�ص األأويل كما يف �ش��كل ‪ 3.4‬بديهي للقارئ الب�ش��ري‪� ،‬إال �أنَّ خوارزميات التعلُّم املوجَّ ه ال ت�س��تطيع التعامل‬ ‫فبداًل من ذلك‪ ،‬حتتاج اخلوارزميات �إىل حتويل هذه املُ�ست َندات �إىل تن�سيق متَّجَ ه رقمي (‪.)Numeric Vector‬‬ ‫معه ب�صورته احلالية‪ً .‬‬ ‫فيم��ا ُيع��رف بعملي��ة الربجم��ة االجتاهي��ة (‪ .)Vectorization‬وميك��ن تطبيق عملية الربجمة االجتاهي��ة بعدة طرائق خمتلفة‪ ،‬وتتميز‬ ‫ب�أن لها ت�أثريًا �إيجابيًّا كبريًا على �أداء النموذج املُد ّرب‪.‬‬ ‫مكتبة �سكلرين ‪Sklearn Library‬‬ ‫املوجه با�ستخدام مكتبة �سكلرين وتُعرف كذلك با�سم مكتبة �سايكيت لرين (‪ ،)Scikit-Learn‬وهي‬ ‫�سيتم بناء النموذج َّ‬ ‫مكتبة �ش�هرية يف بايثون تخت�ص بتعلُّم اآلآلة‪ .‬توفر املكتبة جمموعة من األأدوات واخلوارزميات ألأداء مهام متعددة‪ ،‬مثل‪:‬‬ ‫الت�صني�ف‪ ،‬واالنح�دار‪ ،‬والتجمي�ع‪ ،‬وتقلي��ص األأبع�اد‪� .‬إح�دى األأدوات املفي�دة يف مكتب�ة �س�كلرين ه�ي �أداة تُ�س�مى‬ ‫‪ ،CountVectorizer‬وميكن ا�ستخدامها يف تهيئة عملية املعاجلة ومتثيل البيانات الن�صية باملتَّجَ هات‪.‬‬ ‫�أداة ‪CountVectorizer‬‬ ‫تُ�س��تخدم �أداة ‪ CountVectorizer‬يف حتويل جمموعة من املُ�س��تنَدات الن�صية‬ ‫�إىل م�صفوف��ة م��ن رم��وز متع��ددة‪ ،‬حي��ث مي ّث��ل ك ّل �ص� ّ�ف م�س��تندً ا وكل عم��ود ميثل‬ ‫خا�ص��ا‪ .‬ق��د تك��ون الرم��وز كلم��ات فردي��ة �أو عب��ارات �أو ُبني��ات �أك�رثر تعقي��دً ا‬ ‫رم��زً ا ً‬ ‫تقوم بالتقاط األأمناط املتعددة من البيانات الن�صية األأ�سا�سية‪ .‬تُ�شري املُدخَ الت‬ ‫أي�ض��ا‬ ‫يف امل�صفوف��ة �إىل ع��دد م��رات ظه��ور الرم��ز يف كل م�س��تند‪ .‬و ُيع��رف ذل��ك � ً‬ ‫با�س��م متثي��ل حقيب��ة الكلم��ات )‪ ،"bag-of-words" (BoW‬حي��ث يتجاه��ل‬ ‫ترتي��ب الكلم��ات يف الن���ص م��ع املحافظ��ة عل��ى تكراره��ا في��ه‪ .‬على الرغ��م من �أن‬ ‫متثي��ل حقيب��ة الكلم��ات ه��و تب�س��يط �ش��ديد للغ��ة الب�ش��رية‪� ،‬إال �أن��ه يحق��ق نتائ��ج‬ ‫تناف�سية للغاية عند التطبيق العملي‪.‬‬ ‫‪apples‬‬ ‫‪do‬‬ ‫‪I‬‬ ‫‪like‬‬ ‫‪oranges‬‬ ‫‪you‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫الربجمة االجتاهية‬ ‫(‪:)Vectorization‬‬ ‫الربجم��ة االجتاهي��ة ه��ي عملي��ة حتوي��ل‬ ‫ال�سال�س��ل الن�صية املك َون��ة من الكلمات‬ ‫�أو العب��ارات (الن���ص) �إىل متَّجَ ��ه‬ ‫متجان���س م��ن األأر ق��ام احلقيقي��ة‬ ‫ي�س��تخدم لرتمي��ز خ�صائ���ص الن���ص‬ ‫با�س��تخدام تن�س��يق تفهم��ه خوارزمي��ات‬ ‫تعلُّم اآلآلة‪.‬‬ ‫حقيبة كلمات ن�صية متَّجَ هة‬ ‫"?‪"I like oranges, do you like oranges‬‬ ‫("�أنا �أحب الربتقال‪ ،‬هل حتب الربتقال؟")‬ ‫�شكل ‪ :3.5‬متثيل حقيبة الكلمات (‪)bag-of-words‬‬ ‫ي�ستخدم املقطع الربجمي التايل �أداة ‪ CountVectorizer‬لتمثيل جمموعة بيانات التدريب ‪ IMDb‬باملتَّجَ هات‪:‬‬ ‫‪from sklearn.feature_extraction.text import CountVectorizer‬‬ ‫‪# the min_df parameter is used to ignore terms that appear in less than 10 reviews.‬‬ ‫)‪vectorizer_v1 = CountVectorizer(min_df=10‬‬ ‫‪vectorizer_v1.fit(X_train_text) # fit the vectorizer on the training data.‬‬ ‫‪# use the fitted vectorizer to vectorize the data.‬‬ ‫)‪X_train_v1 = vectorizer_v1.transform(X_train_text‬‬ ‫‪X_train_v1‬‬ ‫'>'‪<40000x23392 sparse matrix of type '<class 'numpy.int64‬‬ ‫>‪with 5301561 stored elements in Compressed Sparse Row format‬‬ ‫‪137‬‬ ‫‪# expand the sparse data into a sparse matrix format, where each column represents a different word.‬‬ ‫‪X_train_v1_dense=pd.DataFrame(X_train_v1.toarray(),‬‬ ‫))(‪columns=vectorizer_v1.get_feature_names_out‬‬ ‫‪X_train_v1_dense‬‬ ‫�شكل ‪ :3.6‬متثيل جمموعة بيانات التدريب باملتَّجَ هات‬ ‫ُيع� ِّرِّبر ه��ذا التن�س��يق الكثي��ف (‪ )Dense‬للم�صفوف��ة ع��ن ‪ 40,000‬تقيي��م ومراجع��ة ف ِل��م يف بيان��ات التدري��ب‪ .‬حتت��وي‬ ‫امل�صفوف��ة عل��ى عم��ود ل��كل كلم��ة تظه��ر يف ‪ 10‬مراجع��ات عل��ى األأق��ل (مُنف��ذة بوا�س��طة املتغ�رير ‪ .)min_df‬كم��ا يت�ض��ح‬ ‫دخ��ل امل�صفوف��ة يف املو�ض��ع [‪ ]i,j‬عن‬ ‫باألأعل��ى‪ ،‬ينت��ج ع��ن ذل��ك ‪ 23,392‬عم��ودًا‪ ،‬مرتب��ة يف ترتي��ب �أبج��دي رقم��ي‪ُ .‬يع� ِّرِّبر ُم َ‬ ‫ع��دد امل��رات الت��ي تظه��ر فيه��ا كلم��ة ‪ j‬يف املراجع��ة ‪ .i‬وعل��ى الرغ��م م��ن �إمكان ّي��ة ا�س��تخدام ه��ذه امل�صفوف��ة مبا�ش��ر ًة م��ن‬ ‫املوج��ه‪� ،‬إال �أنه��ا غ�رير ف ّعال��ة م��ن حي��ث ا�س��تخدام الذاك��رة‪ .‬وال�س��بب يف ذل��ك �أن الغالبي��ة العظم��ى‬ ‫ِق َب��ل خوارزمي��ة التعلُّ��م َّ‬ ‫م��ن املُدخَ �الات يف ه��ذه امل�صفوف��ة ت�س��اوي ‪ .0‬وه��ذا يح��دث ألأن ن�س��بة �ضئيل��ة ج��دً ا فق��ط م��ن ب�نين ‪ 23,392‬كلم��ة حمتمل��ة‬ ‫�س��تظهر فعل ًي��ا يف كل مراجع��ة‪ .‬وملعاجل��ة ه��ذا الق�ص��ور‪ُ ،‬تخ��زِّ ن �أداة ‪ CountVectorizer‬البيان��ات املمثل��ة باملتَّجَ ه��ات‬ ‫يف م�صفوف��ة متباع��دة‪ ،‬حي��ث حتتف��ظ فق��ط باملُدخَ الت غري ال�صفرية يف كل عمود‪ .‬ي�س��تخدم املقطع الربجمي باألأ�س��فل‬ ‫الدال��ة )(‪ getsizeof‬الت��ي حت��دد حج��م الكائن��ات يف لغ��ة البايث��ون (‪ )Python‬بالباي��ت (‪ )Bytes‬لتو�ضي��ح م��دى‬ ‫التوفري يف الذاكرة عند ا�ستخدام امل�صفوفة املتباعدة لبيانات ‪:IMDb‬‬ ‫‪from sys import getsizeof‬‬ ‫‪print('\nMegaBytes of RAM memory used by the raw text format:',‬‬ ‫)‪getsizeof(X_train_text)/1000000‬‬ ‫‪print('\nMegaBytes of RAM memory used by the dense matrix format:',‬‬ ‫)‪getsizeof(X_train_v1_dense)/1000000‬‬ ‫‪print('\nMegaBytes of RAM memory used by the sparse format:',‬‬ ‫)‪getsizeof(X_train_v1)/1000000‬‬ ‫‪MegaBytes of RAM memory used by the raw text format: 54.864133‬‬ ‫‪MegaBytes of RAM memory used by the dense matrix format: 7485.440144‬‬ ‫‪MegaBytes of RAM memory used by the sparse format: 4.8e-05‬‬ ‫‪138‬‬ ‫وبح�سب املتوقّع حتتاج امل�صفوفة املتباعدة �إىل ذاكرة �أقل بكثري وحتديدً ا ‪ 0.000048‬ميجابايت‪ .‬بينما ت�شغل امل�صفوفة‬ ‫الكثيفة ‪ 7‬جيجابايت‪ ،‬كما �أنّ هذه امل�صفوفة لن تُ�ستخدَ م مرة �أخرى وبالتايل ميكن حذفها لتوفري هذا احلجم الكبري‬ ‫من الذاكرة‪:‬‬ ‫‪# delete the dense matrix.‬‬ ‫‪del X_train_v1_dense‬‬ ‫بِناء خط �أنابيب التنب�ؤ‬ ‫‪Build a Prediction Pipeline‬‬ ‫اآلآن بع��د �أن مت َّكن��ت م��ن متثي��ل بيان��ات التدري��ب باملتَّجَ ه��ات ف��إن اخلط��وة التالي��ة‬ ‫ه��ي ِبن��اء خ��ط �أنابي��ب التنب�ؤ األأول‪� .‬أحد األأمثلة على املُ�صنِّفات املُ�س��تخدَ مة للتنب�ؤ‬ ‫بال َّن���ص ه��و امل ُ�ص ِّن��ف باي��ز ال�س��اذج (‪ .)Naive Bayes Classifier‬يَ�س��تخدِ م ه��ذا‬ ‫امل�صنِّف احتماالت الكلمات �أو العبارات املحددة الواردة يف النَّ�ص للتنب ؤ� باحتمال‬ ‫انتمائ��ه �إىل ت�صني��ف حم��دد‪ .‬ج��اءت كلم��ة ال�س��اذج (‪ )Naive‬يف ا�س��م املُ�ص ِّن��ف‬ ‫م��ن افرتا���ض �أن وج��ود كلم��ة بعينه��ا يف ال َّن���ص م�س��تقل ع��ن وجود �أي كلم��ة �أخرى‪.‬‬ ‫وهذا افرتا�ض قوي‪ ،‬ولكنه ي�سمح بتدريب اخلوارزمية ب�سرعة وبفعالية كبرية‪.‬‬ ‫املُ�صنِّف (‪:)Classifier‬‬ ‫املُ�ص ِّن��ف يف تعلُّ��م اآلآل��ة ه��و من��وذج يُ�س��تخدم‬ ‫لتمييز نقاط البيانات يف فئات �أو ت�صنيفات‬ ‫خمتلف��ة‪ .‬الهدف م��ن املُ�صنِّف هو التعلُّم من‬ ‫بيان��ات التدري��ب املُعن َون��ة‪ ،‬وم��ن ث��م القي��ام‬ ‫بالتنب ��ؤات ح��ول قي��م الت�صني��ف لبيان��ات‬ ‫جديدة‪.‬‬ ‫ي�س��تخدم املقط��ع الربجم��ي الت��ايل تطبي��ق م�ص َّن��ف باي��ز ال�س��اذج ( ‪ )Multinomial NB‬م��ن مكتب��ة �س��كلرين‬ ‫(‪ )Sklearn Library‬لتدريب منوذج التعلُّم املوجَّ ه على بيانات التدريب ‪ IMDb‬باملتَّجَ هات‪:‬‬ ‫‪from sklearn.naive_bayes import MultinomialNB‬‬ ‫‪model_v1=MultinomialNB() # a Naive Bayes Classifier‬‬ ‫‪model_v1.fit(X_train_v1, Y_train) # fit the classifier on the vectorized training data.‬‬ ‫‪from sklearn.pipeline import make_pipeline‬‬ ‫‪# create a prediction pipeline: first vectorize using vectorizer_v1, then use model_v1 to predict.‬‬ ‫)‪prediction_pipeline_v1 = make_pipeline(vectorizer_v1, model_v1‬‬ ‫عل��ى �س��بيل املث��ال‪� ،‬س�يُنتج ه��ذا املقط��ع الربجم��ي م�صفوف��ة نتائ��ج يرم��ز فيه��ا الرق��م ‪ 1‬للتقيي��م اإلإيجاب��ي و‪ 0‬للتقيي��م‬ ‫ال�سلبي‪:‬‬ ‫‪prediction_pipeline_v1.predict(['One of the best movies of the year. Excellent‬‬ ‫‪cast and very interesting plot.',‬‬ ‫‪'I was very disappointed with his film. I‬‬ ‫)] '‪lost all interest after 30 minutes‬‬ ‫)‪array([1, 0], dtype=int64‬‬ ‫‪139‬‬

Use Quizgecko on...
Browser
Browser