Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Usługa Language Understanding Intelligent Service (LUIS) zostanie w pełni wycofana 31 marca 2026 r. Tworzenie zasobów usługi LUIS nie jest dostępne. Od 31 października 2025 r. portal usługi LUIS nie będzie już dostępny. 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.
Schemat aplikacji (modele i funkcje) jest trenowany i publikowany w punkcie końcowym przewidywania. Ten opublikowany model jest używany w środowisku uruchomieniowym przewidywania. Możesz przekazać nowe informacje wraz z wypowiedzią użytkownika do środowiska uruchomieniowego przewidywania w celu rozszerzenia przewidywania.
Dwa zmiany schematu środowiska uruchomieniowego przewidywania obejmują:
Jednostki zewnętrzne
Jednostki zewnętrzne zapewniają aplikacji LUIS możliwość identyfikowania i etykietowania jednostek w czasie wykonywania, które mogą być używane jako funkcje dla istniejących jednostek. Dzięki temu można używać własnych oddzielnych i niestandardowych wyodrębniaczy jednostek przed wysłaniem zapytań do punktu końcowego przewidywania. Ponieważ odbywa się to w punkcie końcowym przewidywania zapytania, nie musisz ponownie trenować i publikować modelu.
Aplikacja kliencka udostępnia własny obiekt wyodrębniania jednostek, zarządzając dopasowywaniem jednostek i określaniem lokalizacji w wypowiedzi dopasowanej jednostki, a następnie wysyłając te informacje z żądaniem.
Jednostki zewnętrzne to mechanizm rozszerzania dowolnego typu jednostki, a jednocześnie używany jako sygnały do innych modeli.
Jest to przydatne w przypadku jednostki, która ma dane dostępne tylko w czasie wykonywania przewidywania zapytań. Przykłady tego typu danych stale zmieniają dane lub określone dla poszczególnych użytkowników. Możesz rozszerzyć jednostkę kontaktową usługi LUIS o informacje zewnętrzne z listy kontaktów użytkownika.
Jednostki zewnętrzne są częścią interfejsu API tworzenia w wersji 3.
Jednostka już istnieje w aplikacji
Wartość entityName
dla jednostki zewnętrznej przekazanej w treści żądania PUNKTU końcowego POST musi już istnieć w wytrenowanej i opublikowanej aplikacji w momencie wykonania żądania. Typ jednostki nie ma znaczenia, wszystkie typy są obsługiwane.
Pierwszy obrót w konwersacji
Rozważ pierwszą wypowiedź w konwersacji z czatbotem, w której użytkownik wprowadza następujące niekompletne informacje:
Send Hazem a new message
Żądanie od czatbota do usługi LUIS może przekazać informacje w treści Hazem
POST, aby było ono bezpośrednio dopasowane jako jeden z kontaktów użytkownika.
"externalEntities": [
{
"entityName":"contacts",
"startIndex": 5,
"entityLength": 5,
"resolution": {
"employeeID": "05013",
"preferredContactType": "TeamsChat"
}
}
]
Odpowiedź przewidywania zawiera jednostkę zewnętrzną ze wszystkimi innymi przewidywanymi jednostkami, ponieważ jest ona zdefiniowana w żądaniu.
Drugi obrót w konwersacji
Następna wypowiedź użytkownika w czatbotze używa bardziej niejasnego terminu:
Send him a calendar reminder for the party.
Z tej kolei konwersacja wypowiedź jest używana him
jako odwołanie do Hazem
elementu . Czatbot konwersacji w treści POST może mapować him
na wartość jednostki wyodrębnioną z pierwszej wypowiedzi . Hazem
"externalEntities": [
{
"entityName":"contacts",
"startIndex": 5,
"entityLength": 3,
"resolution": {
"employeeID": "05013",
"preferredContactType": "TeamsChat"
}
}
]
Odpowiedź przewidywania zawiera jednostkę zewnętrzną ze wszystkimi innymi przewidywanymi jednostkami, ponieważ jest ona zdefiniowana w żądaniu.
Zastępowanie istniejących przewidywań modelu
Właściwość preferExternalEntities
options określa, że jeśli użytkownik wysyła jednostkę zewnętrzną, która nakłada się na przewidywaną jednostkę o tej samej nazwie, usługa LUIS wybiera jednostkę przekazaną lub jednostkę istniejącą w modelu.
Rozważmy na przykład zapytanie today I'm free
. Usługa LUIS wykrywa today
jako datę/godzinav2 z następującą odpowiedzią:
"datetimeV2": [
{
"type": "date",
"values": [
{
"timex": "2019-06-21",
"value": "2019-06-21"
}
]
}
]
Jeśli użytkownik wyśle jednostkę zewnętrzną:
{
"entityName": "datetimeV2",
"startIndex": 0,
"entityLength": 5,
"resolution": {
"date": "2019-06-21"
}
}
preferExternalEntities
Jeśli parametr ma wartość false
, usługa LUIS zwraca odpowiedź tak, jakby jednostka zewnętrzna nie została wysłana.
"datetimeV2": [
{
"type": "date",
"values": [
{
"timex": "2019-06-21",
"value": "2019-06-21"
}
]
}
]
preferExternalEntities
Jeśli parametr ma wartość true
, usługa LUIS zwraca odpowiedź, w tym:
"datetimeV2": [
{
"date": "2019-06-21"
}
]
Rozwiązanie
Opcjonalna resolution
właściwość zwraca wartość w odpowiedzi przewidywania, umożliwiając przekazywanie metadanych skojarzonych z jednostką zewnętrzną, a następnie odbieranie jej z powrotem w odpowiedzi.
Podstawowym celem jest rozszerzenie wstępnie utworzonych jednostek, ale nie jest ograniczone do tego typu jednostki.
Właściwość resolution
może być liczbą, ciągiem, obiektem lub tablicą:
- "Dallas"
- {"text": "wartość"}
- 12345
- ["a", "b", "c"]
Listy dynamiczne
Listy dynamiczne umożliwiają rozszerzenie istniejącej jednostki listy wytrenowanych i opublikowanych już w aplikacji usługi LUIS.
Użyj tej funkcji, gdy wartości jednostki listy muszą być okresowo zmieniane. Ta funkcja umożliwia rozszerzenie już wytrenowanego i opublikowanego jednostki listy:
- W momencie żądania punktu końcowego przewidywania zapytania.
- W przypadku pojedynczego żądania.
Jednostka listy może być pusta w aplikacji usługi LUIS, ale musi istnieć. Jednostka listy w aplikacji usługi LUIS nie została zmieniona, ale możliwość przewidywania w punkcie końcowym została rozszerzona w celu uwzględnienia maksymalnie 2 list z około 1000 elementami.
Treść żądania JSON listy dynamicznej
Wyślij w następującej treści JSON, aby dodać nową listę podrzędną z synonimami do listy i przewidzieć jednostkę listy dla tekstu, LUIS
z POST
żądaniem przewidywania zapytania:
{
"query": "Send Hazem a message to add an item to the meeting agenda about LUIS.",
"options":{
"timezoneOffset": "-8:00"
},
"dynamicLists": [
{
"listEntity*":"ProductList",
"requestLists":[
{
"name": "Azure AI services",
"canonicalForm": "Azure-Cognitive-Services",
"synonyms":[
"language understanding",
"luis",
"qna maker"
]
}
]
}
]
}
Odpowiedź przewidywania zawiera jednostkę listy ze wszystkimi innymi przewidywanymi jednostkami, ponieważ jest ona zdefiniowana w żądaniu.