Projektowanie botów wiedzy

DOTYCZY: ZESTAW SDK w wersji 4

Możesz zaprojektować bota wiedzy, który obejmuje praktycznie dowolny temat. Niezależnie od przypadku użycia, dla którego zaprojektowano bota wiedzy, jego podstawowy cel jest zawsze taki sam: znajdowanie i zwracanie informacji, których zażądał użytkownik, wyszukując treść danych.

Na przykład jeden bot wiedzy może odpowiedzieć na pytania dotyczące zdarzeń, takich jak "Jakie zdarzenia bota są na tej konferencji?", "Kiedy jest następny pokaz Reggae?", lub "KtoTo jest Tame Impala?" Inny może odpowiedzieć na pytania związane z IT, takie jak "Jak mogę zaktualizować mój system operacyjny?" lub "Gdzie mogę przejść do zresetowania hasła?". Jeszcze inny może odpowiedzieć na pytania dotyczące kontaktów, takich jak "KtoTo jest John Doe?" lub "Co to jest adres e-mail Jane Doe?".

W tym artykule opisano niektóre funkcje sztucznej inteligencji, które można dodać do bota, takie jak umożliwianie użytkownikowi wyszukiwania informacji, zadawania pytań lub interakcji z informacjami. Aby uzyskać informacje na temat usług Azure AI, które obsługują zestaw SDK platformy Bot Framework, zobacz Opis języka naturalnego.

Napiwek

Usługi azure AI obejmują zmieniające się technologie. W tym artykule opisano zarówno nowsze, jak i starsze funkcje.

Informacje o wynikach ufności

Niektóre funkcje umożliwiają botowi zwracanie informacji z baza wiedzy lub modelu językowego w celu dopasowania ich do pytania lub zapytania użytkownika.

Jeśli na przykład użytkownik poprosi bota wiedzy o muzyce o informacje o "impala" (zamiast pełnej nazwy zespołu "Tame Impala"), bot może odpowiedzieć na informacje, które najprawdopodobniej będą istotne dla tych danych wejściowych. Podobnie funkcje interpretacji języka mogą używać modelu językowego do wyodrębniania prawdopodobnej intencji z danych wejściowych użytkownika. Jeśli na przykład użytkownik poprosi bota biura podróży o "zarezerwowanie pokoju przez trzy dni", bot może wyodrębnić intencję "zarezerwować pokój" i śledzić zbieranie szczegółów.

Zarówno funkcja wyszukiwania, jak i rozpoznawanie intencji zwracają współczynnik ufności, który wskazuje poziom ufności aparatu, że określony wynik jest poprawny. Użyj wyników ufności, aby uporządkować wyniki lub reagować inaczej, na podstawie ogólnej zaufania do odpowiedzi.

Uwaga

Jeśli używasz kombinacji różnych typów usług lub funkcji, przetestuj dane wejściowe z każdym z narzędzi, aby określić ocenę progową dla każdego z modeli. Usługi i funkcje używają różnych kryteriów oceniania, więc wyniki wygenerowane w tych narzędziach nie są bezpośrednio porównywalne. Na przykład usługa QnA Maker użyła zakresu ufności od 0 do 100, podczas gdy funkcja odpowiadania na pytania używa zakresu od 0,0 do 1,0.

  • Jeśli pewność siebie jest wysoka, bot może odpowiedzieć na "Oto zdarzenie, które najlepiej pasuje do wyszukiwania" lub "Mogę pomóc zarezerwować pokój" i przedstawić odpowiedź lub zacząć zadawać kolejne pytania.
  • Jeśli pewność siebie jest niska, bot może odpowiedzieć na "Hmm... szukasz któregokolwiek z tych zdarzeń?" lub "Mogę ci pomóc z następującymi rzeczami:" i przedstawić listę możliwych odpowiedzi lub opcji.

Aby filtrować tematy

Możesz zaprojektować boty wiedzy, aby ułatwić użytkownikowi zawężenie i uściślinie wyszukiwania. W ramach konwersacji bot może zadawać wyjaśnienia pytań, prezentować opcje i weryfikować wyniki w taki sposób, że wyszukiwanie podstawowe nie może.

Na przykład bot zdarzeń może dowiedzieć się, jakiego typu zdarzenie interesuje użytkownik, zadając serię pytań. Rozważ następującą wymianę:

  1. Użytkownik, "zdarzenia".
  2. Bot: "Co cię interesuje? Muzyka, Komedia, Film...".
  3. Użytkownik, "Muzyka".
  4. Bot: "Jaki rodzaj muzyki cię interesuje? Any, Rock/Pop, Hip-hop/Rap, ...".
  5. Użytkownik, "Rock/Pop".
  6. Bot: "Jakiego dnia chcesz zobaczyć Rock/Pop? Piątek, sobota, niedziela, dowolny".
  7. Użytkownik, "sobota".
  8. Bot: "Oto pokazy Rock/Pop dla soboty:", z listą znalezionych pokazów.

Dzięki przetwarzaniu danych wejściowych użytkownika w każdym kroku i prezentowaniu odpowiednich opcji bot kieruje użytkownika do szukanych informacji. Gdy bot dostarczy te informacje, może również dostarczyć wskazówki dotyczące bardziej wydajnych sposobów znajdowania podobnych informacji w przyszłości.

