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.
la source
Réponses:
Bien que ne répondant pas directement à votre question, vous pouvez être intéressé par le domaine de la réponse automatique aux questions . Pour répondre aux questions de texte en langage naturel, elles doivent d'abord être comprises, ce qui chevauche votre problème.
Une bonne ressource est le cours de Jurafsky et Manning . En particulier, les sections sur la sémantique et la réponse aux questions peuvent vous aider dans ce que vous recherchez. Des vidéos de conférences sont disponibles sur youtube ici .
la source
Ce poste a une approche. Fondamentalement, ils utilisent un sac de mots - ils convertissent les mots en vecteurs clairsemés puis les additionnent.
Cela semble fonctionner assez bien mais un défaut majeur est que la réponse est indépendante de l'ordre des mots, donc vous ne pouvez pas faire de requêtes comme "Combien de kilos dans une livre" à moins que vous ne les mettiez dans un cas particulier.
Cependant, j'ai écrit avec Alexa et il est assez insensible aux changements d'ordre des mots, alors peut-être qu'ils utilisent quelque chose de similaire.
la source