alsatext - pour (essayer de) traduire du français vers l'alsacien


Présentation de l'idée

Comment pourrait-on réaliser un traducteur du français vers l'alsacien ?
Ce sont deux langues qui fonctionnent différemment... Une idée serait de décomposer le texte à traduire en contenu brut, décrivant sa structure et les mots contenus (quel sujet, quel verbe, quels compléments).

Pour commencer, il faut comprendre le texte en français qui a été saisi. Grâce au projet Lexique.org, on a un dictionnaire français qui permet de reconnaître chaque mot. Ensuite, une recherche grossière de syntaxes courantes en français tente de détecter la signification du texte (c’est la partie la plus difficile et la moins réussie pour l’instant).
Eventuellement, il y a quelques expressions toutes faites, typiques du français, qui se disent autrement en alsacien. Il faut les repérer et les transformer en une tournure alsacienne. Ensuite, il faut remplacer les mots français par les mots alsaciens correspondants.

On obtient alors un contenu brut, avec une structure et des mots en alsacien.

A l'aide d'un dictionnaire alsacien, on retrouve pour chaque mot alsacien ses propriétés : Une appli de traduction permet de rechercher rapidement un mot dans ce dictionnaire.

A l'aide des règles de grammaire et de syntaxe de l'alsacien, on trouve les déclinaisons et les conjugaisons qui s'appliquent.

Vers la fin, il faut encore enjoliver le texte pour répondre à des usages de contractions et d'euphonie.

Le résultat est un texte en alsacien, si tout s'est bien passé.

Exemple




Recopiez le code vert dans ce cadre :
Décomposition du texte français

Détail du traitement :
remplace les mots composés - par la transformation transfo_mots_comp_xml.xsl
- donnant pour résultat :

découpe en phrases - par la transformation transfo_phrases_xml.xsl
- donnant pour résultat :

découpe en mots - par la transformation transfo_mots_xml.xsl
- donnant pour résultat :

tronçons de mots autour des apostrophes - par la transformation transfo_apos_xml.xsl
- donnant pour résultat :

liste des mots - par la transformation transfo_liste_mots_text.xsl
- donnant pour résultat :

recherche des informations sur les mots français - par la transformation transfo_lexique_xml.xsl.php?freq_min=50&liste_mots=%0A%22le%22%2C+%0A%22chat%22%2C+%0A%22blanc%22%2C+%0A%22a%22%2C+%0A%22dormi%22%2C+%0A%22aujourd%5Bapos%5Dhui%22%2C+%0A%22aujourd%22%2C+%0A%22aujourd%5Bapos%5D%22%2C+%0A%22hui%22%2C+%0A%22tranquillement%22%2C+%0A%22sur%22%2C+%0A%22notre%22%2C+%0A%22lit%22%2C+%0A%22%22%2C+%0A%22le%22%2C+%0A%22soleil%22%2C+%0A%22brillait%22%2C+%0A%22et%22%2C+%0A%22le%22%2C+%0A%22ciel%22%2C+%0A%22%C3%A9tait%22%2C+%0A%22bleu%22%2C+%0A%22%22%2C+%0A%22je%22%2C+%0A%22veux%22%2C+%0A%22maintenant%22%2C+%0A%22une%22%2C+%0A%22bi%C3%A8re%22%2C+%0A%22fra%C3%AEche%22%2C+
- donnant pour résultat :

recherche des erreurs - par la transformation transfo_erreur_xml.xsl
- donnant pour résultat :

choix suite aux erreurs - par la transformation transfo_choix_xml.xsl
- donnant pour résultat :

structure, cgram - par la transformation transfo_struct_cgram_xml.xsl
- donnant pour résultat :

combinaisons cohérentes ou non - par la transformation transfo_coherence_oui_non_xml.xsl
- donnant pour résultat :

