Intenties
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 intentie vertegenwoordigt een taak of actie die de gebruiker wil uitvoeren. Het is een doel of doel uitgedrukt in de uiting van een gebruiker.
Definieer een set intenties die overeenkomt met acties die gebruikers in uw toepassing willen uitvoeren. Een reis-app heeft bijvoorbeeld verschillende intenties:
Intenties van reis-apps | Voorbeelden van utterances |
---|---|
BookFlight | "Boek me volgende week een vlucht naar Rio" "Vlieg me naar Rio op de 24e" "Ik heb een vliegtuigticket nodig volgende zondag naar Rio de Janeiro" |
Begroeting | "Hallo" "Hallo" Goedemorgen |
Weersverwachting | "Wat is het weer in Boston?" "Toon de prognose voor dit weekend" |
Geen | "Haal me een cookie recept" "Won de Lakers?" |
Alle toepassingen worden geleverd met de vooraf gedefinieerde intentie None. Dit is de terugvalintentie.
Vooraf gemaakte intenties
LUIS biedt vooraf gedefinieerde intenties en hun uitingen voor elk van de vooraf gedefinieerde domeinen. Intenties kunnen worden toegevoegd zonder het hele domein toe te voegen. Het toevoegen van een intentie is het proces van het toevoegen van een intentie en de bijbehorende uitingen aan uw app. Zowel de intentienaam als de uitingslijst kunnen worden gewijzigd.
De scores van alle intenties retourneren
U wijst een uiting toe aan één intentie. Wanneer LUIS een uiting ontvangt, wordt standaard de belangrijkste intentie voor die uiting geretourneerd.
Als u de scores voor alle intenties voor de uiting wilt, kunt u een vlag opgeven in de querytekenreeks van de voorspellings-API.
Voorspellings-API-versie | Vlag |
---|---|
V2 | verbose=true |
V3 | show-all-intents=true |
Intentie vergeleken met entiteit
De intentie vertegenwoordigt de actie die de toepassing moet uitvoeren voor de gebruiker, op basis van de volledige uiting. Een uiting kan slechts één topscore-intentie hebben, maar er kunnen veel entiteiten zijn.
Maak een intentie wanneer de intentie van de gebruiker een actie activeert in uw clienttoepassing, zoals een aanroep naar de functie checkweather() uit de bovenstaande tabel. Maak vervolgens entiteiten om parameters weer te geven die nodig zijn om de actie uit te voeren.
Intentie | Entity | Voorbeeld van een utterance |
---|---|---|
Weersverwachting | { "type": "location", "entity": "Seattle" } { "type": "builtin.datetimeV2.date","entity": "tomorrow","resolution":"2018-05-23" } |
Hoe is het weer?Seattle tomorrow |
Weersverwachting | { "type": "date_range", "entiteit": "dit weekend" } | De prognose weergeven voor this weekend |
None- intent
De intentie None wordt gemaakt, maar blijft leeg. De intentie None is een vereiste intentie en kan niet worden verwijderd of hernoemd. Vul deze met uitingen die buiten uw domein vallen.
De intentie None is de terugvalintentie en moet 10% van de totale uitingen hebben. Het is belangrijk in elke app, omdat het wordt gebruikt om LUIS-uitingen te leren die niet belangrijk zijn in het app-domein (onderwerpgebied). Als u geen uitingen voor de intentie None toevoegt, dwingt LUIS een uiting af die zich buiten het domein bevindt in een van de domeinintenties. Hierdoor worden de voorspellingsscores scheefgetrokken door LUIS de verkeerde intentie voor de uiting te geven.
Wanneer een uiting wordt voorspeld als de intentie Geen, kan de clienttoepassing meer vragen stellen of een menu opgeven om de gebruiker naar geldige keuzes te leiden.
Negatieve intenties
Als u negatieve en positieve intenties wilt bepalen, zoals 'Ik wil een auto' en 'Ik wil geen auto', kunt u twee intenties (één positief en één negatief) maken en voor elk van beide de juiste uitingen toevoegen. U kunt ook één intentie maken en de twee verschillende positieve en negatieve termen markeren als een entiteit.
Intenties en patronen
Als u voorbeelduitingen hebt, die in deel of geheel als een reguliere expressie kunnen worden gedefinieerd, kunt u overwegen om de entiteit reguliere expressie te gebruiken die is gekoppeld aan een patroon.
Het gebruik van een entiteit met een reguliere expressie garandeert de gegevensextractie, zodat het patroon overeenkomt. Het patroon dat overeenkomt, garandeert dat een exacte intentie wordt geretourneerd.
Intentiesaldo
De intenties van het app-domein moeten een balans hebben tussen utterances voor elke intentie. U hebt bijvoorbeeld niet de meeste intenties met 10 utterances en een andere intentie met 500 utterances. Dit is niet evenwichtig. In deze situatie wilt u de intentie met 500 utterances controleren om te zien of veel van de intenties kunnen worden gereorganiseerd in een patroon.
De intentie None is niet opgenomen in het saldo. Deze intentie moet 10% van de totale uitingen in de app bevatten.
Intentielimieten
Bekijk de limieten om te begrijpen hoeveel intenties u aan een model kunt toevoegen.
Tip
Als u meer nodig hebt dan het maximum aantal intenties, kunt u overwegen of uw systeem te veel intenties gebruikt en bepaalt of meerdere intenties worden gecombineerd tot één intentie met entiteiten. Intenties die te vergelijkbaar zijn, kunnen het lastiger maken voor LUIS om er onderscheid tussen te maken. Intenties moeten gevarieerd genoeg zijn om de belangrijkste taken vast te leggen waarnaar de gebruiker vraagt, maar ze hoeven niet elk pad vast te leggen dat uw code neemt. Twee intenties: BookFlight() en FlightCustomerService() kunnen afzonderlijke intenties zijn in een reis-app, maar BookInternationalFlight() en BookDomesticFlight() zijn te vergelijkbaar. Als uw systeem deze moet onderscheiden, gebruikt u entiteiten of andere logica in plaats van intenties.
Hulp vragen voor apps met een aanzienlijk aantal intenties
Neem contact op met de ondersteuning als u het aantal intenties vermindert of uw intenties opsplitst in meerdere apps. Als uw Azure-abonnement ondersteuningsservices bevat, neemt u contact op met de technische ondersteuning van Azure.
Aanbevolen procedures voor intenties:
Afzonderlijke intenties definiëren
Zorg ervoor dat de woordenlijst voor elke intentie alleen voor die intentie is en niet overlapt met een andere intentie. Als u bijvoorbeeld een app wilt hebben die reisregelingen zoals luchtvaartmaatschappijen en hotels afhandelt, kunt u ervoor kiezen om deze onderwerpgebieden als afzonderlijke intenties of dezelfde intentie te hebben met entiteiten voor specifieke gegevens in de uiting.
Als de woordenlijst tussen twee intenties hetzelfde is, combineert u de intentie en gebruikt u entiteiten.
Bekijk de volgende voorbeelduitingen:
- Een vlucht boeken
- Een hotel boeken
"Boek een vlucht" en "boek een hotel" gebruik dezelfde woordenlijst van "boek een <zelfstandig naamwoord>". Deze indeling is hetzelfde, dus het moet dezelfde intentie zijn met de verschillende woorden van vlucht en hotel als geëxtraheerde entiteiten.
Functies toevoegen aan intenties
Functies beschrijven concepten voor een intentie. Een functie kan een woordgroepenlijst zijn met woorden die van belang zijn voor die intentie of een entiteit die van belang is voor die intentie.
Vind een zoete plek voor intenties
Gebruik voorspellingsgegevens van LUIS om te bepalen of uw intenties overlappen. Overlappende intenties verwarren LUIS. Het resultaat is dat de meest scorende intentie te dicht bij een andere intentie ligt. Omdat LUIS niet telkens hetzelfde pad door de gegevens gebruikt voor het trainen, heeft een overlappende intentie de kans om eerst of tweede te zijn in de training. U wilt dat de score van de uiting voor elke intentie verder van elkaar af is, dus deze variantie gebeurt niet. Goed onderscheid voor intenties moet elke keer resulteren in de verwachte topintentie.
Utterances verdelen over intenties
Om LUIS-voorspellingen nauwkeurig te laten zijn, moet de hoeveelheid voorbeelduitingen in elke intentie (met uitzondering van de intentie None) relatief gelijk zijn.
Als u een intentie hebt met 500 voorbeelduitingen en al uw andere intenties met 10 voorbeelduitingen, heeft de intentie 500-utterance een hogere voorspellingssnelheid.
Voorbeelduitingen toevoegen aan geen intentie
Deze intentie is de terugvalintentie, die alles buiten uw toepassing aangeeft. Voeg één voorbeelduiting toe aan de intentie None voor elke 10 voorbeelduitingen in de rest van uw LUIS-app.
Voeg niet veel voorbeelduitingen toe aan intenties
Nadat de app is gepubliceerd, voegt u alleen utterances toe van actief leren in het levenscyclusproces voor ontwikkeling. Als utterances te vergelijkbaar zijn, voegt u een patroon toe.
Combineer de definitie van intenties en entiteiten niet
Maak een intentie voor elke actie die uw bot uitvoert. Gebruik entiteiten als parameters die deze actie mogelijk maken.
Voor een bot die vliegtickets boekt, maakt u bijvoorbeeld een BookFlight-intentie . Maak geen intentie voor elke luchtvaartmaatschappij of elke bestemming. Gebruik deze stukjes gegevens als entiteiten en markeer ze in de voorbeelduitingen.