Udostępnij za pośrednictwem


Intencje

Ważne

Usługa LUIS zostanie wycofana 1 października 2025 r. i od 1 kwietnia 2023 r. nie będzie można utworzyć nowych zasobów usługi LUIS. Zalecamy migrację aplikacji LUIS do interpretacji języka konwersacyjnego, aby korzystać z ciągłej pomocy technicznej i wielojęzycznych możliwości produktów.

Intencja reprezentuje zadanie lub akcję, którą użytkownik chce wykonać. Jest to cel lub cel wyrażony w wypowiedzi użytkownika.

Zdefiniuj zestaw intencji odpowiadających akcjom, które użytkownicy chcą wykonać w aplikacji. Na przykład aplikacja turystyczna będzie miała kilka intencji:

Intencje aplikacji podróży Przykładowe wypowiedzi
BookFlight "Zarezerwuj mi lot do Rio w przyszłym tygodniu"
"Fly me to Rio on the 24th"
"Potrzebuję biletu lotniczego w najbliższą niedzielę do Rio de Janeiro"
Powitanie "Cześć"
"Witaj"
„Good morning” (Dzień dobry)
CheckWeather (Sprawdzanie pogody) "Jak wygląda pogoda w Bostonie?"
"Pokaż mi prognozę dla tego weekendu"
Brak "Pobierz mi przepis na plik cookie"
"Czy Lakers wygrali?"

Wszystkie aplikacje są dostarczane ze wstępnie zdefiniowaną intencją "None", która jest intencją rezerwową.

Wstępnie utworzone intencje

Usługa LUIS udostępnia wstępnie utworzone intencje i ich wypowiedzi dla każdej ze wstępnie utworzonych domen. Intencje można dodać bez dodawania całej domeny. Dodawanie intencji to proces dodawania intencji i jej wypowiedzi do aplikacji. Można modyfikować zarówno nazwę intencji, jak i listę wypowiedzi.

Zwracanie wyników wszystkich intencji

Przypiszesz wypowiedź do jednej intencji. Gdy usługa LUIS odbiera wypowiedź, domyślnie zwraca najwyższą intencję dla tej wypowiedzi.

Jeśli chcesz uzyskać wyniki dla wszystkich intencji wypowiedzi, możesz podać flagę w ciągu zapytania interfejsu API przewidywania.

Wersja interfejsu API przewidywania Flaga
Wersja 2 verbose=true
V3 show-all-intents=true

Intencja w porównaniu z jednostką

Intencja reprezentuje akcję, jaką aplikacja powinna podjąć dla użytkownika na podstawie całej wypowiedzi. Wypowiedź może mieć tylko jedną intencję oceniania, ale może mieć wiele jednostek.

Utwórz intencję, gdy intencja użytkownika wyzwoli akcję w aplikacji klienckiej, na przykład wywołanie funkcji checkweather() z powyższej tabeli. Następnie utwórz jednostki reprezentujące parametry wymagane do wykonania akcji.

Zamiar Encja Przykładowa wypowiedź
CheckWeather (Sprawdzanie pogody) { "type": "location", "entity": "Seattle" }
{ "type": "builtin.datetimeV2.date","entity": "tomorrow","resolution":"2018-05-23" }
Jak wygląda pogoda w ?Seattle tomorrow
CheckWeather (Sprawdzanie pogody) { "type": "date_range", "entity": "this weekend" } Pokaż mi prognozę dla this weekend

Intencja None

Intencja None jest tworzona, ale pozostawiona pusta celowo. Intencja None jest wymagana i nie można jej usunąć ani zmienić jej nazwy. Wypełnij ją wypowiedziami, które znajdują się poza Twoją domeną.

Intencja None jest intencją rezerwową i powinna zawierać 10% całkowitej wypowiedzi. Ważne jest, aby każda aplikacja była używana do uczenia wypowiedzi usługi LUIS, które nie są ważne w domenie aplikacji (obszarze tematu). Jeśli nie dodasz żadnych wypowiedzi dla intencji None , usługa LUIS wymusza wypowiedź, która znajduje się poza domeną w jednej z intencji domeny. Spowoduje to wypaczenie wyników przewidywania przez nauczanie usługi LUIS nieprawidłowej intencji dla wypowiedzi.

Gdy wypowiedź jest przewidywana jako intencja None, aplikacja kliencka może zadać więcej pytań lub podać menu, aby przekierować użytkownika do prawidłowych wyborów.

Intencje negatywne

Jeśli chcesz określić negatywne i pozytywne intencje, takie jak "Chcę samochodu" i "Nie chcę samochodu", możesz utworzyć dwie intencje (jeden pozytywny i jeden negatywny) i dodać odpowiednie wypowiedzi dla każdego. Możesz też utworzyć pojedynczą intencję i oznaczyć dwa różne pozytywne i ujemne terminy jako jednostkę.

Intencje i wzorce

Jeśli masz przykładowe wypowiedzi, które można zdefiniować w części lub całości jako wyrażenie regularne, rozważ użycie jednostki wyrażenia regularnego sparowanej ze wzorcem.

Użycie jednostki wyrażenia regularnego gwarantuje wyodrębnianie danych, tak aby wzorzec był zgodny. Dopasowanie wzorca gwarantuje zwrócenie dokładnej intencji.

Saldo intencji

