Typy jednostek
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.
Jednostka jest elementem lub elementem, który jest istotny dla intencji użytkownika. Jednostki definiują dane, które można wyodrębnić z wypowiedzi i są niezbędne do wykonania wymaganej akcji użytkownika. Na przykład:
Wypowiedź | Przewidywana intencja | Wyodrębnione jednostki | Wyjaśnienie |
---|---|---|---|
Witaj jak się masz? | Powitanie | - | Nic do wyodrębnienia. |
Chcę zamówić małą pizzę | orderPizza | "mały" | Jednostka "Size" jest wyodrębniona jako "mała". |
Wyłącz światło sypialni | zjazd | "sypialnia" | Jednostka "Pokój" jest wyodrębniona jako "sypialnia". |
Sprawdź saldo na moim koncie oszczędnościowym kończącym się na 4406 | checkBalance | "oszczędności", "4406" | Jednostka "accountType" jest wyodrębniona jako "oszczędności", a jednostka "accountNumber" jest wyodrębniona jako "4406". |
Kup 3 bilety do Nowego Jorku | buyTickets | "3", "Nowy Jork" | Jednostka "ticketsCount" jest wyodrębniona jako jednostka "3", a jednostka "Destination" jest wyodrębniona jako "Nowy Jork". |
Jednostki są opcjonalne, ale zalecane. Nie musisz tworzyć jednostek dla każdej koncepcji w aplikacji tylko wtedy, gdy:
- Aplikacja kliencka potrzebuje danych lub
- Jednostka działa jako wskazówka lub sygnał dla innej jednostki lub intencji. Aby dowiedzieć się więcej o jednostkach jako funkcjach, przejdź do pozycji Jednostki jako funkcje.
Typy jednostek
Aby utworzyć jednostkę, musisz nadać jej nazwę i typ. Istnieje kilka typów jednostek w usłudze LUIS.
Jednostka listy
Jednostka listy reprezentuje stały, zamknięty zestaw powiązanych wyrazów wraz z ich synonimami. Jednostki listy umożliwiają rozpoznawanie wielu synonimów lub odmian i wyodrębnianie znormalizowanych danych wyjściowych. Użyj opcji zalecanej, aby wyświetlić sugestie dotyczące nowych słów na podstawie bieżącej listy.
Jednostka listy nie jest wyuczone maszynowo, co oznacza, że usługa LUIS nie odnajduje większej liczby wartości dla jednostek listy. Usługa LUIS oznacza dowolne dopasowanie do elementu na dowolnej liście jako jednostkę w odpowiedzi.
Dopasowywanie jednostek listy jest uwzględniane zarówno w przypadku wielkości liter, jak i musi być dokładnie zgodne. Znormalizowane wartości są również używane podczas dopasowywania jednostki listy. Na przykład:
Znormalizowana wartość | Synonimy |
---|---|
Mały | sm , , sml , , tiny smallest |
Śred. | md , , mdm , regular , , average middle |
Duży | lg , , lrg big |
Aby uzyskać więcej informacji, zobacz artykuł referencyjny dotyczący jednostek listy.
Jednostka wyrażeń regularnych
Jednostka wyrażenia regularnego wyodrębnia jednostkę na podstawie podanego wzorca wyrażenia regularnego. Ignoruje wielkość liter i ignoruje wariant kulturowy. Jednostki wyrażeń regularnych najlepiej nadają się do tekstu strukturalnego lub wstępnie zdefiniowanej sekwencji wartości alfanumerycznych, które są oczekiwane w określonym formacie. Na przykład:
Encja | Regular expression | Przykład |
---|---|---|
Numer lotu | flight [A-Z]{2} [0-9]{4} |
flight AS 1234 |
Numer karty kredytowej | [0-9]{16} |
5478789865437632 |
Aby uzyskać więcej informacji, zobacz artykuł referencyjny dotyczący jednostek wyrażeń regularnych.
Wstępnie skompilowane encje
Usługa LUIS zawiera zestaw wstępnie utworzonych jednostek do rozpoznawania typowych typów informacji, takich jak daty, godziny, liczby, pomiary i waluta. Obsługa wstępnie utworzonej jednostki różni się w zależności od kultury aplikacji LUIS. Aby uzyskać pełną listę wstępnie utworzonych jednostek, które obsługuje usługa LUIS, w tym obsługę według kultury, zobacz wstępnie skompilowaną dokumentację jednostki.
Po dołączeniu wstępnie utworzonej jednostki do aplikacji jej przewidywania są uwzględniane w opublikowanej aplikacji. Zachowanie wstępnie utworzonych jednostek jest wstępnie wytrenowane i nie można ich modyfikować.
Wstępnie utworzona jednostka | Przykładowa wartość |
---|---|
PersonName | James, Bill, Tom |
Data/godzina 2 | 2019-05-02 , , May 2nd 8am on May 2nd 2019 |
Aby uzyskać więcej informacji, zobacz artykuł referencyjny dotyczący wstępnie utworzonych jednostek.
Pattern.Any, jednostka
Wzorzec. Każda jednostka jest symbolem zastępczym o zmiennej długości używanym tylko w wypowiedzi szablonu wzorca, aby oznaczyć miejsce rozpoczęcia i zakończenia jednostki. Jest on zgodny z określoną regułą lub wzorcem i najlepiej używanym dla zdań ze stałą strukturą leksykaczną. Na przykład:
Przykładowa wypowiedź | Wzorzec | Encja |
---|---|---|
Czy mogę mieć burger proszę? | Can I have a {meal} [please][?] |
hamburger |
Czy mogę mieć pizzę? | Can I have a {meal} [please][?] |
pizza |
Gdzie mogę znaleźć Wielki Gatsby? | Where can I find {bookName}? |
Wielki Gatsby |
Aby uzyskać więcej informacji, zobacz artykuł Referencyjny dotyczący jednostek Pattern.Any.
Jednostka uczenie maszynowe (ML)
Jednostka nauczona maszynie używa kontekstu do wyodrębniania jednostek na podstawie przykładów oznaczonych etykietami. Jest to preferowana jednostka do tworzenia aplikacji usługi LUIS. Opiera się ona na algorytmach uczenia maszynowego i wymaga, aby etykietowanie było dostosowane do aplikacji pomyślnie. Użyj jednostki ML, aby zidentyfikować dane, które nie zawsze są dobrze sformatowane, ale mają takie samo znaczenie.
Przykładowa wypowiedź | Wyodrębniona jednostka produktu |
---|---|
Chcę kupić książkę. | "book" |
Czy mogę dostać te buty proszę? | "buty" |
Dodaj te szorty do koszyka. | "szorty" |
Aby uzyskać więcej informacji, zobacz Machine learned entities (Jednostki poznane na maszynie).
Jednostka ML ze strukturą
Jednostka ML może składać się z mniejszych jednostek podrzędnych, z których każda może mieć własne właściwości. Na przykład jednostka Adres może mieć następującą strukturę:
- Adres: 4567 Main Street, NY, 98052, USA
- Numer budynku: 4567
- Nazwa ulicy: Main Street
- Stan: NY
- Kod pocztowy: 98052
- Kraj: USA
Tworzenie efektywnych jednostek uczenia maszynowego
Aby efektywnie tworzyć jednostki poznane na maszynie, postępuj zgodnie z następującymi najlepszymi rozwiązaniami:
- Jeśli masz jednostkę nauczoną maszyną z jednostkami podrzędnymi, upewnij się, że w wypowiedziach oznaczonych etykietami są prezentowane różne zamówienia i warianty jednostek i jednostek podrzędnych. Przykładowe wypowiedzi z etykietami powinny zawierać wszystkie prawidłowe formularze oraz uwzględnić jednostki, które są wyświetlane i nieobecne, a także zmienić kolejność w wypowiedzi.
- Unikaj nadmiernego dopasowania jednostek do ustalonego zestawu. Nadmierne dopasowanie ma miejsce, gdy model nie uogólnia się i jest typowym problemem w modelach uczenia maszynowego. Oznacza to, że aplikacja nie będzie działać odpowiednio na nowych typach przykładów. Z kolei należy różnić oznaczone przykładowe wypowiedzi, aby aplikacja mogła uogólnić poza ograniczone przykłady, które podajesz.
- Etykietowanie powinno być spójne we wszystkich intencjach. Obejmuje to nawet wypowiedzi podane w intencji None , która zawiera tę jednostkę. W przeciwnym razie model nie będzie mógł skutecznie określić sekwencji.
Jednostki jako funkcje
Inną ważną funkcją jednostek jest użycie ich jako cech lub cech wyróżniających dla innych intencji lub jednostek, dzięki czemu system obserwuje i uczy się za ich pomocą.
Jednostki jako funkcje dla intencji
Jednostki można użyć jako sygnału dla intencji. Na przykład obecność określonej jednostki w wypowiedzi może odróżnić intencję, której dotyczy.
Przykładowa wypowiedź | Encja | Zamiar |
---|---|---|
Zarezerwuj mi lot do Nowego Jorku. | City | Zarezerwuj lot |
Zarezerwuj mi główną salę konferencyjną. | Pokój | Pokój rezerwowy |
Jednostki jako funkcja dla jednostek
Jednostki można również użyć jako wskaźnika obecności innych jednostek. Typowym przykładem jest użycie wstępnie utworzonej jednostki jako funkcji dla innej jednostki uczenia maszynowego. Jeśli tworzysz system rezerwacji lotów, a twoja wypowiedź wygląda jak "Zarezerwuj mi lot z Kairu do Seattle", prawdopodobnie będziesz mieć Origin City i Destination City jako jednostki ML. Dobrym rozwiązaniem jest użycie wstępnie utworzonej jednostki GeographyV2 jako funkcji dla obu jednostek.
Aby uzyskać więcej informacji, zobacz artykuł GeographyV2 entities reference (Jednostki GeographyV2).
Można również używać jednostek jako wymaganych funkcji dla innych jednostek. Pomaga to w rozwiązywaniu wyodrębnionych jednostek. Jeśli na przykład tworzysz aplikację do zamawiania pizzy i masz jednostkę Rozmiar uczenia maszynowego, możesz utworzyć jednostkę listy SizeList i użyć jej jako wymaganej funkcji dla jednostki Size. Aplikacja zwróci znormalizowaną wartość jako wyodrębnioną jednostkę z wypowiedzi.
Zobacz funkcje , aby uzyskać więcej informacji i wstępnie utworzone jednostki, aby dowiedzieć się więcej o wstępnie utworzonych jednostkach dostępnych w kulturze.
Dane z jednostek
Większość czatbotów i aplikacji potrzebuje więcej niż nazwa intencji. Te dodatkowe, opcjonalne dane pochodzą z jednostek odnalezionych w wypowiedzi. Każdy typ jednostki zwraca różne informacje o dopasowaniu.
Jedno słowo lub fraza w wypowiedzi może być zgodne z więcej niż jedną jednostką. W takim przypadku każda zgodna jednostka jest zwracana z wynikiem.
Wszystkie jednostki są zwracane w tablicy jednostek odpowiedzi z punktu końcowego
Najlepsze rozwiązania dotyczące jednostek
Korzystanie z jednostek uczenia maszynowego
Jednostki poznane na maszynie są dostosowane do aplikacji i wymagają pomyślnego etykietowania. Jeśli nie używasz jednostek poznanych na maszynie, możesz użyć nieprawidłowych jednostek.
Jednostki poznane na maszynie mogą używać innych jednostek jako funkcji. Te inne jednostki mogą być jednostkami niestandardowymi, takimi jak jednostki wyrażeń regularnych lub jednostki listy, lub użyć wstępnie utworzonych jednostek jako funkcji.
Dowiedz się więcej o efektywnych jednostkach uczenia maszynowego.