visualisation graphique des combinaisons cohérentes ou non - par la transformation transfo_visu_coherence_html.xsl
- donnant pour résultat :
le chat blanc a dormi aujourd[apos]hui tranquillement sur notre lit
ART_def - le -
PRO_per - le - KO
NOM - chat -
ADJ - blanc - OK
NOM - blanc -
AUX - avoir -
VER - avoir - KO
VER - dormir - OK
ADV - aujourd[apos]hui - OK
ADV - tranquillement -
PRE - sur -
ADJ_pos - notre -
PRO_pos - notre - KO
VER - lire - KO
NOM - lit -

le soleil brillait et le ciel était bleu
ART_def - le -
PRO_per - le - KO
NOM - soleil -
VER - briller -
CON - et -
ART_def - le -
PRO_per - le - KO
NOM - ciel -
AUX - être - KO
VER - être -
ADJ - bleu - OK
NOM - bleu -

je veux maintenant une bière fraîche
PRO_per - je - OK
VER - vouloir - OK
ADV - maintenant - OK
VER - maintenir - KO
ADJ_num - une -
ART_ind - une - OK
PRO_ind - une -
NOM - bière -
ADJ - frais - OK
NOM - frais -


récapitulatif de la structure - par la transformation transfo_struct_recap_xml.xsl
- donnant pour résultat :

formulaire permettant de faire des choix pour les cas ambigus - par la transformation transfo_form_choix_html.xsl
- donnant pour résultat :
Formulaire permettant des choix
EN CAS D'ERREUR
Formulaire présentant la structure du texte en français, modifiable pour permettre de corriger les choix
phrase 1
mot 1.1 = fr: cgram: | lemme: | nombre: | infover:
mot 1.2 = fr: cgram: | lemme: | nombre: | infover:
mot 1.3 = fr: cgram: | lemme: | nombre: | infover:
mot 1.4 = fr: cgram: | lemme: | nombre: | infover:
mot 1.5 = fr: cgram: | lemme: | nombre: | infover:
mot 1.6 = fr: cgram: | lemme: | nombre: | infover:
mot 1.7 = fr: cgram: | lemme: | nombre: | infover:
mot 1.8 = fr: cgram: | lemme: | nombre: | infover:
mot 1.9 = fr: cgram: | lemme: | nombre: | infover:
mot 1.10 = fr: cgram: | lemme: | nombre: | infover:
phrase 2
mot 2.1 = fr: cgram: | lemme: | nombre: | infover:
mot 2.2 = fr: cgram: | lemme: | nombre: | infover:
mot 2.3 = fr: cgram: | lemme: | nombre: | infover:
mot 2.4 = fr: cgram: | lemme: | nombre: | infover:
mot 2.5 = fr: cgram: | lemme: | nombre: | infover:
mot 2.6 = fr: cgram: | lemme: | nombre: | infover:
mot 2.7 = fr: cgram: | lemme: | nombre: | infover:
mot 2.8 = fr: cgram: | lemme: | nombre: | infover:
phrase 3
mot 3.1 = fr: cgram: | lemme: | nombre: | infover:
mot 3.2 = fr: cgram: | lemme: | nombre: | infover:
mot 3.3 = fr: cgram: | lemme: | nombre: | infover:
mot 3.4 = fr: cgram: | lemme: | nombre: | infover:
mot 3.5 = fr: cgram: | lemme: | nombre: | infover:
mot 3.6 = fr: cgram: | lemme: | nombre: | infover:

structure simplifiée - par la transformation transfo_struct_simpl_xml.xsl
- donnant pour résultat :

éclatement des infover - par la transformation transfo_infover_xml.xsl
- donnant pour résultat :

structure : ruptures sur certaines catégories grammaticales - par la transformation transfo_struct_ruptures_xml.xsl
- donnant pour résultat :

structure : regroupement sous un même composant supérieur des éléments situés entre deux ruptures - par la transformation transfo_struct_regroup_xml.xsl
- donnant pour résultat :

ajoute informations en vue du découpage en propositions - par la transformation transfo_info_prop_xml.xsl
- donnant pour résultat :

