Chapitre 3 Démarche proposée
3.1 Démarche
Les principales étapes d’un portage linguistique sont le choix de l’application à porter et l’étude de
sa situation traductionnelle, l’étude du sous-langage traité, la détermination du ou des chemins de
portage, la préparation des données nécessaires, l’implémentation du portage, et finalement
l’évaluation du portage.
3.1.1 Choix de l’application
Nous avons indiqué au début de ce mémoire que la multilinguïsation d’une application de
e-commerce traitant des énoncés spontanés en langue naturelle dépend principalement des deux points
suivants relatifs à la situation traductionnelle :
• le niveau d’accès aux ressources des applications, pour lequel quatre cas se présentent : accès
complet au code source, accès à la représentation interne uniquement, accès au dictionnaire
uniquement, et aucun accès.
• le niveau de compétences langagières et linguistiques des intervenants pour la
multilinguisation des applications, qui peut être défini par rapport à la langue source ou par
rapport aux compétences linguistiques de l’équipe qui veut faire la localisation (spécialiste ou
non de TALN et de tout ou partie des langues cibles).
Nous choisirons une application de préférence déployée pour laquelle les deux points présentés
ci-dessus sont assurés, ce qui permettra alors de tester les différentes méthodes de portage que nous
proposons.
Notre choix de l’application à porter dépendra aussi du type des énoncés traités, puisque nous nous
intéressons au traitement des énoncés spontanés. Ces énoncés appartiennent généralement à un
sous-langage bien déterminé, une notion très importante que nous détaillerons dans le Chapitre 4.
3.1.2 Méthodes de portage proposées
Le choix de l’application, l’étude de la situation traductionnelle, l’étude du sous-langage, le choix
du couple de langue et notre savoir faire dans le domaine sont les facteurs permettant de déterminer la
ou les méthodes de portage possibles pour chaque application.
Trois méthodes sont a priori possibles : portage interne, portage externe et portage par traduction.
3.1.2.1 Portage interne
La première méthode que nous proposons, et que nous détaillerons dans la section 3.2.1, consiste
à adapter à la nouvelle langue L2, l’extracteur de contenu de l’application prévu pour la langue
originale L1. C’est ce que certaines études vues dans le Chapitre 2 appellent “internlingual
projection”. La Figure 29 résume cette méthode de « portage interne ».
Figure 29 : méthode de portage interne
Par exemple, pour porter le système CATS décrit dans le 2.2.3 de l’arabe vers le français, nous
avons bien accès à l’EC-CATS (Extracteur de Contenu de CATS) existant pour l’arabe, nous pouvons
donc appliquer cette méthode en localisant et adaptant au français cet extracteur. Nous verrons
l’expérimentation de cette méthode dans le Chapitre 8.
3.1.2.2 Portage externe
Nous proposons une deuxième méthode que nous détaillerons dans la section 3.2.2, et qui consiste
à adapter un extracteur de contenu existant, traitant la même langue cible L2, mais pour un autre
domaine et/ou une autre tâche, et à traduire le résultat obtenu vers la représentation de contenu de
l’extracteur de contenu original. La Figure 30 résume cette méthode de « portage externe ».
Figure 30 : méthode de portage externe
Par exemple, dans le cas du même système CATS, on peut effectuer une adaptation et une greffe
d’un EC externe (EC-ext) d’un autre système traitant la langue cible, visée. Concrètement, nous avons
adapté à CATS un EC du français existant, celui du projet Nespole!
14« NEgotiating through SPOken
Language in E-commerce » écrit par (Blanchon 2004). Afin d’aboutir au même format que le format
CRL-CATS généré par la version originale de CATS, nous avons construit un traducteur de format qui
permet de traduire le format IF-CATS (Interchange Format) généré par cet EC vers le format
CRL-CATS. Nous expérimenterons cette méthode dans le Chapitre 9.
Imaginons qu’on souhaite adapter au français le système IMRS présenté dans le paragraphe 2.2.4.
La tâche est différente du portage de CATS. En effet,
• nous ne pouvons pas adapter l’extracteur de contenu de l’application, car nous n’y avons pas
accès, et, si nous l’avions, nous devrions faire faire le travail par quelqu’un connaissant le
japonais et le français,
• nous n’avons pas de corpus parallèle français-japonais adapté, et ne pouvons pas en créer.
Il nous resterait donc comme seule possibilité de créer un extracteur de contenu produisant un
vecteur requête à partir d’un énoncé en français.
Pour créer cet extracteur, deux solutions peuvent être envisagées :
• Portage externe : adapter un extracteur de contenu existant pour le français à ce nouveau
domaine, par exemple le précédent, comme pour CATS, et traduire la représentation obtenue
(IFmusique) vers un vecteur de dimension 10. Nous présenterons ce travail dans la section 9.3.
• Création : s’inspirer de l’approche décrite dans les articles de Kumamoto, et la mettre en
œuvre sur le français (et éventuellement d’autres langues que nous connaissons, comme
l’arabe et l’anglais).
3.1.2.3 Portage par traduction
La troisième méthode possible et que nous détaillerons dans la section 3.3, consiste à traduire les
énoncés de la nouvelle langue L2 vers la langue originale de l’application L1 et à utiliser l’extracteur
de contenu de l’application originale. La Figure 31 décrit l’architecture de cette méthode de « portage
par TA ».
Figure 31 : méthode de portage par TA
Pour le cas du même système CATS, comme le décrit la Figure 31, on propose alors de traduire
des énoncés de la langue L2 (L2 = français : langue source pour la traduction et cible pour le portage
de CATS) vers la langue L1 (L1 = arabe : langue cible pour la traduction et source pour le portage de
CATS) et d’utiliser l’extracteur de contenu original de l’application CATS. Nous présentons
l’expérimentation de cette méthode dans le Chapitre 12.
Nous avons une difficulté commune pour toutes ces méthodes de portage, celle de trouver les
données de développement (corpus et dictionnaire). Nous présentons dans ce qui suit une solution
possible pour préparer ces données.
3.1.3 Ressources nécessaires
Nous présentons ici les ressources nécessaires pour chacune des méthodes de portage présentées
dans la section précédente.
Les deux méthodes de portage interne et externe nécessitent comme ressources un corpus et un
dictionnaire pour la nouvelle langue L2, qui soient fonctionnellement équivalents aux ressources de
départ (corpus et dictionnaire pour L1).
La troisième méthode nécessite essentiellement un corpus parallèle bilingue (L2,L1) contenant la
même qualité de données, et éventuellement un dictionnaire (L2,L1) pour améliorer le résultat de la
traduction obtenue. A priori, le corpus parallèle nécessaire pour la TA « experte » est petit, mais celui
nécessaire pour la TA « statistique » est très grand. Nous verrons cependant que, dans le cas d’un
sous-langage restreint, on peut aussi se contenter d’un petit corpus parallèle.
Il est clair qu’il y a un besoin commun (corpus et dictionnaire) à préparer pour toutes les méthodes
de portage envisageables. Nous commençons par définir les propriétés du corpus nécessaire.
3.1.3.1 Caractéristiques et définition d’un corpus
Selon (Nelson 1982) et (Nelson 1992), la définition d’un corpus est la suivante :
« A collection of texts assumed to be representative of a given language, dialect, or other subset of
a language to be used for linguistic analysis ».
Cette définition peut être traduite de la façon suivante :
« Une collection de textes supposés être représentatifs d'une langue donnée, d’un dialecte, ou de
tout autre sous-ensemble d'une langue pour être utilisée dans l'analyse linguistique ».
Un corpus est considéré comme étant un ensemble de documents (textes, images, vidéos, etc.),
regroupés dans une optique précise. On peut utiliser des corpus dans plusieurs domaines : études
littéraires, linguistiques, scientifiques, etc.
Enlittérature, un corpus est un regroupement de textes ayant une visée commune. En science, les
corpus sont des outils indispensables et précieux en traitement automatique du langage naturel. Ils
permettent en effet d'extraire un ensemble d'informations utiles pour des traitements statistiques.
D'un point de vue informatif, ils permettent de construire des ensembles de fréquences de
n-grammes.
D'un point de vue méthodologique, ils apportent une objectivité nécessaire à la validation
scientifique en traitement automatique du langage naturel. L'information n'est plus empirique, elle est
vérifiée par le corpus. Il est donc possible de s'appuyer sur des corpus pour formuler et vérifier des
hypothèses scientifiques.
Plusieurs caractéristiques entrent en jeu pour la création d’un corpus bien formé telles que :
• la taille : le corpus doit évidemment atteindre une taille critique pour permettre des
traitements statistiques fiables. Il est impossible d'extraire des informations fiables à partir
d'un corpus trop petit.
• la langue du corpus : un corpus bien formé doit nécessairement couvrir un seul langage, et
une seule déclinaison de cette langue. Il existe par exemple de subtiles différences entre le
français de France et le français parlé en Belgique. Il ne sera donc pas possible de tirer des
conclusions fiables à partir d'un corpus franco-belge sur le français de France, ni sur le
français de Belgique.
• l’évolution des textes avec le temps : le temps joue un rôle important dans l'évolution d’une
langue : le français parlé aujourd'hui ne ressemble pas au français parlé il y a 200 ans ni,
de façon plus subtile, au français parlé il y a 10 ans, à cause notamment des néologismes.
C'est un phénomène à prendre en compte pour toutes les langues vivantes. Un corpus ne doit
donc pas contenir des textes rédigés à des intervalles de temps trop larges.
• le registre : il ne faut pas mélanger des registres différents, un corpus construit à partir de
textes scientifiques ne peut pas être utilisé pour extraire des informations sur les textes
vulgarisés, et un corpus mélangeant des textes scientifiques et vulgarisés ne permettra de
tirer aucune conclusion sur ces deux registres.
3.1.3.2 Caractéristiques et définition d’un corpus réel, naturel
Nous n’avons pas trouvé de définition claire d’un corpus réel. Nous proposons alors une définition
basée sur celle de (Nelson 1982) :
« Un corpus naturel (réel) est une collection de textes supposés être représentatifs d'une langue
donnée, d’un dialecte, ou de tout autre sous-ensemble d'une langue construit d’une façon
spontanée et naturelle pour être utilisé dans différents objectifs (commercial, linguistique,
statistique…)».
Les caractéristiques citées précédemment restent applicables pour un corpus naturel, à savoir la
taille, la langue, l’évolution des textes avec le temps et le registre.
3.1.3.3 Différences et particularités des données réelles et spontanées
Nous voudrions éclaircir ici la différence entre un corpus normal tel qu’il est défini par (Nelson
1982) et un corpus spontané ou réel. En effet, la différence est surtout au niveau de la façon de
construire le corpus : un corpus normal peut être fabriqué automatiquement à partir de textes, de
journaux ou autres supports ; par contre, un corpus spontané doit être fabriqué d’une façon naturelle et
peut contenir des erreurs, des fautes, des abréviations.
Contrairement à un corpus normal, les données d’un corpus réel ne doivent pas être éditées, mais
les outils de traitement doivent être adaptés à ce type de données non propres.
Il faut aussi préciser que les corpus réels ne sont pas des corpus spécialisés. En effet, un corpus
spécialisé est un type de corpus normal. Pearson décrit plusieurs types de corpusselon les applications
possibles (Pearson 1998). Par exemple, dans les travaux de l’équipe ÉCLECTIK (équipe de
recherche en combinatoire lexicale, terminologie et informatique à Montréal), on aura affaire surtout
à des corpusdits « spécialisés » ou « de spécialité », à savoir, des corpuscontenant des textes
traitant d’un sujet lié à un domaine de la connaissance comme la médecine, le droit ou l’informatique.
Pearson, cependant, ne fait pas une distinction de base entre les corpus ouverts (auxquels on ajoute
constamment de nouveaux textes) et fermés (qui restent «stables »). Les corpusouverts, bien que plus
à jour, impliquent un entretien constant et méticuleux.
3.1.4 Techniques d’acquisition et de construction des ressources
Nous décrivons dans ce qui suit quelques techniques possibles d’acquisition et de construction
d’un corpus et d’un dictionnaire fonctionnellement équivalents dans la nouvelle langue L2 ainsi que la
construction d’un corpus bilingue parallèle (L2, L1).
3.1.4.1 Corpus fonctionnellement équivalent dans L2
Dans le cas d’un portage linguistique, trouver un corpus fonctionnellement équivalent dans L2 est
nécessaire pour faire d’abord le portage lui-même et pour l’évaluer ensuite.
Pour répondre à un tel besoin, deux options se présentent : traduction d’un corpus existant ou
collecte d’un nouveau corpus.
Pour la première option, il s’agit de traduire et réviser un corpus de la langue L1 vers la langue L2,
puis l’adapter au sous-langage supposé correspondre dans L2. Cela suppose bien sûr :
• qu’il y ait un corpus pour la langue L1 ;
• qu’on ait accès à ce corpus.
La traduction du corpus de L1 vers L2 est nécessaire pour effectuer le portage linguistique, car elle
permet de créer une version initiale du corpus de développement dans L2, mais les systèmes de
traduction automatique ne sont pas disponibles pour tous les couples de langues. Ils ne sont utiles que
pour des textes « propres » et ne marchent pas pour les énoncés spontanés qui peuvent contenir des
erreurs, des fautes, des abréviations.
On peut alors passer par une traduction humaine. Un nouveau problème se pose, c’est de savoir
quel type de personne peut traduire le corpus source. Suffit-il d’une personne qui parle la langue L2,
ou faut-il une personne dont la langue L2 est la langue maternelle ? Nous ne pouvons pas donner de
réponse immédiate à cette question, mais nous devons expérimenter et tester. Pour cela, nous devons
émettre une hypothèse qui puisse confirmer ou infirmer notre supposition. Nous détaillerons ce travail
dans la section 7.2.3.
Pour la deuxième option (collecte d’un nouveau corpus), il s’agit de collecter un corpus dans L2
dans le domaine visé, puis de le « localiser » (dans la même langue) au domaine, à la tâche, au lieu et
aux contraintes visées. Par exemple, on pourrait collecter un corpus de petites annonces Web sur
l’immobilier à Grenoble, et l’adapter (en français) à l’immobilier à Amman ainsi qu’au style et à la
contrainte de longueur des SMS. Cette méthode est la seule à pouvoir être mise en œuvre dans le cas
où on n’a pas accès au corpus de l’application à porter, ou bien dans le cas où on ne connaît pas la
langue du corpus à porter. L’inconvénient de cette approche est qu’on ne traite pas la même qualité de
données du point de vue de la spontanéité et du point de vue du contenu. Par exemple, un corpus
collecté sur le Web pour CATS peut contenir des critères de choix de véhicules que CATS ne gère pas
comme le kilométrage.
Après avoir trouvé ou construit un corpus cible, le second problème est de déterminer la taille du
corpus dont on a besoin pour effectuer le portage vers une langue L2.
Nous pouvons commencer par un corpus cible de petite taille, et augmenter peu à peu sa taille en
fonction de l’augmentation de la taille du vocabulaire. Une fois que la taille du vocabulaire se
stabilise
15, on peut dire que la taille du corpus cible correspondant est la taille minimale nécessaire
pour couvrir le sous-langage considéré.
3.1.4.2 Dictionnaire fonctionnellement équivalent dans L2
Le second problème qui se pose consiste à trouver un dictionnaire pour le sous-langage
correspondant de L2.
Faut-il une traduction (automatique ou humaine), ou une adaptation du dictionnaire de L1 ? Dans
les deux cas, cela suppose :
• qu’il y ait un dictionnaire pour la langue L1 ;
• qu’on ait accès à ce dictionnaire.
Dans le premier cas (traduction), nous devons répondre aux mêmes questions que dans le cas
d’une traduction de corpus source.
Dans le deuxième cas (adaptation), nous pensons qu’un travail humain considérable est
indispensable. Une personne parlant la langue L2 peut faire l’adaptation en question, à condition
qu’elle soit aidée par le type et la variante lexicale et orthographique des données du corpus cible de
L2 (supposé créé avant le dictionnaire cible).
De même que pour les corpus, une deuxième approche peut être de collecter un dictionnaire du
domaine en L2, et de l’adapter au contexte de l’application (par exemple, en introduisant des erreurs,
et des abréviations).
3.1.4.3 Corpus parallèle (L2,L1)
L’obtention manuelle d’un corpus parallèle (L2,L1) semble être très difficile et coûteuse. Une
façon possible pour obtenir un tel corpus est de « déconvertir
16» vers L2 les représentations internes
correspondant au corpus disponible L1. Cela suppose d’avoir :
• un corpus en L1,
• la représentation interne (CRL) correspondante de ce corpus L1,
• un environnement (contenant par exemple un LSPL adéquat) de déconversion,
• des compétences en déconversion.
Grâce à la proximité des sous-langages, le travail de déconversion peut être effectué très
rapidement si on maîtrise l’environnement de déconversion et la langue cible en question.
Il reste à effectuer une post-édition manuelle visant à obtenir un corpus « naturel », «
pseudo-spontané ». Nous présentons les détails d’expérimentation de ce travail dans le Chapitre 11.
3.1.5 Scénarios d’implémentation
Cette étape dépend de la méthode de portage choisie : portage interne ou externe de l’extracteur de
contenu, ou portage par TA.
3.1.5.1 Implémentation d’un portage interne
Le scénario d’implémentation d’un portage interne est le suivant :
1. Identifier la partie ou les composants de l’application qui dépendent de la langue.
Généralement, il s’agit d’un seul composant qui est l’extracteur de contenu.
2. Cloner la partie identifiée.
3. Adapter le code (les règles et le dictionnaire dans le cas d’un EC utilisant un LSPL) pour
extraire le contenu des énoncés de la nouvelle langue L2.
3.1.5.2 Implémentation d’un portage externe
Le scénario d’implémentation d’un portage externe est le suivant :
1. Identifier la partie ou les composants de l’application originale qui dépendent de la langue.
2. Cloner la partie non identifiée (la partie indépendante de la langue).
3. Greffer un extracteur de contenu existant pour L2 à la partie non identifiée.
4. Adapter le code du nouvel extracteur de contenu de L2 à la tâche de l’application originale.
5. Traduire le résultat obtenu dans la représentation interne générée par l’extracteur de contenu
adapté vers la représentation interne de l’application originale.
3.1.5.3 Implémentation d’un portage par TA
Le scénario d’implémentation d’un portage par TA est le suivant :
1. Construire un système de TA (L2 vers L1).
2. Traduire les énoncés de L2 vers L1.
3. Utiliser l’extracteur de contenu de l’application originale.
16
déconvertir : c’est le terme employé quand il s’agit d’une traduction à partir d’une représentation interne vers
une langue, pour l’inverse, on dit « enconvertir ». Il ne s’agit pas d’analyse ou de génération, car deux
« espaces lexicaux » sont en jeu, et pas un seul.
3.1.6 Évaluation du portage
Nous proposons de distinguer deux types d’évaluation : évaluation de la performance de
l’application portée et évaluation du coût du portage.
3.1.6.1 Évaluation de l’application portée
Plusieurs méthodes sont envisageables pour évaluer le portage d’une application d’extraction
d’information traitant des énoncés spontanés en langue naturelle. Dans le Chapitre 6, nous détaillons
trois niveaux d’évaluation, à savoir :
• le langage d’entrée en mesurant sa couverture, son efficacité et son coût,
• la représentation de contenu en mesurant l’acceptabilité des résultats d’extraction de contenu,
• la performance liée à la tâche en mesurant la réalité et l’efficacité du portage sur le terrain.
Nous définirons un seuil objectif à partir duquel nous pourrons dire que le portage est effectué et
donne une version initiale de l’application en question pour la nouvelle langue L2. Bien évidemment,
les résultats d’extraction peuvent s’améliorer une fois que l’application a commencé à être déployée
sur le terrain. À ce moment là, on pourra mesurer le degré de satisfaction des utilisateurs et définir un
seuil subjectif.
3.1.6.2 Évaluation de coût (humain)
Nous proposons une mesure de coût du portage vers une nouvelle langue L2, qui dépend :
• de la méthode de portage utilisée,
• du niveau d’accès aux ressources de l’application à porter,
• de la disponibilité des ressources pour le sous-langage considéré dans la nouvelle langue
visée,
• des compétences langagières et linguistiques utilisées.
Nous mesurons le coût en terme de temps de l’opération de portage (en hommes/mois) pour
Dans le document
Multilinguïsation des systèmes de e-commerce traitant des énoncés spontanés en langue naturelle
(Page 68-76)