|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 20 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() |
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. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 20 ![]() |
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 |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
dans ta table, rajoute un champ où tu indiques le nombre de mots comme ça tu pourra faire un tri sur ce champ
__________________
Modérateur PHP |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : août 2002 Messages : 1 036 ![]() |
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 20 ![]() |
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.... Francois |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Inscription : août 2002 Messages : 1 036 ![]() |
Et ça :
http://www.azoria.com/lexikon/ |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 20 ![]() |
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 |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 20 ![]() |
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 |
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : août 2003 Messages : 61 ![]() |
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 |
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 20 ![]() |
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 |
|
|
00
|
|
|
#12 | |
|
Membre habitué
![]() Inscription : août 2005 Messages : 152 ![]() |
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). Citation:
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 |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com