web-dev-qa-db-fra.com

Besoin d'un algorithme / modèle pour implémenter une progression question-réponse

.. pour un service d'aide téléphonique. En règle générale, le client téléphonera et l'opérateur d'aide explorera une série de paires de questions et réponses pour affiner le problème du client et finalement arriver à une solution.

Existe-t-il des algorithmes ou des modèles pour ce type d'interface utilisateur?

Toute autre idée sur la façon de mettre en œuvre efficacement ce sera la bienvenue.

2
slashmais

Je voudrais proposer d'utiliser le modèle Matcher structuré et son implémentation.

Un Matcher structuré est utile pour faire des choix parmi un petit ensemble discret d'alternatives. Il décompose une décision complexe en décisions plus simples sur les facteurs pertinents, puis utilise les décisions concernant ces facteurs pour prendre la décision.

Je pense qu'il est possible d'afficher chaque type de décision en tant que vue (contrôle de l'interface utilisateur, page Web, formulaire, etc.). Vous devez avoir un arbre de décision (prédéfini) ou collecter toutes les informations pour construire cet arbre de décision pendant votre travail (celui de votre client). Dans le second cas, vous pouvez utiliser Sponsor-Selector modèle (par exemple) pour sélectionner la meilleure décision en utilisant des statistiques basées sur les précédentes.

S'il vous plaît, passez en revue pour plus de détails .

2
igor

Il semble que vous ayez besoin d'un système expert.

Cela fait un moment que je n'ai rien fait à ce sujet, mais vous commencez par la question la plus élémentaire et travaillez à partir de là - tout comme le jeu "20 questions".

1
ChrisF

La méthode que je préférerais est similaire à un site de commerce électronique, où vous appliquez plusieurs filtres pour affiner les résultats.

Considérez qu'au début (avant qu'une seule question ne soit posée), toutes les solutions de votre base de données peuvent s'adapter.

Une fois que vous avez répondu à une question (je suppose que les réponses sont soit "oui/non" ou un petit nombre fini), cela réduit la liste de la solution. Répondez à quelques autres et réduisez-le encore plus.

Visuellement, je l'envisage comme deux colonnes, une avec les questions (et les réponses possibles, à partir desquelles vous en sélectionnez une par question) et la seconde avec les solutions possibles.

Avantages:

  • Vous avez toujours les solutions affichées (et en supposant un algorithme intelligent, vous pouvez également les classer par pertinence, probabilité, etc.)
  • Vous pouvez facilement déterminer n'importe quel ordre préféré pour les questions, en sauter quelques-unes et y revenir

Revenons à l'analogie, imaginez que vous achetez un téléviseur en ligne et que vous pouvez choisir la taille d'écran souhaitée. Dans ce modèle, la question serait "quelle est la taille d'écran souhaitée" et les différentes tailles seraient vos réponses.

Une approche différente serait comme les dépanneurs dans Windows - ils font une suggestion ou posent une question et vous pouvez ensuite indiquer si cela a aidé ou non. En fonction de cela, l'utilitaire de résolution des problèmes pose les questions suivantes ou suggère une autre solution.

L'inconvénient est que si vous sautez une étape que vous ne pouvez généralement pas retourner, vous ne savez pas très bien où vous en êtes (combien de questions restent) les résultats (les solutions possibles) sont suggérés un par un.

1
Dan Barak

Comme vous le dites dans votre titre, il s'agit d'une double question sur une interface utilisateur et un algorithme.

Je pense que, comme vos opérateurs d'aide peuvent également avoir peu de connaissances, ils ont besoin d'une interface utilisateur extrêmement simple. Le plus simple est de leur donner n assistant avec une question à la fois. Chaque étape élimine d'autres questions. La dernière étape est une liste de solutions possibles, quand il n'y a plus de question.

La deuxième partie est un peu hors sujet car c'est un algorithme. Fondamentalement, à chaque étape, vous devez poser la question qui éliminera potentiellement la plupart des autres questions. En fait, la meilleure question à poser est celle qui élimine la moitié des questions restantes. Si la réponse est "oui", une moitié est éliminée, si la réponse est "non", l'autre moitié est éliminée. Ceci est inspiré par le modèle d'arbre de décision .

0
Mart