WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Traduction automatisée des langues africaines. Cas du lingala.


par Assandé Jacob TANO
International Data Science Institute - Master Data Science - Big Data 2020
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

    Republique de Côte d'Ivoire

    Union-Discipline-Travail

    Ministère de l'Enseignement Supérieur et de la Recherche Scientifique

    Ministère de l'Economie Numérique et de la Poste

    International Data Science Institute

     
     

    Année académique 2019-2020

    pour l'obtention du

    Master en Data Science - Big Data

    THEME

    Traduction automatisée des langues Africaines
    Cas du lingala

    TANO Assandé Jacob

    Encadreur pédagogique BROU Konan Marcellin

    Maitre de stage Fabrice ZAPFACK

    Master Data Science - Big Data I

     

    TANO Assandé Jacob

    DEDICACES

    À ma famille, amis et connaissances qui m'ont apporté le soutien moral et financier

    afin que je puisse réussir cette formation aux métiers de la data science.

    Master Data Science - Big Data II

     

    TANO Assandé Jacob

    REMERCIEMENTS

    Nous remercions tout d'abord l'Eternel Dieu pour le souffle de vie et la force nécessaire qu'il nous a accordé pour l'effectivité de ce travail. Nos remerciements vont aussi à l'endroit d' Orange Côte d'Ivoire, la fondation X Polytechnique, l'école X Polytechnique, l'INP-HB de Yamoussoukro et l'ENSEA d'Abidjan qui ont tout mis en oeuvre pour la réussite de cette formation.

    Ensuite au Directeur Technique (CTO) de data354, M. Fabrice ZAPFACK, pour l'accueil et l'assistance qu'il nous a apporté durant ces six mois de stage. Également nous remercions les membres de l'équipe de data354, pour leur sympathie, disponibilité, conseils et bonne humeur, qui ont contribué à faciliter notre intégration.

    Nous témoignons aussi notre profonde gratitude à l'administration de l'INP-HB, en particulier à Monsieur KOFFI N'Guéssan, actuel Directeur de l'INP-HB, à Monsieur Tanoh Tanoh Lambert, Directeur de l'IDSI, et à ses collaborateurs.

    Nos remerciements les plus distingués vont également à l'endroit du Professeur BROU Konan Marcellin pour l'encadrement durant toute la période de stage.

    Mes sincères remerciements à mon oncle GBOZO Yao, à ma tante MEA Odette, à mon frère cadet TANO Kouakou Aaron Junior, à mes amis TANOH Bredoux Fulgence, DJE Marie-Christelle, KOUAKOU Fulbert et ADAYE Kissi Patrice qui m'ont accompagnés moralement et financièrement tout au long de cette formation, sans oublier tout ceux ou celles qui ont pris de leur temps pour lire et corriger ce mémoire.

     

    TANO Assandé Jacob

    SOMMAIRE

    DEDICACES I

    REMERCIEMENTS II

    SOMMAIRE III

    LISTE DES TABLEAUX IV

    LISTE DES FIGURES V

    LISTE DES ABREVIATIONS VI

    GLOSSAIRE VII

    AVANT-PROPOS VIII

    RESUME IX

    INTRODUCTION GENERALE 1

    PARTIE I : ENVIRONNEMENT DE LA MISSION 2

    I- PRÉSENTATION DE LA STRUCTURE D'ACCUEIL 3

    II- PRÉSENTATION DU CAHIER DES CHARGES 4

    III- PLANNING PREVISIONNEL 6

    IV- ANALYSE DE L'EXISTANT 6

    PARTIE II: ETUDE DES APPROCHES EXISTANTES DE TRADUCTION AUTOMATIQUE ET CHOIX

    D'UNE APPROCHE

    7

    I- PRESENTATION DES METHODES DE TRADUCTION AUTOMATIQUE

    8

    II- CHOIX D'UNE APPROCHE

    11

    PARTIE III : DESCRIPTION DE LA TRADUCTION AUTOMATIQUE NEURONALE

    12

    I- LA TRADUCTION AUTOMATIQUE NEURONALE

    13

    II- LES RÉSEAUX DE NEURONES RÉCURRENTS

    17

    III- MODÈLES NEURONAUX DE TRADUCTION AUTOMATIQUE

    24

    IV- EVALUATION D'UN MODÈLE DE TRADUCTION AUTOMATIQUE

    28

     

    PARTIE IV : IMPLEMENTATION DU MODELE DE TRADUCTION AUTOMATIQUE

    33

    I- PRÉSENTATION DU PROCESSUS GLOBALE DE TRAITEMENT

    34

    II- COLLECTE ET PRÉPARATION DES DONNÉES

    36

    III- CONSTRUCTION DU MODÈLE DE TRADUCTION AUTOMATIQUE

    40

    IV- PRESENTATION DES RESULTATS

    41

    CONCLUSION GENERALE

    44

    BIBLIOGRAPHIE

    .X

    WEBGRAPHIE

    .XI

    ANNEXES

    .XII

    TABLE DES MATIÈRES

    XV

    Master Data Science - Big Data III

    Master Data Science - Big Data IV

     

    TANO Assandé Jacob

    LISTE DES TABLEAUX

    Tableau 1 : Planning prévisionnel d'exécution du projet 6

    Tableau 2 : Calcul de la précision modifiée (P1) des unigrams 30

    Tableau 3 : Calcul de la précision modifiée (P2) des bigrams 30

    Tableau 4 : Calcul de la précision modifiée (P3) des 3-grams 31

    Tableau 5 : Calcul de la précision modifiée (P4) des 4-grams 31

    Tableau 6 : Caractéristiques du jeu de données 36

    Tableau 7 : Exemple de mise en minuscule des mots du jeu de données 37

    Tableau 8 : Exemple de suppression de bruts du jeu de données 37

    Tableau 9 : Exemple d'harmonisation des écrits du jeu de données 38

    Tableau 10 : Modèles de traduction automatique 40

    Tableau 11 : Quelques hyperparamètres des modèles construits 40

    Tableau 12 : Présentation des résultats des différents modèles de traduction automatique 41

    Tableau 13 : Extrait de traduction machine et humaine 43

    Master Data Science - Big Data V

     

    TANO Assandé Jacob

    LISTE DES FIGURES

    Figure 1 : Statistiques des univers linguistiques 5

    Figure 2 : Traduction automatique à base de règles 8

    Figure 3 : Traduction automatique statistique 9

    Figure 4 : Traduction automatique neuronale 10

    Figure 5 : Mise en correspondance neurone biologique / neurone artificiel 14

    Figure 6 : Structure d'un neurone artificiel j 14

    Figure 7 : Génération de texte caractère par caractère 19

    Figure 8 : Traitement d'une séquence de taille T un réseau de neurone récurrent 19

    Figure 9 : Prédiction de la probabilité du caractère suivant à partir d'une séquence initiale 20

    Figure 10 : Une couche RNN, prenant en entrée des séquences de 10 caractères 21

    Figure 11 : Représentation simplifiée d'une cellule LSTM 22

    Figure 12 : Représentation simplifiée d'une cellule GRU 23

    Figure 13 : Représentation fermée d' un modèle séquence-à-séquence 24

    Figure 14 : Représentation ouverte d' un modèle séquence-à-séquence 25

    Figure 15 : Représentation détaillée d'un seq2seq pour une traduction anglais vers lingala 25

    Figure 16 : Représentation simplifiée d'un `Transformer' 27

    Figure 17 : Processus global de la mise en place de l'outil de traduction 34

    Figure 18 : Exemple de vectorisation d'une entrée 39

    Figure 19 : Répartition des données 39

    Figure 20 : Interface web de traduction 42

    Figure 21 : Extrait du script de traduction XII

    Figure 22 : Extrait du corpus parallèle XIII

    Figure 23 : Extrait du script de l'encodeur et du décodeur XIV

    Master Data Science - Big Data VI

     

    TANO Assandé Jacob

    LISTE DES ABREVIATIONS

    BLEU : BiLingual Evaluation Understudy

    CTO : Chief Technical Officer

    ENSEA : École Nationale Supérieure de Statistique et d'Economie Appliquée

    FFN : Feed Forward network

    GRU : Gated recurrent unit

    IA : Intelligence Artificielle

    IDSI : International Data Science Institute

    INP-HB : Institut National Polytechnique Félix Houphouët Boigny

    LSTM : Long Short-Term Memory

    NMT : Neural Machine Translation

    NLP : Natural Language Processing

    OOV : Out Of Vocabulary

    RBMT : Rules Based Machine Translation

    RPA : Robotics Process Automation (Automatisation des Processus Robotiques)

    RNN : Recurrent Neural Network

    SMS : Short Message Service

    SMT : Statistical Machine Translation

    TA : Traduction Automatique

    TAL : Traitement Automatique du Langage

    TALN : Traitement Automatique du Langage Naturel

    TAN : Traduction Automatique Neuronale

    TAS : Traduction Automatique Statistique

     

    TANO Assandé Jacob

    GLOSSAIRE

    l Anglais: langue indo-européenne germanique originaire d'Angleterre et parlée comme langue officielle dans plusieurs pays du monde.

    l Arabe : C'est la langue officielle de plus de vingt pays et de plusieurs organismes internationaux, dont l'une des six langues officielles de l' Organisation des Nations unies.

    l Haoussa : Haoussa, hausa ou hawsa, est une langue africaine de la famille des langues afro-asiatiques1 parlée en Afrique de l'Ouest, principalement au Niger et au Nigeria, mais aussi au Bénin.

    l Igbo : L'igbo, ou ibo est une langue parlée au Nigéria par environ 20 à 35 millions de personnes, les Igbos, en particulier dans le sud-est du Nigéria.

    l Intelligence artificielle : elle désigne l'ensemble des théories et des techniques mises en oeuvre en vue de réaliser des machines capables de simuler l'intelligence humaine.

    l Langue Africaine : une langue est tout d'abord un instrument permettant la communication entre individus. L'on doit donc entendre par langue africaine, une langue parlée sur le continent africain.

    2

    l Lingala : c'est une langue de la famille des langues bantoues , parlée en République democratique du Congo (communément appelé Congo-Kinshasa) et en République du Congo (appelé communément Congo-Brazzaville).

    l Natural Language Processing (NLP) : encore appelée en français traitement automatique du langage naturel (abr. TALN), ou traitement automatique des langues (abr. TAL) c'est un domaine qui vise à créer des outils de traitement de la langue naturelle par des algorithmes d'Intelligence artificielle.

    l Swahili : Le Swahili ou Kiswahili est une langue d'origine africaine, parlé dans dix pays à savoir le Malawi, le Rwanda, la Somalie, le Mozambique, la RDC, le Kenya, l'Ouganda, le Burundi, la

    Tanzanie puis aux Comores.

    l Traduction automatique : consiste à traduire un texte (ou d'une conversation audio, en direct ou en différé) d'une langue source vers une langue cible en utilisant un ou plusieurs programmes informatiques, sans qu'un traducteur humain n'ait à intervenir.

    3

    l Wolof : langue sénégambienne principalement parlée au Sénégal et en Mauritanie.

    l Word Embedding : Le word embedding est une technique de vectorisation de mots où les mots se rapprochant sémantiquement sont représentés par des vecteurs plus proches.

    l Yoruba : est une langue d'Afrique de l'ouest principalement parlée au Nigeria, Bénin et au Togo.

    l Zulu : Le zulu est une langue de la famille des langues bantoues, parlée en Afrique australe.

    1 Afro-asiatiques : une famille de langues parlées principalement en Afrique du Nord, dans la Corne de l'Afrique, au Moyen-Orient, dans le Sahara et dans une partie du Sahel.

    2 Langues bantoues : La famille des langues bantoues est un ensemble de langues africaines qui regroupe environ 400 langues parlées dans une vingtaine de pays de la moitié sud.

    3 Langues sénégambiennes : Les langues sénégambiennes sont des langues africaines rattachées à la branche nord des langues atlantiques.

    Master Data Science - Big Data VIII

    TANO Assandé Jacob

     

    AVANT-PROPOS

    l'International Data Science Institute est une chaire internationale de formation en Data Science et Big Data, issu d'un partenariat entre l'opérateur de téléphonie Orange, l'Institut National Polytechnique Félix Houphouët-Boigny (INP-HB), l'École Nationale Supérieure de Statistique et d'Economie Appliquée (ENSEA), l'École polytechnique (X) et la Fondation de l'École polytechnique (FX).

    Homologué par l'État de Côte d'Ivoire, la chaire à ouvert ses portes à la toute première promotion en 2017 et elle a pour objectif de former des experts dans le domaine de la statistique, de l'intelligence artificielle et du Big Data.

    D'une durée de deux ans, l'IDSI propose un master d'excellence de niveau international à destination d'étudiants qui s'approprient des connaissances en ingénierie informatique basée sur les nouvelles évolutions en matière de stockage et de traitement des données. Les cours sont dispensés au sein du Data Science Institute de l'INP-HB par une équipe pédagogique composée de professeurs de l'INP-HB, de l'ENSEA, de l'X, ainsi que des professionnels experts dans leur domaine.

    Pour parfaire la formation et se rapprocher du monde professionnel, il est prévu un projet de fin d'études sanctionné par la rédaction d'un mémoire puis une soutenance devant un jury d'enseignants de l'INP-HB de l'ENSEA de l'X et de responsables d'entreprises.

    C'est dans ce cadre que l'IDSI initie en fin de cycle, des stages pratiques en entreprise en vue d'amener ses élèves à confronter leurs connaissances théoriques acquises durant leur parcours académique aux réalités du monde professionnel. C'est ainsi que nous avons été accueilli par l'entreprise data354 du 17 mars 2020 au 18 septembre 2020 pour un stage de 6 mois dans ses locaux.

    Master Data Science - Big Data IX

    TANO Assandé Jacob

     

    RESUME

    Le traitement automatique de langues naturelles ou Natural Language Processing (NLP) a connu une révolution majeure ces dernières années. Plusieurs systèmes de traduction ont vu le jour permettant de traduire certaines langues les plus parlées dans le monde. Le constat général est que beaucoup de langues africaines sont restées en marge de cette révolution outre certaines langues telles que l'Arabe, le Yoruba, le Zulu, le Swahili, le Igbo, le Wolof qui sont actuellement traduisibles par certaines plateformes tel google translate. De ce fait, nous nous sommes intéressés à ce domaine afin de concevoir un traducteur automatique basé sur un modèle de réseaux de neurones pour la traduction l'anglais vers le lingala.

    Le travail exposé dans ce mémoire est un projet interne à l'entreprise qui vise à mettre en place un système de traduction de langues africaines par l'utilisation des méthodes du NLP.

    Nous exposons dans ce mémoire les méthodes et outils utilisés pour atteindre nos objectifs, pour se faire, nous procédons tout d'abord par la collecte des données utilisées par la suite pour entraîner un modèle de traduction automatique neuronale appelé sequence-to-sequence. L'évaluation du sesquence-to-sequence produisant des résultats peu satisfaisants, nous avons été amenés à mettre en place un transformer (aussi un modèle de traduction automatique neuronale) qui nous a donné des résultats encore meilleurs. L'implémentation s'est entièrement faite avec le langage de programmation python et l'entraînement des différents modèles s'est fait sur google collaboratory.

    Mots clés :

    Traduction automatique neuronale; deep learning; apprentissage profond; sequence-to-sequence; transformer; Natural Language Processing; réseaux de neurones; traduction automatisée de langues africaines.

    Master Data Science - Big Data 1

    TANO Assandé Jacob

     

    INTRODUCTION GENERALE

    La traduction automatique (TA) est le processus consistant à traduire un texte d'une langue à une autre à l'aide d'un logiciel en intégrant des connaissances informatiques et linguistiques. Dans les débuts, les systèmes de traduction automatique se faisaient en associant simplement le sens des mots de la langue source à la langue cible à l'aide de règles linguistiques. Cependant, ces systèmes n'ont pas donné de bons résultats en raison de leur incapacité à saisir les différentes structures de phrases dans une langue. De plus, ce processus de traduction prend beaucoup de temps et nécessite également des personnes qui maîtrisent les deux langues. Par la suite, des approches de traduction basées sur des corpus, comme la traduction automatique statistique (TAS) et la traduction automatique neuronale (TAN), ont été introduites dans le but de corriger les inconvénients des méthodes basées sur des règles.

    Aujourd'hui grâce aux progrès du domaine de la traduction automatique, l'on constate sur internet de nombreux sites de traduction en ligne et en temps réel d'un grand nombre de documents. Aussi nous constatons sur différents sites de traduction tels que Google Traduction, DeepL, plusieurs langues traduisibles mais parmi ces langues seulement une poignée de langues africaines sont traduisibles. Certaines langues africaines telles que le Wolof, l'Igbo, le Haoussa, le Lingala ayant le statut de langues nationales se valent d'être traduites à cause de leurs portées qui se justifient par le fait qu'elles sont même parlées sur certains plateaux télé et radio internationales.

    Dans cet élan de valorisation des langues africaines, et de participation à l'éducation par l'apprentissage des langues africaines, data354 souhaiterait mettre en place un système de traduction de langues dites internationales vers les langues africaines, Dans le cadre de cette tâche, la décision a été prise de démarrer par la traduction de l'anglais vers le lingala. C'est donc dans ce cadre que le thème suivant : Traduction automatisée de langues Africaines: Cas du lingala , nous a été confié lors de nos six mois de stage effectués au sein de ses locaux.

    De ce fait comment parvenir à traduire automatiquement une langue source vers une autre langue cible en d'autres termes, quelles approches et algorithmes utiliser pour effectuer la traduction automatique ? Pour répondre à toutes ces questions, nous commencerons après avoir présenté notre structure d'accueil, à présenter les approches de traduction automatique existantes et nous en choisirons une pour la résolution du problème posé. Dans une seconde partie nous procéderons à la description détaillée de l'approche choisie et enfin dans la dernière partie nous présenterons l'implémentation du modèle de traduction automatique.

    Master Data Science - Big Data 2

    TANO Assandé Jacob

     

    PARTIE I : ENVIRONNEMENT DE LA MISSION

    Nous présenterons dans cette partie, la structure d'accueil, ensuite le cahier de charges et les objectifs I atteindre ainsi que le planning I observer. Par la suite nous procéderons I une analyse de l'existant qui nous permettra de mieux cerner nos objectifs afin de développer un système de qualité.

     

    TANO Assandé Jacob

     

    I- PRÉSENTATION DE LA STRUCTURE D'ACCUEIL

    1. Structure d'accueil

    data354 www.data354.com est une société de consulting technique sur les produits et services d'ingénierie et d'analyse des données. La société accompagne aujourd'hui les acteurs du secteur public et privé à la maîtrise des données et au développement de solutions d'analyse prédictive. Fondée par une équipe expérimentée, pluridisciplinaire et complémentaire, tous animés d'une vision commune: celle de mettre en place des outils analytiques et prédictifs de pointe au service des organisations évoluant en Afrique; elle accompagne aujourd'hui ses clients tout au long de leur transformation data grâce à son expertise Technologique et à sa capacité de conseil en Stratégie et Management.

    2. Les domaines de compétences de la structure d'accueil

    Partenaire privilégié des cabinets de conseils en transformation digitale en Afrique et en Europe, data354 propose une large gamme de prestations externalisées tels que :

    l Cartographie de l'infrastructure technique et des données existantes;

    l Collecte, stockage, sécurisation, traitement, visualisation et valorisation de données internes et externes;

    l Mise en place d'outils d'aide à la décision;

    l Intelligence artificielle : machine learning / deep learning (entraînement des modèles, prédictions et visualisation).

    Elle accompagne également les entreprises technologiques internationales à l'adaptation de leurs solutions aux marchés africains.

    Les services proposés par l'entreprise sont regroupés en trois grands groupes de services à savoir :

    Data Strategy

    l Évaluation maturité Data

    l Stratégie & plan gouvernance Data & IA

    l Acculturation Data

    Data Management

    l Infrastructure Big Data et temps-réel

    l Qualité des données

    l Data Catalog1

     

    Data Intelligence

    l Data Science

    l Business Intelligence

    l RPA2

    1 Data catalog : un Data Catalog est un catalogue de données. Plus précisément, il s'agit d'un emplacement centralisé où sont regroupées les informations sur les données contenues dans une base de données : les métadonnées.

    2 RPA : La RPA, ou Robotic Process Automation, est une technologie permettant d'automatiser des processus métier qui nécessitaient, jusque-là, l'intervention d'un humain. c'est -à-dire traiter des tâches répétitives et chronophages grâce à l'utilisation de logiciels d'intelligence artificielle capables d'imiter un travailleur humain.

    Master Data Science - Big Data 3

    Master Data Science - Big Data 4

    TANO Assandé Jacob

     

    II- PRÉSENTATION DU CAHIER DES CHARGES

    De nos jours, de nombreux africains vivent en Europe, en Amérique ou même Afrique dans un milieu citadin où ils ont peu de chance d'apprendre leurs valeurs traditionnelles. Fort est de constater que de nombreuses personnes éprouvent assez de difficultés à s'exprimer dans leurs langues maternelles parce qu'elles n'ont jamais été ou n'ont pas passé un grand nombre de temps dans un environnement favorisant un échange en langue maternelle.

    Cette situation nous laisse souvent dans des situations très inconfortables, surtout lors des échanges avec les parents des milieux ruraux ou avec ceux des milieux urbains mais qui se sentent plus à l'aise dans les échanges en langue maternelle.

    La maîtrise de la langue est utile pour s'intégrer dans un groupe social donné et favorise la création et le renforcement des liens amicaux surtout lors des visites dans des pays africains où une langue locale est reconnue et parlée comme langue nationale.

    De ce fait data354, dans l'optique de permettre un apprentissage des langues africaines aux africains ayant perdus le lexique de leurs langues maternelles ou à tout autre personne physique désireuse d'apprendre une langue africaine ou à une personne morale voulant traduire un certain nombre de documents en langue africaine de pouvoir le faire aisément via une plateforme de traduction qu'elle voudrait mettre en place.

    Pour le début, ce projet de création de système de traduction vise à traduire dans un premier temps des phrases écrites en anglais vers le lingala et par la suite permettre la traduction de d'autres langues africaines.

    1- Motivation du choix des langues

    Plusieurs raisons ont motivé le choix des deux langues retenues :

    ANGLAIS

    l L'une des langues ayant plus de locuteurs natifs;

    l La langue la plus utilisée sur internet;

    l La langue la plus utilisée dans le monde du travail et pour la communication internationale.

    Master Data Science - Big Data 5

    TANO Assandé Jacob

     

    Sources : W3techs, Ethnologue

    Figure 1 : Statistiques des univers linguistiques

    LINGALA

    l Se situe dans le top 10 des langues Africaines les plus parlées;

    l Expansion de la langue à travers la musique;

    l Statut de langue Nationale en république démocratique du Congo;

    l L'une des langues africaines les plus parlées et pas encore pris en compte dans les systèmes de traduction tels que google translate, DeepL.

    2. Objectif général

    L'objectif lors ce stage c'est de mettre en place un outil pour la traduction automatique de phrases écrites en Anglais vers le Lingala à l'aide des algorithmes d'intelligence artificielle.

    3. Objectifs spécifiques

    Pour atteindre l'objectif général, nous identifions trois objectifs spécifiques du projet à savoir :

    l Collecter et préparer un ensemble de données bilingue où l'on aura des phrases en anglais et leur équivalent en Lingala ;

    l Implémenter un modèle de traduction automatique ;

    l Produire une interface utilisateur conviviale offrant des services de traduction.

    Master Data Science - Big Data 6

    TANO Assandé Jacob

     

    III- PLANNING PREVISIONNEL

    1- Planning d'exécution du projet

    La clé principale de la réussite d'un projet est un bon planning. En effet, le planning aide à bien subdiviser le travail et séparer les tâches à réaliser, il offre une meilleure estimation et gestion de temps nécessaire pour chaque tâche. De plus, il donne assez de visibilité permettant d'estimer approximativement la date d'achèvement de chaque tâche. Dans notre projet, le planning prévisionnel se présente comme suit.

    Durée

    Tâches

    Livrables

    Outils

    1 semaine

    Setup environnement de travail

     

    Linux, AWS, GCP, Azure

    3 semaines

    Préparation des datasets

    Fichiers contenant 10000+ avis labellisés

    Python, spark, pandas,

    SQL

    6 semaines

    Revue de littérature
    Benchmark de services cloud
    (AWS, GCP, Azure)

    Création d'un MVP3
    Evaluation sur un dataset de
    référence

    Python, Rest API, AWS, GCP, Azure

    6 semaines

    Créer un de machine translation

    Evaluation sur le dataset de
    référence

    NLP, tensorflow,
    transformers

    4 semaines

    Déploiement et intégration du modèle d'extraction d'entités

    Micro service déployé sur une infrastructure cloud

    AWS lambda, AWS EKS

    4 semaines

    Finalisation du projet

    Documentation détaillée
    Rapport de stage

     
     

    Tableau 1 : Planning prévisionnel d'exécution du projet

    IV- ANALYSE DE L'EXISTANT

    1. Constat

    Aujourd'hui, nous disposons sur internet de plusieurs plateformes de traduction automatique de l'anglais/français vers l'Arabe, le Wolof, l'Igbo, le Zulu, le Yoruba, le Haoussa, le Swahili mais peu de plateformes sont proposées pour la traduction en temps réel de l'anglais/français vers le lingala.

    2. Commentaires

    Nous trouvons sur internet plusieurs plateformes tels : lexilogos ( www.lexilogos.com ), glosbe ( https://fr.glosbe.com ), etc... qui proposent des dictionnaires anglais - lingala et vise-versa. Hormis les dictionnaires en ligne, il n'existe presque pas de systèmes de traduction en ligne d'un ensemble de mots(phrase) de l'anglais vers du lingala bien que le lingala soit une langue nationale. Par contre certaines langues nationales africaines tels le wolof (Sénégal), l'Igbo(Nigéria) ont bien trouvés leurs places dans la traduction en ligne par certaines plateformes comme google traduction ( https://translate.google.com/ ), imtranslator ( https://imtranslator.net/translation/), lingojam ( https://lingojam.com ), etc...

    3 MVP : Minimum Viable Product, peut être perçu comme une première version basique du produit à livrer.

    Master Data Science - Big Data 7

    TANO Assandé Jacob

     

    PARTIE II : ETUDE DES APPROCHES EXISTANTES

    DE TRADUCTION AUTOMATIQUE ET CHOIX D'UNE

    APPROCHE

    Nous présenterons dans cette partie, les différentes approches de traduction automatique existantes. Cette présentation permettra de montrer le mode de fonctionnement de ces différentes approches, leurs points forts et points faibles puis au vu des points forts et faibles de chacune d'entre elles nous choisirons une approche pour le traitement de notre sujet d'étude.

    Master Data Science - Big Data 8

    TANO Assandé Jacob

     

    I - PRÉSENTATION DES APPROCHES DE TRADUCTION AUTOMATIQUE

    Le domaine de la traduction a connu un essor considérable ces dernières années, les limites des traductions humaines ont suscité le désir de mettre en place des algorithmes dans le but de permettre à la machine d'effectuer ces tâches de traduction. L'on distingue aujourd'hui plusieurs approches de traduction automatique, nous nous évertuerons à présenter les plus utilisées puis nous choisirons dans la suite une approche pour le traitement de notre cas d'étude. [ 1 ]

    1 - Traduction Automatique Basée sur des Règles (TABR)

    Le système de Traduction Automatique Basée sur des Règles(TABR) ou Rules-Based Machine Translation (RBMT) prend en entrée des phrases dans une langue dite source pour produire en sortie des phrases dans une langue dite langue cible. Cette traduction se base sur une analyse morphologique, syntaxique et sémantique de la langue source et cible impliquée dans la tâche de traduction.

    Dans un RBMT, Le programme de traduction automatique va associer des dictionnaires de mots courants ainsi que des règles linguistiques et grammaticales pour procéder à la traduction. Il arrive de même que la traduction obtenue avec un RBMT n'est pas à la hauteur de nos attentes, il est cependant possible d'enrichir les dictionnaires de mots afin d'améliorer la qualité de la traduction. [ 2]

    Source : Enquête de Barbara Vignaux( https://www.liglab.fr/files/qa_traduction_auto_bd.pdf)

    Figure 2 : traduction automatique à base de règles

    Les systèmes basés sur des règles présentent un certain nombre d'avantages et inconvénients :

    Avantages

    l Rapidité dans la restitution de traduction;

    l Vu que les différents paramètres de traduction sont établis par l'humain, il est donc possible de les personnaliser pour un résultat de traduction optimal. Inconvénients

    l La construction de nouveaux dictionnaires est coûteuse.

    Master Data Science - Big Data 9

    TANO Assandé Jacob

     

    l Élaboration manuelle de règles linguistiques, qui peuvent être coûteuses;

    l Il est difficile de gérer les interactions de règles dans les grands systèmes, l'ambiguïté dans dans la traduction des expressions idiomatiques;

    l Incapacité d'adapter automatiquement la traduction à un nouveau domaine, il va falloir revoir les règles de traduction;

    l Bien que les systèmes RBMT fournissent généralement un mécanisme pour créer de nouvelles règles pour étendre et adapter le lexique, les changements sont généralement très coûteux et les résultats, souvent, ne sont pas rentables.

    2 - Traduction Automatique Statistique (TAS)

    Dans les années 90, la puissance de calcul et la capacité de stockage des ordinateurs ont connu un boom. Cela a donné lieu à l'essor de la traduction automatique statistique (TAS) ou Statistical Machine Translation (SMT). Cette technologie génère des traductions basées sur des modèles statistiques dérivés de grands corpus de textes bilingues, qui ont commencé à être disponibles dans les années 90.

    L'hypothèse initiale est que toute phrase d'une langue est une traduction possible d'une phrase dans une autre langue. Si on traduit depuis une langue source s vers une langue cible ( t) , le but est de trouver la phrase cible (t) la plus appropriée pour traduire la phrase source s . Pour chaque paire de phrases possible (s, t) , on attribue une probabilité P(t|s) qui peut être interprétée comme la probabilité qu' « un traducteur» produise ( t) dans la langue cible, lorsque la phrase (s) a été énoncée dans une langue source, ou autrement dit, la probabilité que la traduction de s soit t.

    En traduction automatique statistique, les modèles probabilistes sont utilisés pour trouver la meilleure traduction possible ( t*) d'une phrase source donnée s , parmi toutes les traductions t possibles dans la langue cible. Il s'agit alors d'appliquer des méthodes d'apprentissage statistiques afin d'entraîner le système avec un corpus bilingue(composé d'une langue source et d'une langue cible).

    Source : Enquête de Barbara Vignaux( https://www.liglab.fr/files/qa_traduction_auto_bd.pdf)

    Figure 3 : traduction automatique statistique

    Master Data Science - Big Data 10

    TANO Assandé Jacob

     

    Avantages

    l Nécessite un effort humain minimal;

    l Contrairement au RBMT, la traduction est basée sur le calcul de probabilités de succession de mots ce qui rend la qualité de traduction meilleure.

    Inconvénients

    l L'une des faiblesses de la TAS est le défi de traduire des documents qui ne sont pas similaires au contenu des corpus de formation;

    l La traduction automatique statistique TAS fonctionne généralement moins bien pour les paires de langues dont l'ordre des mots est sensiblement différent.

    3 - Traduction Automatique Neuronale (TAN)

    L'intelligence artificielle (IA) envahit progressivement tous les aspects de la vie et des affaires. Dans le monde de la traduction, la traduction automatique neuronale(TAN) ou Neural Machine Translation (NMT) est le nouveau venu. La TAN s'appuie sur les réseaux de neurones pour obtenir des traductions plus précises en fonction du contexte, plutôt que des phrases fragmentées traduites mot par mot.

    Destinés à imiter les neurones du cerveau humain, les neurones d'un système TAN peuvent apprendre et recueillir des informations, établir des connexions et évaluer les données d'entrée comme une unité entière. La TAN effectue son analyse en deux phases : l'encodage et le décodage. Pendant la phase d'encodage, le texte de la langue source est entré dans la machine et ensuite convertit en vecteurs. Les mots qui sont similaires dans leur contexte seront placés dans des vecteurs de mots comparables. Ensuite, la phase de décodage transcrit les vecteurs dans la langue cible de manière efficace et transparente. Tout au long du processus de traduction, la technologie ne se contente pas de traduire des mots et des phrases, mais traduit le contexte et les informations.

    Le schéma ci-après illustre de façon simplifiée le processus de fonctionnement d'une TAN.

    Source : Enquête de Barbara Vignaux( https://www.liglab.fr/files/qa_traduction_auto_bd.pdf)

    Figure 4 : Traduction automatique neuronale

    Master Data Science - Big Data 11

    TANO Assandé Jacob

     

    Cette approche présente bien des avantages et inconvénients. Avantages

    l Traduit efficacement des langues grammaticalement complexes, notamment le coréen, le japonais et l'arabe;

    l Analyse complète d'une phrase avant traduction ce qui permet de faire une traduction en employant des mots selon le contexte;

    l Apprend les nuances des langues, telles que le genre et le nombre;

    l Aide à la rédaction multilingue, la vérification des traductions et la vidéoconférence multilingue.

    Inconvénients

    l Pour un apprentissage profond et pour une bonne prédiction, l'on a besoin d'une grande quantité de données au contenu diversifié pour permettre aux réseaux de neurones de mieux se généraliser.

    II - CHOIX D'UNE APPROCHE

    1. Choix

    Vu les caractéristiques, avantages et inconvénients des approches sus présentées et vu notre objectif qui est de mettre en place un système de traduction fiable par l'utilisation des méthodes modernes de traduction, nous optons comme choix la traduction automatique neuronale.

    2. Motivations du choix

    Nous avons porté notre choix sur la traduction automatique neuronale car le système à mettre doit prendre en compte certains aspects :

    l Traduire des phrases tout en tenant compte du contexte dans lequel les mots constituant la phrase sont employés ;

    l Fournir des traductions fiables dans de brefs délais;

    l Permettre la traduction en temps réel;

    Aux vues de ces aspects, la traduction automatique neuronale s'avère la mieux adaptée à notre étude.

    Master Data Science - Big Data 12

    TANO Assandé Jacob

     

    PARTIE III : DESCRIPTION DE LA TRADUCTION
    AUTOMATIQUE NEURONALE

    Nous décrirons ici la traduction automatique neuronale, qui est l'approche que nous avons retenue pour le traitement de notre cas d'étude.

    Master Data Science - Big Data 13

    TANO Assandé Jacob

     

    I- LA TRADUCTION AUTOMATIQUE NEURONALE

    La traduction automatique neuronale ou Neural Machine Translation (NMT) est une approche basée sur les réseaux de neurones artificiels. Cette approche utilise une architecture appelée sequence-to-sequence composée deux réseaux neurones récurrents. [22]

    1- Réseau de neurones artificiels

    Ensemble de neurones formels (artificiels) interconnectés permettant de construire un modèle d'apprentissage automatique à partir d'exemples (données). Il est aussi défini comme une modélisation mathématique du cerveau humain.

    a- Définition du neurone formel

    Un neurone formel appelé aussi neurone artificiel est une représentation artificielle d'un neurone biologique

    De façon très réductrice, un neurone biologique est une cellule qui se caractérise par

    l Des synapses, les points de connexion avec les autres neurones, fibres nerveuses ou musculaires ;

    l Des dendrites ou entrées du neurone ;

    l Les axones, ou sorties du neurone vers d'autres neurones ou fibres musculaires ;

    l Le noyau qui active les sorties en fonction des stimulations en entrée.

    Par analogie, Un neurone formel est une représentation artificielle et schématique d'un neurone biologique :

    l Les dendrites traduites par les entrées du neurone;

    l Les synapses sont modélisées par des poids;

    l Le soma ou corps cellulaire est modélisé par la fonction de transfert, appelé aussi fonction d'activation;

    l L'axone : l'équivalent de la sortie du neurone artificiel.

    Master Data Science - Big Data 14

    TANO Assandé Jacob

     

    Figure 5 : Mise en correspondance neurone biologique / neurone artificiel

    b- Formulation mathématique du neurone formel

    Un neurone formel, au même titre qu'un neurone biologique, reçoit plusieurs stimuli (xi) d'importances différentes (les stimuli les plus importants sont munis de poids Wij plus élevés), les analyse et fournit en sortie un résultat.

    Figure 6 - Structure d'un neurone artificiel j

    Description de la structure du neurone artificiel :

    l Chaque poids possède une valeur notée . Cette notation désigne le poids
    allant d'un neurone formel i au neurone formel j ;

    l Chaque poids transmet une information/un stimulus provenant du neurone source i noté ;

    Master Data Science - Big Data 15

    TANO Assandé Jacob

     

    l Ce stimulus (sa valeur) correspondant à l'information envoyé par le neurone source i est modulé par le poids liant les neurones i etj. Mathématiquement cela se traduit par :

    l Ainsi le neurone j reçoit autant de stimuli que de poids, dont il fait la somme

    Si l'on note n le nombre de stimuli en entrée du neurone j, une notation mathématique plus complète serait :

    Cette expression se lit alors comme : la somme de toutes les multiplications des valeurs des n entrées par les poids associant ces entrées au neurone j considéré ( i prenant les valeurs : 0, 1, 2, ..., n)

    C'est cette somme que le neurone formel j doit alors traiter. Il utilise pour cela la fonction de transfert.

    La fonction d'activation : Biologiquement, l'idée d'une fonction d'activation vient de

    l'idée de mimer le fonctionnement d'un potentiel d'action d'un neurone biologique : si

    l'ensemble des stimuli en entrée d'un neurone atteignent le seuil d'excitabilité, alors ce neurone fournit une sortie (il décharge).

    Il existe un grand nombre de fonctions d'activation, telles que :

    l Sigmoïde : produit une courbe en forme de S. Bien que de nature non linéaire, il ne tient toutefois pas compte des légères variations des entrées, ce qui entraîne des résultats similaires;

    l Fonctions de tangente hyperbolique (tanh): Il s'agit d'une fonction supérieure comparée à Sigmoïde. Cependant, elle rend moins bien compte des relations et elle est plus lente à converger;

    l Unité linéaire rectifiée (ReLu): Cette fonction converge plus rapidement, optimise et produit la valeur souhaitée plus rapidement. C'est de loin la fonction d'activation la plus populaire utilisée dans les couches cachées;

    l Softmax: utilisé dans la couche de sortie car elle réduit les dimensions et peut représenter une distribution catégorique.

    Master Data Science - Big Data 16

    TANO Assandé Jacob

     

    2- Type de Réseaux de neurones

    Il existe différents types de réseaux de neurones, nous nous évertuerons à présenter dans cette partie les domaines d'applications des réseaux de neurones plus populaires

    :

    a- Les réseaux de neurones à propagation avant - Feed Forward Neural Networks (FFN)

    Généralement utilisé pour des projets de :

    l Classification ;

    l Reconnaissance faciale ;

    l Vision par ordinateur ;

    l Reconnaissance de la parole.

    b- Les réseaux de neurones convolutionnels - Convolutional Neural Network (CNN)

    Ce type de réseaux de neurones est beaucoup utilisé pour :

    l Le traitement d'image ;

    l La vision par ordinateur ;

    l La Reconnaissance vocale.

    c- Les réseaux de neurones récurrents - Recurrent Neural Networks (RNN)

    Ils sont utilisés pour :

    l Le traitement de texte comme la suggestion automatique, les vérifications de grammaire, etc.

    l La mise en place de synthèse vocale ;

    l Analyse des sentiments ;

    l Traduction automatique.

    Notre projet consistant à faire de la traduction automatique de texte, nous allons dans la suite nous focaliser sur les réseaux de neurones récurrents.

    Master Data Science - Big Data 17

    TANO Assandé Jacob

     

    II- LES RÉSEAUX DE NEURONES RÉCURRENTS

    Les réseaux de neurones constituent aujourd'hui l'état de l'art pour diverses tâches d'apprentissage automatique. Ils sont très largement utilisés par exemple dans les domaines de la vision par ordinateur, classification d'images, détection d'objets, segmentation et du traitement automatique des langues (traduction automatique, reconnaissance vocale, modèles de langage...). [ 10 ]

    Le but ici c'est de décortiquer le réseau de neurones récurrent - recurrent neural Network(RNN) afin d'en expliquer leur fonctionnement.

    1- Généralité

    L'architecture globale des réseaux de neurones récurrents tire son fondement de l'architecture du perceptron multicouches (Multi-Layer Perceptron).

    a- généralité sur Le perceptron multicouches (MLP)

    Les MLP sont des algorithmes de machine learning supervisés. Ils prennent la description d'un objet en entrée, et fournissent une prédiction en sortie. L'entrée est représentée par un vecteur numérique, qui décrit les caractéristiques ( features) de l'objet. Ce vecteur traverse une succession de couches de neurones, où chaque neurone est une unité de calcul élémentaire. La prédiction est fournie en sortie sous la forme d'un vecteur numérique.

    Dans le schéma suivant, une couche de MLP reçoit en entrée un vecteur [a, b, c], et produit en sortie un vecteur [h1, h2, h3, h4].

    De façon simplifiée, nous pouvons représenter une couche entière sous la forme d'une cellule. Le schéma précédent devient alors :

    Master Data Science - Big Data 18

    TANO Assandé Jacob

     

    b- du perceptron multicouche au réseau de neurone récurrent

    Supposons maintenant que nous travaillions sur un objet dynamique. Nous souhaitions prédire le futur à partir d'une entrée. Les variables d'entrée [a, b, c] ne sont plus des valeurs uniques mais des séquences. Par exemple, la variable a est une suite chronologique de n valeurs (a1, a2, ..., an).

    Comment un réseau de neurones peut-il traiter ce genre d'entrées ?

    Une façon naïve de procéder serait de mettre à plat l'ensemble des valeurs dans un unique vecteur (a1, ..., an, b1, ..., bn, c1, ..., cn), et de les fournir en entrée de la première couche d'un MLP. Cependant les MLP ne font aucune distinction dans l'ordre des valeurs d'une couche. Cette méthode équivaut ainsi à mélanger toutes les valeurs : la dynamique temporelle serait annihilée, la relation entre les valeurs successives prises par a, b et c serait perdue. De plus, le nombre de paramètres à apprendre sur la première couche augmenterait proportionnellement avec la longueur des séquences. En bref, la performance ne serait pas au rendez-vous.

    C'est là que les réseaux récurrents (RNN) entrent en jeu. Un réseau récurrent est un type particulier de réseaux de neurones, particulièrement adapté aux données séquentielles. Une couche récurrente est représentée de cette façon :

    L'entrée est une séquence de vecteurs. Chacun correspond à un incrément de temps. Une flèche en boucle apparaît sur la cellule. En pratique, le RNN parcourt successivement les entrées [a i, b i, c i ], et calcule des sorties intermédiaires [h 1,i, h 2,i, h 3,i, h 4,i ]. Pour ce faire, il utilise non seulement l'entrée courante, mais également la sortie calculée précédemment [h 1,i-1 , h 2,i-1 , h 3,i-1 , h 4,i-1 ]. C'est la signification de la boucle, qui symbolise le caractère récurrent du RNN.

    Master Data Science - Big Data 19

    TANO Assandé Jacob

     

    2- Architecture du réseau de neurones récurrents - Recurrent Neural Network (RNN)

    Pour une meilleure compréhension, nous utiliserons un cas d'usage qui consiste à la génération de texte à partir d'un texte initial en entrée.

    Figure 7: Génération de texte caractère par caractère

    Un RNN prend en entrée une séquence (donc une matrice de taille (T x M)) et retourne en sortie un vecteur de taille R qui est une représentation compressée de la totalité de la séquence de caractères. [9 ]

    Figure 8 : Traitement d'une séquence de taille T un réseau de neurone récurrent

    Où,

    l taille_séquence (T) = nombre (fixe) de caractères par séquence (dimension temporelle). Le choix de T est empirique et il y a un compromis à trouver : si T est petit, le modèle aura la « mémoire courte ». Si T est grand, l'entraînement sera très long et pas toujours efficace;

    l nb_variables (M) = taille de la représentation vectorielle de chaque caractère. Chaque caractère est donc représenté par un vecteur de taille M grâce à des techniques ( one-hot-encoding, word embedding);

     

    TANO Assandé Jacob

     

    l La taille R est fonction du nombre de neurones dans une couche dense qui est un hyperparamètre à choisir.

    Générer le caractère suivant consiste à choisir le caractère le plus pertinent parmi les M caractères possibles. Il faut donc que notre modèle produise une sortie de taille M. Ce vecteur de sortie associe alors à chaque caractère une probabilité d'être le suivant dans la séquence, étant donné les T caractères précédents.

    Pour obtenir cette distribution de probabilité, on empile une couche de neurones classiques (Appelée également couche dense) de taille M à la suite de la couche RNN et on utilise une fonction d'activation softmax. Considérons l'exemple ci-dessous : la séquence d'entrée étant « il fait be », la probabilité de sortie la plus élevée pourrait correspondre à la lettre « a », dans l'optique de générer la phrase « il fait beau ».

    Figure 9 : Prédiction de la distribution de probabilité du caractère suivant à partir d'une

    séquence initiale

    Détaillons maintenant ce qui se passe à l'intérieur-même de la couche RNN. Une couche RNN est une succession de T cellules. Chaque cellule a deux entrées :

    l L'élément correspondant de la séquence : la tème cellule est associée au tème caractère de la séquence;

    l Le vecteur en sortie de la cellule précédente. La première cellule, qui n'a pas d'antécédent, prend alors un vecteur initialisé aléatoirement

    Master Data Science - Big Data 20

    Master Data Science - Big Data 21

     

    TANO Assandé Jacob

    Figure 10 : Une couche RNN, prenant en entrée des séquences de 10 caractères

    Dans une couche RNN, on parcourt donc successivement les entrées x 1 à xT . À l'instant t, la tème cellule combine l'entrée courante xt avec la prédiction au pas précédent ht-1 pour calculer une sortie h t de taille R.

    Le dernier vecteur calculé h T (qui est de taille R) est la sortie finale de la couche RNN. Une couche RNN définit donc une relation de récurrence de la forme :

    ht = f(xt, ht-1)

    Master Data Science - Big Data 22

     

    TANO Assandé Jacob

    3- Les Variantes du réseau de neurones récurrents

    Plusieurs variantes du RNN ont vu le jour pour remédier aux problèmes rencontrés avec les réseaux de neurones récurrents. Nous allons ici décrire le LSTM pour Long Short-Term Memory et le GRU pour Gated recurrent unit.

    a- Long Short-Term Memory - LSTM

    L'idée derrière ce choix d'architecture de réseaux de neurones est de diviser le signal entre ce qui est important à court terme à travers le hidden state (analogue à la sortie d'une cellule de RNN simple), et ce qui l'est à long terme, à travers le cell state, qui sera explicité plus bas. Ainsi, le fonctionnement global d'un LSTM peut se résumer en 3 étapes :

    1. Détecter les informations pertinentes venant du passé, piochées dans le cell state à travers la forget gate ;

    2. Choisir, à partir de l'entrée courante, celles qui seront pertinentes à long terme, via l'input gate. Celles-ci seront ajoutées au cell state qui fait office de mémoire longue ;

    3. Piocher dans le nouveau cell state les informations importantes à court terme pour générer le hidden state suivant à travers l'output gate. Regardons cela de plus près. En respectant la même convention que pour le schéma simplifié de la cellule RNN, on peut représenter une cellule LSTM de la façon suivante :

    Figure 11 : Représentation simplifiée d'une cellule LSTM

    Master Data Science - Big Data 23

     

    TANO Assandé Jacob

    Comme le RNN, le LSTM définit donc une relation de récurrence, mais utilise une variable supplémentaire qui est le cell state c :

    ht = f(xt, ht-1, ct-1)

    L'information transite d'une cellule à la suivante par deux canaux, h et c. À l'instant t, ces deux canaux se mettent à jour par l'interaction entre leurs valeurs précédentes ht-1 et ct-1 ainsi que l'élément courant de la séquence xt.

    b- Gated Recurrent Unit - GRU

    Variante du LSTM, le GRU :

    l Combine les portes forget et input gate

    Figure 12 : Représentation simplifiée d'une cellule GRU

    Le GRU définit donc une relation de récurrence établie comme suit : ht = (1 - zt) * ht-1 + zt * tanh(W · [rt * ht-1, xt])

    Où :

    l zt : l'équation de la porte update gate

    l W : le vecteur de poids.

    Master Data Science - Big Data 24

     

    TANO Assandé Jacob

    III- MODÈLES NEURONAUX DE TRADUCTION AUTOMATIQUE

    Les modèles classiques de Deep Learning (ConvNet, RNN...) ne pouvant alors être utilisés pour des tâches comme la traduction automatique, le résumé de texte et le sous-titrage d'images puisque leurs sorties sont de taille fixe, l'on assiste à l'apparition de certains modèles beaucoup plus adaptés à la résolu des problèmes sus cités.

    1. Méthodologie

    L'idée fondamentale d'un système NMT est de prédire une séquence de mots Y=( y 1 ,..., yt) dans la langue cible pour une phrase donnée de la langue source

    X=( x 1 ,..., x s ) . Cette distribution de probabilité conditionnelle est modélisée à l'aide de l'architecture encoder-decoder basée sur les RNN.

    L'encodeur prend la phrase de langue source de longueur variable et la convertit en un vecteur de longueur fixe. Ce vecteur de longueur fixe contient la signification de la phrase d'entrée.

    Le décodeur prend ensuite cet encastrement de phrase (vecteur) comme entrée et commence à prédire les mots de sortie en prenant en considération le contexte de chaque mot. Mathématiquement, cette pensée peut être représentée comme : log P ( y | x )=? tk=1 log P ( yk | yk-1 , ... y 1 , x , c) (1)

    P ( y | x ) est la probabilité d'obtenir un mot de la langue cible y pour un mot donné de la langue source x , et c : le contexte de ce mot particulier.

    2. Le modèle sequence-to-sequence

    Un modèle sequence-to-sequence(Seq2Seq) est un modèle qui prend une séquence d'éléments (mots, lettres, caractéristiques d'une image...etc) et qui produit une autre séquence d'éléments en sortie. En traduction automatique neurale, une séquence est une série de mots, traités les uns après les autres. La sortie est, elle aussi, une série de mots. [ 11 ]

    Figure 13 : Représentation fermée d'un modèle sequence-to-sequence

     

    TANO Assandé Jacob

    De quoi est composé le modèle sequence-to-sequence ?

    Le modèle est composé d'un encodeur(encoder) et d'un décodeur(decoder) tous deux réseaux de neurones récurrents (RNN, LSTM ou GRU).

    Figure 14 : Représentation ouverte d'un modèle sequence-to-sequence

    a- Description du fonctionnement

    Pour une bonne compréhension du modèle Sequence-to-sequence, nous prenons le cas d'usage consistant à traduire par un modèle Sequence-to-sequence la phrase en anglais : Excuse me vers le lingala : limbisa ngaï

    Nous résumons sur la figure ci-dessous les différentes étapes de la traduction :

    Figure 15 : Représentation détaillée d'un seq2seq pour une traduction anglais vers lingala

    Master Data Science - Big Data 25

    Master Data Science - Big Data 26

     

    TANO Assandé Jacob

    Le principe général est le suivant :

    4

    a. Vectorisation des tokens de la séquence entrée par l'utilisateur;

    b. Lecture des vecteurs de mots :

    - À t=0, la forme vectorielle de «Excuse» est lu par le réseau de neurones; - À t=1, la forme vectorielle de «me» est lu par le réseau de neurones;

    c. Traitement des vecteurs de mots (word vector) par l'encodeur qui va fournir en sortie un vecteur d'état appelé vecteur de contexte(hidden state or context vector) de taille fixe (hidden_size : 256, 512 ou 1024 à définir lors de la construction du modèle);

    e. Le vecteur de contexte contient donc toutes les informations décrivant la séquence la séquence initiale;

    f. Il est alors mis en entrée d'un décodeur (un autre RNN) qui va générer au fur et à mesure les éléments constituant la séquence de sortie.

    b- Procédés d'amélioration d'un modèle Sequence-to-Sequence

    Le modèle sequence-to-sequence présente un certain nombre de limites notamment :

    l Les informations de la source sont compressées dans un vecteur de contexte de longueur fixe (le contexte);

    l Vu la taille fixe du contexte, l'on constate l'incapacité du modèle à gérer de longues phrases ce qui conduit donc à de mauvais résultats.

    Pour pallier ces problèmes, des procédés applicables au modèle ont été mises en place afin d'améliorer considérablement la qualité de traduction fourni par le modèle sequence-to-sequence.

    Il existe plusieurs procédés classiques applicables à un modèle Sequence-to-sequence pour améliorer sa performance. Le plus utilisé est le mécanisme de l'attention.

    3- le modèle `Transformer'

    Le `Transformer' est un modèle d'apprentissage profond introduit en 2017, utilisé principalement dans le domaine du traitement du langage naturel.

    Comme les réseaux neuronaux récurrents (RNN), les `Transformers' sont conçus pour traiter des données séquentielles, comme le langage naturel, pour des tâches telles que la traduction et le résumé de textes. Toutefois, contrairement aux RNN, les 'Transformers' n'exigent pas que les données séquentielles soient traitées dans l'ordre. Par exemple, si les données d'entrée sont une phrase en langage naturel, le 'Transformer' n'a pas besoin de traiter le début de cette phrase avant la fin. Grâce à cette caractéristique, le `Transformer' permet une parallélisation beaucoup plus importante que les RNN et donc des temps de formation(entraînement) réduits.

    Depuis leur introduction, les `Transformers' sont devenus le modèle de choix pour résoudre de nombreux problèmes en NLP, L'intérêt du `Transformer' réside dans le fait qu'il fait largement appel à l'attention. Le mécanisme d'attention permet à un réseau

    4 Token : On appelle ici token les différents mots constituant une phrase

    Master Data Science - Big Data 27

    TANO Assandé Jacob

     

    de neurones d'apprendre à se focaliser sur certaines caractéristiques d'une séquence en cours de traitement pour la décision L'utilisation classique de l'attention vient du modèle de traduction automatique, où la sortie est produite selon le contexte des données en entrée. [ 12 ]

    a. Architecture

    Six encodeurs empilés, chaque encodeur prenant en entrée la sortie de l'encodeur précédent (sauf le premier qui prend en entrée les embeddings), suivi de six décodeurs empilés, prenant en entrée la sortie du décodeur précédent et la sortie du dernier encodeur (sauf pour le premier décodeur qui ne prend en entrée que la sortie du dernier encodeur). [ 15]

    Figure 16 : Représentation simplifiée d'un `Transformer'

    b. Description

    l Chaque encodeur se compose de deux sous-couches: une couche d'auto-attention

    5

    suivie d'un FFNcomplètement connecté. Chaque sous-couche possède en sortie une couche qui ajoute, additionne, les sorties de la couche et du raccord à une connexion dite résiduelle (qui connecte directement les valeurs d'entrée de la couche à la sortie de la couche) et qui normalise l'ensemble;

    l Chaque décodeur se compose de trois couches : une couche d'auto-attention suivie d'une couche d'attention avec le dernier encodeur, puis d'un FFN complètement connecté. Chaque sous-couche possède en sortie une couche qui ajoute, additionne, les sorties de la couche et du raccord à une connexion dite résiduelle (qui connecte directement les valeurs d'entrée de la couche à la sortie de la couche) et qui normalise l'ensemble.

    5 FFN : Feed Forward Network

    Master Data Science - Big Data 28

    TANO Assandé Jacob

     

    IV- EVALUATION D'UN MODÈLE DE TRADUCTION AUTOMATIQUE

    Nous présentons dans cette partie la métrique utilisée pour l'évaluation de la qualité de la traduction produite par les systèmes de traduction automatique.

    1- La métrique BLEU

    Le score BLEU «BiLingual Evaluation Understudy» est la métrique utilisée pour l'évaluation d'un modèle de traduction automatique. Il compare la traduction produite avec un ou plusieurs fichiers de référence. Le calcul est basé sur une comparaison de courtes séquences de mots(n-grammes), pour chaque phrase du texte traduit et du texte de référence. En effet, le BLEU score tient compte des correspondances entre les n-grammes et entre les mots simples de la phrase traduite et de la phrase référence. Le BLEU est une mesure de précision qui calcule le degré de similitude entre une traduction et sa référence, en se basant sur la précision n-grammes. Le score BLEU peut être exprimé en pourcentage. [6]

    Réécrivons plus simplement l'expression :

    On a :

    Si la traduction produite par le traducteur est identique à la traduction de référence, le score est égal à 100. Dans le cas contraire, où aucune phrase traduite n'existe dans la traduction référence, le score est égal à 0. Le BLEU est compris entre 0 et 1 et calculé suivant la formule suivante :

     

    TANO Assandé Jacob

     

    D'où :

     
     

    Avec :

    l BP : Brevity Penalty

    l c : Nombre de mot dans la traduction proposée (phrase candidate)

    l r : Nombre de mot dans la phrase servant de référence (phrase de référence)

    l N : Nombre de n-grams pour le calcul du BLEU : unigram, bigram, 3-gram, 4-gram

    6

    l Wn : Poids uniforme des différentes précisions des n-grammes .

    l Pn : Précision modifiée

    2- Exemple de calcul du BLEU Score

    Source en anglais : Love each other like your heavenly father loves you (x)

    Référence en lingala : Bo lingana boko basusu lokola tata na bino a lingui bino (y) Phrase candidate : Bo lingana bo lingana boko basusu lokola tata na bino lingui bino (j)

    6 Un n-gramme : est une sous-séquence de n éléments construite à partir d'une séquence donnée.

    Master Data Science - Big Data 29

    Master Data Science - Big Data 30

    TANO Assandé Jacob

     

    a- calcul manuel

    Nous nous proposons de faire un calcul manuel du score BLEU de la traduction proposée par notre modèle

    l Calculons la précision modifiée (P 1 ) des unigrams :

    Différents mots dans la phrase
    candidate

    Nombre d'apparition dans la Candidate

    Nombre d'apparition
    dans la Référence

    P 1 = 10/12

    Bo

    2

    1

     

    2

    1

     

    1

    1

     

    1

    1

     

    1

    1

     

    1

    1

     

    1

    1

     

    2

    2

     

    1

    1

     

    12

    10

     

    Tableau 2 : Calcul de la précision modifiée (P1) des unigrams

    l Calculons la précision modifiée (P 2 ) des bigrams :

    Différents mots dans la phrase
    candidate

    Nombre d'apparition dans la Candidate

    Nombre d'apparition
    dans la Référence

    P 2 = 8/11

    Bo lingana

    2

    1

     

    1

    0

     

    1

    1

     

    1

    1

     

    1

    1

     

    1

    1

     

    1

    1

     

    1

    1

     

    1

    0

     

    1

    1

     

    11

    8

     

    Tableau 3 : Calcul de la précision modifiée (P2) des bigrams

    Master Data Science - Big Data 31

    TANO Assandé Jacob

     

    l Calculons la précision modifiée (P 3 ) pour les 3-grams :

    Différents mots dans la phrase candidate

    Nombre

    d'apparition dans la
    Candidate

    Nombre d'apparition
    dans la Référence

    P 3 = 6/10

    Bo lingana bo

    1

    0

     

    1

    0

     

    1

    1

     

    1

    1

     

    1

    1

     

    1

    1

     

    1

    1

     

    1

    1

     

    1

    0

     

    1

    0

     

    10

    6

     

    Tableau 4 : Calcul de la précision modifiée (P3) des 3-grams

    l Calculons la précision modifiée (P 4 ) pour les 4-grams :

    Différents mots dans la phrase candidate

    Nombre d'apparition dans la Candidate

    Nombre d'apparition
    dans la Référence

    P4 = 5/9

    Bo lingana bo lingana

    1

    0

     

    1

    0

     

    1

    1

     

    1

    1

     

    1

    1

     

    1

    1

     

    1

    1

     

    1

    0

     

    1

    0

     

    9

    5

     

    Tableau 5 : Calcul de la précision modifiée (P4) des 4-grams

    TANO Assandé Jacob

     

    Le résultat est donc le suivant :

    b- Vérification du calcul manuel à l'aide de la bibliothèque «nltk» de python

    Nous remarquons à l'issu de la vérification que le calcul manuel effectué correspond bien à celui effectué via «nltk».

    Master Data Science - Big Data 32

    Master Data Science - Big Data 33

    TANO Assandé Jacob

     

    PARTIE IV : IMPLEMENTATION DU MODELE

    DE TRADUCTION AUTOMATIQUE

    Nous présenterons dans cette partie ci les différentes étapes de l'implémentation de la plateforme de traduction ainsi que les technologies utilisées.

    Master Data Science - Big Data 34

    TANO Assandé Jacob

     

    I- PRÉSENTATION DU PROCESSUS GLOBALE DE TRAITEMENT

    1- Processus globale de traitement

    La mise en place de notre système de traduction se décline en plusieurs phases tel que présenté ci-dessous :

    Figure 17 : Processus global de la mise en place de l'outil de traduction

    Master Data Science - Big Data 35

    TANO Assandé Jacob

     

    2- Prérequis

    Nous décrivons dans cette partie les outils qui seront utilisés pour l'implémentation de la plateforme de traduction.

    l Le langage de programmation : Python

    Le langage Python a été retenu pour l'implémentation du système pour plusieurs raisons :

    Dispose de plusieurs librairies de Machine Learning utilisables dans le cadre de notre projet

    Des Frameworks basés sur python tels que Django, Flask facile à prendre en main et utilisables pour le développement de l'interface web de traduction

    Langage par excellence de notre structure d'accueil

    l Bibliothèques Python : Keras et Pytorch

    Keras et Pytorch sont deux bibliothèques python utilisables dans le cadre de la construction de modèles d'apprentissage automatique basée sur les réseaux de neurones.

    l Plateforme Cloud pour la formation du modèle : Google Colaboratory Google Colab ou Colaboratory est un service cloud, offert par Google (gratuit), basé sur Jupyter Notebook et destiné à la formation et à la recherche dans l'apprentissage automatique. Cette plateforme permet d'entraîner des modèles de Machine Learning directement dans le cloud. Sans donc avoir besoin d'installer quoi que ce soit sur votre ordinateur à l'exception d'un navigateur.

    l Plateforme pour le déploiement : Microsoft Azure

    Microsoft Azure est un ensemble de services cloud destinés à aider les entreprises à relever les défis auxquels elles sont confrontées. Il vous permet de construire, de gérer et de déployer des applications sur un énorme réseau mondial en optant pour des infrastructures et outils favoris.

    Master Data Science - Big Data 36

     

    TANO Assandé Jacob

    II- COLLECTE ET PRÉPARATION DES DONNÉES

    1- La collecte des données

    Les données sont indispensables et primordiales pour la formation(entrainement) d'un d'un modèle de machine learning.

    Dans le cadre de notre projet nous avons eu recours au site web intitulé OPUS dont le lien d'accès est http://opus.nlpl.eu/ , pour la collecte de données.

    a- OPUS

    OPUS est une plateforme web proposant des corpus parallèles en diverses langues et divers domaines.

    Dans le cadre de notre projet nous y avons trouvé un corpus parallèle (anglais - Lingala) des références bibliques.

    b- Caractéristiques du jeu de données

    l Les variables du jeu de données :

    - Anglais (en) : les phrases en anglais;

    - Lingala (ln) : la traduction en lingala des phrases en anglais

    l Quelques descriptions

    :

     
     
     
     
     
     
     
     

    en - ln

     
     

    Nombre de phrases
    (enregistrements)

     
     
     

    537 792

     
     

    Nombre Colonnes (variables)

     
     
     

    2

     
     

    Nombre de mots

    8

    623

    680

     

    23

    715

    120

    Nombre de mots uniques

    2

    123

    681

     

    16

    708

    380

    Taille sur disque du jeu de
    données

     
     
     

    115 MO

     
     
     

    Tableau 6 : Caractéristiques du jeu de données

     

    TANO Assandé Jacob

     

    2- Préparation les données

    La préparation des données est une étape très importante dans la mise en place d' un modèle d'apprentissage automatique. Elle consiste à nettoyer les données afin de les

    rendre idéales à la formation d'un modèle d'apprentissage automatique. [ 17 ]

    Dans notre étude la préparation des données prend en compte les étapes suivantes :

    a- Minuscules

    La mise en minuscules de toutes les données textuelles est applicable à la plupart des problèmes d'exploration de texte et de NLP et contribue considérablement à la cohérence de la sortie attendue. Les minuscules sont un excellent moyen de résoudre les problèmes de parcimonie.

    Voici un exemple de la façon dont les minuscules résolvent le problème de parcimonie, où les mêmes mots avec des cas différents correspondent à la même forme minuscule :

    Texte brut

     

    CANADA Canada CanadA

    Normalisé en minuscule

     

    canada

     

    TOMCAT Tomcat toMcat

    tomcat

     

    Tableau 7 : Exemple de mise en minuscule des mots du jeu de données b- Suppression du bruit

    La suppression du bruit consiste à supprimer les caractères, les chiffres et les morceaux de texte qui peuvent interférer avec votre analyse de texte. La suppression du bruit est l'une des étapes les plus essentielles du prétraitement de texte. Il dépend également fortement du domaine.

    Par exemple, dans les Tweets, le bruit peut être tous les caractères spéciaux à l'exception des hashtags, car il signifie des concepts qui peuvent caractériser un Tweet. Le problème avec le bruit est qu'il peut produire des résultats incohérents dans vos tâches en aval. Prenons l'exemple ci-dessous :

    Texte avec bruts

    Texte sans bruits

     

    ..trouble..

    trouble<

    trouble

    trouble

     

    <a>trouble</a>

    1.trouble

    trouble

    trouble

     

    Master Data Science - Big Data 37

    Tableau 8 : Exemple de suppression de bruts du jeu de données

    Master Data Science - Big Data 38

    TANO Assandé Jacob

     

    c. Harmonisation des écrits

    L'harmonisation des écrits est une étape de prétraitement très négligée. L'harmonisation des écrits est le processus de transformation d'un texte en une forme canonique (standard). Par exemple, le mot « gooood » et « gud » peut être transformé en «good», sa forme canonique. Un autre exemple est la mise en correspondance de mots presque identiques tels que « stopwords », « stop-words » et « stop words » en simplement « stopwords ».

    L'harmonisation des écrits est importante pour les textes bruyants tels que les commentaires sur les réseaux sociaux, les SMS et les commentaires sur les articles de blog où les abréviations, les fautes d'orthographe et l'utilisation des Out-Of-vocabulary (oov) sont répandus. Voici un exemple de mots avant et après la normalisation :

    Texte initial

     

    Texte harmonisé

     
     
     

    2moro 2mrrw 2morrow 2mrw tomrw

     

    tomorrow

    b4

     

    before

     
     
     

    otw

     

    On the way

     
     
     
     

    smile

     

    Tableau 9 : Exemple d'harmonisation des écrits du jeu de données

    d. Tokenisation

    La tokenisation est l'une des tâches les plus courantes lorsqu'il s'agit de travailler avec des données textuelles. Mais que signifie réellement le terme "tokenisation" ? La tokenisation consiste essentiellement à diviser une phrase, un paragraphe ou un document textuel entier en unités plus petites, comme des mots ou des termes individuels. Chacune de ces petites unités est appelée "token". [ 13 ]

    Exemple : Natural Language Processing ---> [`Natural','Language','Processing']

    La tokenisation est l'étape la plus élémentaire pour procéder au traitement de langue naturelle. Cette étape est importante car le sens du texte pourrait facilement être interprété en analysant les mots présents dans le texte.

    Il existe de nombreuses utilisations de cette méthode. Nous pouvons utiliser cette forme tokenisée pour :

    l Compter le nombre de mots dans le texte ;

    l Comptez la fréquence du mot, c'est-à-dire le nombre de fois qu'un mot particulier est présent et ainsi de suite.

    Master Data Science - Big Data 39

    TANO Assandé Jacob

     

    e- Vectorisation

    Le traitement de la langue naturelle nécessite la conversion de la chaîne/du texte en un ensemble de nombres réels (un vecteur) - Word Embeddings.

    L'incorporation de mots (Word Embeddings) ou la vectorisation de mots est une méthodologie de la NLP qui consiste à créer une représentation vectorielle des mots d'une phrase en tenant compte des similarités/sémantiques.

    Le processus de conversion des mots en vecteur est appelé vectorisation.

    Figure 18 : Exemple de vectorisation d'une entrée

    3- Répartition des données

    Dans l'optique d'évaluer notre modèle suite à la phase d'apprentissage, nous allons faire une répartition des données collectées afin qu'une partie de celles-ci serve à l'apprentissage du modèle et une autre au test.

    Dans notre cas nous avons fait la répartition comme suit :

    Figure 19 : répartition des données

    l 80% de l'ensemble des données serviront à la phase d'apprentissage;

    l 20% seront utilisées pour la validation

     

    TANO Assandé Jacob

     

    III- CONSTRUCTION DU MODÈLE DE TRADUCTION AUTOMATIQUE

    1- présentation des différents modèles construit

    Nous résumons dans cette partie-ci les différents modèles construit pour la résolution du problème :

    Dans l'optique d'avoir un modèle performant c'est-à-dire un modèle avec lequel l'on pourra avoir une traduction très proche d'une traduction humaine professionnelle, l'on a construit plusieurs modèles de traduction automatique afin de comparer leurs performances et d'y retenir le meilleur.

    Modèles

    Modèle 1

    Sequence-to-sequence

    Modèle 2

    Sequence-to-sequence avec mécanisme d'attention

    Modèle 3

    Transformer

     

    Tableau 10 : Modèles de traduction automatique

    Nous présentons ci-après quelques hyperparamètres des modèles construits et leurs valeurs :

    Hyperparamètres

     

    Encoder Valeurs

     
     

    RNN de type LSTM

    Decoder

    Classifier activation function RNN de type GRU

    softmax

     

    Source text embedding size

    Target text embedding size 300

    300

    Encoder hidden size

    Decoder hidden size 256

    256

    Learning rate 0.01

    Master Data Science - Big Data 40

    Tableau 11 : Quelques hyperparamètres des modèles construits

     

    TANO Assandé Jacob

     

    IV- PRESENTATION DES RESULTATS

    1- Evaluation

    L'évaluation des modèles de traduction automatique est extrêmement importante car elle est le facteur clé qui détermine la qualité de la traduction. En général, les résultats produits par un système de traduction automatique sont évalués à la fois automatiquement et manuellement. L'une des mesures d'évaluation automatique les plus courantes est le BLEU score tel que décrit dans le plus haut..

    Nous résumons dans le tableau ci-après les résultats obtenus des différentes architectures de modèle de traduction automatique construites

     

    MODELES

    BLEU Score

    BLEU Score

     
     

    (sur un ensemble de test au contexte biblique)

    (sur un ensemble de test au contexte non biblique)

     

    Modèle 1

    Sequence-to-sequence

    Modèle 2

    Sequence-to-sequence avec mécanisme d'attention

    0.4143

    0.1111

    0.598

    0.232

    0.787

     
     
     
     

    Modèle 3

    Transformer

    Master Data Science - Big Data 41

    Tableau 12 : Présentation des résultats des différents modèles de traduction automatique

    2- Commentaires

    Suite à la comparaison des trois modèles construits, nous constatons que le modèle 3 (Transformer) à des performances meilleures que les deux autres modèles 1 et 2. Le score de 0.409 s'explique par plusieurs raisons :

    l Quantité de données trop peu pour entraîner un modèle de traduction automatique ;

    l Modèle entraîné uniquement sur les données bibliques et donc peu performant sur des jeux de données ne se situant pas dans un contexte similaire au contexte biblique.

    Pour une amélioration du modèle 3, nous comptons collecter encore plus de données de contextes différents et refaire l'entraînement du modèle.

    Toutefois, pour des phrases bibliques, nous avons une très bonne qualité de traduction.

    Master Data Science - Big Data 42

    TANO Assandé Jacob

     

    3- Interface et quelques traductions

    a- Interface de traduction

    L'interface de traduction présente comme suit :

    Figure 20 : Interface web de traduction

    l Une zone de texte à gauche: Réservée à la saisie d'un texte en ANGLAIS par l'utilisateur;

    l Un bouton «Translate»: Permet au système de procéder à la traduction après avoir entrer le texte texte en ANGLAIS;

    l Une zone de texte à droite : Dans laquelle est observée la traduction en LINGALA du texte saisi.

    Master Data Science - Big Data 43

     

    TANO Assandé Jacob

    b- Quelques traductions

    Ci-après quelques traductions produites par le modèle 3 (Transformer) :

    Entrée

     

    traduction produite par
    le modèle

     

    Traduction humaine
    professionnelle

    (texte de reference)

    David was a king

     

    Davidi azalaki mokonzi

     

    Davidi azalaki mokonzi

     
     
     
     
     

    Love each other like your
    heavenly father loves you

     

    Bo lingana boko basusu lokola tata na bino a lingui bino

     

    Bo lingana boko basusu lokola tata na bino a lingui bino

    The king of Jerusalem was dead.

     

    Mokonzi ya Yerusalémi akufaki

     

    Mokonzi ya Yerusalémi akufaki

     
     
     
     
     

    The feast took place that day in the royal neck

     

    Féti esalemaki mokolo yango na libanda ya ndako ya mokonzi

     

    Féti esalemaki mokolo yango na libanda ya ndako ya mokonzi

    The television newspaper takes place every evening at 8 p.m

     

    Mayemi yango ezali na esika nyonso oyo ezali na kati ya libándá 8

     

    Basango na télé ezali ko pesama mokolo nionso na m'pokua na ngonga ya muambe na sima ya zanga

     
     
     
     
     

    My clinic appointment is
    scheduled for tomorrow

     

    Nabongi mpo na kozwa esika ya liboso

     

    Bo kutani na ngaï na kiliniki ezali nde lobi

    Tableau 13 : Extrait de traduction machine et humaine

    Nous remarquons que les trois premiers textes bibliques ont correctement été traduits, par contre les deux derniers textes (dont le contexte n'est pas biblique) n'ont pas correctement été traduits.

    Master Data Science - Big Data 44

     

    TANO Assandé Jacob

    CONCLUSION GENERALE

    De cette étude nous sortons très enrichi, car elle nous a permis de mettre en pratique nos connaissances théoriques. Par le thème qui nous a été confié, nous avons exploré divers domaines : linguistique, informatique et mathématique. La traduction automatique de langues est une innovation de taille pour notre société actuelle car elle a permis de gagner du temps dans la traduction de documents, de faire de la traduction en temps réel à des conférences regroupant diverses nationalités et aussi contribue efficacement à l'éducation. Dans le cas de notre projet, les données collectées nous ont permis de construire une première version d'un modèle de traduction automatique de l'anglais vers le lingala qui nous donne des résultats acceptables.

    Afin de rendre le système actuel plus performant, nous comptons collecter des données relatives à divers domaines (médecine, éducation, informatique, etc...) dans l'optique d'enrichir la base d'apprentissage du modèle et créer plutard des services qui pourront apporter une rentabilité à l'entreprise. Sous la responsabilité d'un directeur technique dynamique, spécialiste des big data, le stage s'est déroulé dans de très bonnes conditions. Le projet faisant l'objet de notre thème s'est quasiment achevé, A présent il nous reste à le parfaire et le déployer pour utilisation. Comme perspective nous comptons généraliser le modèle à la traduction de plusieurs autres langues africaines telle le dyula (dioula) qui est une langue mandingue beaucoup utilisé pour le commerce dans certains pays tels la Côte d'Ivoire, le Mali et le Burkina Faso.

    Master Data Science - Big Data X

     

    TANO Assandé Jacob

    BIBLIOGRAPHIE

    OUVRAGES

    [1] Mahak Dureja ,

    Sumanlata Gautam,Speech-to-Speech Translation : A Review, International Journal of Computer Applications (0975 - 8887) Volume 129 - No.13 , 2015.

    [2] Barbara Vignaux ,

    Traduction automatique, la révolution de l'intelligence artificielle, 2017

    [3] Daniel Jurafsky ,

    James H. Martin,Speech and Language Processing, Third Edition draft, 2017.

    [4] FREDRIK BREDMAR ,

    Speech-to-speech translation using deep learning, Student essay, 2017.

    [5] Mahak Dureja, Sumanlata Gautam,

    Speech-to-Speech Translation :A Review, International Journal of Computer Applications (0975 - 8887) Volume 129 - No.13, 2015.

    [6] Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu,

    BLEU: a Method for AutomaticEvaluation of Machine Translation, Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics (ACL), Philadelphia, pp. 311-318., 2002.

    [7] Maxime LORANT , Mathieu XHONNEUX

    Développez votre site web avec le framework Django, OpenClassrooms, 2015.

    MEMOIRES

    [8] TAPE Ange Fabien,

    « Prévention du churn des clients internetfixe : cas de la technologie TDD », mémoire de fin d'étude pour l'obtention du Master en Data Science - Big Data, IDSI, 40 pages, 2018-2019.

    [9] ZEGBOLOU Marc Dexter,

    «Détection du multi-équipement des abonnés mobile», mémoire de fin d'étude pour l'obtention du Master en Data Science - Big Data, IDSI, 58 pages, 2018-2020

    Master Data Science - Big Data XI

     

    TANO Assandé Jacob

    WEBOGRAPHIE

    [10] Les réseaux de neurones récurrents : des RNN simples aux LSTM,

    https://blog.octo.com/les-reseaux-de-neurones-recurrents-des-rnn-simples-aux-lstm/, consulté le 27 mai 2020 à 09:07

    [11] Attention - Seq2Seq Model,

    https://towardsdatascience.com/day-1-2-attention-seq2seq-models-65df3f49e263 , consulté le 10 juin 2020 à 22:40

    [12] Neural Machine Translation with Transformers,

    https://medium.com/@galhever/neural-machine-translation-with-transformers-69d4bf918299 , consulté le 10 juin 2020 à 22:40

    [13] How to Get Started with NLP - 6 Unique Methods to Perform Tokenization, https://www.analyticsvidhya.com/blog/2019/07/how-get-started-nlp-6-unique-ways-perform-tokenizatio n/, consulté le 17 juin 2020 à 21:33

    [14] All you need to know about text preprocessing for NLP and Machine Learning,

    https://www.kdnuggets.com/2019/04/text-preprocessing-nlp-machine-learning.html , consulté le 17 juin 2020 à 22:15

    [15] How Transformers Work,

    https://towardsdatascience.com/transformers-141e32e69591 , consulté le 07 juillet 2020 à 10:10

    [16] `Les Dieux du ${Code}` ,

    https://lesdieuxducode.com/blog/2019/4/bert--le-transformer-model-qui-sentraine-et-qui-represente , consulté le 07 août 2020 à 23:27

    [17] Step 3: Prepare Your Data,

    https://developers.google.com/machine-learning/guides/text-classification/step-3 , consulté le 10 août 2020 à 22:00

    [18] Le plan d'un mémoire : quels éléments intégrer ?

    https://www.scribbr.fr/category/plan-memoire/, consulté le 10 août 2020 à 22:33

    [19] Google: L'intelligence artificielle s'applique à améliorer la traduction automatique, https://www.20minutes.fr/sciences/1934955-20161003-google-intelligence-artificielle-applique-ameliore r-traduction-automatique, consulté le 20 août 2020 à 11:00

    [20] Qu'est ce que la traduction automatique ? Traduction à base de règles vs. traduction statistique, http://www.systran.fr/systran/technologie/traduction-automatique/, consulté le 25 août 2020 à 18:30

    [21] L'intelligence artificielle au service de la traduction automatique,

    http://www.lefigaro.fr/secteur/high-tech/2016/12/07/32001-20161207ARTFIG00005-l-intelligence-artific ielle-au-service-de-la-traduction-automatique.php , consulté le 27 août 2020 à 17:30

    [22] La traduction neuronale, un nouveau standard ? - Retour sur les premières rencontres de la communauté internationale OpenNMT, https://www.actuia.com/actualite/la-traduction-neuronale-un-nouveau-standard-retour-sur-les-premieres-rencontres-de-la-communaute-internationale-opennmt/, consulté le 27 août 2020 à 20:00

    Master Data Science - Big Data XII

     

    TANO Assandé Jacob

    ANNEXES

    QUELQUES CAPTURES D'ÉCRANS

    l

    Figure 21 : Extrait du script de traduction

    Morceau du script de traduction

    Master Data Science - Big Data XIII

    TANO Assandé Jacob

     

    l Extrait du corpus de textes parallèles utilisé

    Figure 22 : Extrait du corpus parallèle

    Master Data Science - Big Data XIV

    TANO Assandé Jacob

     

    l

    Figure 23 : Extrait du script de l'encodeur et du décodeur

    Extrait du script de construction de l'encodeur et du décodeur

    Master Data Science - Big Data XV

     

    TANO Assandé Jacob

    TABLE DES MATIERES

    DEDICACES I

    REMERCIEMENTS II

    SOMMAIRE III

    LISTE DES TABLEAUX IV

    LISTE DES FIGURES V

    LISTE DES ABREVIATIONS VI

    GLOSSAIRE VII

    AVANT-PROPOS VIII

    RESUME IX

    INTRODUCTION GENERALE 1

    PARTIE I : ENVIRONNEMENT DE LA MISSION 2

    I- PRÉSENTATION DE LA STRUCTURE D'ACCUEIL 3

    1- Structure d'accueil 3

    2- Les domaines de compétences de la structure d'accueil 3

    II- PRÉSENTATION DU CAHIER DES CHARGES 4

    1- Motivation du choix des langues 4

    2- Objectif général 5

    3- Objectifs spécifiques 5

    III- PLANNING PREVISIONNEL 6

    1- Planning du d'execution du projet 6

    IV- ANALYSE DE L'EXISTANT 6

    1- Constat 6

    2- Commentaires 6

    PARTIE II: ETUDE DES APPROCHES EXISTANTES DE TRADUCTION AUTOMATIQUE ET CHOIX

    D'UNE APPROCHE 7

    I - PRESENTATION DES METHODES DE TRADUCTION AUTOMATIQUE 8

    1 - La traduction automatique basée sur des règles (RBMT) 8

    2 - La traduction automatique statistique (TAS) 9

    3 - La traduction automatique à neuronal (TAN) 10

    II- CHOIX D'UNE APPROCHE 11

    1- Choix 11

    2- Motivations du choix 11

    PARTIE III : DESCRIPTION DE LA TRADUCTION AUTOMATIQUE NEURONALE 12

    I- LA TRADUCTION AUTOMATIQUE NEURONALE 13

    1- Réseau de neurones artificiels 13

    2- Type de Réseaux de neurones 16

    II- LES RESEAUX DE NEURONES RECURRENTS 17

    1- Généralité 17

    2- Architecture du réseau de neurones récurrent - Recurrent Neural Network (RNN) 19

    3- Les Variantes du réseau de neurones récurrents 22

     

    TANO Assandé Jacob

    III- MODÈLES NEURONAUX DE TRADUCTION AUTOMATIQUE

    24

    1- Méthodologie

    24

    2- Le modèle sequence-to-sequence

    24

    3- le modèle `Transformer'

    26

     

    IV- EVALUATION D'UN MODÈLE DE TRADUCTION AUTOMATIQUE

    28

    1- La métrique BLEU

    28

    PARTIE IV : IMPLEMENTATION DU MODELE DE TRADUCTION AUTOMATIQUE

    33

    I- PRÉSENTATION DU PROCESSUS GLOBALE DE TRAITEMENT

    34

    1- Processus globale de traitement

    34

    2- Prérequis

    35

     

    II- COLLECTE ET PRÉPARATION DES DONNÉES

    36

    1- La collecte des données

    36

    2- Préparation les données

    37

     

    3- Répartition les données

    39

    III- CONSTRUCTION DU MODÈLE DE TRADUCTION AUTOMATIQUE

    40

    1- présentation des différents modèles utilisés

    40

    IV- PRESENTATION DES RESULTATS

    41

    1- Evaluation

    41

    2- Commentaires

    41

    3- Interface et quelques traductions

    42

     

    CONCLUSION GENERALE

    44

    BIBLIOGRAPHIE

    .X

    WEBGRAPHIE

    .XI

    ANNEXES

    .XII

    TABLE DES MATIERES

    XV

    Master Data Science - Big Data XVI






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il ne faut pas de tout pour faire un monde. Il faut du bonheur et rien d'autre"   Paul Eluard