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

avec Java Discussion :

Comment rechercher des mots dans des groupe de mots-clé prédéfinis?


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Comment rechercher des mots dans des groupe de mots-clé prédéfinis?
    Bonjour à tous!

    Je débute actuellement en Java et il est vrai que cela me donne du fil à retordre . En fait, j'essaie de faire une recherche avec plusieurs mots-clés. Je m'explique:

    - l'utilisateur entre sa demande et je la récupère dans une variable r

    - la fonction: String s = "r";

    String[] t = s.split("[.,;!' ]+");

    me permet de diviser ma phrase en mots

    - à partir d'un tableau comprenant des mots-clé (chaque groupe de mots-clé correspond à un chiffre), je souhaite que le programme cherche à quel groupe de mots-clé les mots de la demande correspondent afin qu'il me renvoie un chiffre (qui correspondra à ce que l'utilisateur veut faire)

    Donc, je veux que le programme "comprenne" la demande de l'utilisateur en divisant sa demande afin de trouver la correspondance la plus pertinente possible pour qu'il puisse ainsi exécuter ce qu'il demande :p. Pour récapituler je cherche à savoir comment rechercher des mots dans des groupe de mots-clé prédéfinis afin qu'il en ressorte le groupe de mots le plus pertinent par rapport aux mots! J'espère que j'ai été assez clair .

    En fait je veux que mon programme découpe tous les mots de la demande et le stocke (du coup ça je sais faire ) mais mes problèmes sont les suivants:

    - comment faire en sorte de comparer un groupe de mots avec un autre groupe de mot et qu'il en ressorte un pourcentage (le pourcentage de mots égaux)

    - parmi tous les pourcentages, le programme choisi le meilleur et renvoie le nombre qui est associé au groupe de mots prédéfini

    - faire en sorte d'associer un nombre à un groupe de mots (en fait, si un groupe de mot est choisi comme approprié à la demande de l'utilisateur, le programme prend le nombre associé à la variable).

    Ensuite (mais ça je sais faire), le programme récupère le nombre et exécute le code associé au nombre (j'utilise un switch pour faire ça).

    Voili voulou :p Quelqu'un à une idée?

    J'attend vos idées avec impatience!

    --
    Thomas.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    J'utiliserais une Map<Integer, List<String>> pour définir les groupes de mots.
    Ensuite, je prendrais chaque groupe de mot et je totaliserais le nombre de mots trouvés dans la phrase dans une autre Map<Integer, Integer> (le premier Integer représente le numéro de ton groupe de mots de la première Map).
    Le plus simple serait de faire un indexOf pour chaque mot recherché dans la chaîne source débarrassée des caractères spéciaux...
    Une fois que tu as tester tous les groupes de mots, tu n'as plus qu'à chercher le groupe qui a le plus grand nombre de mots trouvés (dans la deuxième Map)

    Peut-être que les Expressions Régulières permettent de faire certaines choses mais je ne pratique pas assez pour répondre
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    J'utiliserais une Map<Integer, List<String>> pour définir les groupes de mots.
    Ensuite, je prendrais chaque groupe de mot et je totaliserais le nombre de mots trouvés dans la phrase dans une autre Map<Integer, Integer> (le premier Integer représente le numéro de ton groupe de mots de la première Map).
    Le plus simple serait de faire un indexOf pour chaque mot recherché dans la chaîne source débarrassée des caractères spéciaux...
    Une fois que tu as tester tous les groupes de mots, tu n'as plus qu'à chercher le groupe qui a le plus grand nombre de mots trouvés (dans la deuxième Map)

    Peut-être que les Expressions Régulières permettent de faire certaines choses mais je ne pratique pas assez pour répondre
    Merci Mais saurais-tu comment on fait ? ^^ Ou pourrais-tu me donner une source afin que je comprenne? Parce que mon niveau n'est pas vraiment élevé Sinon merci quand même d'avoir pris du temps pour moi

    Thomas.

Discussions similaires

  1. Réponses: 14
    Dernier message: 21/10/2014, 11h12
  2. Comment ajouter des séries dans des graphes sur des feuilles variables
    Par Molomarcopolo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2012, 16h26
  3. Rechercher un mot dans des pages
    Par LaXaCTiF dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/10/2010, 11h07
  4. find + grep recherche de plusieurs mots dans des fichiers différents
    Par sakura.haruno dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 27/04/2010, 22h58
  5. Comment numéroter des dates dans chaque groupe?
    Par MARCO63 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 30/01/2008, 03h02

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