Utilisation de ressources linguistiques

From Apertium
Jump to navigation Jump to search

In English

Cette page donne un bref aperçu sur les types de données et ressources qui peuvent être utiles pour construire une nouvelle paire de langues pour Apertium, et comment s'y prendre pour les construire si elles n'existent pas déjà.

Quels dictionnaires ?[edit]

Chaque paire de langues Apertium nécessite 3 fichiers dictionnaire. Par exemple, pour la paire Anglais-Afrikaans (en abrégé En et Af), ce serait :

  • apertium-en-af.af.dix.xml: une liste de mots afrikaans et leur variantes;
  • apertium-en-af.en.dix.xml: une liste de mots anglais et leur variantes;
  • apertium-en-af.en-af.dix.xml: une liste qui fait correspondre des mots afrikaans dans af.dix avec leur équivalent anglais dans en.dix

Ces fichiers dictionnaire ne sont pas abordés plus loin dans cette page — plus d'information sur leur présentation et leur structure est disponible dans la page Créer une nouvelle paire de langues.

Récupération de données linguistiques[edit]

Avant de pouvoir produire ces fichiers, vous avez besoin d'un ensemble de données linguistiques qui peuvent être insérés dans ces fichiers. Ces données peuvent être des listes de mots, des corpus de mots issus de web-crawlers comme Crubadán, des notes de grammaire, des traductions existantes de logiciels open-source et de logiciels libres comme KDE ou GNOME, etc... Quelques suggestions pratiques sur la manière de construire des listes de mots de démarrage peuvent être trouvées à Fabriquer des dictionnaires, mais si vous sentez que c'est trop technique, demandez juste à quelqu'un de l'équipe Apertium de vous préparer quelque-chose comme ça.

Un point crucial ici est que les données doivent avoir été recueillies à partir de zéro, ou être disponibles sous une licence compatible avec la licence Apertium GPL. En d'autres termes, vous ne pouvez définitivement pas juste commencer à copier des dictionnaires publiés ou tout matériel commercial dans votre stockage de données.

Il est peu probable que ces données soient appropriées "telles quelles" pour une utilisation dans Apertium, et il faudra un plus ou moins grand *** amount of revision *** (à traduire) d'abord. Vous n'avez pas besoin de parler très bien la première langue pour récupérer et systématiser des données, mais vous devriez avoir une connaissance raisonnable de la langue, et travailler en consultation avec des locuteurs de la première langue.

Il est possible de récupérer un petit ensemble de données linguistiques, et de commencer à le tester avec Apertium. Toutefois, ce n'est pas recommandé. Votre point de vue sur la manière dont les données devraient être segmentées peut changer, menant à du travail gaspillé. Une fois qu'un contact initial a été établi avec l'équipe Apertium, il vaut mieux récupérer une liste de mot conséquente (1000-2000 mots) et prendre des décisions préliminaires sur la manière dont les phrases de la langue sont structurées. Dans l'intervalle, maintenir le contact avec l'équipe d'Apertium, et discuter des problèmes qui ont surgi par rapport à votre collecte de données.

Vous aurez une bonne vision sur la façon dont la langue fonctionne à partir de vos propres connaissances à son sujet, et de l'examen de documents publiés (ex: dictionnaires, grammaires) relatifs à cette langue. À partir de là vous pouvez prendre des décisions sur les éléments d'information particuliers qu'il faut noter pour chaque mot afin de récupérer sa signification et ses variantes.

Dans plusieurs langues largement parlées (ex: anglais, allemand, espagnol, français, portugais) il devrait y avoir beaucoup de matériel disponible, et il devrait y avoir aussi un nombre significatif de personnes désireuses et capables de travailler avec vous sur la collecte et la systématisation des données. Toutefois, pour les langues moins pratiquées (ex: breton, cachoubie) la quantité de matériel et le nombre de collaborateurs peut être petit — la plupart des langues les moins utilisées sur KDE, par exemple, n'ont qu'une ou deux personnes pour travailler dessus. Si vous êtes dans cette position, il est important de vous rappeler que "le mieux est l'ennemi du bien". Vous ne serez pas capable de créer pour votre langue l'équivalent du dictionnaire anglais Oxford (ou du Larousse) en une nuit, et c'est pas la peine d'essayer. Il vaut mieux viser une bonne fondation de base qui vous permettra de le développer plus tard et de combler les lacunes lorsque le temps et la main-d'œuvre se présenteront d'eux mêmes. Donc, par exemple, alors que l'idéal serait d'avoir des phrases de citation pour chaque mot donnant son utilisation typique dans un contexte, ça peut être un luxe que vous ne pouvez pas vous permettre.

Wiktionnaire[edit]

