Raccolta dati per l'app

Importante

LUIS verrà ritirato il 1° ottobre 2025 e a partire dal 1° aprile 2023 non sarà possibile creare nuove risorse LUIS. È consigliabile eseguire la migrazione delle applicazioni LUIS alla comprensione del linguaggio conversazionale per trarre vantaggio dal supporto continuo del prodotto e dalle funzionalità multilingue.

Un'app Language Understanding (LUIS) necessita di dati come parte dello sviluppo di app.

Dati usati in LUIS

LUIS usa il testo come dati per eseguire il training e il test dell'app LUIS per la classificazione per le finalità e per l'estrazione di entità. È necessario un set di dati sufficientemente grande in cui sono disponibili dati sufficienti per creare set di dati separati sia per il training che per i test con la diversità e la distribuzione indicati in modo specifico di seguito. I dati in ognuno di questi set non devono sovrapporsi.

Selezione dei dati di training per espressioni di esempio

Selezionare le espressioni per il set di training in base ai criteri seguenti:

  • I dati reali sono i migliori:

    • Dati reali dall'applicazione client: selezionare espressioni che sono dati reali dall'applicazione client. Se il cliente invia oggi un modulo Web con la richiesta e si sta creando un bot, è possibile iniziare usando i dati del modulo Web.
    • Dati di crowd sourced: se non sono presenti dati esistenti, prendere in considerazione le espressioni di crowdsourcing. Provare a creare espressioni di crowd source dal popolamento utenti effettivo per lo scenario per ottenere l'approssimazione migliore dei dati reali visualizzati dall'applicazione. Le espressioni umane con origine folla sono migliori delle espressioni generate dal computer. Quando si crea un set di dati di espressioni sintetiche generate su modelli specifici, non sarà presente gran parte della variazione naturale che verrà visualizzata con gli utenti che creano le espressioni e non finiranno per generalizzare bene nell'ambiente di produzione.
  • Diversità dei dati:

    • Diversità di aree: assicurarsi che i dati per ogni finalità siano il più diversi possibile, tra cui formulazione (scelta di parole) e grammatica. Se si insegnano le finalità relative ai criteri delle risorse umane sui giorni di ferie, assicurarsi di avere espressioni che rappresentano i termini usati per tutte le aree in uso. Ad esempio, in Europa le persone potrebbero chiedere informazioni taking a holiday e negli Stati Uniti potrebbero chiedere di taking vacation days.
    • Diversità della lingua: se si hanno utenti con varie lingue native che comunicano in una seconda lingua, assicurarsi di avere espressioni che rappresentano parlanti non nativi.
    • Diversità di input: prendere in considerazione il percorso di input dei dati. Se si raccolgono dati da una persona, da un reparto o da un dispositivo di input (microfono), è probabile che manchi la diversità che sarà importante per l'app per ottenere informazioni su tutti i percorsi di input.
    • Diversità di punteggiatura: si consideri che le persone usano diversi livelli di punteggiatura nelle applicazioni di testo e assicurarsi di avere una diversità di come viene usata la punteggiatura. Se si usano dati provenienti dal riconoscimento vocale, non saranno presenti segni di punteggiatura, quindi i dati non dovrebbero neanche essere presenti.
  • Distribuzione dei dati: assicurarsi che i dati distribuiti tra finalità rappresentino la stessa distribuzione dei dati ricevuti dall'applicazione client. Se l'app LUIS classifica le espressioni che sono richieste per pianificare un congedo (50%), ma visualizzerà anche espressioni relative all'individuazione dei giorni di uscita rimanenti (20%), all'approvazione delle foglie (20%) e ad alcuni elementi non compresi nell'ambito e nella chat chit (10%), il set di dati deve avere le percentuali di campionamento di ogni tipo di espressione.

  • Usa tutti i moduli dati: se l'app LUIS accetta dati in più moduli, assicurati di includere tali moduli nelle espressioni di training. Ad esempio, se l'applicazione client accetta sia l'input vocale che l'input di testo digitato, è necessario disporre della voce in espressioni generate dal testo e delle espressioni tipate. Si noteranno variazioni diverse nel modo in cui le persone parlano da come digitano, nonché errori diversi nel riconoscimento vocale e negli errori di digitazione. Tutte queste varianti devono essere rappresentate nei dati di training.

  • Esempi positivi e negativi: per insegnare un'app LUIS, è necessario conoscere la finalità (positiva) e ciò che non è (negativo). In LUIS le espressioni possono essere positive solo per una singola finalità. Quando un'espressione viene aggiunta a una finalità, LUIS rende automaticamente la stessa espressione di esempio un esempio negativo per tutte le altre finalità.

  • Dati esterni all'ambito dell'applicazione: se l'applicazione visualizzerà espressioni che non rientrano nelle finalità definite, assicurarsi di fornire tali espressioni. Gli esempi che non sono assegnati a una determinata finalità definita verranno etichettati con la finalità Nessuno . È importante avere esempi realistici per la finalità Nessuno per stimare correttamente le espressioni che non rientrano nell'ambito delle finalità definite.

    Ad esempio, se si sta creando un bot HR incentrato sul tempo di congedo e si hanno tre finalità:

    • pianificare o modificare un'uscita
    • informarsi sui giorni di congedo disponibili
    • approvare/disapprovare il congedo

    Si vuole assicurarsi di disporre di espressioni che coprono entrambe le finalità, ma che coprono anche le potenziali espressioni all'esterno di tale ambito che l'applicazione deve servire come segue:

    • What are my medical benefits?
    • Who is my HR rep?
    • tell me a joke
  • Esempi rari: l'app dovrà avere esempi rari e esempi comuni. Se l'app non ha mai visto esempi rari, non sarà in grado di identificarli nell'ambiente di produzione. Se si usano dati reali, sarà possibile stimare in modo più accurato il funzionamento dell'app LUIS nell'ambiente di produzione.

