Udostępnij za pośrednictwem


Korzystanie z encji i wypełnianie miejsc na wartość w agentach usługi

Duża częścią konwersacji z agentami w usłudze Copilot Studio jest rozumienie języka naturalnego, co pozwala sztucznej inteligencji na interpretowanie zamiaru użytkownika. Na przykład rozumienie języka naturalnego jest zaangażowane, gdy użytkownik powie „Chcę użyć mojej karty upominkowej, ale nie działa”, a agent 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 agenty mogą inteligentnie rozpoznawać istotnych informacji wprowadzonych przez użytkownika i zapisywać je w celu późniejszego użycia.

Wstępnie skompilowane encje

Encje w agentach 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 agenty mogą inteligentnie rozpoznawać istotnych informacji wprowadzonych 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.

  1. Otwórz agenta w Copilot Studio programie i wybierz pozycję Ustawienia w górnej części strony, a następnie pozycję Encje w menu.

    Zostanie wyświetlona lista encji, które są dostępne.

    Okienko Encje.

  2. Wybierz encję Pieniądze, która spowoduje otwarcie okienka szczegółów tej encji.

    Opis encji Pieniądze.

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 agent będzie wiedzieć, że ciąg „1000 dolarów” reprezentuje informacje typu Pieniądze. Kiedy agent wyodrębni tę encję i zapisze ją w zmiennej, zapisze „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. We wstępnie skompilowanych encjach są prezentowane często używane typy informacji, ale w niektórych przypadkach, na przykład podczas kompilowania agenta w określonym celu, trzeba wytrenować model rozumienia języka w agencie tak, aby przekazać mu wiedzę dotyczącą określonej domeny.

Załóżmy na przykład, że chcesz skompilować agenta dla sklepu z artykułami turystycznymi. W tym przypadku konieczne jest wytrenowanie agenta 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 agentowi wiedzę na temat wszystkich kategorii produktów turystycznych.

  1. Otwórz agenta w Copilot Studio programie i wybierz pozycję Ustawienia w górnej części strony, a następnie pozycję Encje w menu.

  2. Wybierz opcję Dodaj encję> Nowa encja.

    Wybierz Nowa encja.

  3. 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.

Zrzut ekranu okna tworzenia encji z wyróżnioną opcją Zamknięta lista.

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.

Zrzut ekranu okienka listy 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”.

Zrzut ekranu okienka Edytowanie synonimów.

Dla każdej encji można również włączyć funkcję Inteligentnego dopasowania.

Inteligentne dopasowanie jest częścią szczegółowych informacji obsługiwanych przez model znajomości języka agenta. Jeśli ta opcja jest włączona, agent zinterpretuje dane wejściowe użytkownika przy użyciu logiki rozmytej na podstawie elementów wymienionych w encji.

W szczególności agent będzie dokonywać autokorekty błędów ortograficznych i semantycznie rozwinie swoją logikę dopasowań. Na przykład agent może automatycznie dopasować „piłka” do „piłka nożna”.

Po zakończeniu tworzenia lub edytowania encji wybierz opcję Zapisz, aby zapisać i powrócić do listy encji. Aby anulować zmiany, wybierz pozycję Zamknij.

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ć obiektu regex do identyfikowania takich elementów, jak identyfikator śledzenia, numer licencji, numer karty kredytowej lub adres IP z ciągów wprowadzanych przez użytkownika do agenta.

Zrzut ekranu okna tworzenia encji z wyróżnioną opcją Regex.

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.

Zrzut ekranu okienka encji wyrażenia regularnego.

W encji wyrażenia regularnego usługi Copilot Studio jest używana składnia wyrażeń regularnych .NET.

Domyślnie dopasowanie uwzględnia wielkość liter. 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). Niektóre podstawowe przykłady znajdują się w okienku encji wyrażenia regularnego. Aby uzyskać więcej informacji na temat składni i więcej przykładów, zobacz Język wyrażeń regularnych — krótki 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. Aby anulować zmiany, wybierz pozycję Zamknij.

Korzystanie z encji w konwersacji

Po wykonaniu prac związanych z przekazywaniem agentowi na temat sprzętu turystycznego przez utworzenie encji kategorii produktu i kilku innych encji niestandardowych można rozpocząć korzystanie z nich podczas tworzenia konwersacji agenta.

  1. Przejdź do karty Tematy dotyczące agenta, którego chcesz edytować.

  2. Otwórz temat encji, którą chcesz zebrać.

  3. Wybierz ikonę Dodaj węzeł, a następnie wybierz Zadaj pytanie.

  4. W obszarze Identyfikacja wybierz encję utworzoną w obszarze encji niestandardowych.

    Węzeł pytania z wybraną encją.

  5. 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.

    Zrzut ekranu przedstawiający wybór wartości encji, które mają być wyświetlane jako przyciski w czasie wykonywania.

  6. 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ś zrobić“ w czacie testowym.

Temat został pomyślnie wyzwolony, a w agencie 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 dialogowej śledzenie między tematami pokazuje również, że agent kieruje się właśnie edytowanego węzła pytania.

śledzenie między tematami.

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.

Okno obserwacji zmiennych.

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. Agent może automatycznie zinterpretować, które informacje należą do poszczególnych encji. 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 agent wypełnia obie encje: dotyczącą kupowania sprzętu i typu sprzętu.

Wypełnianie wielu gniazd i proaktywne wypełnianie gniazd.

W obszarze śledzenia między tematami widać, że agent pobiera dane wejściowe tego użytkownika i inteligentnie pomija węzeł pytania o kategorię produktu.

Agent zawsze aktywnie nasłuchuje danych wejściowych użytkownika, zapamiętując informacje z góry, aby w razie potrzeby pomijać 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 ile czasu masz na aktywność (używając Czasu trwania), a także przedział cenowy (korzystający z encji Pieniądze).

Tym razem, gdy prezentowane jest pytanie o kategorię produktu, zamiast podawać agentowi tylko kategorię produktu, użytkownik może powiedzieć "Chcę kupić parę butów turystycznych pod $100". W tym przykładzie agent nie tylko jest w stanie przekierować się do właściwej ścieżki kategorii produktów turystycznych, ale także aktywnie wypełnia miejsca z informacjami o rodzaju sprzętu turystycznego i docelowym przedziale cenowym.

śledzenie między tematami dotyczącymi kategorii produktów i 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.

  1. 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.

    Otwórz okienko właściwości Pytanie.

  2. W panelu Właściwości pytania wybierz Zachowanie pytania.

  3. W panelu Zachowania pytania w obszarze Pomiń pytanie wybierz Pytaj każdym razem i wybierz Zapisz u góry strony.

    Pomiń pytanie.