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

Python Discussion :

Comment reconnaitre la langue d'un texte ? [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 25
    Par défaut Comment reconnaitre la langue d'un texte ?
    Bonsoir,

    Voilà je cherche à faire un script permettant de reconnaitre la langue d'un texte (français, espagnol allemand ...) et pour l'instant je n'ai aucune idée de ce qu'il faut faire.

    J'essaie de penser aux caractère spéciaux de chaque langue mais c'est pas fiable à 100% quand même.

    Donc voilà j'aimerais avoir votre aide là dessus, si vous avez quelques idées....

    Merci beaucoup

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Et quelles idées t'as donné Google ?

    Ici, nous sommes surtout spécialisés en langage C Python. Les idées que nous te donneront ne seront sans doute pas aussi intéressantes que celles données par des compétents en linguistique. La piste des caractères spéciaux permet d'aiguiller mais je suis d'accord, c'est loin d'être infaillible. Une idée est d'avoir à disposition des dictionnaires de chaque langue et de chercher les mots du texte dedans. C'est brutal certes...

  3. #3
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Je dirais plutôt python...
    Je chercherais l'occurrence des lettres, je pense : voir la cryptographie.

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 196
    Billets dans le blog
    47
    Par défaut
    Bonsoir,

    Par un calcul de fréquence d'apparition des lettres : https://fr.wikipedia.org/wiki/Fr%C3%..._fran%C3%A7ais

  5. #5
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 25
    Par défaut
    Merci d'avoir répondu aussi rapidement, créer un dictionnaire pour chaque langue serait un travail fastidieux car il faut déjà connaitre les mots les plus utilisés de chaque langue, c'est possible comme script mais c'est encore une fois loin d'être fiable ( pour un texte très ancien avec que des mots improbables ça marchera plus).
    J'ai fait quelques recherches sur Google et je n'ai trouvé rien d'intéressants.

  6. #6
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617

  7. #7
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 25
    Par défaut
    Merci beaucoup de m'avoir apporté de précieuse informations, je vais m'y plonger dès que possible
    Merci !

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par tuxedo95 Voir le message
    Voilà je cherche à faire un script permettant de reconnaitre la langue d'un texte (français, espagnol allemand ...) et pour l'instant je n'ai aucune idée de ce qu'il faut faire.

    J'essaie de penser aux caractère spéciaux de chaque langue mais c'est pas fiable à 100% quand même.
    Normalement, c'est le genre de question à poser dans le forum algorithmes et une fois qu'on a arrêté son choix, il est temps de coder çà dans son langage préféré. Posé comme çà, c'est un peu comme si on disait, je n'ai aucune idée de la solution au problème pourvu qu'elle puisse être écrite avec Python...
    En fait, il n'y a qu'un moteur de recherche qui puisse "aider" pourvu qu'on arrive à trouver les mots clés intéressants...
    Essayez avec "NLTK language detection" (et ne me demander pas comment trouver les mots clés)

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Question sur l'analyse de la fréquence d'apparition des lettres : cette méthode peut elle est fiable sur un texte court ? Par exemple, quand tu tapes du texte dans Safari, il change assez vite de langue pour son correcteur d'orthographe, donc je ne pense pas que ça soit la technique utilisée. En revanche, sur un texte long, ça semble une piste très intéressante !


    Citation Envoyé par marco056 Voir le message
    Je dirais plutôt python...
    J'ai tellement l'habitude de répondre sur le forum C :tops:


    Citation Envoyé par wiztricks Voir le message
    Essayez avec "NLTK language detection" (et ne me demander pas comment trouver les mots clés)
    Je ne sais pas qui vient de monter du plus gros cran dans mon estime : wiztricks ou Python ?

  10. #10
    Membre expérimenté Avatar de cervo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 220
    Par défaut

    Pour mieux t'aider je te poserai juste une question. " Comment fais tu pour savoir qu'un texte est ecrit en francais ? " .. retranscris juste la reponse a cette question en langage machine ( en python je devrais dire ) et paf ton systm fontionne. saches avant tout que les programmes que l'on veut realiser sont calques sur notre raisonnement
    Je te dirais de voir diret sur wikipedia un article parlant de la " Morphologie du Francais " , " Morphologie de la Langue francaise " . Tu auras simplment la logique de reconnaissance du francais, je me ferai un reel plaisir de t'aider a transcrire en python cette logique.
    Voila deja un petit PDF pour t'aider :
    Images attachées Images attachées

  11. #11
    Membre averti
    Homme Profil pro
    Etudiant
    Inscrit en
    Décembre 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 25
    Par défaut
    Citation Envoyé par cervo Voir le message

    Pour mieux t'aider je te poserai juste une question. " Comment fais tu pour savoir qu'un texte est ecrit en francais ? " .. retranscris juste la reponse a cette question en langage machine ( en python je devrais dire ) et paf ton systm fontionne. saches avant tout que les programmes que l'on veut realiser sont calques sur notre raisonnement
    Je te dirais de voir diret sur wikipedia un article parlant de la " Morphologie du Francais " , " Morphologie de la Langue francaise " . Tu auras simplment la logique de reconnaissance du francais, je me ferai un reel plaisir de t'aider a transcrire en python cette logique.
    Voila deja un petit PDF pour t'aider :
    Merci infiniment Cervo

  12. #12
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    +1 pour l'analyse de fréquences, c'est la méthode la plus simple et comme dit précédemment sur un texte suffisament long (et bien écrit) ça marche du tonnerre

    +1 pour l'idée d'utiliser plusieurs dictionnaires de plusieurs langues et chercher à identifier les mots au fur et à mesure qu'ils arrivent en établissant un score, c'est précisément comme ça que fonctionne la méthode à base de nltk, c'est pas très compliqué à mettre en oeuvre, par contre il faut télécharger les dictionnaires au préalable/les avoir à disposition, pour un correcteur orthographique ça va de soi

    -1 pour la solution proposée par cervo qui n'en est pas une, le pdf en question ne traite d'ailleurs même pas de l'analyse de corpus de textes plutôt de la langue telle qu'elle est parlée, le sujet reste intéressant mais suivre cette piste ne mènera absolument à rien dans le cadre du problème tel qu'il est posé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 21
    Dernier message: 25/12/2008, 21h44
  2. Comment reconnaitre un fichier texte
    Par Shin no Noir dans le forum C
    Réponses: 11
    Dernier message: 19/12/2005, 21h13
  3. [ThemeEngine] Comment modifier la langue des boites de dialogue ?
    Par piloumoi dans le forum Composants VCL
    Réponses: 3
    Dernier message: 15/08/2005, 11h35
  4. Comment choisir une langue differente de la locale?
    Par julian_ross dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 01/03/2004, 18h08
  5. Comment gérer plusieurs langues ?
    Par InterSQL dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 27/02/2004, 16h12

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