Pour certaines langues, le projet de dictionnaire libre, Wiktionnaire possède une quantité de données raisonnable. Par exemple, dans le wiktionnaire anglais pour Faroese (relatif aux îles Féroé), les noms viennent avec des déclinaisons, qui peuvent être automatiquement récupérées au moyen de scripts. Certains d'entre eux peuvent être assez compliqués, mais s'il existe un site qui dispose de cette information librement disponible dans un format normalisé, contactez quelqu'un de l'équipe Apertium, et nous serons heureux de vous aider à écrire un script, ou d'écrire un script pour vous.

Pour le Wiktionnaire, contactez Francis Tyers qui dispose de quelques scripts pré-mâchés pour récupérer l'information morphologique.

Davantage de sources de données linguistiques[edit]

Le Wiki l'Association for Computational Linguistics a une liste de ressources par langue qui contient souvent des liens utiles (souvent clairement indiqué comme ressources de logiciel libre ou propriétaire).

Manières de stocker des données[edit]

Voir aussi : Speling format (français)

Il est plus facile de commencer à stocker les mots dans un tableur ou une base de données. Gnumeric, KSpread ou OOCalc sont des exemples de tableur. Une fois que c'est fait, vos données peuvent être exportées dans un format (ex: CSV, valeurs séparées par des virgules) où il peut être utilisé par un autre logiciel pour créer des dictionnaires Apertium. Les bases de données comme PostgreSQL, MySQL et SQLite sont encore plus attractives, à condition que vous soyez familier avec elles, puisque les données peuvent être manipulées de diverses façons avant de les exporter.

