République Algérienne Démocratique et Populaire Ministère de l’enseignement Supérieur et de la Recherche Scientifique Université de Mohamed El Bachir El Ibrahimi de Borj Bou Arréridj Faculté des Mathématiques et d’Informatique Département d'informatique MEMOIRE Présenté en vue de l’obtention du diplôme Master en Informatique Spécialité : Technologies de l’Information et de la Communication (TIC) THEME Etude Comparative Des Racinisateurs Arabes. Présenté par : MAOUCHE Farah Hiba KHALFA Lynda Soutenu publiquement le : 19/06/2024 Devant le jury composé de : Président : CHARIKHI Mourad Examinateur : SAIFI Abdelhamid Encadreur : BELAZZOUG Mouhoub 2023/2024 ii REMERCIEMENTS Avant toute chose, nous souhaitons exprimer notre gratitude envers Allah le Tout-Puissant et Miséricordieux, dont la force et la patience nous ont permis d'accomplir ce modeste travail. Nous souhaitons exprimer nos plus sincères remerciements à notre encadreur Dr BELLAZOUG Mouhoub pour son soutien inestimable, ses conseils éclairés et son dévouement tout au long de l'élaboration de ce travail de recherche. Votre expertise et votre encouragement ont été des piliers essentiels de notre succès. Nous adressons également nos remerciements à tous les membres du jury, pour avoir accepté d'évaluer notre travail avec attention et impartialité. Vos commentaires constructifs et votre expertise ont grandement enrichi notre réflexion. Nos remerciements vont également à tous les professeurs qui nous ont guidés, enseignés et inspirés tout au long de notre parcours académique. Votre passion pour l'enseignement et votre engagement envers notre réussite ont été une source constante d'inspiration. Nous exprimons notre profonde gratitude envers nos familles pour leur soutien indéfectible, leurs encouragements constants et leur compréhension tout au long de ce parcours. Leur amour et leur soutien ont été notre plus grande force. Nous tenons également à remercier nos amis et nos collègues pour leur soutien, leurs encouragements et leur camaraderie. Leurs conseils, leur présence et leurs encouragements ont rendu ce voyage académique plus enrichissant et mémorable. Enfin, nous remercions tous ceux qui ont contribué de près ou de loin à la réalisation de ce travail. Votre soutien et votre engagement ont été d'une valeur inestimable et nous vous en sommes profondément reconnaissants. iii DÉDICACES Je dédie également ce travail : À ma mère et mon père, pour leur soutien inébranlable, leurs encouragements constants et leur amour inconditionnel. À mon grand-père, pour son amour, sa sagesse et ses précieux conseils tout au long de ma vie. À mes frères, Mohamed, Mahdi et Abdelhak, pour leur soutien fraternel, leurs encouragements et leur aide précieuse. À mes amies, Ichrak, Nour, Farah, Khouloud, Lyna et Chaima, pour leur compréhension, leur motivation et les moments de détente qui m'ont permis de garder le cap. À mon binôme, Lynda, pour sa collaboration, son dévouement et son esprit d'équipe. Ensemble, nous avons surmonté les défis et réalisé ce travail avec succès. À mon encadrant, Belaazoug Mouhoub, pour son orientation, ses conseils précieux et sa patience tout au long de ce parcours. Et enfin, à toutes les personnes qui, de près ou de loin, ont contribué à la réalisation de ce travail. Merci pour votre soutien et votre bienveillance. MAOUCHE Farah Hiba iv DÉDICACES Je dédie ce modeste travail : A mon père, que son âme repose en paix. A ma chère mère, ma grand-mère, mes oncles et mes tantes, qui ont toujours été là pour me soutenir et m'encourager dans toutes les étapes de ma vie. A mes chères cousines, Feriel, Yasmine et Célia, qui ont partagé avec moi tant de moments précieux et qui ont été une source de joie et de réconfort. A mes amies, Lyna et Chaima, dont le soutien indéfectible et les encouragements ont été un pilier essentiel tout au long de ce parcours. A mon ami Mohammed, dont la présence et les conseils avisés ont été d'un grand réconfort dans les moments difficiles. A mon binôme, Farah, avec qui j'ai partagé tant de défis et de réussites, et qui a été un partenaire précieux dans la réalisation de ce travail. A mon encadreur, Dr. Belazzoug Mouhoub, dont l'expertise, les conseils et le soutien ont été d'une importance capitale pour la réussite de ce projet. Enfin, à toutes les personnes qui m'ont apporté leur aide, leur soutien et leur encouragement, je vous adresse ma plus profonde gratitude. Ce travail est le fruit de notre collaboration et de notre engagement commun envers l'excellence. KHALFA Lynda v Résumé La langue arabe présente une structure morphologique complexe, ce qui constitue un défi unique dans le traitement du langage naturel (NLP). Le système dérivationnel de l'arabe est basé sur des racines, qui sont fréquemment modifiées pour créer de nouveaux mots, en utilisant un ensemble étendu d'affixes morphémiques arabes tels que des préfixes, des suffixes et plus encore. La racinisation est une tâche fondamentale dans le traitement du texte, joue un rôle crucial dans la récupération de l'information (IR) et l'analyse de texte, elle réduit les mots à leur forme de base ou racine, facilitant la normalisation du texte pour un traitement plus facile. Cependant, aucun algorithme de racinisation pour cette langue n'est parfait. Dans ce travail, nous allons nous concentrer sur la comparaison et l'évaluation des performances de plusieurs raciniseurs arabes, à savoir ISRI, Tashaphyne et Snowball. Nous avons l'intention d'évaluer leurs performances sur deux ensembles de données distincts en utilisant des techniques avancées telles que les réseaux neuronaux et les classificateurs d'apprentissage automatique. De plus, nous visons à déterminer quelle combinaison de raciniseur et de classificateur donne les meilleurs résultats, fournissant des informations inestimables pour les applications de traitement de texte en arabe. Mot clés : Le traitement du langage naturel, racinisation, Algorithme de classification, Approches, Intelligence artificielle. vi Abstract Arabic language has a complex morphological structure, which presents a unique challenge in natural language processing (NLP). The derivational system of Arabic is based on roots, which are frequently modified to create new words, employing an extensive set of Arabic morphemes affixes such as prefixes, suffixes and more. Stemming is a fundamental task in text processing, plays a crucial role in information retrieval (IR) and text analysis, it reduces words to their basic or root form, facilitating text normalization for easier processing. However, no stemming algorithm for this language is perfect. In this work, we are going to focus on comparing and evaluating the performance of several Arabic stemmers namely, ISRI, Tashaphyne and Snowball. We intend to assess their performance on two distinct datasets using advanced techniques such as neural networks and machine learning classifiers. Additionally, we aim to determine which combination of stemmer and classifier yields the best results, providing invaluable insights for Arabic text processing applications. Keywords: Natural language processing, stemming, Classification algorithm, Approaches, Artificial intelligence. vii ملخص هيكل تصريفي معقد، مما يشكل تحدياً فريداً في معالجة اللغة الطبيعية. يستند النظام التصريفي للعربية اللغة العربية لديها على الجذور، التي يتم تعديلها بشكل متكرر لإنشاء كلمات جديدة، باستخدام مجموعة واسعة من البادئات واللاحقات ص، ويؤدي دورًا حاسمًا في استرجاع المعلومات وتحليل هو مهمة أساسية في معالجة النصو جذيعالصرفية العربية. الت ومع ذلك، لا يوجد .النصوص، حيث يقلل الكلمات إلى شكلها الأساسي أو الجذري، مما ييُسّر التعامل مع النصوص .مثالية لهذه اللغة جذيعخوارزمية ت قييم أدائها على مجموعتي بيانات متميزتينت على نعتزمو في هذا العمل سنركز على مقارنة وتقييم أداء عدة مقلمات عربية باستخدام تقنيات متقدمة مثل الشبكات العصبية والمصنفات الآلية. بالإضافة إلى ذلك، نهدف إلى تحديد أي توليفة من .والمصنف تعطي أفضل النتائج، مما يوفر رؤى قيمة لتطبيقات معالجة النصوص العربية جذعالم .، خوارزمية التصنيف، النهج، الذكاء الاصطناعيجذيعاللغة الطبيعية، التمعالجة الكلمات الرئيسية: viii Table des matières Table des figures .......................................................................................................... xii Liste des tableaux ........................................................................................................ xiii Liste d’abréviations ...................................................................................................... xv Introduction Générale .................................................................................................xvi 1. Chapitre 1 Classification automatique de textes ...................................................5 1.1. Introduction .....................................................................................................6 1.2. Classification de textes ....................................................................................6 1.3. Processus de classification de textes ................................................................6 1.4. La représentation des textes ............................................................................8 1.5. Le prétraitement ..............................................................................................8 1.5.1. La segmentation .......................................................................................8 1.5.2. Le traitement morphologique ..................................................................8 1.5.3. Le traitement syntaxique .........................................................................9 1.6. Application de la classification de textes ........................................................9 1.7. Obstacles dans la classification de textes ...................................................... 10 1.8. Les algorithmes de classification ................................................................... 11 1.8.1. Algorithme de Rocchio ........................................................................... 12 1.8.2. Arbres de décision .................................................................................. 13 1.8.3. L’algorithme K-plus proches voisins ..................................................... 14 1.8.4. Naive Bayes ............................................................................................. 15 1.8.5. Les Machines à Vecteur Support (SVM) ............................................... 15 1.8.6. Les Réseaux de neurones ....................................................................... 16 ix 1.8.7. Bagging ................................................................................................... 16 1.8.8. Boosting .................................................................................................. 17 1.8.9. MLP (Multilayer Perceptron)................................................................ 18 1.9. Conclusion ..................................................................................................... 20 2. Chapitre 02 Racinisation ...................................................................................... 21 2.1. Introduction ................................................................................................... 22 2.2. Définition de la racinisation .......................................................................... 22 2.3. Les raciniseurs les plus couramment utilisés ................................................ 23 2.3.1. Porter ...................................................................................................... 23 2.3.2. Algorithme de Paice et Husk (Lancaster) .............................................. 25 2.3.3. Algorithme de Krovetz ........................................................................... 25 2.3.4. Algorithme de Snowball ......................................................................... 26 2.4. Les caractéristiques de la langue arabe ........................................................ 26 2.5. Les approches de la racinisation en arabe .................................................... 27 2.5.1. La racinisation légère (Light-based stemming) ..................................... 27 2.5.2. La racinisation basée sur la racine (Root-based stemming) ................. 27 2.5.3. La racinisation statistique (Statistical stemming) ................................. 28 2.5.4. La racinisation par l'intelligence artificielle .......................................... 28 2.6. Les raciniseurs basé sur les racines (Root-based stemmers) ....................... 29 2.6.1. Khoja ...................................................................................................... 29 2.6.2. ISRI ......................................................................................................... 30 2.7. Les raciniseurs légère (Light-based stemmers) ............................................ 31 2.7.1. Light10 .................................................................................................... 31 x 2.7.2. CondLight ............................................................................................... 32 2.7.3. Tashaphyne............................................................................................. 33 2.8. Conclusion ..................................................................................................... 33 3. Chapitre 03 Classification automatique de textes ............................................... 34 3.1. Introduction ................................................................................................... 35 3.2. Méthodologie de travail ................................................................................. 35 3.2.1. Collections textuelles .............................................................................. 35 3.2.2. Prétraitement.......................................................................................... 39 3.2.3. La représentation des textes ................................................................... 40 3.2.4. Évaluation des performances des algorithmes de classification de texte 41 3.3. Conclusion ..................................................................................................... 42 4. Chapitre 04 Classification automatique de textes ............................................... 43 4.1. Introduction ................................................................................................... 44 4.2. Outils et langages utilisés .............................................................................. 44 4.2.1. Python ..................................................................................................... 44 4.2.2. Anaconda ................................................................................................ 44 4.2.3. Jupyter notebook .................................................................................... 45 4.3. Bibliothèques utilisées ................................................................................... 45 4.3.1. NLTK (Natural Language Toolkit) ....................................................... 45 4.3.2. Scikit-Learn ............................................................................................ 45 4.3.3. Pandas ..................................................................................................... 45 4.3.4. OS ........................................................................................................... 46 xi 4.4. Collections textuelles utilisées ....................................................................... 46 4.5. Comparaison des algorithmes de racinisation basés sur la matrice document- terme 47 4.5.1. La collection textuelle « Arabic Wikipedia Corpus » ........................... 47 4.5.2. La collection textuelle « Arabic Poem Classification Challenge dataset» 47 4.6. Analyse des résultats des algorithmes obtenus avec les deux ensembles de données 48 4.6.1. Résultats de la première collection de données « Arabic Wikipédia Corpus » 48 4.6.2. Résultats de la deuxième collection de données « Arabic Poem Classification Challenge dataset» ............................................................................... 55 4.7. Comparaison graphique des résultats : collection textuelle 1 et 2 ............... 60 4.8. Conclusion ..................................................................................................... 62 Conclusion générale ...................................................................................................... 63 Bibliographie ................................................................................................................. 65 xii Table des figures Figure 1 Processus de catégorisation automatique de textes. .............................................7 Figure 2 Arbre de décision appliqué sur la base weather.arff avec l’outil Weka............... 13 Figure 3 Illustration d’une classification par l’algorithme K-NN, cas de deux classe A et B. ............................................................................................................................................. 14 Figure 4 Classification linéaire par SVM. ....................................................................... 15 Figure 5 Conception d’un Réseau de Neurones. (Adapté de : Tufféry, 2012). .................. 16 Figure 6 Schéma général de Bagging. ............................................................................. 17 Figure 7 Comparaison entre Bagging et Boosting dans l'Ensemble Learning. .................. 18 Figure 8 Structure de MLP. ............................................................................................. 20 Figure 9 Le processus de la racinisation (stemming). ...................................................... 23 Figure 10 Algorithme de PORTER. ................................................................................ 25 Figure 11 Exemple d'application d'un raciniseur léger et d'un raciniseur basé sur les racines. ............................................................................................................................................. 28 Figure 12 Comparaison visuelle de la base de données avant et après l'ajout de la catégorie devant chaque texte. ............................................................................................................. 38 Figure 13 schéma englobe notre processus de classification. ........................................... 41 Figure 14 présentations graphiques des résultats de la première base de données « Arabic Wikipedia Corpus ». ............................................................................................................. 60 Figure 15 présentations graphiques des résultats de la deuxième base de données « Arabic Poem Classification Challenge dataset». ............................................................................... 61 xiii Liste des tableaux Tableau 1 Les schémas singuliers et pluriels. .................................................................. 27 Tableau 2 Exemples de la racinisation de khoja. ............................................................. 29 Tableau 3 Ensembles d'affixes. ....................................................................................... 30 Tableau 4 Exemples de la racinisation de ISRI. ............................................................... 31 Tableau 5 Liste des affixes supprimées par light1, Light2, Light3, Light8, Light10. ........ 31 Tableau 6 Exemple de la racinisation de Light10. ........................................................... 32 Tableau 7 Liste des affixes ajouté par Condlight. ............................................................ 32 Tableau 8 Exemple d'application de Light10 et CondLight aux mêmes mots. .................. 33 Tableau 9 Arabic Wikipedia Corpus ............................................................................... 35 Tableau 10 les mots les plus fréquents dans le corpus Arabic Wikipedia. ........................ 36 Tableau 11 les mots les plus fréquents, à l'exclusion des mots vides. ............................... 37 Tableau 12 Arabic Poem Classification Challenge dataset .............................................. 38 Tableau 13 les informations de la première collection textuelle. ...................................... 46 Tableau 14 les informations de la deuxième collection textuelle...................................... 47 Tableau 15 le nombre de mots après l’application de la matrice document-term sur la base de wikis. ............................................................................................................................... 47 Tableau 16 le nombre de mots après l’application de la matrice document-terme sur la base de poèmes............................................................................................................................. 47 Tableau 17 résultats de l’algorithme NB en utilisant le racinisateur ISRI. ....................... 48 Tableau 18 résultats de l’algorithme MLP en utilisant le racinisateur ISRI. ..................... 49 Tableau 19 résultats de l’algorithme SVM en utilisant le racinisateur SNOWBALL. ...... 50 Tableau 20 résultats de l’algorithme BOOSTING en utilisant le racinisateur SNOWBALL. ............................................................................................................................................. 51 xiv Tableau 21 résultats de l’algorithme NB en utilisant le racinisateur TASHAPHYNE. .... 52 Tableau 22 résultats de l’algorithme BOOSTING en utilisant le racinisateur TASHAPHYNE. .................................................................................................................. 53 Tableau 23 résultats de l’algorithme SVM sans l’utilisation de racinisateur..................... 54 Tableau 24 résultats de l’algorithme MLP sans l’utilisation de racinisateur. .................... 55 Tableau 25 résultats de l’algorithme NB en utilisant le racinisateur ISRI. ....................... 56 Tableau 26 résultats de l’algorithme MLP en utilisant le racinisateur ISRI. ..................... 56 Tableau 27 résultats de l’algorithme SVM en utilisant le racinisateur SNOWBALL. ...... 57 Tableau 28 résultats de l’algorithme BOOSTING en utilisant le racinisateur SNOWBALL. ............................................................................................................................................. 57 Tableau 29 résultats de l’algorithme NB en utilisant le racinisateur TASHAPHYNE. ..... 58 Tableau 30 résultats de l’algorithme BOOSTING en utilisant le racinisateur TASHAPHYNE. .................................................................................................................. 58 Tableau 31 résultats de l’algorithme SVM sans l’utilisation de racinisateur..................... 59 Tableau 32 résultats de l’algorithme MLP sans l’utilisation de racinisateur. .................... 59 xv Liste d’abréviations DL Deep Learning ML Machine Learning SVM Support Vector Machine NB Naïve bayes MLP Multilayer Perceptron GB Gradient Boosting ACC Accuracy DT Arbres de décision AI Intelligence Artificielle xvi Introduction Générale Introduction générale Page 1 Introduction générale  Contexte de travail La langue arabe, riche de son histoire et de sa culture millénaire, est une des plus anciennes langues écrites du monde. Cette longue histoire a produit une énorme quantité de documents textuels, allant des manuscrits anciens aux publications contemporaines. En outre, avec l'avènement du numérique, la production de contenus en arabe a explosé, englobant des livres, des articles scientifiques, des articles de presse, des blogs, des forums, et des réseaux sociaux. Ainsi, nous sommes confrontés à une vaste toile de données textuelles arabes, chacune renfermant un savoir précieux, des informations historiques et culturelles, ainsi que des connaissances scientifiques et techniques. Cependant, ce flot incessant d'informations présente des défis importants en termes d'organisation et d'exploitation. La langue arabe, avec sa richesse morphologique, sa variété dialectale et ses structures grammaticales complexes, rend le traitement automatique de textes particulièrement difficile. La diversité des sources et des styles de rédaction ajoute une couche de complexité supplémentaire. Face à cette abondance de données, il devient essentiel de disposer d'outils efficaces pour trier, organiser et accéder rapidement aux informations pertinentes. C'est dans ce contexte que la classification automatique des textes arabes devient un outil indispensable. Cette technologie permet d'assigner automatiquement des catégories pertinentes aux documents écrits en arabe, facilitant ainsi leur organisation, leur recherche et leur analyse. Grâce à la classification automatique, il est possible de naviguer plus facilement dans cet océan de connaissances, d'extraire rapidement des informations utiles, et de tirer des enseignements significatifs de vastes ensembles de données textuelles. La classification automatique ouvre également des perspectives nouvelles pour l'exploration de la littérature arabe, la préservation de son patrimoine et la diffusion de ses savoirs à un public plus large.  Problématique L'immensité et la diversité des données textuelles en arabe posent des défis spécifiques en termes d'organisation et d'exploitation efficaces. La langue arabe présente une série de particularités linguistiques qui compliquent le traitement automatique des textes. Parmi ces Introduction générale Page 2 particularités, on trouve une morphologie riche, avec des mots pouvant prendre de nombreuses formes différentes à partir d'une même racine. L'arabe est également caractérisé par un système complexe de dérivation et d'inflexion, où un mot peut varier en fonction du contexte grammatical, du temps, de l'aspect et de la voix. Cette flexibilité rend la tâche de reconnaissance et de classification automatique des mots et des textes particulièrement ardus. En outre, l'arabe utilise un script cursif, où les lettres changent de forme en fonction de leur position dans le mot, ce qui peut compliquer davantage la segmentation des mots et des phrases. Les variations dialectales ajoutent une autre couche de complexité : l'arabe moderne standard diffère des dialectes régionaux, qui peuvent varier considérablement d'un pays à l'autre, voire d'une région à une autre au sein du même pays. Ces différences dialectales peuvent affecter la lexique, la syntaxe et même la sémantique des textes. Face à ces défis, il est crucial de développer des méthodes robustes pour assigner automatiquement des catégories pertinentes aux documents écrits en arabe. La question centrale est donc de savoir comment on peut efficacement réaliser cette tâche. Quels algorithmes de classification sont les plus adaptés pour traiter des textes arabes ? Les techniques de traitement préalable, comme le stemming (racinisation) ou la lemmatisation, peuvent-elles améliorer la précision de la classification ? Comment gérer les variations linguistiques et dialectales pour optimiser les performances des systèmes de classification ? Pour répondre à ces questions, il est nécessaire d'explorer différentes approches et techniques. Par exemple, certains algorithmes de classification, comme les machines à vecteurs de support (SVM), les réseaux de neurones, ou les modèles basés sur l'apprentissage profond, pourraient offrir des performances variées en fonction des caractéristiques spécifiques des données arabes. De plus, l'efficacité de ces algorithmes peut être influencée par la qualité du prétraitement des données. Des techniques comme la tokenisation, le filtrage des mots vides (stop words), et la normalisation des caractères doivent être adaptée aux particularités de la langue arabe. Ainsi, la problématique centrale de cette étude est de déterminer les meilleures pratiques pour la classification automatique des textes arabes, en prenant en compte les défis linguistiques uniques posés par cette langue. Cela implique d'évaluer l'efficacité de divers algorithmes et techniques de prétraitement pour optimiser les performances de classification dans divers contextes et types de données textuelles en arabe. Introduction générale Page 3  Objectif L'objectif principal de cette étude est d'explorer en profondeur les principes fondamentaux de la classification des textes en arabe, en examinant comment différents algorithmes et techniques de prétraitement influencent les performances de cette classification. La complexité de la langue arabe, avec ses particularités morphologiques et syntaxiques, exige une approche méthodique pour comprendre et surmonter les défis spécifiques liés au traitement automatique des textes. Pour atteindre cet objectif, nous allons d'abord étudier les concepts de base de la classification des textes, y compris les différentes étapes du processus, telles que la préparation des données, le choix des caractéristiques (features) et la sélection des algorithmes de classification. Nous chercherons à identifier quelles techniques de prétraitement, comme la tokenisation, le filtrage des mots vides (stop words), et surtout la racinisation (stemming), sont les plus efficaces pour améliorer la qualité de la classification des textes en arabe. Ensuite, nous évaluerons l'efficacité de divers algorithmes de classification dans des contextes variés. Ces algorithmes incluront des méthodes traditionnelles, comme les machines à vecteurs de support (SVM), et les Naïve Bayes (NB), ainsi que des techniques plus avancées d'apprentissage profond, telles que Multi-layer Perceptron (MLP) et les Gradient Boosting. Nous comparerons leurs performances en termes de précision, de rappel, et de F-mesure sur différents ensembles de données arabes. Un aspect crucial de notre étude sera l'analyse de l'impact de la variation linguistique sur les résultats de la classification. Nous utiliserons différents stemmers pour la langue arabe, tels que le stemmer de ISRI, Snowball et le Tashaphyne, afin d'observer comment ces techniques affectent la performance des algorithmes de classification. Cette comparaison nous permettra de mieux comprendre quelles méthodes de racinisation sont les plus appropriées pour divers types de textes et contextes linguistiques. En résumé, cette étude vise à fournir une analyse exhaustive des techniques de classification des textes arabes, en tenant compte des spécificités linguistiques et des défis posés par cette langue. Nous espérons que nos recherches permettront de déterminer les meilleures pratiques pour le traitement et la classification des textes arabes, facilitant ainsi l'accès à l'information et la découverte de nouvelles connaissances dans ce riche corpus textuel. Introduction générale Page 4  Plan de mémoire Pour mener à bien cette mission, nous structurerons notre recherche en quatre chapitres distincts. Le premier chapitre, intitulé "Classification de textes automatique", explorera les étapes clés de la classification de textes, y compris le prétraitement, les applications pratiques, les défis rencontrés et les algorithmes utilisés. Le deuxième chapitre se concentrera sur la racinisation (stemming), une technique visant à réduire les mots à leur racine commune, avec une attention particulière aux techniques spécifiques à la langue arabe. Le troisième chapitre détaillera la méthodologie employée dans la recherche, couvrant la collecte des données et le déroulement de l'étude. Enfin, le quatrième chapitre présentera les résultats de la recherche, décrivant les outils utilisés, analysant les résultats obtenus et synthétisant les conclusions tirées de l'étude. En conclusion, ce mémoire aspire à apporter une contribution notable au domaine de la catégorisation automatique des textes arabes, facilitant l'accès à l'information et la découverte de connaissances dans ce riche univers textuel. Notre travail se distingue par son originalité dans sa combinaison d'une analyse approfondie des techniques de classification et de racinisation pour la langue arabe. Page 5 1. Chapitre 1 Classification automatique de textes Chapitre 01 Classification automatique de textes Chapitre 1 Classification automatique de textes Page 6 1.1. Introduction Ce premier chapitre est consacré à une étude détaillée de la classification des textes et couvre de nombreux aspects fondamentaux. Commençons par prétraiter les données texte. Il s’agit d’une étape essentielle pour garantir la qualité et la pertinence des données avant analyse. Nous examinons ensuite diverses applications réelles de la classification de texte et démontrons son utilisation dans divers domaines tels que l'analyse des sentiments, le filtrage du spam et la classification automatique des documents. Nous abordons également les principaux défis dans le domaine, notamment la résolution des problèmes liés aux ensembles de données déséquilibrés, à la complexité du traitement du langage naturel et aux performances des modèles. De plus, nous présentons une étude détaillée des principaux algorithmes de classification, discutons de leur fonctionnement, ainsi que de leurs avantages et limites. L'objectif principal de ce chapitre est de fournir un aperçu complet et nuancé des principes et techniques de classification de textes, en mettant l'accent sur les défis actuels et les opportunités futures dans ce domaine en évolution. 1.2. Classification de textes La classification de textes est le processus d'attribution d'un texte libre à une catégorie (ou classe) spécifique en fonction de son contenu. Pour ce faire, un ensemble de textes préalablement étiquetés, appelé ensemble d'apprentissage, est préparé. Cet ensemble sert à générer le modèle de prédiction le plus adéquat et performant possible. Formellement, le problème de classification des textes (TC) consiste à assigner une valeur booléenne (Vrai ou Faux) à chaque paire (di, ci) ∈ D x C, où "Vrai" signifie que le document appartient à la catégorie et "Faux" qu'il n'y appartient pas. Dans cette notation, D = {d1, ..., dn} représente l'ensemble des documents à catégoriser et C = {c1, ..., cm} désigne les catégories de texte prédéfinies. (1) 1.3. Processus de classification de textes Le processus de catégorisation consiste à construire un modèle de prédiction qui, en prenant un texte en entrée, lui associe une ou plusieurs étiquettes en sortie. Pour déterminer la catégorie ou la classe d'un texte, plusieurs étapes sont généralement suivies. Ces étapes incluent la représentation du texte, le choix de l'algorithme d'apprentissage, et l'évaluation des résultats pour garantir une bonne généralisation du modèle. L'apprentissage, qui comprend plusieurs étapes et aboutit à un modèle de prédiction, se déroule comme suit (1) : a. Un ensemble de textes étiquetés est disponible, où chaque texte est associé à une catégorie connue. b. A partir de ce corpus, les descripteurs (ou mots, ou termes) les plus pertinents pour le problème à résoudre sont extraits. Chapitre 1 Classification automatique de textes Page 7 c. Un tableau des descripteurs × individus est constitué, où chaque texte est représenté par ses descripteurs et son étiquette. d. Un algorithme d'apprentissage est appliqué à ce tableau pour obtenir un modèle de prédiction. Ce modèle peut ensuite être utilisé pour classer de nouveaux textes en leur attribuant les étiquettes appropriées. Le classement d’un nouveau texte dx se déroule en deux étapes : a. Rechercher et pondérer les occurrences des termes (t1, ..., tk) dans le texte dx à classer. b. Appliquer le modèle sur ces occurrences pour prédire l’étiquette de ce texte dx. Le processus de catégorisation, est résumé dans la figure 1 : Figure 1 Processus de catégorisation automatique de textes. Le processus de catégorisation des textes repose sur l'utilisation de techniques d'apprentissage automatique pour attribuer des catégories à des documents textuels. Ce processus commence par le prétraitement des données, qui comprend le nettoyage et la normalisation des textes. Les textes sont ensuite représentés sous forme de vecteurs numériques. Un modèle est alors entraîné sur un ensemble de données annoté, apprenant à associer les caractéristiques des textes à leurs catégories respectives. Après des phases de validation et d'ajustement, le modèle est testé sur un ensemble de données indépendant pour évaluer sa précision. Une fois validé, le modèle est déployé en production pour catégoriser de nouveaux documents, avec une surveillance et une maintenance régulières pour assurer la pérennité de ses performances. Chapitre 1 Classification automatique de textes Page 8 1.4. La représentation des textes La représentation des textes est une étape cruciale dans le processus de classification, nécessitant l'utilisation d'une technique efficace pour rendre les textes exploitables par la machine. Le modèle le plus couramment utilisé est le modèle vectoriel, où chaque texte est représenté par un vecteur de n termes pondérés. Les différentes techniques de représentation des textes incluent (1) :  Sac de mots (Bag-of-Words) : représente les mots par leur fréquence.  TF-IDF : attribue un poids aux mots en fonction de leur importance.  Word Embeddings : représente les mots par des vecteurs capturant leurs relations sémantiques.  Modèles de langage pré-entraînés : fournissent des représentations de haute qualité pour les mots et les phrases.  N-grammes : capture les séquences de mots consécutifs. 1.5. Le prétraitement Avant de procéder à l'encodage vectoriel, il est indispensable de réaliser une étape préliminaire de transformation d'un document depuis l'espace des caractères vers l'espace des mots. Cette opération, connue sous le nom de prétraitement, prépare ainsi les données pour leur représentation vectorielle (1). 1.5.1. La segmentation La phase de segmentation implique de découper la séquence des caractères afin de regrouper les caractères formant un même mot. Une méthode classique de segmentation consiste à découper les séquences de caractères en fonction de la présence ou de l'absence de caractères de séparation tels que les espaces, les tabulations ou les retours à la ligne. 1.5.2. Le traitement morphologique Le traitement morphologique implique de traiter individuellement chaque mot afin de regrouper les mots qui sont significativement identiques.  Élimination de mots vides : Certains mots tels que les prépositions, conjonctions ou articles, qui n'apportent aucune information sémantique et ne modifient pas le sens des mots qui les accompagnent, peuvent être retirés des documents. Cette étape de prétraitement permet de réduire la taille du lexique.  Le stemming : Cette méthode vise à regrouper sous un même identifiant des mots partageant une racine commune.  Lemmatisation : La lemmatisation implique de regrouper des mots ayant la même signification même si leurs racines diffèrent (par exemple, "maison" et "baraque"). Cette tâche est plus complexe que le stemming et repose souvent sur l'utilisation de vastes bases de connaissances. Par exemple, le lemme d'un mot au pluriel sera sa forme au singulier, et celui d'un verbe conjugué sera sa forme infinitive. Chapitre 1 Classification automatique de textes Page 9 1.5.3. Le traitement syntaxique  Sélection des attributs : Les critères les plus utilisés sont : - La fréquence documentaire : Cette méthode consiste à éliminer les mots dont la fréquence d'apparition dans les documents est inférieure à un seuil donné. L'objectif est de supprimer les mots peu informatifs ou susceptibles d'être des erreurs typographiques. Bien que simple et rapide, cette technique n'est généralement pas utilisée de manière agressive, car les termes ayant une fréquence faible à moyenne sont considérés comme relativement informatifs et devraient être conservés. - Le gain d'information : Cette méthode évalue le pouvoir discriminant d'un mot en mesurant le nombre de bits d'information obtenus pour prédire la catégorie en fonction de la présence ou de l'absence du mot. Elle est souvent utilisée dans la construction d'arbres de décision pour choisir l'attribut qui divise le mieux l'ensemble des instances en deux groupes homogènes. - La force du terme : Cette méthode est différente des précédentes. Elle vise à estimer l'importance d'un terme en fonction de sa tendance à apparaître dans des documents similaires. Elle commence par former des paires de documents dont la similarité cosinus est supérieure à un seuil donné. Ensuite, la force d'un terme est calculée en utilisant la probabilité conditionnelle qu'il apparaisse dans le deuxième document d'une paire, sachant qu'il apparaît dans le premier.  Tableau « individus – variables » : il s'agit de transformer l'ensemble des textes en un tableau croisé où :  Chaque individu représente un texte étiqueté pendant la phase d'apprentissage et à classer lors de la phase de prédiction.  Les variables sont les descripteurs (ou termes) extraits des données textuelles.  Les éléments du tableau représentent le poids de chaque terme dans chaque texte. 1.6. Application de la classification de textes La classification de textes trouve une multitude d'applications dans divers domaines. Voici quelques exemples de secteurs où elle est couramment utilisée (2) :  Filtrage et organisation des nouvelles : La majorité des services d'information sont désormais de nature électronique, générant chaque jour un grand nombre d'articles de presse. Organiser ces articles manuellement devient ainsi une tâche ardue. La classification automatique s'avère très utile pour la catégorisation des divers portails web, également appelée filtrage de textes, comme mentionné dans les travaux de Lang (1995a) et Resnick et al. (1994).  Détection de spam : La détection de spam utilise la classification des textes pour identifier automatiquement les courriels indésirables. Les courriels sont prétraités, représentés numériquement, et un modèle Chapitre 1 Classification automatique de textes Page 10 de classification est entraîné sur des données contenant à la fois des courriels spam et légitimes. Une fois le modèle validé, il est utilisé pour analyser en temps réel les courriels entrants et les classer comme spam ou non spam.  Analyse de sentiments : Application de la classification des textes, identifie l'émotion ou l'attitude exprimée dans un texte, comme positive, négative ou neutre. Les textes sont prétraités et convertis en représentations numériques. En utilisant un modèle de classification entraîné sur des données annotées, le sentiment est prédit dans de nouveaux textes. Cette analyse est cruciale pour comprendre les opinions des clients, la perception des produits et services, et pour orienter les stratégies commerciales.  Détection de fake news : Dans la détection de fake news, la classification des textes est utilisée pour distinguer les articles de presse authentiques des informations trompeuses. Les textes sont prétraités, convertis en représentations numériques, puis un modèle est entraîné sur des données annotées pour prédire l'authenticité des articles. Cette analyse vise à promouvoir la vérité et la fiabilité de l'information en ligne, contribuant ainsi à une société mieux informée et plus critique.  Sécurité et surveillance : La sécurité et la surveillance utilisent la classification des textes pour analyser les communications électroniques et identifier les activités suspectes ou criminelles. Les textes sont prétraités, représentés numériquement, puis un modèle est entraîné sur des données annotées pour détecter les menaces potentielles. Cette analyse permet de surveiller en temps réel les conversations et les communications, aidant ainsi les agences gouvernementales et les entreprises de sécurité à prévenir les incidents et à protéger les individus et les organisations contre les dangers en ligne. 1.7. Obstacles dans la classification de textes La classification de textes, un domaine clé de l'analyse de données textuelles, consiste à attribuer automatiquement des étiquettes ou des catégories à des documents textuels en fonction de leur contenu. Cette tâche revêt une importance croissante dans de nombreux domaines, allant de la recherche d'information à la surveillance en ligne, en passant par la recommandation de contenu personnalisé. Cependant, malgré les avancées significatives réalisées dans ce domaine, la classification de textes est confrontée à plusieurs défis inhérents qui peuvent affecter sa précision et son efficacité. Dans la continuation, nous abordons certains défis inhérents à la classification automatique de textes (2).  La haute dimensionnalité : Le modèle de sac de mots génère fréquemment des quantités considérables de termes, souvent des centaines de milliers. Cette abondance peut affecter la qualité de la classification, Chapitre 1 Classification automatique de textes Page 11 engendrant non seulement des coûts en temps liés aux algorithmes de classification, mais également ce que l'on appelle communément un sur-apprentissage. De plus, notre vecteur de mots, caractérisé par une grande majorité de variables vides, présente une structure creuse, ajoutant ainsi un problème supplémentaire à celui de la dimensionnalité et du sur-apprentissage.  Complexité de l’algorithme : Dans le processus de catégorisation de textes, la taille importante du vecteur de mots ainsi que le nombre d'observations influent sur l'efficacité et les performances des algorithmes d'apprentissage.  Variabilité linguistique : La diversité des langues, des dialectes et des styles d'écriture peut rendre la classification des textes plus complexe. Les modèles doivent être capables de généraliser à différentes expressions linguistiques pour assurer leur efficacité dans des contextes variés.  Classes déséquilibrées : Certains jeux de données peuvent présenter un déséquilibre entre les classes, où une classe est significativement plus représentée que d'autres. Cela peut entraîner un biais dans les prédictions du modèle en faveur de la classe majoritaire, réduisant ainsi sa capacité à reconnaître les classes minoritaires.  Ambiguïté (polysémie) : Dans le langage naturel, un mot unique peut revêtir plusieurs significations différentes, avec plusieurs définitions qui lui sont associées. Par exemple, le mot "jaguar" peut faire référence à l'animal ou à la voiture. Si ces significations ne sont pas distinguées et sont représentées par la même variable (terme), cela risque inévitablement de compromettre la qualité de la classification par la suite.  Synonymie : Les synonymes sont des mots ou des expressions ayant le même sens. Ne pas tenir compte de ces synonymes lors de la phase de représentation des documents conduira à un élargissement supplémentaire de notre vecteur de mots, entraînant ainsi une baisse de la précision des performances.  Présence de bruit dans les données : Les textes peuvent contenir des éléments indésirables tels que des fautes d'orthographe, des abréviations, des caractères spéciaux ou des données incomplètes. Ce bruit peut compromettre la qualité des prédictions et nécessite un nettoyage préalable des données. 1.8. Les algorithmes de classification L'utilisation d'algorithmes de classification est indispensable dans de nombreux domaines de l'informatique et de l'analyse de données. Ces algorithmes permettent de catégoriser Chapitre 1 Classification automatique de textes Page 12 automatiquement des données en fonction de leurs caractéristiques. Dans le domaine de l'analyse de textes, plusieurs de ces algorithmes sont appliqués pour classer efficacement des documents en différentes catégories ou étiquettes. Dans les sections suivantes, nous présenterons quelques-uns de ces algorithmes de classification largement utilisés dans le domaine de la classification de textes, reconnus pour leur efficacité dans divers domaines d'application. 1.8.1. Algorithme de Rocchio L'algorithme de Rocchio est une méthode de classification supervisée utilisée principalement dans le domaine de la recherche d'information et de l'apprentissage automatique. Il est principalement utilisé pour classer des documents textuels dans des catégories prédéfinies. L'idée principale derrière l'algorithme de Rocchio est de représenter chaque classe par un vecteur moyen (appelé centroïde) dans un espace de caractéristiques. Lorsqu'un nouveau document est introduit, il est comparé aux centroïdes des différentes classes et classé dans la classe dont le centroïde est le plus proche. La formule de Rocchio constitue une extension du modèle vectoriel qui automatise la transformation d'une requête initiale (représentée par un vecteur Q0) en une nouvelle requête (représentée par un vecteur Q1) plus performante. Grâce à ce modèle, un ensemble de documents répondant à la requête initiale est proposé à l'utilisateur qui les étiquette (feedback de pertinence). La nouvelle requête Q1 est construite selon la formule de Rocchio [Rocchio, 1971], qui consiste à ajouter à la requête initiale les termes des documents pertinents tout en retirant ceux des documents non pertinents (2). Ci=α⋅ci + Niβ∑xj∈Dixj−N−Niγ∑xj∈D¬ixj Où : 𝛼α est le facteur d'atténuation, contrôlant l'influence des anciens centroïdes sur le nouveau. 𝛽β est le facteur d'importance des documents de la classe, permettant de mettre à jour le centroïde en fonction des exemples positifs. 𝛾γ est le facteur d'importance des documents hors classe, permettant de mettre à jour le centroïde en fonction des exemples négatifs. 𝑁𝑖Ni est le nombre de documents dans la classe 𝑖i. 𝑁N est le nombre total de documents. 𝑥𝑗xj est le vecteur représentant le j-ème document. 𝐷𝑖Di est l'ensemble des documents de la classe 𝑖i. Chapitre 1 Classification automatique de textes Page 13 𝐷¬𝑖D¬i est l'ensemble des documents hors de la classe 𝑖i. 1.8.2. Arbres de décision Un arbre de décision est un modèle simple où, face à plusieurs caractéristiques, la décision commence par l'une d'entre elles ; si cette première caractéristique n'est pas suffisante, une autre est utilisée, et ainsi de suite. Ce modèle est largement reconnu et utilisé dans de nombreuses entreprises pour faciliter la prise de décision et l'analyse des risques. Initialement populaire dans les années 1960-1980 pour la construction de systèmes experts, son utilisation a décliné lorsque les règles devaient être introduites manuellement. Toutefois, l'émergence de méthodes mathématiques pour construire les arbres de décision a ravivé l'intérêt pour ce modèle dans le domaine de l'apprentissage automatique (3). Le processus général de création d'un arbre de décision comprend les étapes suivantes :  Identifier la meilleure caractéristique dans l'ensemble de données d'entraînement.  Diviser les données d'entraînement en sous-ensembles contenant les différentes valeurs de la meilleure caractéristique.  Générer de nouveaux arbres de décision de manière récursive en utilisant les sous- ensembles de données créés.  Arrêter lorsque les données ne peuvent plus être classifiées. Plusieurs algorithmes automatiques sont disponibles pour construire des arbres de décision. Parmi les plus reconnus figurent les algorithmes ID3, C4.5, J48 et CART, parmi d'autres. La Figure 2 ci-dessous illustre un arbre de décision généré par l'algorithme J48 à partir de la base de données weather.arff. Figure 2 Arbre de décision appliqué sur la base weather.arff avec l’outil Weka. Chapitre 1 Classification automatique de textes Page 14 1.8.3. L’algorithme K-plus proches voisins L'algorithme des k plus proches voisins, souvent abrégé en KNN ou k-NN, est un outil d'apprentissage supervisé non paramétrique qui se base sur la proximité entre les données pour effectuer des classifications ou des prédictions sur un point de données individuel. Bien qu'il puisse être utilisé pour des problèmes de régression ou de classification, il est le plus souvent employé comme algorithme de classification, partant du principe que des points similaires sont susceptibles d'être regroupés ensemble (4).  Étape 1 : Choisissez le nombre K de voisins.  Étape 2 : effectuer le calcul des distances. Euclidien 𝐷(𝑋, 𝑌) = √∑ (𝑋𝑖 − 𝑌𝑖)²𝑘 𝑖=1 Manhattan 𝐷(𝑋, 𝑌) = ∑ /𝑋𝑖 − 𝑌𝑖/𝑘 𝑖=1 Minkowski 𝐷(𝑋, 𝑌) = √∑ /𝑋𝑖 − 𝑌𝑖/ᵖ𝑘 𝑖=1 𝑝 Du point non classifié aux autres points.  Étape 3 : Sélectionnez les K voisins les plus proches en fonction de la distance calculée.  Étape 4 : Parmi ces K voisins, déterminez le nombre de points appartenant à chaque catégorie.  Étape 5 : Assignez le nouveau point à la catégorie la plus représentée parmi ces K voisins. Étape 6 : Le modèle est prêt. Figure 3 Illustration d’une classification par l’algorithme K-NN, cas de deux classe A et B. Chapitre 1 Classification automatique de textes Page 15 1.8.4. Naive Bayes Naive Bayes est un algorithme de classification probabiliste basé sur le théorème de Bayes. Son fonctionnement est simple : il calcule la probabilité qu'un nouvel exemple appartienne à chaque classe en utilisant les probabilités des classes et des caractéristiques. L'équation de Naive Bayes est : 𝑃(𝐶𝑘∣𝑥)=𝑃(𝐶𝑘)⋅𝑃(𝑥∣𝐶𝑘)𝑃(𝑥)P(Ck∣x)=P(x)P(Ck)⋅P(x∣Ck) Où : 𝑃 (𝐶𝑘∣𝑥) P (Ck∣x) est la probabilité que l'exemple 𝑥x appartienne à la classe 𝐶𝑘Ck 𝑃 (𝐶𝑘) P (Ck) est la probabilité a priori de la classe 𝐶𝑘Ck 𝑃 (𝑥∣𝐶𝑘) P (x∣Ck) est la probabilité conditionnelle de l'exemple 𝑥x étant donné la classe 𝐶𝑘Ck 𝑃 (𝑥) P(x) est la probabilité marginale de l'exemple 𝑥x. Naive Bayes est rapide et efficace, mais son hypothèse d'indépendance conditionnelle peut être simpliste dans certaines situations. Malgré cela, il est largement utilisé dans des domaines comme la classification de textes et la détection de spam (5). 1.8.5. Les Machines à Vecteur Support (SVM) Les SVMs, ou Machines à Vecteur Support, sont des outils de classification puissants en apprentissage automatique. Leur principe consiste à trouver un hyperplan dans un espace multidimensionnel pour séparer efficacement différentes classes de données en maximisant la marge entre les classes. Ils sont largement utilisés dans des domaines tels que la vision par ordinateur, la bio-informatique et la finance en raison de leur robustesse et de leurs performances élevées (6). Figure 4 Classification linéaire par SVM. Chapitre 1 Classification automatique de textes Page 16 La figure 4 présente un exemple de classification binaire. Les points aux extrémités des deux classes sont désignés comme des Vecteurs Supports, et c'est sur ces points que l'hyperplan est construit, se positionnant au milieu entre eux. 1.8.6. Les Réseaux de neurones Les réseaux de neurones, aussi appelés réseaux de neurones artificiels (ANN) ou réseaux neuronaux simulés (SNN), constituent une composante essentielle de l'apprentissage en profondeur, un domaine de l'apprentissage automatique. Leur conception et leur fonctionnement sont inspirés du cerveau humain, reproduisant le processus par lequel les neurones biologiques échangent des signaux. Un réseau de neurones artificiels (ANN) est composé de couches de nœuds, incluant une couche d'entrée, une ou plusieurs couches cachées, et une couche de sortie. Chaque nœud, ou neurone artificiel, est connecté à d'autres et possède des poids et des seuils associés. Lorsque la sortie d'un nœud dépasse le seuil spécifié, ce nœud s'active et transmet des données à la couche suivante du réseau. Dans le cas contraire, aucune donnée n'est transmise à la couche suivante (7). Figure 5 Conception d’un Réseau de Neurones. (Adapté de : Tufféry, 2012). Les réseaux de neurones s'améliorent au fil du temps grâce à des données d'entraînement, renforçant ainsi leur précision. Une fois ces algorithmes d'apprentissage suffisamment perfectionnés, ils deviennent des outils informatiques et d'intelligence artificielle très efficaces, permettant une classification et une catégorisation rapides des données. Des tâches comme la reconnaissance vocale ou la reconnaissance d'images peuvent être accomplies en quelques minutes seulement, comparativement aux heures nécessaires pour une identification manuelle par des experts humains. Parmi les réseaux de neurones les plus connus, on trouve notamment l'algorithme de recherche de Google (8). 1.8.7. Bagging Le bagging est un méta-algorithme faisant partie des méthodes ensemblistes : partant d’un algorithme de Machine Learning, il utilise de multiples fois cet algorithme pour obtenir un résultat plus fiable. Tout d'abord, le Bagging crée plusieurs sous-ensembles de données à partir de l'ensemble d'entraînement original en utilisant un échantillonnage aléatoire avec Chapitre 1 Classification automatique de textes Page 17 remplacement. Ensuite, sur chaque sous-ensemble de données, un modèle de prédiction est entraîné indépendamment. Ces modèles peuvent être de différents types, tels que des arbres de décision, des SVM ou des réseaux de neurones. Une fois que tous les modèles individuels sont entraînés, leurs prédictions sont agrégées pour faire une prédiction finale. Cette agrégation peut se faire en utilisant un vote majoritaire pour les problèmes de classification ou en moyennant les prédictions pour les problèmes de régression (2). Un inconvénient significatif de cette approche est sa propension à générer parfois une faible précision, en raison notamment des échantillons d'apprentissage de petite taille. Le Bagging, méthode qui vise à réduire le surapprentissage, se révèle efficace principalement lorsque le classificateur est instable face aux petits détails durant la phase d'apprentissage. Cela signifie qu'un léger changement dans les données peut engendrer une variation importante dans le modèle d'apprentissage produit. Un exemple d'algorithme sensible à ce phénomène est l'arbre de décision, notamment dans des espaces d'attributs à dimension très élevée, où la construction des nœuds supérieurs de l'arbre est particulièrement délicate. Figure 6 Schéma général de Bagging. 1.8.8. Boosting Contrairement au Bagging, qui combine plusieurs modèles de manière parallèle, le Boosting construit une séquence de modèles de manière itérative, où chaque modèle est ajusté pour corriger les erreurs des modèles précédents. De cette manière, Boosting vise à améliorer la performance prédictive en se concentrant sur les exemples difficiles à classer. L'approche d'entraînement varie selon le type de processus de boosting, également appelé algorithme de boosting. Cependant, la plupart des algorithmes de boosting suivent les étapes générales suivantes pour former le modèle (9) : Chapitre 1 Classification automatique de textes Page 18  Étape 1 L'algorithme de boosting initialise chaque échantillon de données avec un poids égal. Il alimente ensuite le premier modèle de base, généralement un algorithme simple, avec ces données. Ce modèle de base réalise des prédictions pour chaque échantillon.  Étape 2 Le processus de boosting évalue les prédictions du modèle de base et augmente le poids des échantillons présentant des erreurs importantes. Les échantillons sont également pondérés en fonction de la performance du modèle. Ainsi, un modèle produisant des prédictions précises aura un poids plus important dans la décision finale.  Étape 3 Les données pondérées sont ensuite transmises au modèle suivant, généralement un arbre de décision.  Étape 4 Ces étapes 2 et 3 sont répétées jusqu'à ce que les erreurs d'entraînement soient inférieures à un seuil prédéfini. Figure 7 Comparaison entre Bagging et Boosting dans l'Ensemble Learning. 1.8.9. MLP (Multilayer Perceptron) Les réseaux de neurones, et en particulier les perceptrons multicouches (MLP), sont utilisés pour découvrir des modèles cachés dans les données et pour la prise de décisions métier, comme Chapitre 1 Classification automatique de textes Page 19 prévoir la demande de produits ou classer les clients. Le MLP utilise une architecture feedforward avec plusieurs couches masquées, ce qui en fait l'une des architectures les plus courantes (10). Fonctionnalités principales du MLP :  Prévision et Classification : Peut traiter des variables continues (prévoyant des valeurs proches de la réalité) ou catégorielles (classant les observations).  Redimensionnement : Les covariables peuvent être normalisées avant l'entraînement.  Division des données : Les données peuvent être divisées en ensembles d'apprentissage, de test et de rétention pour évaluer les performances.  Sélection de l'architecture : Automatique ou manuelle, avec des options pour une ou deux couches masquées.  Fonctions d'activation : Utilise des fonctions hyperboliques, sigmoïdes, identitaires ou softmax.  Méthodes d'apprentissage : Inclut des options par lots, en ligne ou par mini-lots avec des algorithmes de descente de gradient.  Gestion des données manquantes : Traite les valeurs manquantes des variables catégorielles comme valides. Sortie : La sortie inclut des tableaux croisés dynamiques, des graphiques variés (prévisions, résidus, courbes ROC, etc.), et des options pour enregistrer les prédictions et les pondérations. En bref, le MLP est un réseau neuronal flexible et puissant, adapté pour des tâches de prévision et de classification avec diverses options de personnalisation et de sortie. Chapitre 1 Classification automatique de textes Page 20 Figure 8 Structure de MLP. 1.9. Conclusion En récapitulant ce chapitre sur la classification des textes, nous avons mis en lumière les différentes étapes du processus, de la représentation des données au prétraitement, en passant par les techniques de classification et leurs applications, ainsi que les algorithmes associés. En comprenant ces concepts fondamentaux et en explorant les applications de la classification des textes, nous sommes en mesure d'apprécier pleinement son importance dans divers domaines, de la catégorisation des documents à l'analyse des sentiments. En continuant à explorer et à maîtriser ces techniques, nous pouvons exploiter tout le potentiel des données textuelles pour des analyses plus approfondies et des décisions plus éclairées. Page 21 2. Chapitre 02 Racinisation Chapitre 02 Racinisation Chapitre 2 Racinisation Page 22 2.1. Introduction Le traitement automatique du langage naturel (TALN) permet aux ordinateurs de comprendre le langage humain (texte et parole) en combinant l'intelligence artificielle et la linguistique. Cela leur permet d'effectuer des tâches telles que la traduction et de saisir le sens derrière nos mots. Les applications de TALN transforment le texte en vecteurs numériques, utilisant généralement des espaces de dimensions élevées pour la représentation des mots. Cela peut demander une mémoire substantielle. L'analyse morphologique regroupe les mots ayant des significations similaires, réduisant ainsi l'utilisation de la mémoire. La racinisation (stemming) est une méthode courante pour cela, alignant les mots apparentés sur le même vecteur. La racinisation dans le traitement automatique du langage naturel (TALN) réduit les mots à leur forme de base ou racine, facilitant la normalisation du texte pour un traitement plus facile. Cette technique est cruciale dans des tâches telles que la classification de texte, la recherche d'information (IR) et le résumé de texte. Dans ce chapitre, nous explorerons le processus de racinisation et son application spécifique à la langue arabe. Nous commencerons par parler du raciniseurs (stemmers) les plus couramment utilisés ( Porter, Lancaster…). Nous aborderons ensuite les caractéristiques de la langue arabe et les différentes approches de la racinisation en arabe. Enfin, nous présenterons les raciniseurs arabe de chaque approche (Isri, Light10, Khoja…) et leurs différentes règles. 2.2. Définition de la racinisation La racinisation est un traitement lexical appliqué sur les mots selon leurs variations morphologiques. À savoir les flexions, dérivations et compositions. Donc il remplace, ou, regroupe un ensemble de mots de différentes morphologies qui expriment le même sens, par un seul terme qui est leurs racines (stem). En d’autres termes, la racinisation est un processus informatique consistant à supprimer tous les suffixes et préfixes d’un mot pour générer le radical ou la racine. Par ailleurs, chaque langue a ses propres algorithmes de racinisation, c’est-à-dire que les règles appliquées en français ne sont pas les même pour une autre langue. Les algorithmes de racinisation sont basés sur des règles de troncatures de mots afin de produire des racines, en conséquence ils sont trop rapides (2). Chapitre 2 Racinisation Page 23 Figure 9 Le processus de la racinisation (stemming). 2.3. Les raciniseurs les plus couramment utilisés 2.3.1. Porter L’algorithme Porter est l’un des algorithmes de racinisation les plus connus. Il a été créé par Porter en 1979 dans le laboratoire informatique de l'université du Cambridge (Angleterre). Il fait partie d’un grand projet dans le domaine de la recherche d’information. Il permet de retirer les affixes des mots (préfixes et suffixes) afin d’obtenir leur forme canonique. Cet algorithme est utilisé pour la langue anglaise, mais son efficacité devient très limitée lorsqu’il s’agit de traiter la langue française en raison de sa complexité morphologique plus importante. Néanmoins, il demeure un algorithme fondamental couramment enseigné en TALN.  Caractéristiques de porter L’algorithme PORTER comporte environ cinquante règles de racinisation/désuffixation réparties en sept phases successives comme le traitement du pluriel, des verbes à la troisième personne du singulier, du passé et du progressif. Chaque mot passe par toutes ces étapes et, si plusieurs règles pourraient leur être appliquées, c'est toujours celui qui a le suffixe le plus long qui est sélectionné. Dans la même étape, la racinisation/désuffixation est accompagnée de règles de recodage. Par exemple, le terme "troubling" deviendra "troubl" par enlèvement du suffixe marqueur du progressif -ing et sera ensuite transformé en "trouble" par application de la règle "bl" devient "ble". Cet algorithme comprend aussi cinq règles de contexte, qui indiquent les Chapitre 2 Racinisation Page 24 conditions dans lesquelles un suffixe devra être supprimé. La terminaison en -ing, par exemple, ne sera enlevée que si le radical comporte au moins une voyelle. De cette manière, "troubling" deviendra "troubl", alors que "sing" restera "sing". Le stemmer de Porter utilise une mesure, m, de la longueur d'un mot ou d'une partie de mot. Si C’est une séquence d'une ou plusieurs consonnes, et V une séquence d'une ou plusieurs voyelles, n'importe quelle partie de mot à la forme [C](VC)m[V] Voici quelques exemples : m=0 TR, EE, TREE, Y, BY. m=1 TROUBLE, OATS, TREES, IVY. m=2 TROUBLES, PRIVATE, OATEN, ORRERY. Les règles de suppression d'un suffixe seront données sous la forme : (Condition) S1→S2 Cela signifie que si un mot se termine par le suffixe S1 et que le radical avant S1 satisfait à la condition donnée, S1 est remplacé par S2. La condition est généralement donnée en termes de m, par ex. (m > 1) EMENT → Ici, S1 est « EMENT » et S2 est nul. Cela mapperait REPLACEMENT à REPLACE, puisque REPLACE est une partie de mot pour laquelle m = 2 (11). Chapitre 2 Racinisation Page 25 Figure 10 Algorithme de PORTER. 2.3.2. Algorithme de Paice et Husk (Lancaster) L'algorithme de Paice a été développé par Chris Paice à l’Université Lancaster dans les années 80. Il fait partie du groupe des raciniseurs (stemmers) algorithmiques. Il utilise un ensemble de règles pour extraire les racines, lesquelles sont stockées en dehors du code. Cet algorithme permet de traiter facilement une nouvelle langue en appliquant un ensemble différent de règles sans réécrire le code, à condition de faire quelques ajustements (pour chaque langue, il faut fournir la liste des voyelles acceptées et les règles de validité des racines). De cette manière, l'algorithme peut être facilement adapté à la gestion d'une nouvelle langue (12). 2.3.3. Algorithme de Krovetz Bob Krovetz a créé le raciniseur Krovetz à l'université du Massachusetts en 1993. C’est un raciniseur léger, car il utilise la morphologie linguistique flexionnelle. Il s'agit d'un algorithme très complexe de faible force en raison des processus impliqués dans la morphologie linguistique et de sa nature flexionnelle. Le « stemmer » Krovetz supprime efficacement et précisément les suffixes de manière suivante : - La transformation d'un pluriel à sa forme singulière (par exemple '-ies', '-es', '-s'). Exemple : 'bunnies' devient 'bunny', 'boxes' devient 'box', 'cats' devient 'cat'. Chapitre 2 Racinisation Page 26 - La transformation de passé au temps présent (par exemple '-ed'). Exemple : 'wanted' devient 'want'. - L’'élimination des '-ing' puis à travers un processus de vérification dans un dictionnaire pour tout recodage (aussi bien connaître des exceptions aux règles normales recodage), retourne le stem de mot. Exemple : 'running' devient 'run' (12). 2.3.4. Algorithme de Snowball Le raciniseur Snowball, également connu sous le nom de Porter2, est un algorithme de racinisation efficace conçu pour traiter et réduire les mots à leurs racines. Il a été développé par Martin Porter et est largement utilisé en raison de sa simplicité et de son efficacité. Le raciniseur Snowball prend en charge plusieurs langues et fournit des algorithmes spécifiques à chaque langue pour la racinisation. 2.4. Les caractéristiques de la langue arabe L'arabe est une langue sémitique qui diffère syntactiquement, morphologiquement et sémantiquement des langues indo-européennes. Son système d'écriture comprend vingt-cinq consonnes et trois voyelles longues, écrites de droite à gauche et prenant différentes formes selon leur position dans le mot. De plus, l'arabe possède des voyelles courtes qui ne font pas partie de l'alphabet ; elles sont écrites sous forme de signes diacritiques au-dessus ou en dessous d'une consonne pour lui donner le son désiré, conférant ainsi au mot son sens voulu. Les textes sans voyelles sont considérés comme plus appropriés par la communauté arabophone, car ils sont largement utilisés dans les matériaux écrits et imprimés de tous les jours (livres, magazines, journaux, lettres, etc.). Cependant, dans le Saint Coran, les recueils imprimés de poésie classique, les manuels scolaires et certains dictionnaires papier arabes, les signes diacritiques apparaissent en entier. Généralement, dans les livres bien édités, certains textes imprimés et manuscrits, les signes diacritiques sont écrits partiellement ou de manière aléatoire là où les mots pourraient être ambigus ou difficiles à lire. • 115 : Racines de deux caractères (et ces racines n'ont pas de dérivations à partir d'elles). • 7198 : Racines de trois caractères. • 3739 : Racines de quatre caractères. • 295 : Racines de cinq caractères. Ces racines se combinent avec divers schémas de voyelles pour former des noms et des verbes simples auxquels des affixes peuvent être attachés pour des dérivations plus complexes. Les schémas jouent un rôle important dans la lexicographie et la morphologie arabes. Par exemple, la racine "لعب" correspond au schéma "فعل", où d'autres lettres peuvent être ajoutées pour former un autre schéma. Par exemple, le schéma "مفعل" forme le mot "ملعب" en ajoutant la lettre "م" au morphème "لعب". Chapitre 2 Racinisation Page 27 Les schémas du duel ou du pluriel sont composés en ajoutant des suffixes comme "ان", "ين" pour le duel et "ون", "ين", "ات" pour le pluriel. Il existe des formes irrégulières de schémas de pluriel appelées pluriels brisés. Dans ce cas, un nom au pluriel prend une autre forme morphologique différente de sa forme initiale au singulier (le tableau 1 montre les schémas singuliers et pluriels). Dans certains cas, un schéma pluriel peut avoir plus d'un schéma singulier, comme le montre le tableau(1) Par exemple, le mot "أطباء" a un singulier "طبيب" qui est comme "فعيل", mais le mot "ءعق" a un singulier "عاقل" qui est comme "فاعل". Schéma pluriel Schéma singulier مفعل مفاعل مفعول مفاعيل فعل أفعال فعل، فعال، فاعل، فعيل فعلاء فاعل فعال فعل أفعل فوعل، فاعل فواعل فعيل، فعال أفعلة Tableau 1 Les schémas singuliers et pluriels. Certaines des formes de pluriel brisées comme "فعائل", "فعالل", "فعلة" ont de nombreux schémas singuliers. Il n'existe pas de règles générales pour les couvrir toutes, et il est difficile de les traiter sans avoir un dictionnaire complet pour ces pluriels (13). 2.5. Les approches de la racinisation en arabe 2.5.1. La racinisation légère (Light-based stemming) C’est le processus de suppression des affixes (préfixes, infixes et suffixes) pour obtenir les racines originales des mots sans nécessiter de trouver les racines. Des exemples de raciniseurs légers sont Light10 et Snowball et Tashapyne. 2.5.2. La racinisation basée sur la racine (Root-based stemming) C’est le processus d'élimination des affixes et de modification de certaines lettres dans les mots pour obtenir le mot racine. Des exemples de raciniseurs lourds sont Khoja et ISRI. Chapitre 2 Racinisation Page 28 Figure 11 Exemple d'application d'un raciniseur léger et d'un raciniseur basé sur les racines. 2.5.3. La racinisation statistique (Statistical stemming) L'approche statistique de la racinisation en arabe s'éloigne des règles fabriquées à la main. Elle analyse un grand corpus de textes arabes pour trouver les préfixes et suffixes fréquemment présents, qui sont susceptibles d'être des affixes supprimables. Des techniques telles que les n- grammes (séquences de lettres) et la co-occurrence (la manière dont les mots apparaissent ensemble) aident à identifier ces affixes. Cette approche peut s'adapter à des types de texte spécifiques et être potentiellement plus précise, mais elle peut être coûteuse en termes de calcul et ne gère pas toujours parfaitement les ambiguïtés (14). 2.5.4. La racinisation par l'intelligence artificielle Inspirés par la large applicabilité des réseaux de neurones (NN), Alserhan et Ayesh ont proposé l'utilisation d'un réseau de neurones à rétropropagation (BPNN) pour la racinisation du texte arabe. Leur approche était motivée par les limitations des méthodes actuelles basées sur les racines, qui reposent sur des règles morphologiques étendues, impactant le stockage et le temps de traitement. Ils ont classé les lettres arabes en quatre catégories en fonction de leur fréquence, représentant les affixes arabes, et ont attribué à chaque catégorie une valeur binaire de trois chiffres. Pour l'entraînement, ils ont utilisé un ensemble de données de 250 mots avec leurs racines correctes. L'étude a démontré que cette approche par réseau de neurones pouvait atteindre une précision de 84 % dans l'identification des racines correctes. L'avantage principal de leur méthode est qu'elle ne dépend pas des règles morphologiques. Cependant, elle présente deux inconvénients majeurs : elle ne traite que les mots de quatre caractères maximums, et les résultats ont été testés sur un ensemble de données relativement petit de 1000 mots (14). Chapitre 2 Racinisation Page 29 2.6. Les raciniseurs basé sur les racines (Root-based stemmers) 2.6.1. Khoja Le Khoja Stemmer a été développé par M. M. Khoja et A. P. Dawod en 1999. Khoja supprime les suffixes, les infixes et les préfixes. Il utilise la correspondance de motifs pour extraire les racines des mots ; cependant, ce travail présente certaines lacunes et inconvénients, notamment avec certains mots représentant des 'pluriels brisés'. Par la suite, Taghva et al. (2005) ont amélioré l'algorithme de (Khoja & Garside 1999) en éliminant le besoin d'utiliser un dictionnaire pour extraire la racine. Tandis que dans Al-Kabi et al. (2015), le raciniseur a été amélioré en ajoutant des règles et des motifs supplémentaires. Récemment, des techniques d'extraction de racine basées sur des motifs ont été développées sans utiliser de dictionnaire (Al-Kabi et al. 2015, Nehar et al. 2016) (15). Les règles du stemmer khoja sont les suivantes (13) : 1. Supprimer le diacritique représentant la vocalisation. 2. Supprimer les mots vides, la ponctuation et les chiffres. 3. Supprimer l'article défini “ال”. 4. Supprimer la conjonction inséparable “و”. 5. Supprimer les suffixes. 6. Supprimer les préfixes. 7. Mettre en correspondance le résultat avec une liste de motifs. Si une correspondance est trouvée, extraire les caractères dans le motif représentant la racine. 8. Mettre en correspondance la racine extraite avec une liste de racines "valides" connues. 9. Remplacer les lettres faibles “أ,ى,ئ” par “ا” 10. Remplacer toutes les occurrences de hamza “أ,إ,ؤ” par “ء” 11. Vérifier si les racines à deux lettres doivent contenir un double caractère. Si c'est le cas, le caractère est ajouté à la racine. Voici un exemple de la racinisation de khoja : Mot original Racine extraite كتب مكتبة درس مدارس ملك استملاك ق ر أ قرءان Tableau 2 Exemples de la racinisation de khoja. Chapitre 2 Racinisation Page 30 2.6.2. ISRI En 2005, Kazem T et al ont proposé un algorithme pour la racinisation arabe qui partage de nombreuses caractéristiques avec le stemmer Khoja. Le raciniseur de l'Institut de recherche en sciences de l'information (ISRI) utilise une approche similaire à celle du raciniseur Khoja pour la racinisation des mots, mais n'emploie pas de dictionnaire de racines pour la recherche. De plus, si un mot ne peut pas être racinisé, ISRI normalise le mot et renvoie une forme normalisée (par exemple, en supprimant certains déterminants et motifs de fin) au lieu de laisser le mot inchangé (15). Il définit des ensembles de signes diacritiques et de classes d'affixes comme indiqué dans le Tableau 4. Signe Description Exemples D Diacritiques ب, بُ , ب , بً , ب , ب P1 P2 P3 Préfixes de longueur un. Préfixes de longueur deux. Préfixes de longueur trois. ب، ف، ك، ل، س، ت ال، لل ولل، وال، كال، بال S1 S2 S3 Suffixes de longueur un. Suffixes de longueur deux. Suffixes de longueur trois. ة، ه، ي، ا، ن،ت ون، ات، ان، ين، تن، كم، هن تمل، همل، تان، تين Tableau 3 Ensembles d'affixes. Les règles De ISRI sont les suivantes (13) : 1. Supprimer les signes diacritiques représentant les voyelles. 2. Normaliser le hamza qui apparaît sous plusieurs formes distinctes en combinaison avec diverses lettres, pour le ramener à une seule forme "أ". 3. Supprimer respectivement les préfixes de longueur trois et de longueur deux. 4. Supprimer le connecteur "و" s'il précède un mot commençant par "و". 5. Normaliser "إ,أ,آ" en "ا". 6. Renvoyer la racine si elle est inférieure ou égale à trois. Chapitre 2 Racinisation Page 31 7. Considérer quatre cas en fonction de la longueur du mot, chacun avec des règles spécifiques pour la racinisation, y compris l'extraction de racines pertinentes basées sur des motifs prédéfinis et la suppression des suffixes et préfixes. Voici un exemple de la racinisation d’ISRI : Mot original Racine extraite وف ق وفاقية وض ء وضوء ع ون نمتعاوني إيمان ا م ن ق ن ع مقتنعون ا خ ر آخر ف ي د مستفيدين Tableau 4 Exemples de la racinisation de ISRI. 2.7. Les raciniseurs légère (Light-based stemmers) 2.7.1. Light10 Larkey et al. Ont développé un ensemble de stemmers légers. Le plus largement utilisé dans cet ensemble est le light 10, et chaque stemmer se distingue des autres par le nombre total de préfixes et de suffixes à supprimer. En fait, les préfixes et suffixes ont été accumulés au light 10. Dans le light-10, Larkey suggère de supprimer légèrement les préfixes ( ،ال، وال، بال، كال، فال ) et les suffixes (لل، و ون، ين، يه، ية، هـ، ة، يها، ان، ات، ). Cependant, afin d'éviter la suppression des affixes qui font partie des racines des mots (et qui doivent donc être conservés), l'algorithme est traité avec trois règles (14) : 1. Supprimez "و" de light2, light3, et light8 ainsi que light10 si le reste du mot compte 3 caractères ou plus. 2. Supprimez tout article défini si cela laisse 2 caractères ou plus. 3. Passez en revue la liste des suffixes une fois dans l'ordre de droite à gauche (Tableau 4). Tableau 5 Liste des affixes supprimées par light1, Light2, Light3, Light8, Light10. Supprimer les préfixes Supprimer les suffixes Light1 ال، وال، بال، كال، فال Aucun Light2 ال، وال، بال، كال، فال، و Aucun Light3 ،، ه، ة Light8 ،، ،ها، ان، ات، ون، ين، يه، ية، ه، ة ي Light10 ال، لل، وال، بال، كال، فال، و ،، Chapitre 2 Racinisation Page 32 Voici un exemple de la racinisation de Light10 : Mot original Racine extraite كتاب والكتابة كلم كلمات كشف واستكشافاتهم جراء إجراءات Tableau 6 Exemple de la racinisation de Light10. 2.7.2. CondLight Al-Lahham et al. (2018) ont proposé un raciniseur légèr conditionnel, appelé Condition Light, ou en abrégé 'CondLight', comme une amélioration de la méthode Light10. Cette amélioration consiste à ajouter un ensemble de nouveaux affixes à éliminer s'ils satisfont à une ou plusieurs des conditions proposées. Ces conditions sont dérivées de la nature morphologique de la langue arabe. La liste des affixes utilisés par CondLight, comparée à la liste utilisée par les variantes du stemmer Light, est présentée dans le Tableau 5 (16). Tableau 7 Liste des affixes ajouté par Condlight. Voici un exemple de la racinisation de Condlight et Light10 aux mêmes mots : Supprimer les préfixes Supprimer les suffixes Light1 ،ال، وال، بال، كال فال Aucun Light2 ،ال، وال، بال كال، فال، و Aucun Light3 ،، ه،ة Light8 ،، ها، ان، ات، ون، ين، يه، ية، ه، ة، ي Light10 ،ال، لل، وال، بال، كال، فال و ،، Condlight ،ال، لل، وال، بال، كال، فال و ب، ت، ل، ي، ف، س. ها، ان، ات، ون، ين، يه، ية، ه، ة، ي هم، هن، وا. Chapitre 2 Racinisation Page 33 Mot original Light10 Condlight درس يدرس يدرسها طور تطورت تطورت مهرجان لمهرجان لمهرجانات عامل تعامل تعاملت Tableau 8 Exemple d'application de Light10 et CondLight aux mêmes mots. 2.7.3. Tashaphyne Zerrouki (2010) a présenté Tashaphyne, c’est est un raciniseur léger et un segmenteur arabe. Il prend principalement en charge la racinisation légère (suppression des préfixes et des suffixes) et donne toutes les segmentations possibles. Il utilise un automate fini modifié qui permet de générer toutes les segmentations. Il offre la racinisation et l'extraction de racine en même temps contrairement aux autre raciniseurs(stemmers). 2.8. Conclusion Le but de la racinisation (stemming) est de simplifier et de normaliser les mots, ce qui aide à améliorer les performances de la recherche d'informations, de la classification de texte et d'autres tâches de TALN. Dans ce chapitre, nous avons exploré le processus de racinisation et son application à la langue arabe. Nous avons présenté quelques raciniseurs célèbres (Porter, Lovins…). Ensuite, les caractéristiques distinctives de la langue arabe et les diverses approches de la racinisation de la langue. Page 34 3. Chapitre 03 Classification automatique de textes Chapitre 03 Méthodologie de travail Chapitre 3 Méthodologie de travail Page 35 3.1. Introduction Dans les deux chapitres précédents, nous avons examiné de près la catégorisation des textes, en explorant les diverses méthodes d'algorithmes de classification. Nous avons analysé les algorithmes tels que les machines à vecteurs de support (SVM), les Naive Bayes, et les réseaux de neurones. De plus, nous avons étudié en détail le processus de racinisation (stemming), crucial pour préparer les données textuelles en vue de la classification. Nous avons examiné différentes techniques de racinisation, telles que l'algorithme de Porter et la racinisation en langue arabe, en mettant en évidence leurs impacts sur la réduction de la variance et la précision de la classification. Ce chapitre présente la méthodologie de travail de notre approche de classification de texte, axée sur l'exploration et la comparaison des performances de divers algorithmes de classification, ainsi que l'effet de différentes techniques de prétraitement sur deux collections textuelles distinctes. Notre démarche méthodologique repose sur une série d'étapes rigoureuses, allant du prétraitement initial des données à l'évaluation comparative des résultats obtenus. 3.2. Méthodologie de travail 3.2.1. Collections textuelles  La première collection textuelle « Arabic Wikipedia Corpus » Les informations sur le corpus d’Arabic Wikipédia, compilées par Motaz Saad du Département d'informatique de la Faculté de technologie de l'information de l'Université islamique de Gaza, sont présentées dans le Tableau 9. Ce corpus a débuté en 2003 avec 655 articles et a progressé pour contenir 459 208 articles jusqu'au 20 janvier 2017. Les données comprennent le nombre de documents dans le corpus (|d|), le nombre de mots dans le corpus (|w|), et la taille du vocabulaire (|v|), représentant le nombre de mots uniques (17). Tableau 9 Arabic Wikipedia Corpus Le corpus est disponible en ligne sur https://github.com/motazsaad/arWikiExtracts pour la communauté de recherche. Le Tableau 10 montre les mots les plus fréquents dans le corpus d’Arabic Wikipedia, tandis que le Tableau 11 montre les mots les plus fréquents en excluant les mots vides. Les mots les plus fréquents représentent les mots courants dans une langue. Si nous considérons le corpus d’Arabic Wikipedia comme une représentation de la langue arabe, alors ces listes représentent les mots les plus fréquents dans la langue arabe. |d| 459,208 documents |w| 83.5M mots |v| 4.7M mots uniques https://github.com/motazsaad/arWikiExtracts Chapitre 3 Méthodologie de travail Page 36 Tableau 10 les mots les plus fréquents dans le corpus Arabic Wikipedia. Mots en arabes Fréquence في من على إلى أن عام التي عن أو مع كان بن الذي بعد و هذه ما هو حيث بين هذا هي ذلك كما وقد كانت وفي لا سنة وهو 912670 664693 313382 246869 160484 122708 122642 110351 100635 92920 89223 83028 76458 75980 72981 71759 70403 66420 65653 64536 64420 59250 59228 57971 56778 53043 51493 50895 47149 42505 Chapitre 3 Méthodologie de travail Page 37 Mots en arabe Fréquence عام سنة الله عبد مدينة عدد محمد المدينة العالم المتحدة العربية أول القرن أخرى علي أحد الأول العديد نادي عشر منطقة فقد الأولى العام ابن مصر الثاني إحدى تقع حوالي 122708 47149 37305 35873 35259 32556 28823 26614 25478 23319 22606 22458 22233 21754 21481 20706 20463 19791 19646 19107 19077 18935 18148 17820 17612 17514 16684 15800 15686 15602 Tableau 11 les mots les plus fréquents, à l'exclusion des mots vides. o Création des catégories dans la collection textuelle Cette collection textuelle est considérable, contenant un nombre important de documents, comme nous l'avons déjà mentionné. Nous avons choisi de travailler avec un document spécifique nommé "AA" et avons sélectionné neuf fichiers parmi ceux qu'il contient. Ensemble, ces neuf fichiers contiennent un total de 500 textes arabes. Chaque texte est associé à un titre et à un identifiant unique, cependant, aucun d'entre eux n'est préalablement catégorisé. Pour faciliter l'analyse, nous avons créé une liste de onze catégories pertinentes : 1) Biographie 2) Science 3) Économie 4) Technologie 5) Géographie Chapitre 3 Méthodologie de travail Page 38 6) Histoire 7) Religion 8) Astronomie 9) Linguistique 10) Politique 11) Biologie Nous avons ensuite attribué à chaque texte sa catégorie appropriée, en l'indiquant à côté de son titre et de son identifiant. Cette approche nous a permet d'organiser et de structurer les textes pour une analyse plus approfondie et cohérente. Figure 12 Comparaison visuelle de la base de données avant et après l'ajout de la catégorie devant chaque texte.  La deuxième collection textuelle (Arabic Poem Classification Challenge dataset) Le Jeu de Données du Défi de Classification de Poèmes Arabes, tiré du site Kaggle, comprend une collection de poèmes arabes avec les caractéristiques suivantes (18) : Titre : Cette colonne contient le titre de chaque poème, offrant une brève description ou un nom reflétant souvent le thème ou le sujet du poème. Auteur : La colonne de l'auteur indique le nom du poète ayant écrit le poème respectif, attribuant ainsi la paternité aux esprits créatifs derrière les œuvres poétiques. Ère : La colonne de l'ère représente la période historique à laquelle chaque poème appartient, offrant des insights sur le contexte culturel, social et littéraire de l'époque. Poème : Cette colonne contient le texte réel du poème, comprenant les vers, les strophes ou les lignes composant la composition poétique. Cette colonne constitue le principal objet d'analyse et de classification dans ce défi. Le jeu de données vise à proposer une sélection diversifiée de poèmes arabes provenant de différentes périodes historiques, permettant ainsi aux participants d'explorer et d'analyser la poésie de diverses époques. L'objectif du défi est de développer des modèles de classification capables de catégoriser précisément les poèmes en fonction de leur époque, démontrant ainsi la capacité à comprendre et à identifier les caractéristiques distinctives associées à chaque période. Fichiers Deux fichiers Taille 45,25 Mo Type csv Tableau 12 Arabic Poem Classification Challenge dataset Chapitre 3 Méthodologie de travail Page 39 Cette collection textuelle contient deux fichiers : le premier nommé poems.csv et le second test.csv, nous avons pris uniquement le fichier poems.csv et avons travaillé avec. 3.2.2. Prétraitement Le prétraitement de texte est une étape essentielle dans le traitement du langage naturel (NLP). Il vise à nettoyer et à préparer les données textuelles avant leur analyse ou leur utilisation dans des modèles. Voici les étapes que nous avons suivies dans notre processus de prétraitement :  Importation des données 1. Tout d'abord, nous avons stocké notre base de données dans notre Google Drive. 2. Ensuite, nous avons monté notre Google Drive dans notre environnement Google Colab en utilisant la commande drive.mount('/content/drive'). 3. Après avoir monté notre Google Drive, nous avons accédé au chemin où se trouvent nos fichiers en utilisant le chemin relatif dans notre Google Drive. 4. Nous avons utilisé la bibliothèque Python os pour lister les fichiers dans ce répertoire à l'aide de os.listdir(folder_path).  Suppression de la ponctuation, des chiffres et des caractères spéciaux Nous avons utilisé l'expression régulière re.sub() pour remplacer tous les caractères qui ne sont pas des lettres ou des espaces par une chaîne vide ainsi pour effectuer les opérations suivantes :  Suppression les chiffres occidentaux (0-9) en utilisant le motif r'[0-9]'.  Suppression les chiffres arabo-indiens (٩ - ٠) avec le motif r'[\u0660-\u0669]'.  Suppression les chiffres persans (٩ - ٠) à l'aide du motif r'[\u06F0-\u06F9]'.  Suppression les caractères antislash (\) en utilisant le motif r'\\.  Suppression les caractères non arabes et les caractères spéciaux en utilisant le motif r'[^\u0600-\u06FF\s]'. Ce motif conserve uniquement les caractères arabes (dans la plage Unicode \u0600-\u06FF) et les espaces, supprimant ainsi tous les autres caractères.  Tokenisation Utilisation de word_tokenize de NLTK pour diviser le texte en mots.  Suppression des mots vides Chargement des mots vides arabes à l'aide de stopwords.words('arabic'). Parcourir chaque mot et le conserver s'il n'est pas dans la liste des mots vides. Chapitre 3 Méthodologie de travail Page 40  Racinisation (Stemming) Nous avons utilisé trois racinisateurs différents (ISRI Stemmer, TASHAPHYNE Stemmer, SNOWBALL Stemmer) dans notre étude pour raciner chaque mot.  Réassemblage du texte nettoyé Nous avons utilisé la fonction join() pour assembler les mots racinisés en une seule chaîne pour former un nouveau texte nettoyé.  Nettoyage et organisation des données Dans notre étude, nous avons utilisé une boucle for pour parcourir une liste de fichiers dans un répertoire spécifique. Pour chaque fichier, nous avons extrait les documents et leurs catégories associées, puis nous avons appliqué la fonction clean_arabic_text() pour nettoyer chaque document. Les documents nettoyés ont été ajoutés à une liste appelée my_list, tandis que les catégories correspondantes ont été ajoutées à une autre liste appelée my_cats. 3.2.3. La représentation des textes Après avoir effectué le prétraitement des données, nous avons utilisé la méthode CountVectorizer de la bibliothèque scikit-learn pour construire un vecteur de caractéristiques à partir de notre corpus de texte. Cette approche, connue sous le nom de sac de mots (bag of words), consiste à représenter chaque document par un vecteur où chaque élément correspond à la fréquence d'apparition d'un terme spécifique dans ce document. Ensuite, en combinant ces vecteurs, nous avons obtenu la matrice terme-document, qui représente l'ensemble du corpus en capturant la fréquence des termes dans chaque document. Cette matrice est ensuite utilisée comme entrée pour appliquer des algorithmes de classification de texte. Chapitre 3 Méthodologie de travail Page 41 Figure 13 schéma englobe notre processus de classification. 3.2.4. Évaluation des performances des algorithmes de classification de texte Après avoir divisé nos données en ensembles d'entraînement et de test, nous avons appliqué différents algorithmes de classification à nos données d'entraînement. Pour évaluer les performances de chaque algorithme, nous avons utilisé plusieurs mesures, notamment la précision (precision), le rappel (recall) et le score F1 (f1-score). Ces mesures sont calculées pour chaque classe individuellement, ainsi que pour l'ensemble des données (accuracy), ce qui nous permet d'obtenir une évaluation complète des performances de chaque algorithme de classification.  Le rappel (recall) C’est le nombre de positifs bien prédit (Vrai Positif) divisé par l’ensemble des positifs (Vrai Positif + Faux Négatif). 𝑅𝑎𝑝𝑝𝑒𝑙 = 𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑣𝑟𝑎𝑖𝑠 𝑝𝑜𝑠𝑖𝑡𝑖𝑓𝑠 (𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑣𝑟𝑎𝑖𝑠 𝑝𝑜𝑠𝑖𝑡𝑖𝑓𝑠 + 𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑓𝑎𝑢𝑥 𝑛é𝑔𝑎𝑡𝑖𝑓𝑠) Chapitre 3 Méthodologie de travail Page 42  La précision C’est le nombre de positifs bien prédit (Vrai Positif) divisé par l’ensemble des positifs prédit (Vrai Positif + Faux Positif). 𝑃𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑣𝑟𝑎𝑖𝑠 𝑝𝑜𝑠𝑖𝑡𝑖𝑓𝑠 (𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑣𝑟𝑎𝑖𝑠 𝑝𝑜𝑠𝑖𝑡𝑖𝑓𝑠 + 𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑓𝑎𝑢𝑥 𝑝𝑜𝑠𝑖𝑡𝑖𝑓𝑠)  Le score F1 (f1-score) Le F1-score est une mesure de performance utilisée en classification qui combine à la fois la précision et le recall. Il est calculé comme la moyenne harmonique de la précision et du recall. 𝐹1 − 𝑠𝑐𝑜𝑟𝑒 = 2 × 𝑝𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 × 𝑟𝑒𝑐𝑎𝑙𝑙 𝑝𝑟é𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙  L’exactitude (accuracy) Mesure la proportion d'observations correctement classées parmi toutes les observations. La formule de l'accuracy est la suivante : 𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑣𝑟𝑎𝑖𝑠 𝑝𝑜𝑠𝑖𝑡𝑖𝑓𝑠 + 𝑣𝑟𝑎𝑖𝑠 𝑛é𝑔𝑎𝑡𝑖𝑓𝑠 𝑛𝑜𝑚𝑏𝑟𝑒 𝑡𝑜𝑡𝑎𝑙 𝑑′𝑜𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛𝑠 3.3. Conclusion Dans ce chapitre, nous avons présenté en détail notre méthodologie pour la classification de textes arabes, en utilisant deux bases de données distinctes : le corpus d'Arabic Wikipedia et le jeu de données du Défi de Classification de Poèmes Arabes. Nous avons entamé notre démarche par le prétraitement des données pour nettoyer et préparer les textes avant l'analyse. Les étapes comprenaient la suppression de la ponctuation, la tokenisation, l’élimination des mots vides et la racinisation ave