Dicembre 2018

Volume 33 numero 12

Servizi cognitivi - ottenere informazioni dettagliate da conversazioni che utilizzano Data Mining di processo con LUIS

Dal Zvi Topol

L'Intelligence servizio LUIS (Language Understanding) è un'API di servizi cognitivi Microsoft che offre una comprensione del linguaggio naturale come servizio per gli sviluppatori. Come parte di tale servizio, quando vengono specificati input dell'utente, denominato un utterance, LUIS restituisce l'intento rilevato dietro utterance, vale a dire, ciò che l'utente intende lo riconosca. In un articolo precedente (msdn.com/magazine/mt847187), illustrato come migliorare il rilevamento preventivo LUIS, sfruttando strumenti open source che forniscono informazioni a livello di word in modo in cui vengono classificati Intent.

In questo articolo intende richiedere un passaggio o due superiore nella gerarchia e passare da parole a conversazioni intere. In particolare, mi concentrerò su come ottenere informazioni dettagliate dai dati discorsive, per cui si intendono dati che sono composto da sequenze di espressioni che collettivamente costituiscono una conversazione.

A tal fine, vi presenterò processo di data mining, un campo di analitica specializzato in cui acquisire le informazioni provenienti da sequenze di eventi. Verrà quindi illustrato come trasformare dati discorsive, ovvero piuttosto non strutturati, in un set di dati strutturati applicando LUIS per ogni utterance in una conversazione. Infine, si utilizzerà data mining di processo sul set di dati trasformato, strutturati per ricavare informazioni dettagliate sulle conversazioni originale.

che ci permetterà di assistere a un round trip completo dal server al client. Iniziamo.

Data Mining di processo

Processo data mining è un campo di analitica dei dati il cui obiettivo principale è l'individuazione dei processi (sequenze di eventi o gli Stati con un risultato specifico) e il recapito di informazioni dettagliate sul processo da dati del registro eventi. Dati del registro eventi sono un set di dati specifica per ogni evento il timestamp in corrispondenza del quale si è verificato, insieme a altri possibili campi o attributi che descrivono l'evento. (Ulteriori informazioni su esso in un secondo momento.)

I domini a cui sono stati applicati gli strumenti di data mining del processo includono servizi finanziari, sanitari e produzione. Gli esempi includono l'analisi dei processi dell'applicazione mutuo per identificare i colli di bottiglia e i ritardi nelle applicazioni del cliente, lo stato dei pazienti monitorati tramite gli Avanti/diversi reparti, dai ammissione dei pazienti tramite per rilasciare, e miglioramento dei processi di produzione parte in una società di produzione riga del computer.

Ridimensionamento di algoritmi che power elaborare data mining in modo che siano in grado di elaborare grandi set di dati degli eventi è stata un'area critica dello stato attivo in strutture universitarie e del settore. Un'altra sfida intralciano l'adozione su larga scala di data mining di processo consiste nel fatto che in molte organizzazioni, i dati non sono attualmente raccolti e formattati in modo che possa essere utilizzata correttamente dal software di data mining del processo. Questa opzione per modificare in base alle più organizzazioni venire a conoscenza del valore della trasformazione digitale e processo decisionale basato sui dati previsto.

Processo data mining è stata un'ARA di ricerca attiva per molti anni e, pertanto, ha tratto vantaggio dallo sviluppo di numerosi algoritmi che consentono l'individuazione dei processi e la derivazione di insights. In questo contesto, vale la pena che indica Prof Wil van der Aalst (bit.ly/2QNBvEW), attualmente presso la University Aachen, che viene considerato una delle d' questo campo. Prof van der Aalst è inoltre autore di "Data Mining di processo: Analisi scientifica dei dati nell'azione"(Springer 2016), uno dei libri di testo importante nel campo e un buon inizio scegliere se si desidera approfondire l'argomento sugli algoritmi di data mining del processo.

Per quanto riguarda maturo software commerciali di data mining del processo passa i prodotti, sono numerose le società con offerte utili, tra cui Celonis (celonis.com), Fluxicon (fluxicon.com) e Minit (minit.io). Esistono anche alcuni prodotti open source, in particolare ProM (promtools.org/doku.php), che offre l'integrazione con strumenti di data mining, ad esempio RapidMiner (rapidprom.org).

Oltre ai prodotti di data mining di processo autonomo, troverai anche pacchetti e le librerie disponibili per le lingue di analisi dati comuni, ad esempio R e Python che forniscono le interfacce di programmazione alla funzionalità di data mining del processo. Ecco alcuni esempi edaR: analisi di dati basato su eventi esplorativo e descrittivo in R (bit.ly/2OSGozv) e PMLab, ovvero un ambiente interattivo scritto in Python che include i componenti di base per a livello di codice applicare le tecniche di data mining del processo (github.com/pmlab/pmlab-full).

