Projet TAL : traduction français-sms



Documents pareils
Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

TP 1. Prise en main du langage Python

Présentation du langage et premières fonctions

Nom :.. Prénom : Ecole :... Langage oral Lecture. Ecriture. Cahier de l élève. Evaluation fin CP

Cégep de Saint Laurent Direction des communications et Direction des ressources technologiques. Projet WebCSL : Guide de rédaction web

Les structures. Chapitre 3

BeLearner.com, en 5 leçons!

Représentation d un entier en base b

Nom de l application

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Convention de transcription CIEL-F

1. Productions orales en continu après travail individuel

V- Manipulations de nombres en binaire

MON LIVRET DE COMPETENCES EN LANGUE (Socle commun) Niveau A1/A2 / B1

Les chaînes de caractères

1. Qu est-ce que la conscience phonologique?

Céline Nicolas Cantagrel CPC EPS Grande Section /CP Gérer et faciliter la continuité des apprentissages

Travaux Dirigés n 1 : chaînes de caractères

AN-ANG, EN-ENG, IN-ING, ONG


MODIFICATIONS DES PRINCIPES DIRECTEURS CONCERNANT LA RÉDACTION DES DÉFINITIONS RELATIVES AU CLASSEMENT

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Le langage C. Séance n 4

Indications pour une progression au CM1 et au CM2

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

Informatique Générale

ACCÈS SÉMANTIQUE AUX BASES DE DONNÉES DOCUMENTAIRES

Aide : publication de décisions VS

Vers l'ordinateur quantique

I00 Éléments d architecture

«Dire et écrire» pour réaliser une composition en travail collaboratif en géographie. Agnès Dullin, lycée J. Racine 20 rue du Rocher, Paris

Guide d implémentation des ISBN à 13 chiffres

Feuille couverture de tâche du cadre du CLAO

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.


TECHNIQUES DE SURVIE ÉCRITURE Leçon de littératie 2.6

Cours 1 : La compilation

Le langage SQL Rappels

Chapitre 2. Eléments pour comprendre un énoncé

PHP 4 PARTIE : BASE DE DONNEES

IV- Comment fonctionne un ordinateur?

Rédiger et administrer un questionnaire

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Différencier, d accord oui mais comment organiser sa classe.

Questionnaire pour connaître ton profil de perception sensorielle Visuelle / Auditive / Kinesthésique

Mon aide mémoire traitement de texte (Microsoft Word)

Ministère des Affaires étrangères et européennes. Direction de la politique culturelle et du français. Regards VII

Initiation à html et à la création d'un site web

Et avant, c était comment?

DISCOURS DIRECT ET INDIRECT

Cours n 3 Valeurs informatiques et propriété (2)

EDUMOBILE APPRENTISSAGE MOBILE ET USAGES PÉDAGOGIQUES DES TABLETTES

Les idées. Albums pour aborder ce trait. Présco-1 er cycle (À partir de 5 ans) 1 er cycle et 2 e cycle. 2 e cycle Livres ouverts

Excel 2007 Niveau 3 Page 1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Fiche Info : Compétences essentielles

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Le code à barres EAN 13 mes premiers pas...

The Grid 2: Manuel d utilisation

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Algorithmique et Programmation, IMA

Machines virtuelles Cours 1 : Introduction

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Initiation. àl algorithmique et à la programmation. en C

Fais ton site internet toi-même

Brique BDL Gestion de Projet Logiciel

Conseil économique et social

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

CHRONIQUE de la société royale LE VIEUX-LIÈGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Ce que tu écris est le reflet de ta personnalité

SOMMAIRE. Nos Outils Speechmark Social Club Speechmark Campus Speechmark Test

Algorithme. Table des matières

Assistante plus. Pages gabarits :

Solutions informatiques (SI) Semestre 1

Plan. Traitement de texte et PAO 4/10/06. Initiation à Word

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Règles typographiques de base

Configuration de SQL server 2005 pour la réplication

Complément d information concernant la fiche de concordance

Organiser l espace dans une classe de maternelle : Quelques idées. I - Les textes officiels : II - Les coins jeux : III - L enfant et le jeu :

Rédiger pour le web. Objet : Quelques conseils pour faciliter la rédaction de contenu à diffusion web

Les structures de données. Rajae El Ouazzani

Programmation découverte du monde (autre que mathématiques):

Gestion et travail en autonomie. Rallye auto nomie

NORMES DE PRÉSENTATION DES MANUSCRITS

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Physique Chimie. Utiliser les langages scientifiques à l écrit et à l oral pour interpréter les formules chimiques

Webmaster / Webdesigner / Wordpress

