Projektuj skuteczne rozumienie języka

Rozumienie języka naturalnego (NLU) stanowi podstawę sposobu, w jaki agenci Copilot Studio interpretują zapytania użytkowników i dostarczają istotne, kontekstowe odpowiedzi. Dobrze zdefiniowane podejście do rozpoznawania zamiarów, ekstrakcji podmiotów i obsługi zapasowej zapewnia, że agenci prowadzą efektywne, naturalne rozmowy zgodne z potrzebami biznesowymi.

Gdy użytkownik wprowadza coś do agenta, nazywa się to wypowiedzią. Agent musi rozbić tę wypowiedź na intencję i byty, aby jego odpowiedź wydawała się zarówno naturalna, jak i efektywna.

Czym jest rozumienie języka?

Rozumienie języka (LU) to poddziedzina przetwarzania języka naturalnego (NLP), skupiona na umożliwieniu maszynom zrozumienia znaczenia, intencji i kontekstu zawartych w ludzkim języku.

Diagram ilustrujący proces rozumienia języka

Diagram pokazujący, jak wiadomość użytkownika jest rozbijana na intencję i encje. Użytkownik wpisuje: „Chcę zarezerwować lot do Paryża w przyszłym tygodniu.” Wiadomość zostaje sklasyfikowana jako wypowiedź. Wyrażenie „Chcę zarezerwować lot” jest identyfikowane jako intencja, a „Paryż” i „następny tydzień” są identyfikowane jako encje. System prosi o dodatkowe informacje, takie jak miasto wylotu i klasa podróży. Diagram ilustruje, jak agent wykorzystuje intencje, encje i kontekst do określenia najlepszej odpowiedzi.

Language Understanding oznacza:

  • Rozpoznawanie intencji: Określenie, co użytkownik chce osiągnąć (na przykład „Zarezerwuj lot do Paryża w przyszłym tygodniu” odpowiada intencji rezerwacji lotu).
  • Wyodrębnianie encji: Wyodrębnianie kluczowych szczegółów, takich jak daty, lokalizacje czy nazwy (na przykład „Paryż” jako miejsce docelowe, „następny tydzień” jako termin podróży).
  • Świadomość kontekstu: Utrzymanie ciągłości i rozwiązywanie niejednoznaczności w rozmowie (na przykład rozumienie zaimków lub odniesień).
  • Obsługa niejednoznaczności: Wykorzystanie kontekstu do rozwiązywania wieloznaczności słów (na przykład „bank” jako instytucja finansowa lub brzeg rzeki).

Rozumienie języka w Copilot Studio

Copilot Studio posiada elastyczny model rozumienia języka, z wieloma opcjami konfiguracji.

Orkiestracja generatywna

Orkiestracja generatywna wykorzystuje modele językowe do inteligentnego łączenia tematów, działań i wiedzy. Ta zdolność umożliwia rozpoznawanie wielu intencji, zaawansowane wyodrębnianie jednostek oraz dynamiczne generowanie planów dla złożonych zapytań.

To metoda domyślna dla Copilot Studio. To podejście rozpoznaje wiele intencji lub tematów w jednej wypowiedzi, automatycznie łączy działania i źródła wiedzy oraz generuje spójne odpowiedzi. Jest szczególnie przydatny do prowadzenia złożonych rozmów obejmujących różne obszary biznesowe. Orkiestracja generatywna ma ograniczenia, takie jak pięć wiadomości na temat lub łańcuch akcji oraz 128 tematów lub akcji na orkiestrację, ale zapewnia potężny sposób skalowania zakresu rozmów.

Dowiedz się więcej: Zastosuj możliwości orkiestracji generatywnej.

Klasyczna orkiestracja

Klasyczna orkiestracja wykorzystuje frazy wyzwalające i deterministyczny routing tematów. Jeśli wypowiedź użytkownika pasuje do frazy wyzwalającej, uruchamiany jest odpowiedni temat. Jeśli nie ma dopasowania, mechanizmy awaryjne przeszukują źródła wiedzy lub wyświetlają monit użytkownikowi o wyjaśnienie.

Wbudowane NLU

To podejście było domyślne, ale teraz jest podejściem rezerwowym. Copilot Studio udostępnia gotowy do użycia model NLU, który obsługuje frazy wyzwalające, wstępnie zdefiniowane jednostki i jednostki niestandardowe. Model ten pozwala agentom identyfikować intencje użytkownika i wyodrębniać kluczowe szczegóły, takie jak daty, miejsca docelowe czy ilości, bezpośrednio z zapytania.

NLU+

Aby uzyskać wysoką dokładność, skorzystaj z opcji NLU+. Opcja NLU+ jest idealna dla dużych aplikacji korporacyjnych. Tego typu aplikacje zazwyczaj składają się z dużej liczby tematów i jednostek oraz wykorzystują dużą liczbę próbek treningowych. Ponadto, jeśli masz agenta z obsługą głosu, dane treningowe NLU+ są również wykorzystywane do optymalizacji rozpoznawania mowy.