Vous aurez alors à décider quelle information de base que vous devrez mémoriser, pour chaque mot. Pour de nombreuses langues européennes, par exemple, vous pouvez envisager d'utiliser les informations suivantes pour les noms :

  • forme de base, ou lemme (généralement au singulier)
  • signification en anglais (en supposant que l'anglais soit la 2ème langue de la paire)
  • clarification (chaque fois qu'un éclaircissement de la signification est nécessaire)
  • forme plurielle
  • genre (par exemple, masculin, féminin, neutre)
  • nombre (par exemple singulier, dual, pluriel)
  • partie de discours (par définition, ce sera "nom" (ou "noun" en anglais))
  • source (où vous avez obtenu le mot).

À chaque forme de base il devrait avoir une signification dans la langue cible. Ainsi, par exemple, en gallois, plutôt que d'avoir :

pres - monnaie, laiton

on aurait :

pres - monnaie[1]
pres - laiton

Ceci pour permettre une manipulation des données plus facile (par exemple, avec ce format il est plus facile de transformer votre liste de mots gallois-français en français-gallois).

La signification dans votre langue cible devrait être aussi courte que possible. Choisissez le mot simple qui correspond à la plus grande proportion de contextes d'utilisations du mot dans la langue source. Employez alors l'entrée de "clarification" pour aller au delà de cette signification de base. Par exemple, en gallois, on aurait :

Cymraeg - gallois (langue)
Cymreig - gallois (non linguistique)

où le premier est utilisé pour parler seulement de la langue galloise, et le dernier pour se référer à tout autre chose (lieux, coutumes, etc...). Cette approche permettra aux nuances de sens d'être capturées si c'est approprié, sans encombrer l'équivalence.

L'entrée "partie de discours" vous permettra de combiner diverses listes de mots autant de fois que nécessaire, sans perdre l'information sur le contenu (vous pourrez les séparer de nouveau). Les parties de discours typiques dans les langues européennes pourrait être: nom, nom propre, adjectif, verbe, adverbe, préposition, pronom, conjonction, interjection, interrogatif, démonstratif, numéro.

Par exemple, un tableau (qui reflète étroitement le Speling format) pourrait ressembler à :

lemme   ; forme de surface ; partie de discours ; symboles
bière   ; bière            ; nom                ; sg
bière   ; bières           ; nom                ; pl
rouge   ; rouge            ; adj                ; 
chanter ; chante           ; verbe              ; pres.p3.sg
chanter ; chantes          ; verbe              ; pres.p2.sg
chanter ; chante           ; verbe              ; pres.p1.sg
chanter ; chantais         ; verbe              ; pii;p1,sg (pii = imparfait)

etc.

Si vous décidez de noter des idiomes ou des phrases plus longues, vous pouvez leur donner une sorte d'étiquette de position comme "phrase", et laisser les grammairiens discuter de leur structure exacte plus tard !

La "source de l'entrée" n'est pas essentielle, mais peut être utile si quelqu'un se demande si vos données violent le droit d'auteur de quelqu'un d'autre. Par définition, vos données mémorisées contiendront éventuellement tous les mots contenus dans, par exemple, des petits dictionnaires — bien que les mots eux-mêmes ne soient pas sous copyright, le choix et l'arrangement des mots dans un dictionnaire l'est. En utilisant une "source d'entrée", vous pourrez démontrer que votre sélection de mots a été recueillie de manière indépendante.

Une fois que vous avez vos listes de mots, vous aurez les contours de votre paysage linguistique en place. Toutefois, pour remplir les détails, vos données auront également besoin de contenir des informations les formes que prennent ces mots dans leur contexte. Par exemple, en anglais le passé de "voir" ("see") est "saw". En letton, "sirds" est au nominatif, mais il a d'autres formes comme "sirdij" (au datif) ou "sirdis" (à l'accusatif). Ainsi, au lieu de noter le pluriel pour vos noms, par exemple, vous pouvez avoir décidé de noter à la place des informations qui vous permettront de prédire ces variantes. En Latin, par exemple, la méthode acceptée consiste à noter le nominatif et le génitif singulier d'un mot, ce qui vous permettra alors de prédire ses autres formes (ex: "rosa, rosae").

Si vous n'avez pas encore fait cela, la prochaine étape est d'aller sur vos données linguistiques pour rajouter des informations de ce type (ces "ensembles" de variantes sont appelés "paradigmes" dans Apertium, et constituent un élément important de son fonctionnement). Dans certains cas, vous pouvez avoir besoin d'étendre votre tableur ou base de données pour permettre de nouvelles entrées. Par exemple, pour les verbes anglais et allemand la notation standard consiste à noter les formes troisième personne du singulier des temps présents, passés et "parfait", en plus de l'infinitif :

bring, brings, brought, brought
bringen, bringt, brachte, gebracht

ainsi vous pourriez ajouter des colonnes supplémentaires pour ces dernières. De la même manière, des colonnes supplémentaires pourraient être ajoutées pour les cas des noms, les variantes des adjectifs, et ainsi de suite.

Dans beaucoup de langues européennes, il y a un ensemble riche de variantes de conjugaison pour les verbes. Il peut être possible de récupérer ces dernières assez facilement, comme en français ou espagnol, en faisant de la terminaison du verbe (ex: -er, -ar en espagnol, -er, ir en français) le déterminant principal pour les variantes, et en notant tous les changements conséquents d'orthographe :

hablar (parler), hablo (je parle)

mais

avergonzar (avoir honte), avergüenzo (j'ai honte).

Dans d'autres langues (par exemple le grec), la situation peut être plus complexe, et pas aussi adaptée à la catégorisation simple. Malgré tout, il est important d'essayer de synthétiser des règles pour la génération des verbes. Pour le moins, cela peut offrir la possibilité d'un autre outil linguistique utile, un générateur de conjugaison (voir par exemple, Verbiste (français), Compjugador (espagnol), Rhedadur (gallois)). Beaucoup d'autres conjugueurs peuvent être trouvés sur Verbix ou en faisant une simple recherche sur Google.

Après ce travail, vous devriez avoir un ensemble de données cohérent qui récupère beaucoup d'informations clés sur les mots les plus communs dans votre langue, et vous êtes maintenant prêt à commencer à importer ces données dans Apertium. Cela mérite une page séparée[2].

Quelques notes pour finir[edit]

La première est qu'Apertium est un travail en cours. Il a été développé à l'origine pour les langues romanes étroitement liées, et se développe aujourd'hui comme plate-forme de traduction pour un plus large éventail de langues. Par définition, cela signifie que les travaux futurs impliqueront d'essayer d'adapter de nouvelles constructions linguistiques au système. Par exemple, le système de mutation dans les langues celtiques a été supporté par un petit ajout au format du dictionnaire. C'est stimulant et excitant, mais du même coup vous ne devriez pas vous attendre à ce que l'équipe d'Apertium ait une réponse simple (ou même une réponse !) à un problème particulier. Soyez prêt à collaborer au développement d'Apertium pour faire face à ce problème.

La deuxième est que vos données soigneusement collectées ne sont pas seulement des entrées dans Apertium. Vous pouvez les utiliser pour produire un dictionnaire en ligne pour votre langue (voir par exemple Eurfa pour le gallois), et il peut aussi être converti facilement en dictionnaire imprimable en utilisant quelque chose comme LaTeX. Les données peuvent être utilisées pour construire un vérificateur d'orthographe ou de grammaire en utilisant les outils disponibles dans le projet Gramadóir.

Sans données sur la langue, il est impossible de construire des outils linguistiques. Donc, en mettant en commun vos données mémorisées, vous avez déjà fait un grand pas en avant en rendant disponible aux autres les richesses de votre langue.

Note de traduction[edit]

  1. Détail amusant, en traduisant la page depuis l'anglais, on obtient le mot argent. Le français et le gallois ont donc comme point commun d'utiliser le même mot pour désigner l'argent pour payer et un métal. Simplement, il ne s'agit pas du même métal dans les deux langues !
  2. référence prévue dans la page anglaise d'origine, mais aucun lien précisé