In questo articolo, utilizzerò Disco come lo strumento di data mining del processo principale. È possibile scaricare una versione di valutazione fluxicon.com/disco. Disco ha un'interfaccia utente intuitiva, è facile da usare e ha un set completo di funzionalità. È anche uno strumento diffuso nelle varie classi introduttive online sul data mining di processo.

Mentre ti mostrerò come ricavare informazioni dettagliate dai dati discorsive mediante Disco, aspetto verrà trattato completamente tutte le relative funzionalità. A tal fine, è opportuno esaminare il manuale più completo che può essere scaricato dal bit.ly/2CHtfnc.

Ora che ho ho presentato processo data mining, è possibile approfondire qualcosa ho già accennato brevemente, dati dei registri eventi. Ma cos'è esattamente i dati dei registri eventi o, più utili in questo caso, per individuare i tipi di set di dati di evento log mining processo applicabile?

Data mining processo richiede almeno i set di dati del registro eventi con i seguenti tre campi presentano nei dati:

  1. ID del caso, che è l'ID di un oggetto che passa attraverso i diversi eventi.
  2. ID attività, che definisce il tipo di eventi che possono verificarsi per un oggetto.
  3. Timestamp, ovvero la data e l'ora di un evento specifico che si sono verificati in un oggetto specificato.

Naturalmente, possono esserci campi aggiuntivi presenti nel set di dati, nonché, che è possano specificare altre informazioni sull'oggetto. In seguito spiegherò come rappresentare dati discorsive come dati del registro eventi.

Recupero dati discorsive pronto per Data Mining di processo

Come parte dell'approccio generale, voglio rappresentano le conversazioni come processi. Ogni caso di processo o l'istanza è quindi una conversazione specifica, e la finalità delle espressioni diverse in ogni conversazione diventano quindi i diversi eventi o gli stati del processo. In un secondo momento, verrà illustrato come può essere utile per acquisire le informazioni da conversazioni.

Per rendere le cose più concreto, userà un esempio di dati discorsive dallo spazio della tecnologia finanziaria. Nel download che accompagna questo articolo sono disponibili un file CSV che contiene 10 diversi conversazioni simulate di utenti con un chatbot che fornisce supporto in merito ipotecari. Tenere presente che questi dati discorsive sono limitati e contengono solo i campi necessari a cui applico processo data mining. Inoltre, per motivi di semplicità, ho scelto di includere solo le espressioni di utente, non le risposte di sistema. Se si desidera, è possibile decidere di includere le risposte di sistema o qualsiasi altro dato si ritiene che è correlato, ad esempio informazioni riguardanti le sessioni di chat, i dati utente e così via.

I campi inclusi nel set di dati CSV sono:

  1. CONVERSATION.ID, che identifica la conversazione in modo univoco e viene eseguito il mapping di seguito per l'ID del Case.
  2. Utterance, che essenzialmente i dati di testo non strutturati a cui viene applicato LUIS per identificare gli Intent ed è utterance dell'utente.
  3. TimeStamp, che è il timestamp per una determinata coppia ID/Utterance conversazione. Si utilizzerà questo campo in un secondo momento come il timestamp per data mining di processo.
  4. Finalità, ovvero un intent identificato dal servizio LUIS. Questo campo verrà mappato all'ID attività per data mining di processo.

Si noti che, sebbene sia possibile usare LUIS per identificare gli Intent e le entità (riferimenti agli oggetti reali che vengono visualizzati in un utterance), ho scelto, per semplicità anche in questo caso, per concentrarsi su solo Intent. Nei dati sono incluse le finalità seguenti:

  • GreetingIntent: una conversazione o messaggio di saluto opener.
  • ExplorationIntent: un generale esplorativo utterance apportate dall'utente.
  • OperatorRequestIntent: richiesta dall'utente di pronunciare un operatore umano.
  • SpecificQuestionIntent: una domanda da parte dell'utente relativa alla tariffa di calcolo del mutuo.
  • ContactInfoIntent: contattare le informazioni fornite dall'utente.
  • PositiveFeedbackIntent: commenti positivi fornito dall'utente.
  • NegativeFeedbackIntent: commenti negativi fornito dall'utente.
  • EndConversationIntent: fine della conversazione con il bot avviato dall'utente.