Intencje domeny aplikacji powinny mieć równowagę wypowiedzi w każdej intencji. Na przykład nie mają większości intencji z 10 wypowiedziami i inną intencją z 500 wypowiedziami. Nie jest to zrównoważone. W takiej sytuacji warto przejrzeć intencję z 500 wypowiedziami, aby sprawdzić, czy wiele intencji można zreorganizować w wzorzec.

Intencja None nie jest uwzględniana w saldu. Ta intencja powinna zawierać 10% łącznych wypowiedzi w aplikacji.

Limity intencji

Przejrzyj limity, aby dowiedzieć się, ile intencji można dodać do modelu.

Napiwek

Jeśli potrzebujesz więcej niż maksymalna liczba intencji, rozważ, czy system używa zbyt wielu intencji i określ, czy wiele intencji ma zostać połączonych w jedną intencję z jednostkami. Intencje, które są zbyt podobne, mogą utrudnić usłudze LUIS rozróżnienie między nimi. Intencje powinny być wystarczająco zróżnicowane, aby przechwycić główne zadania, o które prosi użytkownik, ale nie muszą przechwytywać każdej ścieżki, którą przyjmuje kod. Na przykład dwie intencje: BookFlight() i FlightCustomerService() mogą być oddzielnymi intencjami w aplikacji podróży, ale bookInternationalFlight() i BookDomesticFlight() są zbyt podobne. Jeśli system musi je odróżnić, należy użyć jednostek lub innego logiki, a nie intencji.

Zażądaj pomocy dotyczącej aplikacji o znacznej liczbie intencji

Jeśli zmniejszenie liczby intencji lub podzielenie intencji na wiele aplikacji nie zadziała, skontaktuj się z pomocą techniczną. Jeśli Subskrypcja platformy Azure obejmuje usługi pomocy technicznej, skontaktuj się z pomocą techniczną platformy Azure.

Najlepsze rozwiązania dotyczące intencji:

Definiowanie odrębnych intencji

Upewnij się, że słownictwo dla każdej intencji jest tylko dla tej intencji i nie nakłada się na inną intencję. Jeśli na przykład chcesz mieć aplikację, która obsługuje trasy podróży, takie jak loty lotnicze i hotele, możesz wybrać te obszary tematów jako oddzielne intencje lub taką samą intencję z jednostkami dla określonych danych wewnątrz wypowiedzi.

Jeśli słownictwo między dwiema intencjami jest takie samo, połącz intencję i użyj jednostek.

Rozważ następujące przykładowe wypowiedzi:

  1. Zarezerwuj lot
  2. Zarezerwuj hotel

"Zarezerwuj lot" i "zarezerwuj hotel" przy użyciu tego samego słownictwa "book a noun>".< Ten format jest taki sam, więc powinien być taki sam jak w przypadku różnych słów lotu i hotelu, co wyodrębnione jednostki.

Dodawanie funkcji do intencji

Funkcje opisują pojęcia dotyczące intencji. Funkcja może być listą fraz wyrazów, które są istotne dla tej intencji lub jednostki istotnej dla tej intencji.

Znajdź słodkie miejsce dla intencji

Użyj danych przewidywania z usługi LUIS, aby określić, czy intencje nakładają się na siebie. Nakładające się intencje mylą usługę LUIS. Wynikiem jest to, że górna intencja oceniania jest zbyt blisko innej intencji. Ponieważ usługa LUIS nie używa dokładnie tej samej ścieżki do trenowania za każdym razem, nakładające się intencje mają szansę na pierwsze lub drugie szkolenie. Chcesz, aby wynik wypowiedzi dla każdej intencji był dalej od siebie, więc ta wariancja się nie dzieje. Dobre rozróżnienie intencji powinno spowodować oczekiwaną największą intencję za każdym razem.

Równoważenie wypowiedzi między intencjami

Aby przewidywania usługi LUIS były dokładne, ilość przykładowych wypowiedzi w każdej intencji (z wyjątkiem intencji None) musi być stosunkowo równa.

Jeśli masz intencję z 500 przykładowymi wypowiedziami i wszystkimi innymi intencjami z 10 przykładowymi wypowiedziami, intencja 500 wypowiedzi będzie miała wyższy współczynnik przewidywania.

Dodawanie przykładowych wypowiedzi do żadnej intencji

Ta intencja jest intencją rezerwową wskazującą wszystko poza aplikacją. Dodaj jedną przykładowe wypowiedzi do intencji None dla każdej 10 przykładowych wypowiedzi w pozostałej części aplikacji LUIS.

Nie dodawaj wielu przykładowych wypowiedzi do intencji

Po opublikowaniu aplikacji dodaj tylko wypowiedzi z aktywnego uczenia się w procesie cyklu projektowania. Jeśli wypowiedzi są zbyt podobne, dodaj wzorzec.

Nie mieszaj definicji intencji i jednostek

Utwórz intencję dla dowolnej akcji, jaką podejmie bot. Użyj jednostek jako parametrów, które umożliwiają wykonanie tej akcji.

Na przykład w przypadku bota, który będzie rezerwować loty lotnicze, utwórz intencję BookFlight . Nie twórz intencji dla każdej linii lotniczej ani dla każdego miejsca docelowego. Użyj tych fragmentów danych jako jednostek i oznacz je w przykładowych wypowiedziach.

Następne kroki

Jak używać intencji