Séquence 4. Comment expliquer la localisation des séismes et des volcans à la surface du globe?

SYSTRAN 7 Guide de démarrage

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Sommaire de la séquence 8

Transcription:

Projet TAL : traduction français-sms 1 Objectif L objectif de ce projet est de concevoir un logiciel permettant de traduire un texte écrit en langage SMS vers le français. La traduction sera effectuée comme la composition de la phrase d entrée avec une série de transducteurs réalisant chacun une étape de la traduction. Les étapes à mettre en œuvre sont les suivantes : transformation de la phrase d entrée en un automate séquentiel comportant une transition pour chaque caractère découpage du texte en unités typographiques appelées tokens ; application d un dictionnaire de traductions possibles ; traitement des mots inconnus ; estimation du poids des traductions par un modèle de langage bigramme ; extraction et affichage de la meilleure traduction. Vous utiliserez un ensemble de phrases qui ont été traduites à la main pour évaluer la qualité des traductions produites. Vous avez quatre séances pour réaliser ce TP, à l issue desquelles votre travail sera évalué sur des critères d avancement, de justesse et de clarté de vos explications. 2 Automate d entrée Le rôle de cette étape est de convertir une chaîne de caractères représentant une phrase SMS en un reconnaisseur qui accepte la séquence de caractères composant cette phrase. Pour cela, vous écrirez dans le langage de votre choix, un programme appelé auto qui prend en entrée une chaîne de caractère et produit le reconnaisseur souhaité. L automate construit commencera par une transition étiquetée <p> qui matérialise le début d une phrase et se terminera par une transition étiquetée </p>. De plus, les caractères d espacement seront représentés par le symbole <espace>. Par exemple : echo "Pq tu dis ca"./auto produit l automate P suivant : 1 2 P 2 3 q 3 4 <espace> 4 5 t 5 6 u 6 7 <espace> 7 8 d 8 9 i 9 10 s 10 11 <espace> 11 12 c 12 13 a 13 14 </p> 14 1

Lecture des caractères accentués Pour la lecture des caractères accentués, il faut utiliser le type wint_t ainsi que la fonction fgetwc, comme dans l exemple ci-dessous : #include <stdio.h> #include <wchar.h> #include <locale.h> int main() { wint_t c; setlocale(lc_all, ""); while(weof!= (c = fgetwc(stdin))) { wprintf(l"%d [%lc]\n", c, c); } return 0; } 3 Découpage en tokens Le transducteur D doit prendre en entrée une séquence de caractères et y ajouter en sortie des balises de début et fin de token. Il doit implémenter les règles suivantes : La première lettre d un token doit être précédée du symbole <t> ; la dernière lettre est suivie de </t>. Les séparateurs de tokens sont les espaces et la ponctuation, à l exception du tiret. La composition de l automate P avec D produira : 1 2 <t> 2 3 P 3 4 q 4 5 </t> 5 6 <espace> 6 7 <t> 7 8 t 8 9 u 9 10 </t> 10 11 <espace> 11 12 <t> 12 13 d 13 14 i 14 15 s 15 16 </t> 16 17 <espace> 17 18 <t> 18 19 c 19 20 a 20 21 </t> 21 22 </p> 22 4 Traduction des mots SMS connus Le fichier traductions.txt contient un petit dictionnaire de traduction entre la langue SMS et le français. Le but de cette étape est de remplacer les séquences de caractères correspondant à un mot SMS présent dans le fichier traductions.txt en sa traduction en français. Pour cela, nous procèderons en trois étapes. 2

4.1 Identification des mots SMS présents dans le dictionnaire Cette étape consiste à remplacer les balises <t> et </t> qui encadrent un token correspondant à un mot SMS présent dans le dictionnaire par les balises <m> et </m>. Certains mots SMS sont composés de plusieurs tokens. Dans ce cas, ces différents tokens devront être regroupés ensemble entre balises <m> et </m>. La suite des deux tokens A bientôt, par exemple, doivent être regroupés sous la forme d un mot. Comme illustré dans l exemple ci-dessous : 1 2 <t> 2 3 A 2 3 A 3 4 </t> 3 4 <espace> 6 7 b 4 5 b 7 8 i 5 6 i 8 9 e 6 7 e 9 10 n 7 8 n 10 11 t 8 9 t 11 12 ^o 9 10 ^o 12 13 t 10 11 t 13 14 </t> 11 12 </m> 14 15 </p> 12 13 </p> 15 13 Cette étape sera réalisée par composition avec un transducteur appelé I. 4.2 Remplacement des suites de caractères composant un mot en un mot A l issue de l étape précédente, certains tokens ont été regroupés au sein de balises <m> et </m> pour indiquer qu ils correspondent à des mots SMS. Lors de cette étape, les séquences de transitions qui constituent un mot vont être remplacées par une transition unique étiquetée par un mot. Cette étape sera réalisée par composition avec un transducteur appelé R. Pour reprendre notre premier exemple, le résultat de la composition P D I R produira : 2 3 Pq 6 7 t 7 8 u 8 9 </t> 9 10 <espace> 10 11 <t> 11 12 d 12 13 i 13 14 s 14 15 </t> 15 16 <espace> 16 17 <m> 17 18 ca 19 20 </m> 20 21 </p> 21 4.3 Traduction La dernière étape consiste à effectuer la traduction des mots SMS en leur équivalent en français, tel que décrit dans le fichier traduction.txt. Cette étape ne va traduire que les mots compris entre balises <m> et </m>. Cette 3

