الذكاء الاصطناعي1 - الوحدة الثالثة [131-139].pdf
Document Details
Uploaded by DedicatedSilver
الحكم بن هشام بالمهد - مسارات
Tags
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