La langue arabe est importante sur le web : il sâagit de la 4Ăšme langue la plus utilisĂ©e sur internet, est la langue officielle de plus de 22 pays, et parlĂ©e par plus de 400 millions de locuteurs.
GĂ©rer la langue arabe nâest pas simple pour un chatbot. Pourquoi ?La langue arabe se dĂ©compose en trois grandes variĂ©tĂ©s
La forme dialectale (AD) peut se décomposer en 6 différents sous-groupes :
Pour complexifier encore la donne, les formes MSA et AD peuvent sâĂ©crire en caractĂšres arabes (ۧÙÙŰșŰ© ۧÙŰč۱ۚÙŰ©) ou bien en caractĂšres latins. Par exemple, la phrase en arabe ŰŁÙۧ ŰłŰčÙŰŻ qui veut dire « je suis heureux » peut sâĂ©crire en caractĂšres latins âana sa3idounâ (le chiffre 3 est utilisĂ© pour signifier une prononciation qui nâexiste pas dans les langues latines).
Par ailleurs, les caractĂšres arabes se lisent de la droite vers la gauche âïž : Dans certains pays de langue arabe, on utilise les chiffres dit âarabe orientalâ => Ù ÙĄÙąÙŁÙ€Ù„ÙŠÙ§ÙšÙ© correspond Ă 1,2,3,4,5,6,7,8,9.
Comme dĂ©taillĂ© dans lâarticle ici, le traitement du langage naturel est constituĂ© dâune suite dâalgorithme appelĂ© aussi « pipeline » permettant :
Cette suite dâalgorithmes (ou pipeline) a pour fonction :
Cela permettra par la suite de générer une réponse pertinente du chatbot.
Le schĂ©ma suivant donne un exemple de mise en Ćuvre de pipeline de traitement du langage naturel, avec un exemple de requĂȘte utilisateur traitĂ©e de bout en bout.
Le tableau ci-dessous rappelle de maniĂšre synthĂ©tique la fonction de chaque algorithme ainsi que lâimpact de la langue arabe sur chacun de ceux-ci.
Nom de lâalgorithme | Fonction | Impact de la langue arabe |
La correction orthographique | La correction orthographique consiste Ă corriger les fautes dâorthographe dans les requĂȘtes utilisateur Exemple : si lâutilisateur Ă©crit « je veux une piza », lâalgorithme la corrigera en « Je veux une pizza ». Cela permettra aux algorithmes de vect | La fonction « correction orthographique » nĂ©cessite lâexistence dâun dictionnaire dans la solution. Pour fonctionner correctement, il faudra notamment un dictionnaire par dialecte. Par ailleurs, les dictionnaires de langues arabes sont gĂ©nĂ©ralement plus volumineux car le mĂȘme mot avec ou sans accent peut avoir un sens complĂštement diffĂ©rent. Le dictionnaire comprendra par exemple les 3 mots suivants ŰŁÙÙ Ù, ŰŁÙÙÙÙ ,ŰŁÙÙ qui ont les mĂȘmes lettres mais des diacritiques diffĂ©rents |
La tokenisation | Consiste Ă dĂ©couper une phrase en mots Exemple : « Nous avons super faim » sera dĂ©coupĂ©e en [Nous] [avons] [super] [faim]. Cet algorithme sâappuie sur une dĂ©tection des espaces pour dĂ©couper la phrase en mots Ă©lĂ©mentaires. | En arabe, les mots sont Ă©galement sĂ©parĂ©s par des espaces. Les algorithmes de « tokenisation » sont quasi similaires pour les langues arabe et latine. |
Vectorisation | La vectorisation consiste Ă transformer les phrases en vecteurs. Exemple : « Jâai super faim » sera transformĂ© en [1, 5, 6]. Les coordonnĂ©es du vecteur sont notamment dĂ©terminĂ©es par la frĂ©quence ou le mot apparait dans le jeu de donnĂ©es paramĂ©trĂ© dans le chatbot et le nombre de fois oĂč le mot apparait dans une phrase donnĂ©e. Par exemple « Jâai super super faim » sera vectorisĂ© en en [1, 5, 6, 6]. La vectorisation permet aux algorithmes de dĂ©tection dâintentions de dĂ©terminer des proximitĂ©s entre les phrases de lâutilisateur et celles du jeu de donnĂ©es. | Les algorithmes de vectorisation sont quasi similaires pour les langues latines et arabes. |
Extraction dâentitĂ©s | Lâextraction dâentitĂ©s consiste Ă extraire informatiquement dâune phrase une information particuliĂšrement importante pour la transaction. Exemple : « je veux faire un virement de 1500 ⏠à François Dupont » contient deux informations dont lâextraction est importante : 1500 âŹ, soit le montant du virement et « François Dupont » le bĂ©nĂ©ficiaire du virement | Les pays arabophones ont tendances Ă utiliser la suite de nombre 0,1,2,3,4,5,6,7,8,9. Les algorithmes dâextractions de nombre seront donc similaires. Idem pour les adresses mails qui respectent le format standard [email protected] Les algorithmes dâextractions seront gĂ©nĂ©ralement similaires entre les langues arabes et latines. |
Stemming | Le stemming permet de dĂ©terminer la racine dâun mot. Exemple : la racine de « virement » est « vire » | Les algorithmes de stemming nĂ©cessitent la prĂ©sence de dictionnaires en langues arabes, assez volumineux (Ă cause des diactriques notamment, voir « correction orthographique » ci-dessus). |
Lemmatisation | La lemmatisation va retrouver la forme infinitive du mot. Exemple : « virement » sera transformé en « vire » par le stemming puis en « virer » par la lemmatisation. | Les algorithmes de lemmatisation nécessitent la présence de dictionnaires en langues arabes, assez volumineux (à cause des diactriques notamment, voir « correction orthographique » ci-dessus). |
Stop words | Les stop words sont des mots dans une phrase dont le rĂŽle est moins important que dâautres pour la comprĂ©hension du sens de la phrase. Ex : Dans la requĂȘte « je veux manger une pizza », le mot « une » pourrait aisĂ©ment ĂȘtre Ă©liminĂ© sans que le sens de la phrase soit altĂ©rĂ©. Les algorithmes « stop word » vont Ă©liminer ces mots au poids faible de la requĂȘte de lâutilisateur afin de rendre plus efficace la dĂ©tection dâune proximitĂ© entre la requĂȘte de lâutilisateur et les phrases du jeu de donnĂ©es enregistrĂ©s dans le chatbot. | En langue arabe, la dĂ©tection dâun stop word ne peut se faire sans la prise des diacritiques. Par exemple, le mot interrogatif ŰŁÙÙ Ù un stop word tanpis que le mot ŰŁÙÙÙÙ Ù (qui veut dire douleur) nâen est pas un. Les deux mots diffĂ©rents seulement par leur diacritique. |
Analyse des sentiments | Lâanalyse des sentiments consiste Ă dĂ©tecter dans la phrase de lâutilisateur une polaritĂ© nĂ©gative, neutre ou positive. Exemple : « Je suis en colĂšre » aura une polaritĂ© Ă©gale Ă -0,7, « je constate » une polaritĂ© Ă©gale Ă 0 » et « jâadore » une polaritĂ© Ă©gale Ă 0,8. | Lâanalyse des sentiments sâappuie principalement sur la dĂ©tection de mots clĂ©s. Des dictionnaires de mots spĂ©cifiques Ă la langue arabe seront donc nĂ©cessaires afin que les algorithmes fonctionnent correctement. |
DĂ©tection dâintention | Fondamentalement, il compare le vecteur dâentrĂ©e Ă un ensemble de vecteurs prĂ©formĂ©s (intentions) pour trouver celui qui est le plus similaire. Le rĂ©sultat de cette opĂ©ration est le meilleur candidat d’intention et un score de confiance. | Les algorithmes de dĂ©tection dâintentions sont similaires pour les langues arabes et latines. |
Vous souhaitez en discuter ? Contactez-nous https://smartly.ai/contact