étape est réalisée par un transducteur A. Notez que certains mots peuvent être traduits de manières différentes (comme 1 qui peut être un, une ou 1 en français). Donc il faudra prendre en compte cette ambiguïté dans le transducteur A. le résultat de la composition P D I R A produira : 2 3 pourquoi 6 7 t 7 8 u 8 9 </t> 9 10 <espace> 10 11 <t> 11 12 d 12 13 i 13 14 s 14 15 </t> 15 16 <espace> 16 17 <m> 17 18 ça 19 20 </m> 20 21 </p> 21 5 Détection des mots français L étape précédente a traduit certains tokens en mots SMS. Le but de cette étape est de détecter les tokens non traduits à l étape précédente et qui correspondent à des mots du français. 2 3 pourquoi 5 6 <m> 6 7 tu 7 8 </m> 8 9 <espace> 9 10 <m> 10 11 dis 11 12 </m> 12 13 <espace> 13 14 <m> 14 15 ça 15 16 </m> 16 17 </p> 17 6 Traduction des mots inconnus Le dictionnaire traduction.txt ne comporte qu une partie du vocabulaire SMS. Le but de cette étape est d essayer de déchiffrer des mots SMS absents de traduction.txt. Pour cela, on va utiliser la transcription phonétique des mots (la manière dont ils se prononcent) pour essayer de retrouver des mots français correspondants. 4

Par exemple, le mot SMS fot sera transcrit de la manière suivante fot qui sera traduit en français par faute grâce au dictionnaire phonétique dico-fr.txt. Vous devez implémenter les règles de transformation suivantes : Chiffres : 1 un, 2 de, 8 hui Sons : k que, K ca ; é et, T té De plus, vous pourrez utiliser le dictionnaire de phonétisation phonemes.txtje ne l ai pas trouvé 1 pour associer des sons à une séquence de charactères. Ce dictionnaire utilise l alphabet phonétique international pour représenter les sons qui composent un mot. Il faudra par la suite filtrer les possibilités à l aide de dico-fr.txt afin de ne garder que des mots français corrects. 7 Modèle de langage Nous utiliserons le modèle de langage bigramme suivant : Avec : P (w 1... w n ) = P (w 1 ) P (w 2 w 1 ) P (w n w n 1 ) P (w i w i 1 ) = nb(w i 1w i ) nb(w i 1 ) Vous calculerez nb(w i ) à partir du fichier corpus-fr-train.txt. La probabilité des bigrammes contenant des mots inconnus et des bigrammes non observés sera fixée à 10 7. Ensuite, il faudra créer un transducteur qui a chaque séquence de mots associe sa probabilité. 8 Phrase traduite Par l opération inverse de création de l automate d entrée, vous devrez recréer la phrase traduite depuis la séquence de caractères de meilleure probabilité selon le modèle de langage. Vous devrez modifier l étape de création des l automate d entrée et de génération de la phrase en sortie pour traiter plusieurs phrases grâce aux commandes farcompiletrings, farfilter et farprintstrings. 9 Évaluation Traduisez les phrase du fichier corpus-sms-test.txt à l aide de votre séquence de transducteurs. Puis comparez les aux phrases de corpus-fr-test.txt. Pour celà, construisez un automate qui calcule le nombre de mots en commun entre votre traduction et la référence. Puis, déduisez en un taux de réussite en divisant ce nombre par la longueur de la phrase en français. Comparez l approche qui utilise uniquement un dictionnaire de traduction à celle qui considère tous les mots comme inconnus et passe par leur phonétisation et enfin l approche hybride qui applique d abord le dictionnaire puis traite les mots restants à l aide de leur prononciation. 1. produit à partir de la page wikipedia http://fr.wikipedia.org/wiki/liste_des_graphies_des_phonmes_du_franais 5