Création d'algorithme qui modifie un fichier texte grace a la langue

Signaler
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
-
Messages postés
599
Date d'inscription
dimanche 17 juillet 2016
Statut
Membre
Dernière intervention
8 novembre 2020
-
Bonjour,

Je suis un débutant (qui part presque de 0) mais j'ai une idée bien précise de ce que je veux faire et je me demande surtout si cet algorithme est vraiment réalisable.

Je souhaite créer un algorithme qui me permettrait de modifier un fichier texte sur la base de la reconnaissance de langues. Je m'explique :

J'ai à la base deux fichiers textes : un traduit en français, l'autre est l'orignal en anglais. Prenons l'exemple :

1 Voilà que je parle à une personne imaginaire.
2 Ce que je vais te raconter est top secret.
3 Une conspiration plus forte que nous tous.

1 It's actually happened, I'm talking to an imaginary person.
2 What I'm about to tell you is top secret, a conspiracy bigger than all of us.

Comme vous pouvez le voir, j'ai mon texte original qui est plus court que celui traduit, qui découpe la ligne 2 en deux. Imaginons que j'applique un algorithme de reconnaissance de langue (avec un dictionnaire par exemple ou la fréquence des lettres. Ce post a l'air vraiment cool : https://forum.ubuntu-fr.org/viewtopic.php?id=381099 mais je suis pas certaine que ça m'aide), est-il possible d'enlever le retour à la ligne sur le fichier traduit ? En gros l'idée c'est que le programme reconnaisse par exemple les mots "a conspiracy" et "Une conspiration", pour que mon résultat final soit donc :

1 Voilà que je parle à une personne imaginaire.
2 Ce que je vais te raconter est top secret. Une conspiration plus forte que nous tous.

Sachant que mon fichier original, lui, ne changera jamais.

Pensez-vous que c'est réalisable sans que l'algo fasse d'erreurs ? Merci d'avance en tout cas !


Configuration: Windows / Firefox 76.0

4 réponses

Messages postés
12966
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 novembre 2020
723
bonjour,
si tu es motivé, je suis persuadé que tu pourras arriver à créer cet algorithme, probablement en moins de deux ans de travail.
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020

Haha bon ok cool ! J"ai commencé à chercher un peu j'ai cru comprendre qu'il fallait passer par le ntlk. Et donc installer les packages pip, ce que je n'arrive pas à faire depuis deux heures haha. J'ai lancé mon fichier get-pip.py, ça s'installe mais me dit que les scripts ne sont pas sur le PATH, et avec les tutos que j'ai suivi, j'ai pas les mêmes trucs... Je suis sous Windows 7. Une idée pour m'aider ?
Messages postés
12966
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 novembre 2020
723
peux-tu poser cette autre question dans le forum python?
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020
>
Messages postés
12966
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 novembre 2020

C'est bon j'ai réussi. J'avais mal installé python du coup le path n'était pas géré, j'avais aussi la mauvaise commande d'exécution :)
Messages postés
599
Date d'inscription
dimanche 17 juillet 2016
Statut
Membre
Dernière intervention
8 novembre 2020
57
Si les mots à reconnaître sont pré-determinés (stockés quelque part) c'est faisable.
Sinon: Un lexique (dictionnaire) c'est en moyenne 65000 entrées (sans les conjugaisons) et en fonction du langage (compilé ou interprété) le traitement peut être long, voire très long.
Messages postés
11
Date d'inscription
mardi 12 mai 2020
Statut
Membre
Dernière intervention
26 mai 2020

Ok j'abandonne le dictionnaire, d'autant plus que mon pc date de l'antiquité haha. Mais qu'est-ce que tu entends par pré-déterminées, au-delà du fait qu'elles soient stockées ? Car oui, je travaille sur une grosse base de données et donc beaucoup de texte, mais les césures de phrases que je souhaite éviter peuvent intervenir à n'importe quel moment dans mes fichiers textes. Donc en gros mon problème est de faire en sorte que le programme détermine de lui-même le moment où il y a une césure, pour enlever un retour à la ligne.
Pour l'instant, dans mon programme, toutes les phrases ont été mises sur une ligne différente. Dès qu'il y a un point, il y a un retour à la ligne. Je pourrais peut-être faire une analyse comparée non ? Je m'explique :
Sachant que la phrase 1 (en anglais) doit être équivalente (à peu près) en nombre de mots à la phrase 1 (en français). Est-ce que je pourrais dire : dès que le nombre de mots d'une phrase est anormalement élevée, faire un retour à la ligne ? J'ai l'impression que c'est une bonne idée mais c'est un peu casse-gueule haha Des avis ?
En tout cas merci !
Messages postés
599
Date d'inscription
dimanche 17 juillet 2016
Statut
Membre
Dernière intervention
8 novembre 2020
57
Pour éliminer le retour ligne ça doit pas être bien compliqué; il faut créer une chaine vide, lire le texte, remplir la chaine, détecter le "caractère" de retour, le sauter et continuer de remplir. Mais ça ne marche que pour un texte unique; si plusieurs textes se suivent, tous les retours seront supprimés.