Opisywanie interpretacji języka konwersacyjnego
Aby pracować z interpretacją języka konwersacyjnego (CLU), należy wziąć pod uwagę trzy podstawowe pojęcia: wypowiedzi, jednostki i intencje.
Wypowiedzi
Wypowiedź jest przykładem czegoś, co może użytkownik powiedzieć, a co aplikacja musi zinterpretować. Na przykład w przypadku korzystania z systemu automatyzacji domu użytkownik może użyć następujących wypowiedzi:
„Switch the fan on” (Włącz wentylator)
„Turn on the light” (Włącz światło)
Jednostki
Jednostka jest elementem, do którego odwołuje się wypowiedź. Na przykład fan (wentylator) i light (światło) w następujących wypowiedziach:
„Switch the fan on” (Włącz wentylator)
„Turn on the light” (Włącz światło)
Jednostkifan (wentylator) i light (światło) można traktować jako określone wystąpienia ogólnej jednostki device (urządzenie).
Intencje
Intencja reprezentuje cel lub zamierzenie wyrażone w wypowiedzi użytkownika. Na przykład w przypadku obu wcześniej rozważanych wypowiedzi intencja polega na włączeniu urządzenia; dlatego w aplikacji CLU możesz zdefiniować intencję TurnOn , która jest powiązana z tymi wypowiedziami.
Aplikacja CLU definiuje model składający się z intencji i jednostek. Wypowiedzi są używane do trenowania modelu w celu zidentyfikowania najbardziej prawdopodobnej intencji i jednostek, do których powinna być ona zastosowana w oparciu o dane wejściowe. Rozważana aplikacja asystenta domu może uwzględniać wiele intencji, takich jak następujące przykłady:
Zamiar | Powiązane wypowiedzi | Jednostki |
---|---|---|
Powitanie | „Hello” (Witaj) | |
„Hi” (Cześć) | ||
„Hey” (Hej) | ||
„Good morning” (Dzień dobry) | ||
TurnOn (Włączenie) | „Switch the fan on” (Włącz wentylator) | fan (device) [wentylator (urządzenie)] |
„Turn the light on” (Włącz światło) | light (device) [światło (urządzenie)] | |
„Turn on the light” (Włącz światło) | light (device) [światło (urządzenie)] | |
TurnOff (Wyłączanie) | „Switch the fan off” (Wyłącz wentylator) | fan (device) [wentylator (urządzenie)] |
„Turn the light off” (Wyłącz światło) | light (device) [światło (urządzenie)] | |
„Turn off the light” (Wyłącz światło) | light (device) [światło (urządzenie)] | |
CheckWeather (Sprawdzanie pogody) | „What is the weather for today?” (Jaka jest dzisiaj pogoda?) | today (datetime) [dzisiaj (data)] |
„Give me the weather forecast” (Podaj mi prognozę pogody) | ||
„What is the forecast for Paris?” (Jaka jest prognoza dla Paryża?) | Paris (location) [Paryż (lokalizacja)] | |
„What will the weather be like in Seattle tomorrow?” (Jaka pogoda będzie jutro w Seattle?) | Seattle (location) [Seattle (lokalizacja)], tomorrow (datetime) [jutro (data)] | |
Brak | „What is the meaning of life?” (Jaki jest sens życia?) | |
„Is this thing on?” (Czy to jest włączone?) |
W tabeli istnieje wiele wypowiedzi używanych dla każdej z intencji. Intencja powinna być zwięzłym sposobem grupowania zadań wypowiedzi. Specjalne znaczenie ma intencja None (Brak). Zawsze należy rozważyć użycie intencji None , aby ułatwić obsługę wypowiedzi, które nie mapują żadnych wprowadzonych wypowiedzi. Intencja None jest uważana za rezerwową i jest zwykle używana do zapewnienia ogólnej odpowiedzi użytkownikom, gdy ich żądania nie są zgodne z żadną inną intencją.
Po zdefiniowaniu jednostek i intencji za pomocą przykładowych wypowiedzi w aplikacji CLU można wytrenować model języka w celu przewidywania intencji i jednostek z danych wejściowych użytkownika — nawet jeśli nie jest dokładnie zgodny z przykładowymi wypowiedziami. W dalszej kolejności można używać modelu z aplikacji klienckiej do pobierania przewidywań i odpowiedniego reagowania.