Snips ouvre sa technologie NLU

Posté par  (site web personnel) . Édité par Davy Defaud. Modéré par Nÿco. Licence CC By‑SA.
66
25
avr.
2018
Technologie

Snips est une jeune pousse parisienne dont le produit est un assistant vocal respectueux de la vie privée. Un assistant vocal agit en quatre étapes :

  1. détecter qu’on s’adresse à lui, généralement via un mot‐clef du type « OK » ou le surnom de l’assistant ;
  2. transformer l’entrée sonore en texte (la reconnaissance vocale) ;
  3. analyser le texte pour en sortir une intention ;
  4. agir à partir de cette intention.

Snips a publié sous licence libre (Apache 2.0) le code qui lui permet d’effectuer la troisième étape, la partie dite NLU pour « Natural Language Understanding ». Le code est en Python, mais certaines parties sont en Rust. D’un point de vue performance et précision, l’outil de Snips fait jeu égal avec les versions dans le cloud des GAFAM, voire fait parfois mieux. Et quand on sait que l’on peut faire tourner ce code sur son propre Rasberry Pi, on ne peut que saluer cette prouesse.

Aller plus loin

  • # Excellente nouvelle pour la voie !

    Posté par  (site web personnel) . Évalué à 10.

    Ah ben il était temps, ça c'est extra ;) Moi qui cherche depuis longtemps un moyen de contrôler ma domotique à la voix mais sans confier ma vie privée aux GAFAM, il semblerait que la solution soit enfin arrivée !!
    Félicitations à Snips aussi pour la démarche qui est courageuse !

  • # Auteur de snips-nlu

    Posté par  . Évalué à 10.

    Bonjour,
    Je suis un des auteurs de snips-nlu.
    Nous avons développé cette librairie avec plusieurs objectifs et contraintes en tête telles que:
    - précision des predicitons / du parsing
    - rapidité
    - faible consommation en mémoire
    - portabilité vis-a-vis des principales plateformes embarquées + iOS/Android
    - simplicité d'installation / d'utilisation

    Finalement, il s'agit de démontrer qu'il est possible d'embarquer un moteur de NLU dans tout type d'objet, sans passer par le cloud, et sans faire de compromis de performances.

    N'hésitez pas à aller voir des exemples de projets faits par la communauté grâce à la platforme Snips: https://github.com/snipsco/awesome-snips

    • [^] # Re: Auteur de snips-nlu

      Posté par  (site web personnel) . Évalué à 5.

      Bonjour,

      Merci pour cette présentation de votre produit. Cela a l'air très intéressant.
      Des tutoriels d'utilisations sont-ils disponibles pour mieux visualiser les possibilités?

      Pour information, deux coquilles sont situées sur votre site web:
      Page about: Les photos en bas de page sont étirées pour moi(mon écran: 1280x768).
      Page Technology: Our current research: Les deux paragraphes se superposent à mon écran. Impossible de lire le texte.

    • [^] # Re: Auteur de snips-nlu

      Posté par  (site web personnel) . Évalué à 7.

      C'est génial votre truc. Est-ce possible de s'en servir aussi pour comprendre simplement du texte ? Par exemple l'entrée d'un moteur de recherche ?

      Est-ce que vous prévoyez des modules "d'actions" lié à l'interprétation du texte ?

      "La première sécurité est la liberté"

      • [^] # Re: Auteur de snips-nlu

        Posté par  . Évalué à 7.

        Bonjour,
        Snips NLU, la librairie que nous avons ouverte, prend du texte en entrée et génère un objet structuré donnant l'intention (intent) de l'utilisateurs, et les paramètres (slots) de la requête.
        Elle peut être appliquée à des requêtes de moteur de recherche, à condition d'avoir entraîné le modèle pour cela. La difficulté réside dans le fait qu'un moteur de recherche est un "monde ouvert", il sera difficile de prévoir les intentions des utilisateurs, et d'entraîner le modèle à les détecter.

        • [^] # Re: Auteur de snips-nlu

          Posté par  (site web personnel) . Évalué à 4.

          Genre je déteste le moteur de recherche de twitter, qui est trop stupide. Est-ce qu'il serait possible de remplir les champs du moteur stupide avec votre library (série de date, d'auteur, voir de gamme de mot proche)

          "La première sécurité est la liberté"

  • # ça me fait penser à Mycroft

    Posté par  (site web personnel) . Évalué à 4.

    Je ne connais pas tous les détails de chaque solution, mais ça me rappelle ce que fait Mycroft, qui est une startup dont l'ambition est de faire un assistant intelligent libre.
    Ils ont déjà commercialisé un produit embarquant cette technologie, et un deuxième est en cours de lancement après quelques campagnes de financement participatives.

    Après, je ne sais pas si ça tient la route face à ceux développés par les géants du secteur.

    Je ne savais pas qu'il y avait une initiative similaire en France, c'est une bonne nouvelle !

    • [^] # Re: ça me fait penser à Mycroft

      Posté par  (site web personnel) . Évalué à 6.

      Il y a aussi https://linto.ai/ :)

      • [^] # Re: ça me fait penser à Mycroft

        Posté par  . Évalué à 2.

        Je crois pas que linto fait de l'innovation dans le domaine, c'est plutôt une intégration de techno existante de ce que j'avais compris.

    • [^] # Re: ça me fait penser à Mycroft

      Posté par  . Évalué à 6.

      Autre projet open source only SUSI.AI

    • [^] # Re: ça me fait penser à Mycroft

      Posté par  . Évalué à 10.

      Il y a effectivement des objectifs de technologie libre et respectueuse de la vie privée que Snips partage avec Mycroft.

      Cependant, une différence importante réside dans le fait que leur solution tourne sur leurs serveurs. Avec Snips, les algorithmes de reconnaissance vocale et de compréhension du langage naturel tournent 100% en embarqué. En gros, nos utilisateurs n'ont pas besoin de nous faire confiance. Nous n'accédons simplement pas à leurs données.

      En termes de performance, je vous invite à essayer. Notre solution est en accès libre pour usage non commercial sur console.snips.ai. En spécialisant nos modèles sur les cas d'usage pour lesquels ils seront utilisés, nous obtenons des performances comparables aux solutions cloud des "géants du secteur".

  • # Modèle pour le français

    Posté par  . Évalué à 5.

    J'adore ce que fait Snips, c'est vraiment au top, clair, bien développé.

    Pourriez-vous également fournir un modèle pseudo-complet de toutes les phrases-types classiques ?
    Car le code sans modèle ne sert pas à grand chose et le modèle avec 3 phrases pour la météo, même s'il marche, ne sert pas à grand chose.

    À ce que j'ai compris, vous avez comparé votre réseau pour le NLU aux autres "grands" gaffeurs du domaine, je déduis donc que vous devez avoir des corpus super gros pour ça. Pouvez-vous les partager? Sinon, connaissez-vous un lien vers de tel corpus libre, pour le français?

    Dans la même veine, Mozilla common voice est en train de finaliser sa version internationale pour le projet Common Voice, se qui devrait permettre d'avoir, très bientôt j'espère, un corpus d'audio + transcription libre en Français.

    Car pour faire un assistant libre, il faut, certes, du code libre, mais des modèles libres. Aujourd'hui la partie STT (speech to text) est majoritairement basée sur Kaldi. Seulement, impossible de trouver des modèles libres en Français pour Kaldi. Kaldi n'est pas non plus au top en terme de WER (en comparaison de la concurrence). C'est l'oeuf et la poule, tant qu'il n'y a pas de modèle libre, Kaldi n'est utilisé que pour du prototypage/recherche, et donc ne concerne que les pros du domaines. Du coup, il n'y a pas l'effet de masse qui inciterait des milliers de développeurs à améliorer Kaldi pour atteindre les performance d'un Google API.

    Avec un WER de 9% (c'est déjà très très bien), ça veut dire que l'engine NLU doit pouvoir marcher correctement avec 1 mot sur 11 pourri. Comment tester ça dans votre code sans modèle ?

    • [^] # Re: Modèle pour le français

      Posté par  . Évalué à 6.

      Sur console.snips.ai, vous trouverez un skill store. Une skill est un ensemble d'intents, avec leurs données d'entrainement, ainsi que la logique d'action associée.

      Ces skills sont partagées librement sur ce store. Certaines, en particulier celles partagées par Snips, contiennent d'importants jeux de données permettant des performances élevées.

    • [^] # Re: Modèle pour le français

      Posté par  . Évalué à 1.

      Du coté de Kalliopé on pensait intégrer snips en STT. je ne savais pas que c'était en réalité basé sur Kaldi.
      Du coup peut être que une intégration de Kaldi directement serait le mieux.
      Il y a eu des PR du coté de la lib python speeh reco, mais rien de mergé jusque la.

  • # OpenJarvis

    Posté par  (site web personnel) . Évalué à 7.

    OpenJarvis fait les parties 1, 2 et 4. Ça pourrait être sympa d'intégrer l'un avec l'autre.

    Merci pour la news.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.