Kennisbots ontwerpen

VAN TOEPASSING OP: SDK v4

U kunt een kennisbot ontwerpen die vrijwel elk onderwerp behandelt. Ongeacht de use case waarvoor een kennisbot is ontworpen, is het basisdoel altijd hetzelfde: zoek en retourneer de informatie die de gebruiker heeft aangevraagd door een hoofdtekst van gegevens te doorzoeken.

Een kennisbot kan bijvoorbeeld vragen beantwoorden over gebeurtenissen, zoals 'Welke bot-gebeurtenissen zijn er op deze conferentie?', 'Wanneer is de volgende Show Van Den?' of 'Wie is Tame Impala?' Een andere kan it-gerelateerde vragen beantwoorden, zoals 'Hoe kan ik mijn besturingssysteem bijwerken?' of 'Waar kan ik mijn wachtwoord opnieuw instellen?'. Nog een andere kan vragen beantwoorden over contactpersonen zoals 'Wie is John Doe?' of 'Wat is het e-mailadres van Jane Doe?'.

In dit artikel worden enkele ai-mogelijkheden besproken die u aan een bot kunt toevoegen, zoals het zoeken naar informatie, het stellen van vragen of het werken met informatie door een gebruiker. Voor welke Azure AI-services de Bot Framework SDK ondersteunt, raadpleegt u Begrip van natuurlijke taal.

Fooi

Azure AI-services bevatten veranderende technologieën. In dit artikel worden zowel nieuwere als oudere functies beschreven.

Over betrouwbaarheidsscores

Met sommige functies kan een bot informatie retourneren uit een knowledge base of taalmodel zodat deze overeenkomt met een gebruikersvraag of -query.

Als de gebruiker bijvoorbeeld een muziekkennisbot vraagt voor informatie over 'impala' (in plaats van de volledige naam 'Tame Impala' van band), kan de bot reageren met informatie die waarschijnlijk relevant is voor die invoer. Op dezelfde manier kunnen taalkennisfuncties een taalmodel gebruiken om de waarschijnlijke intentie op te halen uit gebruikersinvoer. Als de gebruiker bijvoorbeeld een reisagentbot vraagt om 'een ruimte voor drie dagen te boeken', kan de bot een intentie 'een ruimte reserveren' extraheren en opvolgen door details te verzamelen.

Zowel zoek- als intentieherkenning retourneren een betrouwbaarheidsscore, wat aangeeft welk betrouwbaarheidsniveau de engine heeft dat een bepaald resultaat juist is. Gebruik betrouwbaarheidsscores om resultaten te ordenen of om anders te reageren, op basis van het algehele vertrouwen in uw antwoord.

Notitie

Wanneer u een combinatie van verschillende service- of functietypen samen gebruikt, test u invoer met elk van de hulpprogramma's om de drempelwaarde voor elk van uw modellen te bepalen. De services en functies maken gebruik van verschillende scorecriteria, zodat de scores die in deze hulpprogramma's worden gegenereerd, niet rechtstreeks vergelijkbaar zijn. De QnA Maker-service heeft bijvoorbeeld een betrouwbaarheidsbereik van 0 tot 100 gebruikt, terwijl de functie voor het beantwoorden van vragen een bereik van 0,0 tot 1,0 gebruikt.

  • Als het vertrouwen hoog is, reageert uw bot mogelijk met 'Hier is de gebeurtenis die het beste overeenkomt met uw zoekopdracht' of 'Ik kan u helpen een ruimte te reserveren' en het belangrijkste antwoord te geven of vervolgvragen te stellen.
  • Als het vertrouwen laag is, reageert uw bot mogelijk met 'Hmm... was u op zoek naar een van deze gebeurtenissen?' of 'Ik kan u helpen met de volgende dingen:' en een lijst met mogelijke antwoorden of opties presenteren.

Onderwerpen filteren

U kunt kennisbots ontwerpen om een gebruiker te helpen een zoekopdracht te verfijnen en verfijnen. Binnen een gesprek kan de bot duidelijkere vragen stellen, opties presenteren en resultaten valideren, op een manier die eenvoudige zoekopdracht niet kan.

Een gebeurtenisbot kan bijvoorbeeld achterhalen in welk type gebeurtenis de gebruiker geïnteresseerd is door een reeks vragen te stellen. Houd rekening met de volgende uitwisseling:

  1. Gebruiker, 'gebeurtenissen'.
  2. Bot, 'Waar bent u geïnteresseerd in? Muziek, Komedie, Film...".
  3. Gebruiker, 'Muziek'.
  4. Bot, "In welk type muziek bent u geïnteresseerd? Elke, Rock/Pop, Hiphop/Rap, ...".
  5. Gebruiker, 'Rock/Pop'.
  6. Bot, "Welke dag wil je Rock/Pop zien? Vrijdag, zaterdag, zondag, Any".
  7. Gebruiker, 'zaterdag'.
  8. Bot, 'Hier zijn de Rock/Pop-shows voor zaterdag:', met een lijst met de gevonden shows.

Door de invoer van de gebruiker in elke stap te verwerken en relevante opties te presenteren, leidt de bot de gebruiker naar de informatie die ze zoeken. Zodra de bot die informatie levert, kan deze ook richtlijnen bieden over efficiëntere manieren om soortgelijke informatie in de toekomst te vinden.

Trouwens, u kunt ook gewoon "Rock friday" typen of zoeken naar een gebeurtenis op naam.

Zie zoeken in het conceptconcept voor natuurlijke taal voor informatie over gerelateerde Azure-services.

Vragen beantwoorden

U kunt kennisbots ontwerpen om veelgestelde vragen te beantwoorden. Services die ondersteuning bieden voor vraag- en antwoordfuncties, bieden u of uw bot vaak de volgende mogelijkheden:

  • Een knowledge base beheren en trainen.
  • Gegevens importeren in een knowledge base, bijvoorbeeld vanuit een gegevensbestand of webpagina.
  • Raad welk antwoord het beste overeenkomt met de vraag van de gebruiker.
  • Stel de gebruikersopvolgvragen om het antwoord te vinden waarnaar ze op zoek zijn.

Zie vragen en antwoorden in het conceptconcept voor natuurlijke taal voor informatie over gerelateerde Azure-services.

Intentie interpreteren

Sommige kennisbots vereisen mogelijkheden voor natuurlijke taalverwerking (NLP), zodat ze de berichten van een gebruiker kunnen analyseren om de intentie van de gebruiker en andere belangrijke informatie te bepalen.

In een muziekspeelbot kan een gebruiker bijvoorbeeld 'Play Afgespeeld Worden', 'Bob Marley afspelen' of 'One Love afspelen' noemen. U kunt een taalmodel trainen om elk van deze berichten toe te wijzen aan de intentie 'afspelen Muziek', zonder dat u wordt getraind met elke artiest, genre en nummernaam.

Uw taalmodel begrijpt mogelijk niet of het ding om te spelen, de entiteit, een genre, artiest of nummer is. Uw bot kan echter naar die entiteit zoeken met behulp van deze informatie en verdergaan.

Zie language understanding in het conceptconcept voor natuurlijke taal voor informatie over gerelateerde Azure-services.

Meerdere functies integreren

Elke NLP-functie is een krachtig hulpmiddel op zichzelf. Uw bot kan deze functies en anderen echter combineren om uw gebruikers een meer vloeiende en natuurlijke ervaring te bieden. Gebruik de betrouwbaarheidsscores om te bepalen welke functie het beste wordt toegewezen aan het bericht van de gebruiker en volgvragen te stellen als de beste overeenkomst dubbelzinnig is.

Een dergelijke bot kan de gebruiker bijvoorbeeld het volgende laten doen:

  • Zoek een show die ze willen bijwonen.
  • Krijg informatie over de kunstenaar, locatie en gebeurtenis.
  • Koop een ticket of meld u aan voor kennisgevingen van toekomstige gebeurtenissen.

Zie Voor meer informatie over gerelateerde Azure-services meerdere functies samen gebruiken in het conceptartikel over begrip van natuurlijke taal.

Voorbeelden verkennen

De opslagplaats Bot Framework-voorbeelden bevat enkele voorbeeldbots die taalkennisfuncties demonstreren:

Voorbeeld Voorbeeldnaam Omschrijving
11 QnA Maker (eenvoudig) Beantwoord vragen als een reeks gesprekken met één beurt met behulp van QnA Maker.
13 Kernbot Interpreteer de intentie van de gebruiker met behulp van LUIS.
14 NLP met verzending Verzend gebruikersberichten naar LUIS of QnA Maker met behulp van Orchestrator.
49 QnA Maker (geavanceerd) Beantwoord vragen met behulp van functies voor multi-turn en actief leren in QnA Maker.

Notitie

Azure AI QnA Maker wordt op 31 maart 2025 buiten gebruik gesteld. Vanaf 1 oktober 2022 kunt u geen nieuwe resources of kennisbanken voor QnA Maker maken. Een nieuwere versie van de vraag- en antwoordmogelijkheid is nu beschikbaar als onderdeel van Azure AI Language.

Aangepaste vraagantwoorden, een functie van Azure AI Language, is de bijgewerkte versie van de QnA Maker-service. Zie Natuurlijke taalbegrip voor meer informatie over vraag- en antwoordondersteuning in de Bot Framework SDK.

Notitie

Language Understanding (LUIS) wordt op 1 oktober 2025 buiten gebruik gesteld. Vanaf 1 april 2023 kunt u geen nieuwe LUIS-resources maken. Er is nu een nieuwere versie van taalkennis beschikbaar als onderdeel van Azure AI Language.

Conversational Language Understanding (CLU), een functie van Azure AI Language, is de bijgewerkte versie van LUIS. Zie Natuurlijke taalkennis voor meer informatie over ondersteuning voor taalkennis in de Bot Framework SDK.

De Azure SDK voor .NET - en Azure SDK voor Python-opslagplaatsen bevat ook enkele voorbeelden:

Functie Leesmij-voorbeelden
Vragen beantwoorden C#, Python
Communicatietaal begrijpen, indelingswerkstroom C#, Python