Integracja z platformą Azure CLU

W przypadku bardziej zaawansowanych scenariuszy, w których nie można użyć domyślnej generatywnej orkiestracji, możesz zintegrować Rozumienie języka konwersacyjnego (CLU). CLU zapewnia większą personalizację, wsparcie dla wielu języków oraz wykonywanie złożonej ekstrakcji encji (na przykład wielu encji „od”). Musisz powiązać intencje CLU z tematami Copilot Studio, aby zapewnić synchronizację. Ta opcja jest szczególnie wartościowa w przypadku specjalistycznego słownictwa branżowego, języków innych niż angielski lub scenariuszy wymagających większej dokładności.

Kluczowe funkcje i ograniczenia

Ta tabela porównuje trzy podejścia do rozumienia języka w Copilot Studio. Przedstawia kluczowe cechy i ograniczenia, aby pomóc wybrać odpowiedni model zgodny z wymaganiami dotyczącymi złożoności, skali i dokładności agenta.

Funkcje i ograniczenia Orkiestracja generatywna Wbudowany model NLU Niestandardowy model Azure CLU
Kluczowe cechy i funkcje
  • Używa dużych modeli językowych
  • Obsługuje złożone wypowiedzi zawierające wiele intencji, tematów/działań i wiedzy
  • Automatycznie generuje pytania dotyczące brakujących danych wejściowych
  • Pozwala na korekty w trakcie działania
  • Tworzy zunifikowaną odpowiedź na podstawie wyników tematów, działań i wiedzy
  • Domyślny model wstępnie przeszkolony ze wstępnie zdefiniowanymi typami encji
  • Konfiguracja przy użyciu fraz wyzwalających i niestandardowych encji (zamkniętych list lub wyrażeń regularnych)
  • Obsługuje więcej języków z modelami natywnymi
  • Konfigurowalny model wyzwalania intencji dla dokładności lub specyficznych dla branży
  • Zaawansowane wyodrębnianie encji (na przykład ten sam typ, wyodrębnianie bez potwierdzenia)
  • Ekstrakcja jednostek może wykorzystywać standardowe NLU Copilot Studio
Limity
  • Maksymalnie pięć wiadomości w ramach łańcucha tematów i akcji
  • Ograniczenie do 128 tematów i akcji do wyzwalania
  • Rozpoznawanie pojedynczej intencji na zapytanie
  • Brak możliwości rozszerzania
  • Wypełnianie slotów wielu jednostek tego samego typu wymaga rozróżnienia
  • Rozpoznawanie pojedynczej intencji na zapytanie
  • Konfiguracja oparta na Azure i dodatkowe koszty
  • Obowiązują ograniczenia usług Azure
  • Intencje Azure CLU i tematy Copilot Studio muszą być utrzymywane w ścisłej synchronizacji.

Dowiedz się więcej w Rozumienie języka naturalnego (NLU) — omówienie.

Struktura tematów i mechanizm awaryjny

Tematy odeszły od sztywnej ścieżki opartej na intencjach, przechodząc do bardziej elastycznego, orkiestracyjnego podejścia. Zamiast polegać wyłącznie na zdefiniowanych wyzwalaczach i ścieżkach, tematy teraz funkcjonują jako modułowe instrukcje, które agent może przywołać podczas orkiestracji rozmowy. Orkiestracja generatywna zarządza większością trasowania, dynamicznie interpretując wypowiedzi użytkownika, a tematy oferują ustrukturyzowaną obsługę awaryjną, gdy wymagana jest precyzja.

Bardziej tradycyjna, strukturalna konstrukcja tematów sprawia, że rozmowy są naturalne i efektywne. Tematy mogą być punktami wejścia wywoływanymi przez wypowiedzi użytkownika lub podtematami wielokrotnego użycia, uruchamianymi przez przekierowania lub zdarzenia systemowe. Tematy rozróżniające pomagają uniknąć zamieszania, gdy można wywołać wiele tematów, podczas gdy tematy awaryjne i wspomagające rozmowy zapewniają zabezpieczenie, gdy agent nie jest w stanie pewnie dopasować intencji. Możesz także dodać odpowiedzi generatywne, które będą czerpać z zewnętrznych źródeł wiedzy, dzięki czemu użytkownicy rzadko pozostają bez odpowiedzi.

Więcej informacji znajdziesz w Stosuj najlepsze praktyki dotyczące tworzenia tematów.

Lokalizacja i języki

Język używany przez agenta Copilot Studio jest określany przez wartość zmiennej systemowej: System.User.Language.

Ta zmienna stanowi centralny punkt zarządzania wszystkimi działaniami związanymi z językiem agenta. Możesz ustawić wartość tej zmiennej ręcznie, programistycznie lub automatycznie wykryć jej wartość.

