Utforma kunskapsrobotar
GÄLLER FÖR: SDK v4
Du kan utforma en kunskapsrobot som omfattar praktiskt taget alla ämnen. Oavsett vilket användningsfall en kunskapsrobot är utformad för är dess grundläggande mål alltid detsamma: hitta och returnera den information som användaren har begärt genom att söka i en brödtext med data.
En kunskapsrobot kan till exempel svara på frågor om händelser som "Vilka robothändelser finns det på den här konferensen?", "När är nästa Reggae-show?", eller "Vem är Tame Impala?" En annan kan besvara IT-relaterade frågor, till exempel "Hur gör jag för att uppdatera mitt operativsystem?" eller "Vart går jag för att återställa mitt lösenord?". En annan kan svara på frågor om kontakter som "Vem är John Doe?" eller "Vad är Jane Doe:s e-postadress?".
Den här artikeln beskriver några av de AI-funktioner som du kan lägga till i en robot, till exempel för att låta en användare söka efter information, ställa frågor eller interagera med information. Information om vilka Azure AI-tjänster som Bot Framework SDK stöder finns i Förstå naturligt språk.
Dricks
Azure AI-tjänster innehåller nya tekniker. Den här artikeln beskriver både nyare och äldre funktioner.
Om konfidenspoäng
Vissa funktioner gör det möjligt för en robot att returnera information från en kunskapsbas- eller språkmodell för att matcha en användarfråga eller fråga.
Om användaren till exempel ber en musikkunskapsrobot om information om "impala" (i stället för bandets fullständiga namn "Tame Impala" kan roboten svara med information som är mest sannolikt relevant för dessa indata. På samma sätt kan funktioner för språktolkning använda en språkmodell för att extrahera den troliga avsikten från användarindata. Om användaren till exempel ber en resebyrårobot att "boka ett rum i tre dagar" kan roboten extrahera en avsikt att "reservera ett rum" och följa upp genom att samla in information.
Både söknings- och avsiktsigenkänning returnerar en konfidenspoäng, vilket anger hur säker motorn har på att ett visst resultat är korrekt. Använd konfidenspoäng för att ordna resultat eller för att svara annorlunda, baserat på det övergripande förtroendet för ditt svar.
Kommentar
När du använder en kombination av olika tjänst- eller funktionstyper tillsammans testar du indata med vart och ett av verktygen för att fastställa tröskelvärdet för var och en av dina modeller. Tjänsterna och funktionerna använder olika bedömningskriterier, så poängen som genereras i dessa verktyg är inte direkt jämförbara. Till exempel använde QnA Maker-tjänsten ett konfidensintervall på 0 till 100, medan frågesvarsfunktionen använder intervallet 0,0 till 1,0.
- Om förtroendet är högt kan din robot svara med "Här är händelsen som bäst matchar din sökning" eller "Jag kan hjälpa dig att reservera ett rum" och presentera det översta svaret eller börja ställa uppföljningsfrågor.
- Om förtroendet är lågt kan din robot svara med "Hmm... var du ute efter någon av dessa händelser?" eller "Jag kan hjälpa dig med följande saker:" och presentera en lista över möjliga svar eller alternativ.
Så här filtrerar du ämnen
Du kan utforma kunskapsrobotar för att hjälpa en användare att begränsa och förfina en sökning. I en konversation kan roboten ställa klargörande frågor, presentera alternativ och validera resultat på ett sätt som grundläggande sökning inte kan göra.
En händelserobot kan till exempel ta reda på vilken typ av händelse användaren är intresserad av genom att ställa en rad frågor. Överväg följande utbyte:
- Användare, "händelser".
- Robot: "Vad är du intresserad av? Musik, komedi, film...".
- Användare, "Musik".
- Robot, "Vilken typ av musik är du intresserad av? Any, Rock/Pop, Hip-hop/Rap, ...".
- Användare, "Rock/Pop".
- Robot: "Vilken dag vill du se Rock/Pop? Fredag, lördag, söndag, alla".
- Användare, "lördag".
- Bot, "Here are the Rock/Pop shows for Saturday:", med en lista över de hittade showerna.
Genom att bearbeta användarens indata i varje steg och presentera relevanta alternativ vägleder roboten användaren till den information som de söker. När roboten har levererat den informationen kan den också ge vägledning om mer effektiva sätt att hitta liknande information i framtiden.
Förresten kan du också bara skriva "Rock friday" eller söka efter en händelse efter namn.
Information om relaterade Azure-tjänster finns i artikeln Om att förstå naturligt språk.
Besvara frågor
Du kan utforma kunskapsrobotar för att besvara vanliga frågor. Tjänster som stöder fråge- och svarsfunktioner gör det ofta möjligt för dig eller din robot att:
- Hantera och träna en kunskapsbas.
- Importera information till en kunskapsbas, till exempel från en datafil eller webbsida.
- Gissa vilket svar som passar bäst för användarens fråga.
- Ställ uppföljande frågor till användaren för att hitta det svar de letar efter.
Information om relaterade Azure-tjänster finns i Artikeln Om frågor och svar i begreppsbegrepp för naturligt språk.
Tolka avsikt
Vissa kunskapsrobotar kräver nlp-funktioner (natural language processing) så att de kan analysera en användares meddelanden för att fastställa användarens avsikt och annan viktig information.
I en musikspelrobot kan en användare till exempel meddela "Play Reggae", "Play Bob Marley" eller "Play One Love". Du kan träna en språkmodell för att mappa vart och ett av dessa meddelanden till avsikten "playMusic", utan att tränas med varje artist, genre och låtnamn.
Din språkmodell kanske inte förstår om saken att spela, entiteten, är en genre, artist eller låt. Roboten kan dock söka efter den entiteten med hjälp av den här informationen och fortsätta därifrån.
Information om relaterade Azure-tjänster finns i artikeln Language understanding in the Natural language understanding concept (Språktolkning i begreppsbegrepp för naturligt språk).
Så här integrerar du flera funktioner
Varje NLP-funktion är ett kraftfullt verktyg i sig. Din robot kan dock kombinera dessa funktioner och andra för att ge användarna en mer smidig och naturlig upplevelse. Använd konfidenspoängen för att avgöra vilken funktion som bäst mappar till användarens meddelande och ställ uppföljningsfrågor om den bästa matchningen är tvetydig.
En sådan robot kan till exempel låta användaren:
- Hitta en show som de är intresserade av att delta i.
- Få information om artisten, lokalen och evenemanget.
- Köp en biljett eller registrera dig för meddelanden om framtida händelser.
Information om relaterade Azure-tjänster finns i Använda flera funktioner tillsammans i artikeln Begrepp för förståelse av naturligt språk.
Utforska exempel
Bot Framework Samples-lagringsplatsen har några exempelrobotar som visar funktioner för språktolkning:
Exempel | Exempelnamn | Description |
---|---|---|
11 | QnA Maker (enkel) | Svara på frågor som en serie konversationer med en enda tur med QnA Maker. |
13 | Kärnrobot | Tolka användarens avsikt med hjälp av LUIS. |
14 | NLP med dispatch | Skicka användarmeddelanden till LUIS eller QnA Maker med Orchestrator. |
49 | QnA Maker (avancerat) | Besvara frågor med hjälp av funktioner för multi-turn och aktiv inlärning i QnA Maker. |
Kommentar
Azure AI QnA Maker dras tillbaka den 31 mars 2025. Från och med den 1 oktober 2022 kan du inte skapa nya QnA Maker resurser eller kunskapsbaser för 2022. En nyare version av fråge- och svarsfunktionen är nu tillgänglig som en del av Azure AI Language.
Svar på anpassade frågor, en funktion i Azure AI Language, är den uppdaterade versionen av QnA Maker-tjänsten. Mer information om stöd för frågor och svar i Bot Framework SDK finns i Förstå naturligt språk.
Kommentar
Language Understanding (LUIS) dras tillbaka den 1 oktober 2025. Från och med den 1 april 2023 kan du inte skapa nya LUIS-resurser. En nyare version av språktolkning är nu tillgänglig som en del av Azure AI Language.
Conversational Language Understanding (CLU), en funktion i Azure AI Language, är den uppdaterade versionen av LUIS. Mer information om stöd för språktolkning i Bot Framework SDK finns i Förstå naturligt språk.
Azure SDK för .NET- och Azure SDK för Python-lagringsplatser har också några exempel:
Funktion | EXEMPEL PÅ README |
---|---|
Frågor och svar | C#, Python |
Konversationsspråksförstedelse, orkestreringsarbetsflöde | C#, Python |