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 :

traitement de phrases assistent vocal


Sujet :

Python

Vue hybride

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

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 12
    Par défaut traitement de phrases assistent vocal
    bonjours a tous ! (désoler par avance pour les fautes, je suis dyslexique) je développe un assistent vocal domotique sans prétention depuis quelque temps en python 3.X. pour la reconnaissance vocal j'utilise l'API de google et je lance la reconnaissance vocale a l'aide d'un mot clef grâce a snowboy. il peut allumer des lampes, le chauffage mai aussi effectuer de recherche web, des traduction, donner de définition avec la librairie Wikipedia etc. il tourne sous Raspbian sur une rpi. mon problème est le suivent :

    quand je récupère la phrase reconnue par google. je doit la traiter pour déterminer l'action a effectuer (recherche, définition etc.), cependant pour l’instant je fonctionne par mot clef avec des ligne de codes bête et méchant. le code n'est qu'un alignement de :

    if mot_clef1 in phrase or mot_clef2 in phrase and mot_clef3 in phrase : effectuer l'action

    cependant ce système est fastidieux a coder, et peut perforent car le temps de travaille serai très long si on devais programmer tout les phrase possible or si on met peut de mot clef dans notre condition cela peut être présidentiable pour la précision (faut positifs).

    j'aimerai donc savoirs si il y aurai un moyen plus élégant que des condition à outrance ou/et plus préci pour analyser les phrase reconnue ?

  2. #2
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    Bonjour,
    Je ne connaît pas L'api Google, mais quand je voit : if mot_clef1 in phrase or mot_clef2 in phrase and mot_clef3 in phrase : effectuer l'action est-ce que faire quelque chose du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if phrase.split()[0] == "recherche":
    	a = phrase.split().pop(0)
    	fonction_recherche_google(' '.join(a))
    elif phrase in "allume les lampes":
    	...
    elif ..
    Ce n'est qu'une proposition, sinon si tu souhaite avoir plein de commande je suis pas sur que tu puisse le faire autrement que comme ça.
    Le seul truc que tu peut faire c'est à la limite passer ta phrase en argument d'une fonction (ex recherche_google)

  3. #3
    Membre averti
    Homme Profil pro
    étudiant
    Inscrit en
    Mars 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 12
    Par défaut
    oui c'est ça, vous auriez une idée plus élégante que mon fonctionnent actuel ? quand à l'API google elle ne fais que transcrire en texte un enregistrent audio.

  4. #4
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    Bah je pense pas qu'il va y avoir 15 000 fonctions.
    Détecter le mot clef de l'instruction (ex recherche Google, recherche wikipedia, recherche YouTube, Ect ..) qui sera le premier mot de la phrase, et tu passes en argument le reste de la phrase, exemple d'utilisation dans mon précédant post.


    Pour des instructions du type 'allume les lampes' le mot clef peut être 'allumer':
    et après je ne sais pas comment tu gères ça et je n'y connaît rien mais si tu passes par un controller physique qui gère lampe, chauffage et compagnie je pense que l'utilisation d'un dictionnaire du type {'lampe' : 1, 'gaz': 2, 'volet': 3, ... } peut être intéressant, tu passes au controller juste un ID et lui pourrait switch on/off la sortie n°ID ?
    Bien sur c'est dans le cas où tu aurais un controller physique, m'enfin maintenant avec l'explosion du "tout connecter" je suis pas certains..

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

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 12
    Par défaut
    si si j'ai un contrôle physique, je gère ça avec des des relais ou j’émule les télécommandes IR de mes lampes led. et le dictionnaire serai une bonne idée, j'ai aussi entendu parler du xml mai je sais pas trop si c'est adapter a cette situation.

  6. #6
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    Citation Envoyé par micka.Lo Voir le message
    si si j'ai un contrôle physique, je gère ça avec des des relais ou j’émule les télécommandes IR de mes lampes led. et le dictionnaire serai une bonne idée, j'ai aussi entendu parler du xml mai je sais pas trop si c'est adapter a cette situation.
    Je peut donner des pistes mais difficile de vous donner le meilleur système sans connaître la configuration exacte.
    Avec un bout de code pour l'allumage de la lampe ou autre je pourrait toujours voir comment ça marche.

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/04/2014, 14h53
  2. Réponses: 5
    Dernier message: 21/02/2014, 15h06
  3. Réponses: 1
    Dernier message: 03/04/2013, 18h21
  4. Traitement des commandes vocales
    Par bliblo dans le forum MATLAB
    Réponses: 3
    Dernier message: 20/03/2013, 09h06
  5. TechDays 2012 : Angie crée des assistants personnels pilotés en mode vocal
    Par Gordon Fowler dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 09/02/2012, 16h06

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