Qualità anziché quantità

Prendere in considerazione la qualità dei dati esistenti prima di aggiungere altri dati. Con LUIS si usa Machine Teaching. La combinazione delle etichette e delle funzionalità di Machine Learning definite è quella usata dall'app LUIS. Non si basa semplicemente sulla quantità di etichette per eseguire la stima migliore. La diversità di esempi e la relativa rappresentazione di ciò che l'app LUIS vedrà nell'ambiente di produzione è la parte più importante.

Pre-elaborazione dei dati

I passaggi di pre-elaborazione seguenti consentono di creare un'app LUIS migliore:

  • Rimuovi duplicati: le espressioni duplicate non avranno alcun problema, ma non sono utili, quindi la rimozione di tali espressioni consente di risparmiare tempo per l'etichettatura.
  • Applicare la stessa pre-elaborazione dell'app client: se l'applicazione client, che chiama l'endpoint di stima LUIS, applica l'elaborazione dei dati in fase di esecuzione prima di inviare il testo a LUIS, è necessario eseguire il training dell'app LUIS sui dati elaborati nello stesso modo.
  • Non applicare nuovi processi di pulizia che l'app client non usa: se l'app client accetta testo generato dal riconoscimento vocale direttamente senza alcuna pulizia, ad esempio grammatica o punteggiatura, le espressioni devono riflettere lo stesso, incluse eventuali segni di punteggiatura mancanti e qualsiasi altra mancata riconoscimento, è necessario tenere conto.
  • Non pulire i dati: non eliminare l'input in formato non corretto che è possibile ottenere dal riconoscimento vocale non crittografato, dalle ferite chiave accidentali o dal testo digitato/digitato in modo errato. Se l'app visualizzerà input come questi, è importante eseguirne il training e testarli. Aggiungere una finalità di input in formato non valido se non si prevede che l'app lo comprenda. Etichettare questi dati per consentire all'app LUIS di stimare la risposta corretta in fase di esecuzione. L'applicazione client può scegliere una risposta appropriata a espressioni non comprensibili, Please try againad esempio .

Etichettatura dei dati

  • Etichettare il testo come se fosse corretto: le espressioni di esempio devono avere tutte le forme di un'entità etichettata. Sono inclusi testo non digitato, digitato erroneamente e traslato in modo errato.

Revisione dei dati dopo che l'app LUIS è in produzione

Esaminare le espressioni endpoint per monitorare il traffico delle espressioni reali dopo aver distribuito un'app nell'ambiente di produzione. In questo modo è possibile aggiornare le espressioni di training con dati reali, migliorando così l'app. Qualsiasi app compilata con dati dello scenario crowd sourced o non reali dovrà essere migliorata in base all'uso reale.

Test della selezione dei dati per i test batch

Tutti i principi elencati in precedenza per il training delle espressioni si applicano alle espressioni da usare per il set di test. Assicurarsi che la distribuzione tra finalità ed entità rispecchi la distribuzione reale il più possibile.

Non riutilizzare le espressioni dal set di training nel set di test. Ciò influisce in modo errato sui risultati e non darà l'indicazione corretta delle prestazioni dell'app LUIS nell'ambiente di produzione.

Dopo la pubblicazione della prima versione dell'app, è consigliabile aggiornare il set di test con espressioni dal traffico reale per assicurarsi che il set di test rifletta la distribuzione di produzione ed è possibile monitorare le prestazioni realistiche nel tempo.

Passaggi successivi

Informazioni su come LUIS modifica i dati prima della stima