ruptures pour les propositions - par la transformation transfo_prop_ruptures_xml.xsl
- donnant pour résultat :

découpage en propositions - par la transformation transfo_prop_decoupe_xml.xsl
- donnant pour résultat :

recherche de la nature des composants (sujet, complément...) - par la transformation transfo_struct_nature_xml.xsl
- donnant pour résultat :

mise en forme du contenu des composants (sujet, complément...) - par la transformation transfo_struct_contenu_xml.xsl
- donnant pour résultat :

choix du bon infover - par la transformation transfo_choix_infover_xml.xsl
- donnant pour résultat :

formatage pour obtenir comme résultat le parsing du texte en français - par la transformation transfo_parse_fr_xml.xsl
- donnant pour résultat :

Résultat : structure XML décrivant le détail du texte en français

Passage de la structure XML pour le français à la structure XML pour l'alsacien
Détail du traitement :
mise en forme du contenu des composants selon la terminologie alsatext (entite, art_dem...) - par la transformation transfo_struct_contenu_als_xml.xsl
- donnant pour résultat :

réorganisation des verbes - par la transformation transfo_reorg_verbe_xml.xsl
- donnant pour résultat :

expressions françaises toutes faites adaptée en alsacien - par la transformation transfo_expressions_fr_als_xml.xsl
- donnant pour résultat :



Détail du traitement :
contenu traduit du français vers le dialecte alsacien - par la transformation transfo_dict_fr_als_xml.xsl
- donnant pour résultat :

mots français introuvables - par la transformation transfo_erreurs_mots_fr_text.xsl
- donnant pour résultat :

expressions adaptées à l'alsacien - par la transformation transfo_expressions_als_xml.xsl
- donnant pour résultat :

structure du contenu, présentée de manière graphique - par la transformation transfo_graph_html.xsl
- donnant pour résultat :
src:Le chat blanc a dormi aujourd'hui tranquillement sur notre lit. Le soleil brillait et le ciel était bleu. Je veux maintenant une bière fraîche.
phrase:
prop: - type:princ
sujet:
entite:
gr_nom: - nbr:s
articl: - type:def
adj_qual:wiss
wort: - als:wiss
nom:Kàtz
wort: - als:Kàtz
verb:schlofa - mode:indic - temps:passe - pers:
wort: - als:schlofa
compl: - type:temps
adverb:hìtt
wort: - als:hìtt
compl:
adverb:gmiatlig
wort: - als:gmiatlig
compl: - type:lieu
prep:uf
wort: - als:uf
entite:
gr_nom: - nbr:s
articl: - type:poss_art - nbr:p - pers:1
nom:Bett
wort: - als:Bett
phrase:
prop: - type:princ
sujet:
entite:
gr_nom: - nbr:s
articl: - type:def
nom:Sunna
wort: - als:Sunna
verb:glanza - mode:indic - temps:passe - pers:3s
wort: - als:glanza
prop: - type:princ
liaison:un
wort: - als:un
sujet:
entite:
gr_nom: - nbr:s
articl: - type:def
nom:Hìmmel
wort: - als:Hìmmel
verb:sìì - mode:indic - temps:passe - pers:3s
wort: - als:sìì
compl: - type:attribut
adj_qual:blàui
wort: - als:blàui
phrase:
prop: - type:princ
sujet:
entite:
pron_pers:ìch - nbr:s - pers:1
wort: - als:ìch
verb:wälla - mode:indic - temps:pres - pers:1s
wort: - als:wälla
compl: - type:temps
adverb:jetz
wort: - als:jetz
compl: - type:od
entite:
gr_nom: - nbr:s
articl: - type:indef
adj_qual:frìsch
wort: - als:frìsch
nom:Biar
wort: - als:Biar

contenu XML purgé des éléments vides et indenté - par la transformation transfo_purge_vide_xml.xsl
- donnant pour résultat :

contenu XML enrichi avec les propriétés du dictionnaire alsacien - par la transformation transfo_dict_xml.xsl