Możesz również wpisać "Rock friday" lub wyszukać wydarzenie według nazwy.

Aby uzyskać informacje na temat powiązanych usług platformy Azure, zobacz artykuł Search in the Natural Language understanding concept (Wyszukiwanie w temacie Pojęcia interpretacji języka naturalnego).

Aby odpowiedzieć na pytania

Możesz zaprojektować boty wiedzy, aby odpowiedzieć na często zadawane pytania. Usługi, które obsługują funkcje pytań i odpowiedzi, często umożliwiają ci lub botowi:

  • Zarządzanie baza wiedzy i szkolenie go.
  • Zaimportuj informacje do baza wiedzy, na przykład z pliku danych lub strony internetowej.
  • Zgadnij, która odpowiedź najlepiej mapuje na pytanie użytkownika.
  • Zadawaj użytkownikowi pytania umożliwiające znalezienie szukanej odpowiedzi.

Aby uzyskać informacje na temat powiązanych usług platformy Azure, zobacz Pytania i odpowiedzi w artykule Dotyczącym koncepcji interpretacji języka naturalnego.

Aby interpretować intencję

Niektóre boty wiedzy wymagają możliwości przetwarzania języka naturalnego (NLP), aby umożliwić analizowanie komunikatów użytkownika w celu określenia intencji użytkownika i innych ważnych informacji.

Na przykład w botze odtwarzającym muzykę użytkownik może wysłać komunikat "Play Reggae", "Play Bob Marley" lub "Play One Love". Możesz wytrenować model językowy, aby zamapować każdy z tych komunikatów na intencję "playMusic", bez trenowania przy użyciu każdego artysty, gatunku i nazwy piosenki.

Model językowy może nie zrozumieć, czy element do odtwarzania, jednostka, jest gatunkiem, artystą lub piosenką. Jednak bot może wyszukać tę jednostkę przy użyciu tych informacji i przejść stamtąd.

Aby uzyskać informacje na temat powiązanych usług platformy Azure, zobacz Language understanding w artykule Dotyczącym pojęć związanych z językiem naturalnym.

Aby zintegrować wiele funkcji

Każda funkcja NLP jest zaawansowanym narzędziem we własnym zakresie. Jednak bot może połączyć te funkcje i inne, aby zapewnić użytkownikom bardziej płynne i naturalne środowisko. Użyj współczynników ufności, aby określić, które funkcje najlepiej mapują na komunikat użytkownika, i zadawaj pytania, jeśli najlepsze dopasowanie jest niejednoznaczne.

Na przykład taki bot może pozwolić użytkownikowi:

  • Znajdź show, w którym są zainteresowani udziałem.
  • Uzyskaj informacje na temat artysty, miejsca i wydarzenia.
  • Kup bilet lub zarejestruj się, aby uzyskać powiadomienia o przyszłych wydarzeniach.

Aby uzyskać informacje na temat powiązanych usług platformy Azure, zobacz Używanie wielu funkcji razem w artykule Dotyczącym koncepcji interpretacji języka naturalnego.

Eksplorowanie przykładów

Repozytorium Przykładów platformy Bot Framework zawiera kilka przykładowych botów, które demonstrują funkcje interpretacji języka:

Przykład Nazwa przykładu opis
11 QnA Maker (proste) Odpowiedz na pytania jako serię konwersacji jednokrotnych przy użyciu usługi QnA Maker.
13 Bot podstawowy Interpretowanie intencji użytkownika przy użyciu usługi LUIS.
14 NlP z wysyłaniem Wysyłanie komunikatów użytkownika do usługi LUIS lub usługi QnA Maker przy użyciu programu Orchestrator.
49 QnA Maker (zaawansowane) Odpowiedz na pytania przy użyciu funkcji uczenia wieloetkowego i aktywnego w usłudze QnA Maker.

Uwaga

Usługa Azure AI QnA Maker zostanie wycofana 31 marca 2025 r. Od 1 października 2022 r. nie będzie można tworzyć nowych zasobów ani baz wiedzy w programie QnA Maker. Nowsza wersja funkcji pytań i odpowiedzi jest teraz dostępna w ramach języka sztucznej inteligencji platformy Azure.

Niestandardowe odpowiadanie na pytania, funkcja języka azure AI, to zaktualizowana wersja usługi QnA Maker. Aby uzyskać więcej informacji na temat obsługi pytań i odpowiedzi w zestawie SDK platformy Bot Framework, zobacz Opis języka naturalnego.

Uwaga

Usługa Language Understanding (LUIS) zostanie wycofana 1 października 2025 r. Od 1 kwietnia 2023 r. nie będzie można tworzyć nowych zasobów usługi LUIS. Nowsza wersja interpretacji języka jest teraz dostępna w ramach języka sztucznej inteligencji platformy Azure.

Język konwersacyjny (CLU), funkcja języka AI platformy Azure, to zaktualizowana wersja usługi LUIS. Aby uzyskać więcej informacji na temat obsługi języka w zestawie SDK platformy Bot Framework, zobacz Opis języka naturalnego.

Zestaw Azure SDK dla platformy .NET i zestawu Azure SDK dla repozytoriów języka Python zawiera również kilka przykładów:

Funkcja Przykłady README
Odpowiadanie na pytania C#, Python
Omówienie języka konwersacji, przepływ pracy orkiestracji C#, Python