• Aucun résultat trouvé

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