IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[Conception] Traducteur en ligne en PHP


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Points : 11
    Points
    11
    Par défaut [Conception] Traducteur en ligne en PHP & probleme str_replace
    Bonjour à tous,

    je suis en train d'essayer de programmer en PHP un "petit" traducteur en ligne entre 2 langues. Cependant je suis confronté à un problème.
    Au départ, j'identifiais tous les mots d'un texte à traduire pour le mettre sous forme de ARRAY. Ensuite je traduis mot à mot pour réafficher le résultat. Jusque là pas de problème.

    mais parfois, le sens de la traduction se perd, c'est pourquoi j'envisage non plus de traduire en mot à mot mais par groupe de mots.

    Exemple simple (situation actuelle) :
    I LIKE THIS DOG
    passage en ARRAY("I","LIKE","THIS","DOG")
    traduction "JE AIME CE CHIEN"

    Dans ma base de données j'ai deux champs :
    anglais | francais
    I | JE
    LIKE | AIME
    THIS | CE
    DOG | CHIEN
    I LIKE | J'AIME

    Situation souhaitée :
    Je souhaiterais donc qu'il prenne en priorité d'abord les champs ou il y a 2 mots avant de prendre la traduction en mot à mot. Donc je souhaiterais qu'il m'affiche en résultat :
    "J'AIME CE CHIEN" plutot que "JE AIME CE CHIEN".

    Je pense qu'il va falloir que j'abandonne le système de ARRAY, mais je ne sais pas comment m'y prendre pour opter pour cette deuxième solution.

    J'espère que je suis clair !

    Merci pour votre aide précieuse, car je débute en PHP...

    Francois

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    Sans vouloir jouer les critiques abrutis, je tiens quand meme a te dire que tu te lances dans une drole d'aventure car tu vas rebondir de cas particulier en cas particulier et celà va etre coton pour toi de faire un traducteur fiable (quand tu vois le nombre d'années qu'il a fallu par exemple à google pour sortir des traductions potables...).

    Ceci dit, il se peut que ton domaine soit bien limité et que tes traductions n'aient pas pour but d'être fiables à 100% je ne crois pas qu'il soit possible en une seule requete de répondre à ta demande. Maintenant, je ne suis pas spécialiste dans ce domaine.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    Oh que oui je me lance dans un script de dingue ! Mais ce traducteur en ligne n'existe pas sur la toile ! En tout cas je ne l'ai pas trouvé après de nombreuses semaines de recherches...
    Bien entendu j'ai pris un exemple en anglais pour qu'il soit compréhensible de tous, mais la langue à traduire n'est pas de l'anglais.
    J'espère que mon projet arrivera à se concrétiser, si tel n'est pas le cas, je me contenterai du mot à mot mais c'est parfois très embêtant
    Francois

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 223
    Points : 15 516
    Points
    15 516
    Par défaut
    dans ta table, rajoute un champ où tu indiques le nombre de mots comme ça tu pourra faire un tri sur ce champ

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    J'ignore la langue que tu veux traduire, mais il y a ça :
    http://trans.voila.fr/voila

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    Merci pour votre aide ! En effet l'ajout d'un champ avec le nombre de mots me semble une bonne idée, je vais déjà creuser ça, à défaut d'autre chose.
    D'autres idées seront les bienvenues bien entendu !
    Je cherche à traduire du norvégien.... Et je n'ai trouvé aucun traducteur en ligne qui le faisait. Donc je me lance !
    Francois

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    C'est un dictionnaire suédois et non norvégien. De plus je cherche à faire un traducteur de texte et non un "simple" dictionnaire. Mais merci pour le lien car je ne le connaissais pas !
    Francois

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    C'est encore moi !
    J'avance petit a petit, mais je suis confronté à un problème de gestion avec str_replace
    J'ai ma liste de mots norvégiens et français placés chacun dans un tableau ARRAY.
    Le seul "hic" c'est que dans mon tableau norvégien j'ai une occurence qui est la lettre "i" qui signifie en français "en" et quand je fait un :
    $traduction_finale = str_replace($tab_norvegien, $tab_francais, $text_norsk);
    Il me modifie chaque mot norvégien ou il y a la lettre "i" en "en".

    par exemple le mot norvégien "familie" se traduit par "famille" en français, mais après le passage de la fonction str_replace je me retrouve avec la traduction "famenlle".

    J'espère que je suis clair dans l'explication de mon, problème
    Merci pour votre aide...
    Francois

  10. #10
    Membre du Club Avatar de moins52
    Inscrit en
    Août 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Si le mot est "i", tu peux remplacer " i " par " en ", les mots étant généralement séparer par des espaces. Mais tu peux avoir de la ponctuation qui sépare les mots des virgules par exemple. Et tu auras sûrement ce cas avec d'autres mots de même racine par exemple.
    C'est un des cas particuliers dont parlait Raideman.

    En réfléchissant un peu je crois que lorsqu'on utilise des expressions régulières PHP cherche à avoir la plus longue expression possible.
    Genre si "i" et "titi" correspondent il prendra "titi" qui est plus long.
    C'est peut-être par là qu'il faut chercher...

    Moins52, trying to be helpfull

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    Merci pour ta réponse. Finalement, je vais suivre ton conseil, en ajoutant des espaces à chaque mot mis dans le tableau ARRAY.
    Cependant je suis surpris qu'il n'y ait pas d'autre solution.
    Ceux qui utilisent cette fonction, comment procédez vous ?
    merci
    François

  12. #12
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 161
    Points : 193
    Points
    193
    Par défaut
    Lors de mes études (IUP, Master), j'ai suivi une option "Traitement automatique du langage naturel". C'est un sujet très vaste, et nous avons vu que faire de la traduction automatique n'est pas si aisé.

    Il te faudrait travailler d'abord sur un analyseur morphologique, pour connaitre la structure de tes phrases (et ainsi savoir quel role joue un mot dans la phrase).
    Tu peux en effet tomber sur un mot que tu definirais comme un verbe conjugué, et qui serait en fait un nom (on est tombé sur des cas comme ça en bossant sur notre projet d'analyseur).

    Il programme en JAVA. (programme = verbe conjugué au present)
    Ce programme n'est pas sécurisé (programme = nom commun)
    Dans ce cas, là traduction de programme ne sera pas la meme du tout ^^


    Voila le TP sur lequel nous avons travaillé en binome => (http://www.lirmm.fr/~chauche/Master_1/TPMaster1.html
    Ca te donnera une piste, mais il te faudra approfondir le sujet

    Cherche "Traitement automatique du langage" dans google, il y a de nombreux cours intéressants

Discussions similaires

  1. comment revenir a la ligne en PHP
    Par mekdar dans le forum Langage
    Réponses: 15
    Dernier message: 26/10/2015, 12h39
  2. [Conception] Supprimer une ligne d'un tableau à partir d'un CHECKBOX
    Par snakejl dans le forum PHP & Base de données
    Réponses: 71
    Dernier message: 30/05/2006, 09h43
  3. [Conception] Résultat d'une requête PHP dans un tableau avec lien ?
    Par DjMaC dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/04/2006, 21h37
  4. [Conception] récupération d'une variable php dans une autre page
    Par vali7 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/01/2006, 12h19
  5. [Conception] Problème de décimales Access>PHP
    Par LadyArwen dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 04/01/2006, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo