Azure AI-services gebruiken met natuurlijke taalverwerking (NLP) om botgesprekken te verrijken

Notitie

De QnA Maker-service wordt op 31 maart 2025 buiten gebruik gesteld. Er is nu een nieuwere versie van de vraag- en antwoordmogelijkheid beschikbaar als onderdeel van Azure AI Language. Zie Vragen beantwoorden voor de mogelijkheden voor het beantwoorden van vragen in de Taalservice. Vanaf 1 oktober 2022 kunt u geen nieuwe QnA Maker-resources meer maken. Raadpleeg de migratiehandleiding voor informatie over het migreren van bestaande QnA Maker-knowledge bases naar het beantwoorden van vragen.

Azure AI-services bieden twee verwerkingsservices voor natuurlijke taal, Language Understanding en QnA Maker, elk met een ander doel. Begrijp wanneer u elke service moet gebruiken en hoe ze elkaar aanvullen.

Met natuurlijke taalverwerking (NLP) kan uw clienttoepassing, zoals een chatbot, met uw gebruikers werken in natuurlijke taal. Een gebruiker voert een zin of zinsdeel in. De tekst van de gebruiker mag onjuiste grammatica, spelfouten of foute interpunctie bevatten. De Azure AI-service kan toch de zin van de gebruiker doorlopen en informatie retourneren die de chatbot nodig heeft om de gebruiker te helpen.

Azure AI-services met NLP

Language Understanding (LUIS) en QnA Maker bieden NLP. De clienttoepassing verzendt tekst in natuurlijke taal. De service neemt de tekst, verwerkt deze en retourneert een resultaat.

Wanneer gebruikt u elke service?

Language Understanding (LUIS) en QnA Maker lossen verschillende problemen op. LUIS bepaalt de intentie van de tekst van een gebruiker (ook wel een uiting genoemd), terwijl QnA Maker het antwoord op de tekst van een gebruiker bepaalt (ook wel een query genoemd).

Als u de juiste service wilt kiezen, moet u weten welke gebruikerstekst afkomstig is van de clienttoepassing en welke informatie de clienttoepassing nodig heeft voor de Azure AI-service.

Als uw chatbot de tekst How do I get to the Human Resources building on the Seattle North campus?ontvangt, gebruikt u de onderstaande grafiek om te begrijpen hoe elke service met de tekst werkt.

Service Clienttoepassing bepaalt
LUIS Bepaalt de intentie van de gebruiker van tekst: de service retourneert het antwoord op de vraag niet. Deze tekst is bijvoorbeeld geclassificeerd als overeenkomend met de FindLocation intentie.
QnA Maker Retourneert het antwoord op de vraag van een aangepaste Knowledge Base. Deze tekst wordt bijvoorbeeld bepaald als een vraag met het statische tekstantwoord van Get on the #9 bus and get off at Franklin street.

Infographic om te bepalen wanneer LUIS moet worden gebruikt en wanneer QnA Maker moet worden gebruikt

Wanneer gebruikt u LUIS?

Gebruik LUIS als u de bedoeling van een uiting wilt weten als onderdeel van een proces in de chatbot. Ga verder met de voorbeeldtekst, How do I get to the Human Resources building on the Seattle North campus?, , zodra u weet dat de gebruiker een locatie zoekt, kunt u details over de uiting (opgehaald met entiteiten) doorgeven aan een andere service, zoals een transportserver, om het antwoord te krijgen.

U hoeft LUIS en QnA Maker niet te combineren om de intentie te bepalen.

U kunt de twee services voor deze uiting combineren, als de chatbot de tekst moet verwerken op basis van intenties en entiteiten (met behulp van LUIS) en het specifieke statische tekstantwoord moet vinden (met behulp van QnA Maker).

Wanneer gebruikt u QnA Maker?

Gebruik QnA Maker wanneer u een statische Knowledge Base met antwoorden hebt. Deze Knowledge Base is aangepast aan uw behoeften, die u hebt ingebouwd met documenten zoals PDF’s en URL’s.

Als u doorgaat met de voorbeelduiting, How do I get to the Human Resources building on the Seattle North campus?verzendt u de tekst als een query naar uw gepubliceerde QnA Maker-service en ontvangt u het beste antwoord.

U hoeft LUIS en QnA Maker niet te combineren om het antwoord op de vraag te bepalen.

U kunt de twee services voor deze uiting combineren, als de chatbot de tekst moet verwerken op basis van intenties en entiteiten (met behulp van LUIS) en het antwoord moet vinden (met behulp van QnA Maker).

Gebruik beide services wanneer uw Knowledge Base onvolledig is

Als u uw QnA Maker-Knowledge Base maakt, maar weet dat het onderwerpdomein verandert (zoals tijdige informatie), kunt u LUIS- en QnA Maker-services combineren. Hiermee kunt u de informatie in uw Knowledge Base gebruiken, maar ook LUIS gebruiken om de intentie van een gebruiker te bepalen. Zodra de clienttoepassing de bedoeling heeft, kan deze relevante informatie opvragen bij een andere bron.

Uw clienttoepassing moet zowel LUIS- als QnA Maker-antwoorden controleren op scores. Als de score van QnA Maker onder een willekeurige drempelwaarde ligt, gebruikt u de intentie- en entiteitsgegevens die door LUIS zijn geretourneerd om de informatie door te geven aan een service van derden.

Ga verder met de voorbeeldtekst, How do I get to the Human Resources building on the Seattle North campus?, stel dat QnA Maker een lage betrouwbaarheidsscore retourneert. Gebruik de intentie die wordt geretourneerd door LUIS FindLocation en eventuele geëxtraheerde entiteiten, zoals Human Resources building en Seattle North campus, om deze informatie te verzenden naar een toewijzings- of zoekservice voor een ander antwoord.

U kunt dit antwoord van derden ter validatie aan de gebruiker presenteren. Zodra u goedkeuring van de gebruiker hebt, kunt u teruggaan naar QnA Maker om de informatie toe te voegen om uw kennis te vergroten.

Gebruik beide services wanneer uw chatbot meer informatie nodig heeft

Als uw chatbot meer informatie nodig heeft dan beide services bieden, gebruikt u beide services en verwerkt u beide antwoorden in de clienttoepassing om door te gaan met een beslissingsstructuur.

Gebruik het CLI-hulpprogramma Bot Framework Dispatch om een proces te bouwen voor het werken met beide services. Dit hulpprogramma bouwt een top LUIS-app met intenties die als onderliggende apps worden verzonden tussen LUIS en QnA Maker. Meer informatie over integratie met LUIS, QnA Maker en Bot Framework.

Gebruik het voorbeeld van botbouwer, NLP met verzending, in C# of Node.js, om dit type chatbot te implementeren.

Aanbevolen procedures

Implementeer best practices voor elke service:

Zie ook

Volgende stappen