Alexa d'Amazon , Mix de Nuance et Wit.ai de Facebook utilisent tous un système similaire pour spécifier comment convertir une commande de texte en intention - c'est-à-dire quelque chose qu'un ordinateur comprendrait. Je ne sais pas quel est le nom "officiel" de ceci, mais je l'appelle "reconnaissance d'intention". Fondamentalement, un moyen de passer de «veuillez régler mes lumières à 50% de luminosité» à lights.setBrightness(0.50)
.
La façon dont ils sont spécifiés consiste à demander au développeur de fournir une liste d '«exemples d'énoncés» qui sont associés à une intention et éventuellement étiquetés avec des emplacements «d'entités» (essentiellement des paramètres). Voici un exemple de Wit.ai:
Ma question est: comment fonctionnent ces systèmes? Puisqu'ils sont tous très similaires, je suppose qu'il y a un travail fondamental qu'ils utilisent tous. Est-ce que quelqu'un sait ce que c'est?
Il est intéressant de Houndify utilise un système différent qui est plus comme regexes: ["please"] . ("activate" | "enable" | "switch on" | "turn on") . [("the" | "my")] . ("lights" | "lighting") . ["please"]
. Je suppose que cela est intégré dans la recherche de faisceaux de leur système de reconnaissance vocale, tandis qu'Alexa, Wit.ai et Mix semblent avoir des systèmes Speech-> Text et Text-> Intent distincts.
Edit: J'ai trouvé un point de départ - Un mécanisme pour l'interaction homme-robot via des commandes vocales informelles . Il utilise quelque chose appelé analyse sémantique latente pour comparer les énoncés. Je vais vous lire à ce sujet. Au moins, cela m'a donné un point de départ dans le réseau de citation.
Edit 2: LSA compare essentiellement les mots utilisés (sac de mots) dans chaque paragraphe de texte. Je ne vois pas comment cela peut très bien fonctionner dans ce cas car il perd totalement l'ordre des mots. Bien que l'ordre des mots n'ait peut-être pas beaucoup d'importance pour ce type de commandes.
Edit 3: Les modèles de Markov à sujet caché semblent intéressants.