it-swarm.it

È necessario un algoritmo / modello per implementare una progressione domanda-risposta

.. per un servizio di assistenza telefonica. In genere il cliente telefonerà e l'operatore della guida eseguirà il drill down di una serie di domande e risposte per affinare il problema del cliente e infine giungere a una soluzione.

Sono disponibili algoritmi o modelli per questo tipo di interfaccia utente?

Altre idee su come implementarlo in modo efficiente saranno le benvenute.

2
slashmais

Vorrei proporre di utilizzare il modello Structured Matcher e la sua implementazione.

Un Matcher strutturato è utile quando si effettuano scelte da un piccolo insieme discreto di alternative. Decompone una decisione complessa in decisioni più semplici sui fattori rilevanti e quindi utilizza le decisioni su questi fattori per prendere la decisione.

Penso che sia possibile visualizzare ogni tipo di decisione come view (controllo UI, pagina web, modulo e così via). Devi avere un albero decisionale (predefinito) o raccogliere tutte le informazioni per costruire questo albero decisionale durante il lavoro (del tuo cliente). Nel secondo caso puoi usare il pattern Sponsor-Selector (per esempio) per selezionare la migliore decisione usando le statistiche costruite su quelle precedenti.

Per favore, rivedi maggiori dettagli .

2
igor

Sembra che tu abbia bisogno di un sistema esperto.

È passato un po 'di tempo da quando ho fatto qualcosa su questo, ma inizi con la domanda più elementare e lavori da lì - molto simile al gioco "20 domande".

1
ChrisF

Il metodo che preferirei è simile a un sito di e-commerce, in cui si applicano più filtri per perfezionare i risultati.

Considera che all'inizio (prima che sia stata posta una singola domanda), tutte le soluzioni nel tuo database possono adattarsi.

Dopo aver risposto a una domanda (suppongo che le risposte siano "sì/no" o un piccolo numero finito), questo restringe l'elenco della soluzione. Rispondi ancora un po 'e restringilo ulteriormente.

Visivamente lo immagino come due colonne, una con le domande (e le possibili risposte, da cui si seleziona una per domanda) e la seconda con le possibili soluzioni.

Benefici:

  • Hai sempre le soluzioni che mostrano (e assumendo un algoritmo intelligente, puoi anche ordinarle per pertinenza, probabilità, ecc.)
  • Puoi facilmente determinare qualsiasi ordine preferito per le domande, saltarne alcune e tornare a esse

Tornando all'analogia, immagina di acquistare una TV online e puoi scegliere la dimensione dello schermo desiderata. In questo modello la domanda sarebbe "qual è la dimensione dello schermo desiderata" e le varie dimensioni sarebbero le risposte.

Un approccio diverso sarebbe come la risoluzione dei problemi in Windows: fanno un suggerimento o fanno una domanda e quindi puoi indicare se questo ha aiutato o meno. In base a ciò, lo strumento di risoluzione dei problemi pone le domande successive o suggerisce un'altra soluzione.

Lo svantaggio è che se salti un passaggio di solito non puoi tornare, non sai bene dove ti trovi nel processo (quante domande sono rimaste) i risultati (le possibili soluzioni) vengono suggeriti uno per uno.

1
Dan Barak

Come lo affermi nel tuo titolo, è una doppia domanda su un'interfaccia utente e un algoritmo.

Penso che poiché i tuoi operatori di assistenza possono anche avere poche conoscenze, hanno bisogno di un'interfaccia utente estremamente semplice. Il più semplice dare loro n mago con una domanda alla volta. Ogni passaggio elimina alcune altre domande. L'ultimo passo è un elenco di possibili soluzioni, quando non ci sono più domande.

La seconda parte è un po 'fuori tema in quanto è un algoritmo. Fondamentalmente su ogni passaggio dovresti porre la domanda che potenzialmente eliminerà la maggior parte delle altre domande. In realtà la domanda migliore da porre è quella che elimina la metà delle domande rimanenti. Se la risposta è "sì", la metà viene eliminata, se la risposta è "no", l'altra metà viene eliminata. Questo si ispira al modello dell'albero decisionale .

0
Mart