È quindi identificato determinate Intent per ogni utterance nella conversazione illustrata nella figura 1 (nell'ordine indicato): ExplorationIntent, SpecificQuestionIntent, PositiveFeedbackIntent, ContactInfoIntent ed EndConversationIntent. In questo modo, i dati originali discorsive viene trasformati in sequenze di Intent. Il risultato di questa trasformazione verrà essere utilizzato come input per Disco.

Figura 1 conversazione con CONVERSATION.ID 3

ConversionId TimeStamp Utterance
3 2018-04-02 14:03:02 È possibile, avere virgolette delle tariffe di calcolo del mutuo
3 2018-04-02 14:03:05 Si è interessati a 15 anni solo per rifinanziamento
3 2018-04-02 14:03:08 Eccellente, sarebbe interessante continuare
3 2018-04-02 14:04:12 Il messaggio di posta elettronica è x@x.com
3 2018-04-02 14:04:15 Grazie per aver preso parte, viene essere in attesa di nuovo

Applicazione di Data Mining di processo ai dati discorsive mediante Disco

Per applicare Disco, è possibile importare il file CSV con i dati colloquiali e mappare i tre campi obbligatori descritti in precedenza, ovvero CONVERSATION.ID, TimeStamp e Utterance. Questa operazione è illustrata nel figura 2.

Importazione di dati espresse in Disco
Figura 2 importazione di dati espresse in Disco

Dopo aver importato il volume condiviso cluster, Disco ti darà accesso a tre visualizzazioni che specificherò uno alla volta: Mappa, statistiche e i casi. La prima vista, mappa, è la mappa del processo individuato dal Disco dai dati colloquiali. La mappa è una rappresentazione grafica delle diverse transizioni nel processo di tra gli eventi, nonché le frequenze e le ripetizioni dei diversi eventi. In questo caso, questi sono le diverse transizioni tra gli scopi. Figura 3 Mostra la mappa individuata da Disco per le conversazioni.

Visualizzazione mappa nel Disco
Figura 3 visualizzazione mappa nel Disco

Dal figura 3, è possibile ottenere una panoramica generale delle conversazioni e vedere che è possono avviare le conversazioni in uno dei tre modi diversi, ovvero un messaggio di saluto, una richiesta di operatore o una domanda delle rate di mutuo specifiche, con specifiche delle rate di mutuo domande da molto di frequente. La maggior parte delle conversazioni terminano con un EndConversationIntent, ma alcuni fine con gli altri tipi che rappresentano messaggi di saluto e commenti negativi. In particolare per quanto riguarda commenti negativi, tali può puntare a conversazioni outlier che potrebbero richiedere maggiore attenzione.

Inoltre, le transizioni tra finalità diverse possono anche fornire informazioni molto utili per la derivazione di Intent. Ad esempio, potrebbe essere possibile determinare se sono presenti espressioni specifici o gli Intent che portano all'Intent che rappresenta commenti negativi. Potrebbe quindi essere preferibile alle conversazioni unità lontano da tale percorso.

Come accennato in precedenza, le informazioni sulle ripetizioni di Intent e transizioni sono immediatamente disponibili come parte della visualizzazione della mappa. In particolare, si noterà che i due tipi più comuni in questo caso sono SpecificQuestionIntent ed EndConversationIntent e che le transizioni da precedente a quest'ultimo sono molto comuni. Ciò fornisce un ottimo riepilogo immediatamente relativi al contenuto delle conversazioni.

Anche possibile presentare un'opportunità per migliorare le conversazioni considerando scomporre SpecificQuestionIntent ed EndConversationIntent in modo più capillare Intent livello di dettaglio che consente di acquisire più dettagliati aspetti dell'interazione dell'utente. Questo deve essere seguito dalla LUIS di ripetizione del training e ripetendo l'applicazione di data mining di processo per i dati modificati colloquiali.

Ora diamo uno sguardo alla vista, le statistiche che è raffigurato nel figura 4. Qui è possibile ottenere informazioni dettagliate relative alla durata delle conversazioni. Si noti che le conversazioni sono ora raggruppate in ciò che Disco chiama "Variant", che sono essenzialmente simile flussi conversazioni che hanno la stessa finalità e le transizioni tra gli scopi. La parte di panoramica della visualizzazione delle statistiche consente di ottenere le statistiche di riepilogo, quali mediani e Media, nonché informazioni sulle durate end-to-end di conversazioni diverse. Ciò può essere utile per identificare gli outlier, ad esempio le conversazioni molto breve e per controllare questo ID con conversazioni dalla mappa visualizzare riguardanti le conversazioni potenzialmente problematiche. È anche possibile identificare le conversazioni con per periodi più lunghi. Nell'esempio riportato di che seguito usare quelli possono risultare conversazioni ha esito positivo.

Panoramica e le statistiche di riepilogo nel Disco
Figura 4 Panoramica e le statistiche di riepilogo nel Disco

Per approfondire le conversazioni che presentano comportamenti interessanti, ad esempio, le conversazioni insolitamente lunga o breve o le conversazioni con determinate strutture preventivi, è possibile usare funzionalità di filtraggio avanzate del Disco. In qualsiasi momento, Disco consente di filtrare il set di dati generale da varie dimensioni. Ad esempio, è possibile identificare la conversazione gli ID di interesse specifica, applicare il filtro appropriato e quindi esaminare le diverse viste in una modalità filtrata. Ciò consente di identificare i modelli comuni per le conversazioni filtrate.

Disco consente inoltre di esaminare le conversazioni a livello di intent (usando la sezione attività della visualizzazione delle statistiche), che specifica diverse statistiche di riepilogo che riguardano l'Intent. Ciò è illustrato figura 5. Qui si ottiene una distribuzione di finalità diverse dalle conversazioni e si può notare che, per fortuna, l'intento di commenti negativi comprende solo circa il 3% dell'Intent dalle conversazioni.

Statistiche riepilogative riguardanti gli Intent nel Disco
Figura 5 alle statistiche riepilogative riguardanti gli Intent nel Disco

La visualizzazione di analisi finale per coprire è la visualizzazione di case, che mostra le conversazioni diversi in base al tipo di variante. Ad esempio, nella figura 6 è possibile visualizzare una conversazione specifica, con conversazione ID 9, a cui appartiene una variante con due finalità: SpecificQuestionIntent ed EndConversationIntent. In questa vista è molto utile per confrontare le conversazioni con strutture simili. Possono aiutare a altre, ad esempio, se sono presenti eventuali modelli è possibile adottare che contribuiscono a rendere le conversazioni più successo o, se si per individuare differenze impreviste, consente di scoprire cosa sta provocando.

La visualizzazione di casi nel Disco
Figura 6 consente di visualizzare i case nel Disco

Prima di concludere, desidero tenere presente che le informazioni dettagliate e le funzionalità di Disco è stato rivisto finora non sono complete, ma piuttosto illustrano i vantaggi dell'applicazione di tecniche di data mining del processo per le conversazioni modellate come processi.

Come accennato in precedenza, è possibile esplorare utilizzando molti campi aggiuntivi come parte della rappresentazione in forma di attività. È possibile includere, ad esempio, informazioni su entità specifiche in espressioni utente; le risposte dell'interfaccia discorsiva; o i dati sugli utenti, ad esempio località, le interazioni precedente con il sistema e così via. Tali rappresentazioni avanzate consentirà di migliorare la profondità di informazioni dettagliate dai tuoi dati colloquiali e meglio discorsive sistemi di compilazione. Consiglia di esplorare altri.

Conclusioni

È stato introdotto il concetto processo data mining e hanno mostrato come sfruttare i vantaggi che la tecnologia in combinazione con LUIS per ricavare informazioni dettagliate dai dati colloquiali. In particolare, LUIS viene applicato per le espressioni diverse nelle conversazioni per trasformare il testo non strutturati utterance alle etichette preventivo strutturate. Quindi, tramite un mapping dell'ID di conversazione, timestamp e gli Intent ai campi di data mining del processo e tramite Disco, ho illustrato come applicare processo data mining per i dati strutturati colloquiali. Usando le diverse visualizzazioni fornite da Disco, dall'individuazione di processo che Mostra struttura complessiva di conversazione per il raggruppamento di conversazioni in diverse varianti, è possibile derivare informazioni dettagliate dai dati trasformati discorsive, ad esempio di ciò che rende conversazione ha esito positivo e su come usare tali conoscenze per migliorare le conversazioni che hanno meno esito positivo.

Tenere presente che questo articolo è molto di ciò che è possibile quando l'applicazione di data mining di processo ai dati discorsive generica. Spero che utilizzano le risorse presentate in questo articolo, insieme agli altri utenti che può risultare lungo il percorso, ti permetterà sfruttare processo di data mining per creare migliori, più interfacce discorsive accattivanti.


Zvi Topolha lavorato come un data scientist in vari settori industriali verticali, tra cui marketing analitica, media e intrattenimento e Internet delle cose industriale. Egli ha recapitato e causare più machine learning e analitica progetti, tra cui il linguaggio naturale e interfacce vocali, ricerca cognitiva, analisi video, sistemi di raccomandazione e sistemi di supporto decisionale di marketing. Topol è attualmente con MuyVentive, un analitica avanzata R & società D ed è possibile contattarlo zvi.topol@muyventive.com.

Grazie al seguente esperto tecnico Microsoft che ha esaminato in questo articolo: Sandeep Alur


Discutere di questo articolo nel forum di MSDN Magazine