Korzystanie z encji i wypełnianie miejsc na wartość w pomocnikach
Duża częścią konwersacji z pomocnikiem w usłudze Copilot Studio jest rozumienie języka naturalnego, co pozwala sztucznej inteligencji na interpretowanie zamiaru użytkownika. Na przykład , gdy użytkownik powie „Chcę użyć mojej karty upominkowej, ale nie działa”, a pomocnik może skierować użytkownika do tematu związanego z niedziałającymi kartami upominkowymi — nawet jeśli dokładna fraza nie została wymieniona jako fraza wyzwalająca.
Jednym z podstawowych aspektów rozumienia języka naturalnego jest identyfikowanie encji w sesji dialogowej użytkownika. Obejrzyj film, aby rozpocząć pracę z encjami.
Encję można traktować jako jednostkę informacji reprezentującą pewien typ obiektu ze świata rzeczywistego, taki jak numer telefonu, kod pocztowy, miejscowość lub nawet imię i nazwisko osoby. Dzięki wiedzy oferowanej przez encje pomocnik może inteligentnie rozpoznawać istotne informacje wprowadzone przez użytkownika i zapisywać je w celu późniejszego użycia.
Wstępnie skompilowane encje
Encje w pomocnikach umożliwiają przechowywanie informacji w podobnych grupach.
Po zainstalowaniu usługa Copilot Studio oferuje zestaw wstępnie skompilowanych encji, które odzwierciedlają typy informacji najczęściej używane w rzeczywistych dialogach, takie jak wiek, kolory, liczby oraz imiona i nazwiska.
Dzięki wiedzy oferowanej przez encje pomocnik może inteligentnie rozpoznawać istotne informacje wprowadzone przez użytkownika i zapisywać je w celu późniejszego użycia.
Aby pomóc w zrozumieniu tej koncepcji, użyjemy przykładowej encji Pieniądze.
Otwórz pomocnika w Copilot Studio i wybierz pozycję Ustawienia u góry strony, a następnie Encje w menu.
Zostanie wyświetlona lista encji, które są dostępne.
Wybierz encję Pieniądze, która spowoduje otwarcie okienka szczegółów tej encji.
W tym miejscu można zapoznać się z objaśnieniem tej encji i sposobami, za pomocą których można wyszukiwać informacje dotyczące pieniędzy lub waluty w danych wprowadzonych przez użytkownika.
Jeśli na przykład użytkownik wprowadzi frazę „To kosztuje 1000 dolarów”, użycie tej encji Pieniądze spowoduje, że pomocnik będzie wiedzieć, że ciąg „1000 dolarów” reprezentuje informacje typu Pieniądze. Kiedy pomocnik wyodrębni tę encję i zapisze ją w zmiennej, zapisuje w ten sposób „1000” jako liczbę, mimo że otaczające ją informacje były tekstem.
Encje niestandardowe
Wstępnie utworzone encje obejmują najczęściej używane typy informacji. W niektórych przypadkach, na przykład podczas kompilowania pomocnika w określonym celu, być może trzeba wytrenować model rozumienia języka w pomocniku tak, aby przekazać mu wiedzę dotyczącą określonej domeny.
Załóżmy na przykład, że chcesz utworzyć pomocnika dla sklepu ze sprzętem turystycznym. W tym przypadku konieczne jest wytrenowanie pomocnika tak, aby potwierdzał kategorię „produkt typu Sprzęt turystyczny” w sesji dialogowej.
Najpierw utwórz encję niestandardową. W takim przypadku można utworzyć encję, który daje pomocnikowi wiedzę na temat wszystkich kategorii produktów turystycznych.
Otwórz pomocnika w Copilot Studio i wybierz pozycję Ustawienia u góry strony, a następnie Encje w menu.
Wybierz opcję Dodaj encję> Nowa encja.
Spowoduje to otwarcie okienka, w którym można wybrać typ encji: encję Zamknięta lista lub encję Wyrażenia zwykłego (regex).
Zamknięte encje listy
Zamknięte encje listy umożliwiają zdefiniowanie listy elementów. Najlepiej korzystać z tych encji w przypadku niewielkich list, których zarządzanie jest łatwe i które mają proste etykiety elementów.
Wybranie tej opcji podczas tworzenia encji pokazuje okienko, w którym można określić nazwę encji, opcjonalny opis i wprowadzić elementy, które mają być uwzględnione w encji.
Podczas wprowadzania elementów można:
- Wybrać każdy element, aby zmienić jego nazwę.
- Wybrać ikonę śmietnika, aby usunąć element z listy.
- Wybierz opcję + Synonimy (lub wybierz wymienione synonimy, jeśli zostały już dodane), aby otworzyć okienko Edytowanie synonimów.
Można dodać jej synonimy w celu ręcznego rozwinięcia logiki dopasowania dla każdego elementu na liście encji. Na przykład w elemencie „trekking” można dodać jako synonimy „trekking” i „wędrówki”.
Dla każdej encji można również włączyć funkcję Inteligentnego dopasowania.
Inteligentne dopasowywanie jest częścią analizy obsługiwanej przez model rozumienia języka pomocnika. Po włączeniu tej opcji pomocnik zinterpretuje dane wejściowe użytkownika, używając logiki rozmytej opartej na elementach wyświetlonych w encji.
W szczególności pomocnik będzie automatycznie poprawiać literówki i semantycznie rozszerzać logikę dopasowania. Na przykład pomocnik może automatycznie dopasować wyraz „softball” to „baseball”.
Po zakończeniu tworzenia lub edytowania encji wybierz opcję Zapisz, aby zapisać i powrócić do listy encji. Wybierz opcję Zamknij, aby odrzucić zmiany (użytkownik będzie miał możliwość powrotu do edytowania encji w przypadku przypadkowego wybrania niewłaściwej opcji).
Encje Wyrażenie regularne (regex)
Encje wyrażenia regularnego (regex) umożliwiają zdefiniowanie wzorców logicznych, których można użyć do dopasowania i wyodrębnienia informacji z danych wejściowych. Encje typu regex są doskonałe do skomplikowanych wzorców pasujących do danych wejściowych użytkownika lub do zezwolenia na określone odmiany, które użytkownik może sformatować lub wprowadzić w rozmowie.
Na przykład można użyć encji wyrażenia regularnego do identyfikowania takich elementów, jak identyfikator śledzenia, numer licencji, numer karty kredytowej lub adres IP ciągów wprowadzanych przez użytkownika do pomocnika.
Wybranie tej opcji podczas tworzenia encji powoduje pokazanie okienka, w którym można określić nazwę encji, opcjonalny opis i wprowadzić wzorzec wyrażenia regularnego, który powinien być używany do dopasowania i wyodrębniania elementów encji z wprowadzonych danych.
W encji wyrażenia regularnego usługi Copilot Studio jest używana składnia wyrażeń regularnych .NET.
Domyślnie we wzorcach jest rozróżniana wielkość liter, co powoduje, że w ciągu wzorca należy użyć opcji wyrażenia regularnego (?i)
. W okienku encji wyrażenia regularnego znajdują się niektóre podstawowe przykłady, a dodatkowe informacje dotyczące składni i więcej przykładów można znaleźć w Języku wyrażenia regularnego — szybki przewodnik.
Jeśli trzeba wprowadzić wyrażenie regularne biorące pod uwagę wiele wzorców, można użyć operatora zmiany |
w celu połączenia wyrażeń regularnych. Na przykład można połączyć dwa wzorce regex, aby szukać starych i nowych formatów kodu identyfikatora produktu.
Po zakończeniu tworzenia lub edytowania encji wybierz opcję Zapisz, aby zapisać i powrócić do listy encji. Wybierz opcję Zamknij, aby odrzucić zmiany (użytkownik będzie miał możliwość powrotu do edytowania encji w przypadku przypadkowego wybrania niewłaściwej opcji).
Korzystanie z encji w konwersacji
Teraz, po przekazaniu do pomocnika wiedzy na temat sprzętu turystycznego przez utworzenie encji kategorii produktu i kilku innych encji niestandardowych, można zacząć z nich korzystać podczas tworzenia konwersacji pomocnika.
Przejdź do strony tematów pomocnika, którego chcesz edytować.
Otwórz temat encji, którą chcesz zebrać.
Wybierz ikonę Dodaj węzeł , a następnie wybierz Zadaj pytanie.
W obszarze Identyfikacja wybierz encję utworzoną w obszarze encji niestandardowych.
Możesz również wybrać elementy, które mają być wyświetlane jako przyciski. Na przykład jeśli chcesz, aby niektóre kategorie były wyświetlane jako przyciski ułatwiające użytkownikom wybieranie ich jako danych wejściowych, możesz po prostu wybrać opcję Wybierz opcje użytkownika, a następnie wybrać elementy z listy zawierającej elementy dodane podczas tworzenia encji niestandardowej.
W razie potrzeby nazwij zmienną dotyczącą danych wyjściowych odpowiedzi użytkownika.
Wypełnianie miejsc na wartość
Wypełnianie miejsc na wartość jest pojęciem z zakresu rozumienia języka naturalnego, które oznacza zapisywanie wyodrębnionej encji w obiekcie. Jednak w usłudze Copilot Studio wypełnianie miejsca na wartość oznacza umieszczania wyodrębnionej wartości encji w zmiennej.
Jako przykładu będziemy nadal używać tematu dotyczącego sprzętu turystycznego, który jest wyzwalany przez wpisanie frazy „Chcę coś kupić“ w czacie testowym.
Temat został pomyślnie wyzwolony, a w bocie jest wyświetlane pytanie o kategorię produktu, a także dostępne do wyboru przycisku określone podczas tworzenia węzła Zadaj pytanie. W drzewie sesji dialogowych śledzenie między tematami wskazuje również, że pomocnik działa na węźle pytania, który właśnie został edytowany.
Użytkownik może użyć wstępnie zdefiniowanych możliwości wyboru, wybierając jeden z przycisków. Alternatywnie może również wpisać na przykład „Wycieczki piesze” i sprawdzić, czy ten element jest mapowany na „Wycieczki”, ponieważ te wyrazy były zdefiniowane jako synonimy.
Śledzenie między tematami polega na tym, że sesja dialogowa jest poprawnie kierowana do ścieżki, w której kategoria produktów to „Wycieczka”. Wartość zmiennej można sprawdzić z poziomu okna zmienna obserwacji zmiennych u dołu kanwy tworzenia. W oknie obserwacji wyświetlana jest zmienna o wartości „Wycieczki”.
W gruncie rzeczy miejsca na wartość zostały wypełnione przez wstawienie wyodrębnionej encji „Wycieczki” w zmiennej VarCampType
.
Można również użyć funkcji określanej jako „proaktywne wypełnianie miejsc na wartość”, w przypadku której użytkownik może podać wiele informacji mapowanych na wiele encji. Pomocnik może automatycznie zrozumieć, do której encji należą informacje. W przypadkach, gdy nie ma pewności co do zamierzonego mapowanie, użytkownik będzie monitowany o dokonanie odpowiednich wyborów.
W tym przykładzie użytkownik napisał „Nudzi mi się, ale lubię chodzić po górach”. Ten komunikat zawiera zarówno wyrażenie wyzwalające, że użytkownik chce pomagać w działaniach na świeżym powietrzu, a także udostępnia drugi fragment informacji, „chodzenie po górach”, który jest zdefiniowanym przez encję synonimem pieszej wycieczki. W tym przypadku pomocnik wypełnia obie encje do wybrania działania na zewnątrz i dla typu działania.
W obszarze śledzenia między tematami widać, że pomocnik pobiera dane wejściowe tego użytkownika i inteligentnie pomija węzeł pytania o typ działania.
Pomocnik zawsze aktywnie nasłuchiwuje wprowadzania informacji przez użytkownika, zapamiętując je z góry, aby można było pominąć zbędne kroki.
Ponownie uruchom testowanie i wypróbuj inny przypadek. W tej rundzie możesz jeszcze dodać kilka węzłów pytań o elementy, takie jak ile masz czasu na działanie (używając encji Czas trwania), a także przedział cenowy (korzystający z encji Pieniądze).
Tym razem, gdy pytanie dotyczące kategorii produktu zostanie przedstawione, zamiast podawać pomocnikowi tylko kategorię produktu, użytkownik może powiedzieć „Chcę kupić parę butów trekkingowych tańszych niż 100 USD". W tym przykładzie pomocnik może nie tylko przekierowywać do właściwej ścieżki kategorii produktów trekkingowych, ale również aktywnie wypełnia miejsca na wartość, które zadają pytania dotyczące typu sprzętu trekkingowego i zakresu cen.
Aktywne wypełnianie miejsc na wartość może być ręcznie sterowane na poziomie węzła. Aby zawsze monitować o pytanie w określonym węźle, niezależnie od tego, czy miejsce na wartość zostało wypełnione przez poprzednie odpowiedzi użytkownika, można wyłączyć opcję Pomiń pytanie dla tego węzła pytania. Aby wyłączyć opcję Pomiń pytanie, wykonaj następujące kroki.
Wybierz ikonę menu Więcej (…) węzła Pytanie, a następnie wybierz opcję Właściwości. Zostanie wyświetlony panel Właściwości pytania.
W panelu Właściwości pytania wybierz Zachowanie pytania.
W panelu Zachowania pytania w obszarze Pomiń pytanie wybierz Pytaj każdym razem i wybierz Zapisz u góry strony.