Section courante

A propos

Section administrative du site

Traducteur humain

Les traducteur humaines les plus simples sont basés sur trois modules éléments. Le premier recherche toutes les catégories de chacun des mots trouvés dans la texte (la chaîne de caractères) à traduire. La deuxième recherche recherche parmi tout les mots, la catégorie dominante du texte. Cette catégorisation est très importantes, car de nombreux langues, certaines mots peuvent avoir plusieurs sens et peuvent carrément changé le contexte d'une langue à l'autre. La troisième recherche recherche les meilleurs mots correspondant en fonction de la catégorie domaine. La recherche d'une correspondance d'un mot dans un autre langue nécessite nécessairement une table de base de données permettant d'associer plus facilement l'un des langues à l'autre langue. La deuxième table contiendra les différentes catégories correspondants à la langue et sens du mot.

Pour pouvoir faire fonctionner la recherche de correspondance de mots, on utilisera la table «Dictionnaire de mots», laquelle renfermera le mot de langue A (soit la langue d'origine) et le mot de langue B (soit le langue traduite) et un numéro de catégorie dans lequel la classer lequel sera définit dans une autre table appelé Categorie. Par conséquent, on aura au minimum les tables (Dictionnaire de mots, Categorie) de base de données suivantes :

Algorithme

Voici un algorithme simplifié du chemin du programme de traducteur de langage humain :

MODULE Traducteur(ChaineLangueA)
   Tableau ← Fragment en mot(ChaineLangueA)
   Categorie ← Tableau vide de chacune des catégories
    * Recherche les catégories associés à tous les mots
   BOUCLE POUR I ← 0 JUSQU'A LONGUEUR(Tableau)-1
      CategorieCourante ← Recherche des catégories du mot(Tableau[I])
      BOUCLE POUR J ← 0 JUSQU'A LONGUEUR(CategorieCourante)
         Categorie[CategorieCourante[J]] ← Categorie[CategorieCourante[J]] + 1
      FIN BOUCLE POUR
   FIN BOUCLE POUR
    * Recherche la catégorie dominante
   CategorieDominante ← 0
   BOUCLE POUR I ← 0 JUSQU'A LONGUEUR(Categorie)-1
      SI CategorieDominante < Categorie[I] ALORS
         CategorieDominante ← Categorie[I]
      FIN SI
   FIN BOUCLE POUR
    * Recherche la meilleure correspondance de mots
   ChaineTraduite ← vide
   BOUCLE POUR I ← 0 JUSQU'A LONGUEUR(Tableau)-1
      ChaineTraduiteChaineTraduite + Mot en langue B(RECHERCHE ORDONNER PAR CATEGORIE (CategorieDominante) Mot en langue A DANS (Tableau[I]))
   FIN BOUCLE POUR
   RETOURNER ChaineTraduite

L'ensemble de l'idée d'un traducteur repose essentiellement sur des recherches dans une base de données, il serait donc probablement beaucoup plus facile d'écrire un programme de traduction à l'aide d'une base de données SQL en utilisant des PROCEDURE STORED ou du langage de programmation Prolog.



Dernière mise à jour : Jeudi, le 30 mai 2019