Gegevensverzameling voor uw app
Belangrijk
LUIS wordt op 1 oktober 2025 buiten gebruik gesteld en vanaf 1 april 2023 kunt u geen nieuwe LUIS-resources maken. We raden u aan uw LUIS-toepassingen te migreren naar gesprekstaalbegrip om te profiteren van continue productondersteuning en meertalige mogelijkheden.
Een LUIS-app (Language Understanding) heeft gegevens nodig als onderdeel van app-ontwikkeling.
Gegevens die worden gebruikt in LUIS
LUIS gebruikt tekst als gegevens om uw LUIS-app te trainen en te testen voor classificatie voor intenties en voor extractie van entiteiten. U hebt een grote gegevensset nodig die voldoende gegevens bevat om afzonderlijke gegevenssets te maken voor zowel training als test met de diversiteit en distributie die specifiek hieronder worden beschreven. De gegevens in elk van deze sets mogen niet overlappen.
Selectie van trainingsgegevens, bijvoorbeeld uitingen
Selecteer uitingen voor uw trainingsset op basis van de volgende criteria:
Echte gegevens zijn het beste:
- Echte gegevens uit de clienttoepassing: selecteer uitingen die echte gegevens uit uw clienttoepassing zijn. Als de klant vandaag een webformulier verzendt met zijn aanvraag en u een bot bouwt, kunt u beginnen met het gebruik van de webformuliergegevens.
- Crowdsource-gegevens: Als u geen bestaande gegevens hebt, kunt u crowd sourcing-utterances overwegen. Probeer crowd-source-utterances uit uw werkelijke gebruikerspopulatie voor uw scenario te verkrijgen om de beste benadering te krijgen van de echte gegevens die uw toepassing ziet. Crowdsourced menselijke uitingen zijn beter dan door de computer gegenereerde uitingen. Wanneer u een gegevensset met synthetische uitingen bouwt die zijn gegenereerd op specifieke patronen, ontbreekt er veel van de natuurlijke variatie die u ziet bij mensen die de utterances maken en uiteindelijk niet goed generaliseren in productie.
Gegevensdiversiteit:
- Regiodiversiteit: zorg ervoor dat de gegevens voor elke intentie zo divers mogelijk zijn, inclusief formulering (woordkeuze) en grammatica. Als u een intentie geeft over HR-beleid over vakantiedagen, moet u ervoor zorgen dat u utterances hebt die de termen vertegenwoordigen die worden gebruikt voor alle regio's die u gebruikt. In Europa kunnen mensen bijvoorbeeld vragen
taking vacation days
stellen overtaking a holiday
en in de VERENIGDE Staten. - Taaldiversiteit: Als u gebruikers hebt met verschillende systeemeigen talen die communiceren in een tweede taal, moet u utterances hebben die niet-native sprekers vertegenwoordigen.
- Invoerdiversiteit: Houd rekening met uw gegevensinvoerpad. Als u gegevens verzamelt van één persoon, afdeling of invoerapparaat (microfoon), mist u waarschijnlijk diversiteit die belangrijk is voor uw app voor meer informatie over alle invoerpaden.
- Interpunctiediversiteit: houd er rekening mee dat mensen verschillende interpunctieniveaus gebruiken in teksttoepassingen en ervoor zorgen dat u een diversiteit hebt van hoe interpunctie wordt gebruikt. Als u gegevens gebruikt die afkomstig zijn van spraak, hebben deze geen interpunctie, dus uw gegevens mogen ook niet.
- Regiodiversiteit: zorg ervoor dat de gegevens voor elke intentie zo divers mogelijk zijn, inclusief formulering (woordkeuze) en grammatica. Als u een intentie geeft over HR-beleid over vakantiedagen, moet u ervoor zorgen dat u utterances hebt die de termen vertegenwoordigen die worden gebruikt voor alle regio's die u gebruikt. In Europa kunnen mensen bijvoorbeeld vragen
Gegevensdistributie: zorg ervoor dat de gegevens verspreid over intenties dezelfde verspreiding vertegenwoordigen van de gegevens die uw clienttoepassing ontvangt. Als uw LUIS-app utterances classificeert die aanvragen zijn om een verlof te plannen (50%), maar er worden ook utterances weergegeven over het invragen van verlofdagen (20%), het goedkeuren van bladeren (20%) en sommige buiten bereik en chitchat (10%), dan moet uw gegevensset de steekproefpercentages van elk type uiting hebben.
Gebruik alle gegevensformulieren: als uw LUIS-app gegevens in meerdere formulieren opneemt, moet u deze formulieren opnemen in uw trainingsuitingen. Als uw clienttoepassing bijvoorbeeld zowel spraak- als getypte tekstinvoer gebruikt, moet u spraak-naar-tekst gegenereerde utterances en getypte utterances hebben. U ziet verschillende variaties in hoe mensen spreken van hoe ze typen, evenals verschillende fouten in spraakherkenning en typfouten. Al deze variatie moet worden weergegeven in uw trainingsgegevens.
Positieve en negatieve voorbeelden: Als u een LUIS-app wilt leren, moet u leren wat de intentie is (positief) en wat deze niet (negatief) is. In LUIS kunnen uitingen alleen positief zijn voor één intentie. Wanneer een uiting wordt toegevoegd aan een intentie, maakt LUIS diezelfde voorbeelduiting automatisch een negatief voorbeeld voor alle andere intenties.
Gegevens buiten het toepassingsbereik: Als uw toepassing uitingen ziet die buiten uw gedefinieerde intenties vallen, moet u deze opgeven. De voorbeelden die niet zijn toegewezen aan een bepaalde gedefinieerde intentie, worden gelabeld met de intentie None . Het is belangrijk om realistische voorbeelden te hebben voor de intentie None om correct uitingen te voorspellen die buiten het bereik van de gedefinieerde intenties vallen.
Als u bijvoorbeeld een HR-bot maakt die is gericht op verloftijd en u drie intenties hebt:
- een verlof plannen of bewerken
- vragen over beschikbare verlofdagen
- goedkeuren/goedkeuren verlof
U wilt ervoor zorgen dat u utterances hebt die beide intenties dekken, maar ook dat potentiële uitingen buiten dat bereik behandelen die de toepassing als volgt moet dienen:
What are my medical benefits?
Who is my HR rep?
tell me a joke
Zeldzame voorbeelden: Uw app moet zeldzame voorbeelden en algemene voorbeelden hebben. Als uw app nog nooit zeldzame voorbeelden heeft gezien, kan deze niet worden geïdentificeerd in productie. Als u echte gegevens gebruikt, kunt u nauwkeuriger voorspellen hoe uw LUIS-app werkt in productie.
Kwaliteit in plaats van hoeveelheid
Houd rekening met de kwaliteit van uw bestaande gegevens voordat u meer gegevens toevoegt. Met LUIS gebruikt u Machine Teaching. De combinatie van uw labels en de machine learning-functies die u definieert, is wat uw LUIS-app gebruikt. Het is niet alleen afhankelijk van de hoeveelheid labels om de beste voorspelling te doen. De diversiteit aan voorbeelden en hun weergave van wat uw LUIS-app in productie zal zien, is het belangrijkste onderdeel.
Gegevens vooraf verwerken
De volgende voorverwerkingsstappen helpen bij het bouwen van een betere LUIS-app:
- Duplicaten verwijderen: dubbele utterances doen geen pijn, maar ze helpen ook niet, dus als u ze verwijdert, bespaart het labelen tijd.
- Dezelfde client-app-voorverwerking toepassen: als uw clienttoepassing, die het LUIS-voorspellingseindpunt aanroept, gegevensverwerking tijdens runtime toepast voordat u de tekst naar LUIS verzendt, moet u de LUIS-app trainen op gegevens die op dezelfde manier worden verwerkt.
- Pas geen nieuwe opschoonprocessen toe die niet door de client-app worden gebruikt: als uw client-app spraak gegenereerde tekst rechtstreeks accepteert zonder opschoning zoals grammatica of interpunctie, moeten uw uitingen hetzelfde weerspiegelen, inclusief ontbrekende interpunctie en andere misherkenning waarvoor u rekening moet houden.
- Gegevens niet opschonen: verwijder geen ongeldige invoer die u mogelijk krijgt van vervormde spraakherkenning, onbedoelde toetsdrukken of verkeerd getypte/verkeerd gespelde tekst. Als uw app invoer als deze ziet, is het belangrijk dat deze wordt getraind en getest. Voeg een ongeldige invoerintentie toe als u niet verwacht dat uw app deze begrijpt. Label deze gegevens om uw LUIS-app te helpen bij het voorspellen van het juiste antwoord tijdens runtime. Uw clienttoepassing kan een geschikt antwoord kiezen op onleesbare uitingen zoals
Please try again
.
Gegevens labelen
- Labeltekst alsof deze juist is: de voorbeelduitingen moeten alle vormen van een entiteit hebben met een label. Dit omvat tekst die verkeerd is gespeld, verkeerd getypt en onjuist is vertaald.
Gegevensbeoordeling nadat de LUIS-app in productie is
Controleer eindpuntuitingen om echt uitingsverkeer te controleren zodra u een app hebt geïmplementeerd in productie. Hiermee kunt u uw trainingsuitingen bijwerken met echte gegevens, waardoor uw app wordt verbeterd. Elke app die is gebouwd met gegevens uit crowdsources of niet-echte scenario's, moet worden verbeterd op basis van het werkelijke gebruik.
Gegevensselectie testen voor batchtests
Alle bovenstaande principes voor trainingsuitingen zijn van toepassing op utterances die u moet gebruiken voor uw testset. Zorg ervoor dat de verdeling tussen intenties en entiteiten de werkelijke verdeling zo dicht mogelijk spiegelt.
Gebruik geen utterances uit uw trainingsset in uw testset. Dit vooroordelen over uw resultaten en geeft u niet de juiste indicatie van hoe uw LUIS-app in productie zal presteren.
Zodra de eerste versie van uw app is gepubliceerd, moet u uw testset bijwerken met uitingen van echt verkeer om ervoor te zorgen dat uw testset uw productiedistributie weerspiegelt en u realistische prestaties in de loop van de tijd kunt bewaken.
Volgende stappen
Meer informatie over hoe LUIS uw gegevens wijzigt vóór voorspelling