Jak działa?

  • Wyszukaj wiedzę w języku użytkownika: Copilot Studio wykorzystuje wartość System.User.Language do wyszukiwania źródeł wiedzy w określonym języku. Takie podejście oznacza, że nawet jeśli użytkownik zada pytanie w jednym języku, agent tłumaczy zapytanie wyszukiwania na język ustawiony w System.User.Language (automatyczne tłumaczenie zapytania wyszukiwania).

  • Odpowiadanie w języku użytkownika: Agent udziela odpowiedzi w języku wskazanym przez System.User.Language, niezależnie od języka użytego w pytaniu lub w oryginalnych dokumentach (automatyczne tłumaczenie odpowiedzi).

  • Ręczne nadpisanie: możesz ręcznie ustawić wartość System.User.Language, aby zmusić agenta do działania w wybranym języku. Ta funkcja jest przydatna do testowania lub scenariuszy, w których musisz jawnie kontrolować język. Więcej informacji: Konfigurowanie i tworzenie wielojęzycznych agentów

Automatyczne wykrywanie języka

Możesz skonfigurować Copilot Studio tak, aby automatycznie wykrywało język mówiony lub pisany użytkownika i odpowiednio ustawiało zmienną System.User.Language. Ta funkcja umożliwia płynne wielojęzyczne doświadczenie bez konieczności określania preferencji językowej przez użytkownika.

Jak działa automatyczne wykrywanie

  • Wykrywanie oparte na wyzwalaczach: Gdy bot otrzyma wiadomość, wyzwalacz uruchamia proces wykrywania języka.
  • Ustaw zmienną systemową: Bot przypisuje wykryty język do System.User.Language.
  • Dynamiczna odpowiedź: Agent kontynuuje rozmowę w wykrytym języku, zarówno przeszukując zasoby wiedzy, jak i generując odpowiedzi zgodnie z tym językiem.

Świadczenia

  • Spersonalizowane doświadczenie: Użytkownicy komunikują się w preferowanym języku bez ręcznej konfiguracji.
  • Spójne doświadczenie: Wszystkie odpowiedzi i wyszukiwania informacji są zgodne z wykrytym lub ustalonym językiem.
  • Skalowalne rozwiązanie: Obsługuje globalne wdrożenia przy minimalnej konfiguracji.

Wskazówka

Zapoznaj się z przykładowym rozwiązaniem, które pokazuje, jak umożliwić agentom Copilot Studio automatyczne wykrywanie języka wypowiedzi użytkownika i przełączanie się na jeden z języków zatwierdzonych przez projektanta agenta pod Auto Detect Language for Generative Responses.

Najlepsze rozwiązania jeśli chodzi o lokalizację

  • Skonfiguruj obsługiwane języki: Określ główne i dodatkowe języki dla swojego agenta. Używaj plików lokalizacyjnych (JSON lub ResX), aby zapewnić tłumaczenia poleceń, wiadomości i tematów.
  • Testuj scenariusze wielojęzykowe: Symuluj interakcje użytkowników w różnych językach, aby zapewnić płynne przejścia i dokładne odpowiedzi.
  • Korzystaj z automatycznego tłumaczenia: polegaj na wbudowanej funkcji tłumaczenia Copilot Studio do wyszukiwania wiedzy i generowania odpowiedzi, ale zapewnij niestandardowe tłumaczenia dla treści krytycznych lub o subtelnym znaczeniu.
  • Monitoruj i doskonal: Wykorzystaj analizę danych do śledzenia użycia języka i zwiększania pokrycia lokalizacji w czasie.

Sposoby obsługi języków przez agentów Copilot Studio:

  • Oddzielni agenci dla każdego języka.
  • Pojedynczy wielojęzyczny agent z wcześniej przygotowanymi tłumaczeniami.
  • Agenci wielojęzyczni w czasie rzeczywistym, korzystający z usług tłumaczeniowych między użytkownikiem a agentem.

Odpowiednie podejście zależy od zastosowania, wymagań dotyczących separacji, skali, częstotliwości aktualizacji oraz dostępnych zasobów.

Zidentyfikowane wyzwania techniczne

Typowe wyzwania obejmują zapewnienie synchronizacji tematów Azure CLU i Copilot Studio, obsługę niejednoznacznych wypowiedzi oraz skalowanie wdrożeń wielojęzycznych. Wczesna identyfikacja tych przeszkód pozwala zaplanować strategie zaradcze, takie jak konfiguracje awaryjne, masowe testowanie fraz wyzwalających czy przekaźnikowe usługi tłumaczeniowe.

Celem rozumienia języka naturalnego jest zapewnienie, że każdy agent potrafi precyzyjnie interpretować zapytania użytkownika, dostosowywać się do różnych języków i przypadków użycia oraz sprawnie radzić sobie z nieoczekiwanymi sytuacjami. Ten cel stanowi mocną podstawę do budowania niezawodnych, angażujących i wydajnych konwersacji w Copilot Studio.