2009-09-09 8 views
1

Cette question peut probablement être divisée en plusieurs questions, mais ici va ...Choix multiple dynamique (comme un assistant) - Comment le concevez-vous? (par exemple schéma, modèle AI, etc.)

Essentiellement, je voudrais permettre aux utilisateurs de taper ce qu'ils aimeraient faire et fournir une interface semblable à un assistant pour demander des informations qui manquent pour compléter une requête demandée. Par exemple, disons qu'un utilisateur tape: "Quel temps fait-il à Springfield?"

Nous reconnaissons que l'utilisateur est intéressé par la météo, mais il se peut qu'il soit Springfield, Il ou Springfield dans un autre État. Une question de suivi serait:

Pour quel temps voulez-vous faire la météo à Springfield? 1 - Springfield, Il 2 - Springfield, Wi

Vous pouvez probablement penser à un million d'exemples où une donnée manque des données clés ou est ambiguë. Faire l'hypothèse de l'essentiel de ce que l'utilisateur veut peut être compris, mais il manque des éléments de données nécessaires pour compléter la demande. Peut-être que vous pouvez le prendre aussi loin que de demander ce que l'utilisateur veut faire et de les «guider» vers une requête.

Ce n'est pas une IA dans le sens de prendre n'importe quelle entrée et de vraiment la comprendre. Je ne parle pas d'avoir un moyen de tenir une conversation avec un utilisateur. Il s'agit d'inférer ce qu'un utilisateur veut, en vérifiant s'il y a un service applicable à fournir, en identifiant les entrées nécessaires et en superposant cela à ce qui manque à la demande, puis en demandant à l'utilisateur les informations restantes. C'est tout! :-)

Comment voulez-vous stocker les informations sur les services? Comment feriez-vous pour déterminer ce qui manquait dans les données d'entrée?

Mes pensées: Utilisez des expressions regex pour identifier des informations claires. Ceux-ci seront appariés aux paramètres d'un service. Déterminez quels paramètres n'ont pas de données correspondantes et recherchez la question associée pour ces paramètres. Posez ces questions et saisissez les réponses. Réexécutez le service passant dans les données nouvellement capturées. Ce seraient des questions plus libres.

Pour le choix multiple, identifiez l'ambiguïté et recherchez les correspondances potentielles classées par ordre de vraisemblance (ajoutez l'historique utilisateur/les préférences pour aider à décider). Fournir le top 3 comme choix.

Pensées appréciées.

Cheers, Henry

Répondre

1

Ce n'est pas AI dans le sens de prendre toute entrée et comprendre vraiment.

C'est certainement le cas! Vous continuez en disant exactement cela:

Je ne parle pas d'avoir un moyen de maintenir une conversation avec un utilisateur. Il s'agit d'inférer ce qu'un utilisateur veut, en vérifiant s'il y a un service applicable à fournir, en identifiant les entrées nécessaires et en superposant cela à ce qui manque à la demande, puis en demandant à l'utilisateur les informations restantes. C'est tout! :-)

L'inférence est au cœur de tous les sujets de l'IA. Qu'est-ce que l'utilisateur a voulu dire?Qu'est-ce que l'utilisateur voulait? Quelles informations dois-je chercher? Comment puis-je analyser cette information et décider quelle est la réponse? Vous essayez essentiellement de concevoir un système d'IA à la fine pointe de la technologie, qui utilise une combinaison de techniques PNL pour analyser les requêtes en langage naturel, puis en utilisant (peut-être) un algorithme d'apprentissage pour déterminer comment effectuer la recherche , peut-être frapper une base de connaissances, ou peut-être Google (qui nécessite également un processus pour analyser les données renvoyées pour trouver la réponse).

Si vous pouvez limiter la saisie de l'entrée (c'est-à-dire, comment la requête est posée), cela vous aidera. Mais alors vous allez essentiellement construire un formulaire Web ... qui a été fait un million de fois. En bref, vous essayez de créer un système très complexe, mais vous ne voulez explicitement utiliser aucune des techniques appropriées. En bref, vous essayez de créer un système très complexe. Si vous essayez d'utiliser des regex pour faire tout cela, bonne chance à vous. Parce que c'est un sacré trou de lapin profond et sombre dans lequel je ne voudrais pas tomber.

Mais si vous insistez, commencez par trouver un bon livre sur la PNL, car c'est là que vous devrez commencer quand même.

Questions connexes