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

Fermé
assange337 Messages postés 11 Date d'inscription mardi 12 mai 2020 Statut Membre Dernière intervention 26 mai 2020 - 15 mai 2020 à 19:59
 Utilisateur anonyme - 18 mai 2020 à 11:42
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
A voir également:

4 réponses

yg_be Messages postés 23323 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 12 novembre 2024 Ambassadeur 1 551
15 mai 2020 à 20:55
bonjour,
si tu es motivé, je suis persuadé que tu pourras arriver à créer cet algorithme, probablement en moins de deux ans de travail.
0
assange337 Messages postés 11 Date d'inscription mardi 12 mai 2020 Statut Membre Dernière intervention 26 mai 2020
15 mai 2020 à 22:38
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 ?
0
yg_be Messages postés 23323 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 12 novembre 2024 1 551
16 mai 2020 à 10:06
peux-tu poser cette autre question dans le forum python?
0
assange337 Messages postés 11 Date d'inscription mardi 12 mai 2020 Statut Membre Dernière intervention 26 mai 2020 > yg_be Messages postés 23323 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 12 novembre 2024
16 mai 2020 à 17:57
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 :)
0
Utilisateur anonyme
Modifié le 16 mai 2020 à 10:20
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.
0
assange337 Messages postés 11 Date d'inscription mardi 12 mai 2020 Statut Membre Dernière intervention 26 mai 2020
16 mai 2020 à 18:24
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 !
0
Utilisateur anonyme
18 mai 2020 à 11:42
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.
0