Använda Azure AI-tjänster med bearbetning av naturligt språk (NLP) för att utöka robotkonversationer

Anteckning

QnA Maker-tjänsten dras tillbaka den 31 mars 2025. En nyare version av funktionen för frågor och svar är nu tillgänglig som en del av Azure AI Language. Information om funktioner för frågesvar i språktjänsten finns i frågesvar. Från och med den 1 oktober 2022 kan du inte skapa nya QnA Maker-resurser. Information om hur du migrerar befintliga QnA Maker-kunskapsbaser till frågesvar finns i migreringsguiden.

Azure AI-tjänster tillhandahåller två bearbetningstjänster för naturligt språk, Language Understanding och QnA Maker, var och en med olika syfte. Förstå när du ska använda varje tjänst och hur de kompletterar varandra.

Med bearbetning av naturligt språk (NLP) kan klientprogrammet, till exempel en chattrobot, arbeta med användarna med naturligt språk. En användare anger en mening eller fras. Användarens text kan ha dålig grammatik, stavning och fel skiljetecken. Azure AI-tjänsten kan arbeta sig igenom användardomen ändå och returnera information som chattroboten behöver för att hjälpa användaren.

Azure AI-tjänster med NLP

Language Understanding (LUIS) och QnA Maker tillhandahåller NLP. Klientprogrammet skickar text på naturligt språk. Tjänsten tar texten, bearbetar den och returnerar ett resultat.

När varje tjänst ska användas

Language Understanding (LUIS) och QnA Maker löser olika problem. LUIS avgör avsikten med en användares text (kallas ett yttrande), medan QnA Maker bestämmer svaret på en användares text (kallas en fråga).

För att kunna välja rätt tjänst måste du förstå användartexten som kommer från klientprogrammet och vilken information klientprogrammet behöver få från Azure AI-tjänsten.

Om chattroboten får texten How do I get to the Human Resources building on the Seattle North campus?använder du diagrammet nedan för att förstå hur varje tjänst fungerar med texten.

Tjänst Klientprogrammet avgör
LUIS Avgör användarens avsikt med text – tjänsten returnerar inte svaret på frågan. Den här texten klassificeras till exempel som matchande avsikten FindLocation .
QnA Maker Returnerar svaret på frågan från en anpassad kunskapsbas. Den här texten bestäms till exempel som en fråga med det statiska textsvaret .Get on the #9 bus and get off at Franklin street

Informationsgrafik för att avgöra när du ska använda LUIS och när du ska använda QnA Maker

När använder du LUIS?

Använd LUIS när du behöver känna till avsikten med uttryck som ingår i en process i chattroboten. Om du fortsätter med exempeltexten, How do I get to the Human Resources building on the Seattle North campus?, när du vet att användarens avsikt är att hitta en plats, kan du skicka information om yttrandet (som hämtas med entiteter) till en annan tjänst, till exempel en transportserver, för att få svaret.

Du behöver inte kombinera LUIS och QnA Maker för att fastställa avsikten.

Du kan kombinera de två tjänsterna för det här yttrandet, om chattroboten behöver bearbeta texten baserat på avsikter och entiteter (med HJÄLP av LUIS) samt hitta det specifika statiska textsvaret (med hjälp av QnA Maker).

När använder du QnA Maker?

Använd QnA Maker när du har en statisk kunskapsbas med svar. Den här kunskapsbasen är anpassad efter dina behov, som du har skapat med dokument som PDF-filer och webbadresser.

Fortsätt med exempelyttrandet, How do I get to the Human Resources building on the Seattle North campus?, skicka texten som en fråga till din publicerade QnA Maker-tjänst och få det bästa svaret.

Du behöver inte kombinera LUIS och QnA Maker för att fastställa svaret på frågan.

Du kan kombinera de två tjänsterna för det här yttrandet om chattroboten behöver bearbeta texten baserat på avsikter och entiteter (med HJÄLP av LUIS) samt hitta svaret (med hjälp av QnA Maker).

Använd båda tjänsterna när din kunskapsbas är ofullständig

Om du skapar din QnA Maker-kunskapsbas men vet att ämnesdomänen ändras (till exempel snabb information) kan du kombinera LUIS- och QnA Maker-tjänster. På så sätt kan du använda informationen i din kunskapsbas men även använda LUIS för att fastställa en användares avsikt. När klientprogrammet har avsikten kan det begära relevant information från en annan källa.

Klientprogrammet skulle behöva övervaka både LUIS- och QnA Maker-svar för poäng. Om poängen från QnA Maker ligger under ett godtyckligt tröskelvärde använder du avsikts- och entitetsinformationen som returneras från LUIS för att skicka informationen till en tjänst från tredje part.

Om du fortsätter med exempeltexten antar How do I get to the Human Resources building on the Seattle North campus?vi att QnA Maker returnerar en låg konfidenspoäng. Använd avsikten som returneras från LUIS FindLocation och eventuella extraherade entiteter, till exempel Human Resources building och Seattle North campus, för att skicka informationen till en mappnings- eller söktjänst för ett annat svar.

Du kan presentera det här svaret från tredje part för användaren för validering. När du har fått användarens godkännande kan du gå tillbaka till QnA Maker för att lägga till informationen för att utöka dina kunskaper.

Använd båda tjänsterna när chattroboten behöver mer information

Om chattroboten behöver mer information än vad någon av tjänsterna tillhandahåller kan du fortsätta genom ett beslutsträd genom att använda båda tjänsterna och bearbeta båda svaren i klientprogrammet.

Använd Bot Framework Dispatch CLI-verktyget för att skapa en process för att arbeta med båda tjänsterna. Det här verktyget skapar en luis-toppapp med avsikter som skickar mellan LUIS och QnA Maker som underordnade appar. Läs mer om integrering med LUIS, QnA Maker och Bot Framework.

Använd Bot Builder-exemplet NLP med dispatch i C# eller Node.jsför att implementera den här typen av chattrobot.

Bästa praxis

Implementera metodtips för varje tjänst:

Se även

Nästa steg