Składniki jednostki

W Language Understanding konwersacji jednostki są istotnymi informacjami wyodrębnianymi z wypowiedzi. Jednostkę można wyodrębnić za pomocą różnych metod. Można je nauczyć za pomocą kontekstu, dopasowanego z listy lub wykrytego przez wstępnie utworzoną rozpoznaną jednostkę. Każda jednostka w projekcie składa się z co najmniej jednej z tych metod, które są zdefiniowane jako składniki jednostki. Gdy jednostka jest definiowana przez więcej niż jeden składnik, przewidywania mogą się nakładać. Zachowanie przewidywania jednostki można określić, gdy jego składniki nakładają się na siebie, używając stałego zestawu opcji w opcjach jednostki.

Typy składników

Składnik jednostki określa sposób wyodrębniania jednostki. Jednostka może zawierać jeden składnik, który określałby jedyną metodę, która będzie używana do wyodrębniania jednostki, lub wielu składników w celu rozszerzenia sposobów definiowania i wyodrębniania jednostki.

Poznany składnik

Poznany składnik używa tagów jednostek, za pomocą których oznaczysz swoje wypowiedzi, aby wytrenować model nauczonego maszyny. Model uczy się przewidywać, gdzie znajduje się jednostka, na podstawie kontekstu w wypowiedzi. Etykiety zawierają przykłady sytuacji, w których jednostka ma być obecna w wypowiedzi, na podstawie znaczenia wokół niej słów i jako wyrazów, które zostały oznaczone etykietą. Ten składnik jest definiowany tylko w przypadku dodawania etykiet przez tagowanie wypowiedzi dla jednostki. Jeśli nie oznaczysz żadnych wypowiedzi za pomocą jednostki, nie będzie on miał poznanego składnika.

Zrzut ekranu przedstawiający przykład poznanych składników dla jednostek.

Składnik listy

Składnik listy reprezentuje stały, zamknięty zestaw powiązanych wyrazów wraz z ich synonimami. Składnik wykonuje dokładne dopasowanie tekstu względem listy wartości podanych jako synonimy. Każdy synonim należy do "klucza listy", który może być używany jako znormalizowana, standardowa wartość synonimu, który zostanie zwrócony w danych wyjściowych, jeśli składnik listy zostanie dopasowany. Klucze listy nie są używane do dopasowywania.

W projektach wielojęzycznych można określić inny zestaw synonimów dla każdego języka. Korzystając z interfejsu API przewidywania, można określić język w żądaniu wejściowym, który będzie zgodny tylko z synonimami skojarzonymi z tym językiem.

Zrzut ekranu przedstawiający przykład składników listy dla jednostek.

Wstępnie utworzony składnik

Wstępnie utworzony składnik umożliwia wybór z biblioteki typowych typów, takich jak liczby, daty/godziny i nazwy. Po dodaniu zostanie automatycznie wykryty wstępnie utworzony składnik. Na jednostkę może być maksymalnie pięć wstępnie utworzonych składników. Aby uzyskać więcej informacji , zobacz listę obsługiwanych wstępnie utworzonych składników .

Zrzut ekranu przedstawiający przykład wstępnie utworzonych składników dla jednostek.

Składnik wyrażenia regularnego

Składnik wyrażenia regularnego pasuje do wyrażeń regularnych w celu przechwytywania spójnych wzorców. Po dodaniu każdy tekst zgodny z wyrażeniem regularnym zostanie wyodrębniony. Można mieć wiele wyrażeń regularnych w ramach tej samej jednostki, z których każdy ma inny identyfikator klucza. Dopasowane wyrażenie zwróci klucz w ramach odpowiedzi przewidywania.

W projektach wielojęzycznych można określić inne wyrażenie dla każdego języka. Korzystając z interfejsu API przewidywania, można określić język w żądaniu wejściowym, który będzie zgodny tylko z wyrażeniem regularnym skojarzonym z tym językiem.

Zrzut ekranu przedstawiający przykład składników wyrażeń regularnych dla jednostek.

Opcje jednostek

Jeśli dla jednostki zdefiniowano wiele składników, ich przewidywania mogą się nakładać. Gdy wystąpi nakładanie, ostateczne przewidywanie każdej jednostki jest określane przez jedną z następujących opcji.

Łączenie składników

Połącz składniki jako jedną jednostkę, gdy nakładają się, przyjmując połączenie wszystkich składników.

Użyj tego polecenia, aby połączyć wszystkie składniki, gdy się nakładają. Po połączeniu składników uzyskujesz wszystkie dodatkowe informacje powiązane z listą lub wstępnie utworzonym składnikiem, gdy są obecne.

Przykład

Załóżmy, że masz jednostkę o nazwie Software z składnikiem listy zawierającym wpis "Proseware OS". W danych wypowiedzi masz komunikat "Chcę kupić proseware OS 9" z tagiem "Proseware OS 9":

Zrzut ekranu przedstawiający wyuczone i nakładające się jednostki listy.

Korzystając ze składników łączenia, jednostka zwróci pełny kontekst jako "Proseware OS 9" wraz z kluczem ze składnika listy:

Zrzut ekranu przedstawiający wynik połączonego składnika.

Załóżmy, że masz tę samą wypowiedź, ale przez poznany składnik przewidział tylko "system operacyjny 9":

Zrzut ekranu przedstawiający wypowiedź z systemem O S 9 przewidywanym przez poznany składnik.

W przypadku łączenia składników jednostka nadal będzie zwracana jako "Proseware OS 9" z kluczem ze składnika listy:

