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 migrowanie aplikacji usługi LUIS do interpretacji języka konwersacyjnego , aby korzystać z ciągłej pomocy technicznej produktu i możliwości wielojęzycznych.

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, który odpowiada 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 „Hi” (Cześć)
"Hello"
„Good morning” (Dzień dobry)
CheckWeather (Sprawdzanie pogody) "Jaka jest pogoda jak w Bostonie?"
"Pokaż mi prognozę na ten weekend"
Brak "Get me a cookie przepis"
"Czy Lakers wygrali?"

Wszystkie aplikacje mają wstępnie zdefiniowaną intencję "None", czyli 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 zmodyfikować zarówno nazwę intencji, jak i listę wypowiedzi.

Zwracanie wyników wszystkich intencji

Do jednej intencji przypisuje się wypowiedź. Gdy usługa LUIS odbiera wypowiedź, domyślnie zwraca ona 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
Wersja 3 show-all-intents=true

Intencja w porównaniu z jednostką

Intencja reprezentuje akcję, jaką aplikacja powinna wykonać 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 Jednostka Przykładowa wypowiedź
CheckWeather (Sprawdzanie pogody) { "type": "location", "entity": "Seattle" }
{ "type": "builtin.datetimeV2.date","entity": "tomorrow","resolution":"2018-05-23" }
Jaka jest pogoda jak w ?Seattletomorrow
CheckWeather (Sprawdzanie pogody) { "type": "date_range", "entity": "this weekend" } Pokaż prognozę dla this weekend

Intencja None

Intencja None została utworzona, ale pozostawiona jako pusta celowo. Intencja None jest wymaganą intencją 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 (w obszarze tematu). Jeśli nie dodasz żadnych wypowiedzi dla intencji None , usługa LUIS wymusza wypowiedzi spoza domeny do jednej z intencji domeny. Spowoduje to niesymetryczność wyników przewidywania przez nauczenie usługi LUIS nieprawidłowej intencji 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.

Negatywne intencje

Jeśli chcesz określić negatywne i pozytywne intencje, takie jak "Chcę samochodu" i "Niechcę samochodu", możesz utworzyć dwie intencje (jeden pozytywny i jeden ujemny) i dodać odpowiednie wypowiedzi dla każdego. Możesz też utworzyć pojedynczą intencję i oznaczyć dwa różne pozytywne i negatywne 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, 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ędniona w saldu. Ta intencja powinna zawierać 10% całkowitej wypowiedzi w aplikacji.

Limity intencji

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

Porada

Jeśli potrzebujesz więcej niż maksymalnej liczby intencji, zastanów się, czy system używa zbyt wielu intencji i określ, czy wiele intencji ma być połączonych w pojedynczą 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 przechwytywać główne zadania, o które prosi użytkownik, ale nie muszą przechwytywać każdej ścieżki używanej przez kod. Na przykład dwie intencje: BookFlight() i FlightCustomerService() mogą być oddzielne intencje w aplikacji podróży, ale BookInternationalFlight() i BookDomesticFlight() są zbyt podobne. Jeśli system musi je odróżnić, użyj jednostek lub innych logiki, a nie intencji.

Zażądaj pomocy dotyczącej aplikacji ze znaczną liczbą 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 aranżacje podróży, takie jak loty lotnicze i hotele, możesz wybrać te obszary podmiotu jako oddzielne intencje lub tę 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żmy następujące przykładowe wypowiedzi:

  1. Zarezerwuj lot
  2. Zarezerwuj hotel

"Zarezerwuj lot" i "zarezerwuj hotel" użyj 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. W rezultacie intencja oceniania jest zbyt bliska innej intencji. Ponieważ usługa LUIS nie używa dokładnie tej samej ścieżki przez dane do trenowania za każdym razem, nakładające się intencje mają szansę być pierwszym lub drugim w trenowaniu. Chcesz, aby wynik wypowiedzi dla każdej intencji był dalej od siebie, więc ta wariancja nie ma miejsce. Dobre rozróżnienie intencji powinno prowadzić do oczekiwanej najwyższej intencji za każdym razem.

Równoważenie wypowiedzi w intencjach

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 mieć wyższą szybkość przewidywania.

Dodawanie przykładowych wypowiedzi do intencji none

Ta intencja jest intencją rezerwową wskazującą wszystko poza aplikacją. Dodaj jedną przykładną wypowiedź 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 zarezerwuje 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