Zrzut ekranu przedstawiający zwróconą jednostkę oprogramowania.

Nie łącz składników

Każdy nakładający się składnik będzie zwracany jako oddzielne wystąpienie jednostki. Zastosuj własną logikę po przewidywaniu za pomocą tej opcji.

Przykład

Załóżmy, że masz jednostkę o nazwie Oprogramowanie, która zawiera składnik listy zawierający wpis "Proseware Desktop". W danych wypowiedzi masz "Chcę kupić Proseware Desktop Pro" z tagiem "Proseware Desktop Pro":

Zrzut ekranu przedstawiający przykład jednostki poznanej i listy nakładających się na siebie.

Gdy składniki nie zostaną połączone, jednostka zwróci dwa razy:

Zrzut ekranu przedstawiający zwróconą dwukrotnie jednostkę.

Wymagane składniki

Jednostka może być czasami definiowana przez wiele składników, ale wymaga obecności co najmniej jednej z nich. Każdy składnik można ustawić zgodnie z wymaganiami, co oznacza, że jednostka nie zostanie zwrócona, jeśli ten składnik nie był obecny. Jeśli na przykład masz jednostkę ze składnikiem listy i wymaganym składnikiem poznanym, gwarantowane jest, że każda zwrócona jednostka zawiera poznany składnik; Jeśli tak nie jest, jednostka nie zostanie zwrócona.

Wymagane składniki są najczęściej używane ze poznanymi składnikami, ponieważ mogą ograniczać inne typy składników do określonego kontekstu, który jest często skojarzony z rolami. Możesz również wymagać od wszystkich składników, aby upewnić się, że każdy składnik jest obecny dla jednostki.

W programie Language Studio każdy składnik w jednostce ma przełącznik obok niego, który pozwala ustawić go zgodnie z potrzebami.

Przykład

Załóżmy, że masz jednostkę o nazwie Ticket Quantity, która próbuje wyodrębnić liczbę biletów, które chcesz zarezerwować dla lotów, dla wypowiedzi, takich jak "Zarezerwuj dwa bilety jutro do Kairu".

Zazwyczaj należy dodać wstępnie utworzony składnik dla elementu Quantity.Number , który wyodrębnia już wszystkie liczby. Jeśli jednak twoja jednostka została zdefiniowana tylko ze wstępnie utworzonym obiektem, wyodrębniłaby również inne numery w ramach jednostki Ticket Quantity, na przykład "Zarezerwuj dwa bilety jutro do Kairu o godzinie 15:00".

Aby rozwiązać ten problem, należy oznaczyć w danych treningowych poznany składnik dla wszystkich liczb, które mają być ilością biletów. Jednostka ma teraz 2 składniki, wstępnie skompilowany, który zna wszystkie liczby, i poznany, który przewiduje, gdzie ilość biletu znajduje się w zdaniu. Jeśli potrzebujesz poznanego składnika, upewnij się, że funkcja Ticket Quantity zwraca wartość tylko wtedy, gdy poznany składnik przewidzi go w odpowiednim kontekście. Jeśli potrzebujesz również wstępnie utworzonego składnika, możesz zagwarantować, że zwrócona jednostka Ticket Quantity jest zarówno liczbą, jak i prawidłową pozycją.

Jak używać składników i opcji

Składniki zapewniają elastyczność definiowania jednostki w więcej niż jeden sposób. Podczas łączenia składników upewnij się, że każdy składnik jest reprezentowany i zmniejszasz liczbę jednostek zwracanych w przewidywaniach.

Typowym rozwiązaniem jest rozszerzenie wstępnie utworzonego składnika o listę wartości, których wstępnie skompilowany może nie obsługiwać. Jeśli na przykład masz jednostkę Organizacja , do której został dodany wstępnie utworzony składnik General.Organization , jednostka może nie przewidzieć wszystkich organizacji specyficznych dla danej domeny. Możesz użyć składnika listy, aby rozszerzyć wartości jednostki Organizacji, a tym samym rozszerzyć wstępnie skompilowane przy użyciu własnych organizacji.

Innym razem może cię zainteresować wyodrębnienie jednostki za pomocą kontekstu, takiego jak Produkt w projekcie detalicznym. Etykieta dla poznanego składnika produktu pozwala dowiedzieć się , gdzie produkt opiera się na jego pozycji w zdaniu. Możesz również mieć listę produktów, które już znasz przed ręką, którą chcesz zawsze wyodrębnić. Połączenie obu składników w jednej jednostce umożliwia uzyskanie obu opcji dla jednostki.

Gdy składniki nie są łączone, można zezwolić każdemu składnikowi na działanie jako niezależny moduł wyodrębniania jednostek. Jednym ze sposobów użycia tej opcji jest oddzielenie jednostek wyodrębnionych z listy na jednostki wyodrębnione za pośrednictwem poznanych lub wstępnie utworzonych składników do obsługi i traktowania ich w inny sposób.

Uwaga

Wcześniej w publicznej wersji zapoznawczej usługi było dostępnych 4 opcje: Najdłuższe nakładanie się, Dokładne nakładanie się, Nakładanie się na unię i Zwracanie wszystkich oddzielnie. Najdłuższe nakładanie idokładne nakładanie się są przestarzałe i będą obsługiwane tylko w przypadku projektów, które wcześniej miały wybrane opcje. Nazwa łączeniaskładników została zmieniona na Łączenie, natomiast zmieniono nazwę Funkcji Zwracaj wszystkie oddzielnie na Nie łącz składników.

Następne kroki

Obsługiwane wstępnie utworzone składniki