Wyodrębnianie danych z tekstu wypowiedzi z intencjami i jednostkami
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.
Usługa LUIS umożliwia uzyskanie informacji z wypowiedzi języka naturalnego użytkownika. Informacje są wyodrębniane w sposób, który może być używany przez program, aplikację lub czatbota do podjęcia działań. W poniższych sekcjach dowiesz się, jakie dane są zwracane z intencji i jednostek z przykładami kodu JSON.
Najtrudniejsze dane do wyodrębnienia to dane uczenia maszynowego, ponieważ nie są dokładnie zgodne z tekstem. Wyodrębnianie danych jednostek uczenia maszynowego musi być częścią cyklu tworzenia , dopóki nie otrzymasz oczekiwanych danych.
Lokalizacja danych i użycie klucza
Usługa LUIS wyodrębnia dane z wypowiedzi użytkownika w opublikowanym punkcie końcowym. Żądanie HTTPS (POST lub GET) zawiera wypowiedź, a także niektóre opcjonalne konfiguracje, takie jak środowiska przejściowe lub produkcyjne.
Żądanie punktu końcowego przewidywania w wersji 2
https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/<appID>?subscription-key=<subscription-key>&verbose=true&timezoneOffset=0&q=book 2 tickets to paris
Żądanie punktu końcowego przewidywania w wersji 3
https://westus.api.cognitive.microsoft.com/luis/v3.0-preview/apps/<appID>/slots/<slot-type>/predict?subscription-key=<subscription-key>&verbose=true&timezoneOffset=0&query=book 2 tickets to paris
Element appID
jest dostępny na stronie Ustawienia aplikacji usługi LUIS, a także w części adresu URL (po /apps/
) podczas edytowania tej aplikacji usługi LUIS. Jest subscription-key
to klucz punktu końcowego używany do wykonywania zapytań dotyczących aplikacji. Podczas nauki usługi LUIS możesz użyć bezpłatnego klucza tworzenia/startera, ale ważne jest, aby zmienić klucz punktu końcowego na klucz obsługujący oczekiwane użycie usługi LUIS. Jednostka to minuty timezoneOffset
.
Odpowiedź HTTPS zawiera wszystkie informacje o intencji i jednostkach, które usługa LUIS może określić na podstawie bieżącego opublikowanego modelu przejściowego lub produkcyjnego punktu końcowego. Adres URL punktu końcowego znajduje się w witrynie internetowej usługi LUIS w sekcji Zarządzanie na stronie Klucze i punkty końcowe .
Dane z intencji
Dane podstawowe to główna nazwa intencji oceniania. Odpowiedź punktu końcowego to:
- Odpowiedź punktu końcowego przewidywania w wersji 2
- Odpowiedź punktu końcowego przewidywania w wersji 3
{
"query": "when do you open next?",
"topScoringIntent": {
"intent": "GetStoreInfo",
"score": 0.984749258
},
"entities": []
}
Obiekt danych | Typ danych | Lokalizacja danych | Wartość |
---|---|---|---|
Zamiar | Ciąg | topScoringIntent.intent | "GetStoreInfo" |
Jeśli twój czatbot lub aplikacja wywołująca usługę LUIS podejmuje decyzję na podstawie więcej niż jednego wyniku intencji, zwróć wszystkie wyniki intencji.
- Odpowiedź punktu końcowego przewidywania w wersji 2
- Odpowiedź punktu końcowego przewidywania w wersji 3
Ustaw parametr querystring, verbose=true
. Odpowiedź punktu końcowego to:
{
"query": "when do you open next?",
"topScoringIntent": {
"intent": "GetStoreInfo",
"score": 0.984749258
},
"intents": [
{
"intent": "GetStoreInfo",
"score": 0.984749258
},
{
"intent": "None",
"score": 0.2040639
}
],
"entities": []
}
Intencje są uporządkowane od najwyższego do najniższego wyniku.
Obiekt danych | Typ danych | Lokalizacja danych | Wartość | Wynik |
---|---|---|---|---|
Zamiar | Ciąg | intents[0].intent | "GetStoreInfo" | 0.984749258 |
Zamiar | Ciąg | intents[1].intent | "Brak" | 0.0168218873 |
Jeśli dodasz wstępnie utworzone domeny, nazwa intencji wskazuje domenę, taką jak Utilties
lub Communication
, a także intencję:
- Odpowiedź punktu końcowego przewidywania w wersji 2
- Odpowiedź punktu końcowego przewidywania w wersji 3
{
"query": "Turn on the lights next monday at 9am",
"topScoringIntent": {
"intent": "Utilities.ShowNext",
"score": 0.07842206
},
"intents": [
{
"intent": "Utilities.ShowNext",
"score": 0.07842206
},
{
"intent": "Communication.StartOver",
"score": 0.0239675418
},
{
"intent": "None",
"score": 0.0168218873
}],
"entities": []
}
Domain | Obiekt danych | Typ danych | Lokalizacja danych | Wartość |
---|---|---|---|---|
Narzędzia | Zamiar | Ciąg | intents[0].intent | "Narzędzia. ShowNext" |
Komunikacja | Zamiar | Ciąg | intents[1].intent | Komunikacja. StartOver" |
Zamiar | Ciąg | intents[2].intent | "Brak" |
Dane z jednostek
Większość czatbotów i aplikacji wymaga 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 pasująca jednostka jest zwracana z wynikiem.
Wszystkie jednostki są zwracane w tablicy jednostek odpowiedzi z punktu końcowego
Zwrócona jednostka tokenizowana
Przejrzyj obsługę tokenów w usłudze LUIS.
Wstępnie utworzone dane jednostki
Wstępnie utworzone jednostki są wykrywane na podstawie dopasowania wyrażenia regularnego przy użyciu projektu Rozpoznawanie rozpoznawcze typu open source. Wstępnie utworzone jednostki są zwracane w tablicy jednostek i używają nazwy typu poprzedzonej prefiksem builtin::
.
Wyświetlanie listy danych jednostki
Jednostki listy reprezentują stały, zamknięty zestaw powiązanych słów wraz z ich synonimami. Usługa LUIS nie odnajduje dodatkowych wartości dla jednostek listy. Użyj funkcji Zalecane , aby wyświetlić sugestie dotyczące nowych słów na podstawie bieżącej listy. Jeśli istnieje więcej niż jedna jednostka listy o tej samej wartości, każda jednostka jest zwracana w zapytaniu punktu końcowego.
Dane jednostki wyrażenia regularnego
Jednostka wyrażenia regularnego wyodrębnia jednostkę na podstawie podanego wyrażenia regularnego.
Wyodrębnianie nazw
Pobieranie nazw z wypowiedzi jest trudne, ponieważ nazwa może być prawie dowolną kombinacją liter i wyrazów. W zależności od typu wyodrębnianej nazwy masz kilka opcji. Poniższe sugestie nie są regułami, ale bardziej wytycznymi.
Dodawanie wstępnie utworzonych jednostek PersonName i GeographyV2
Jednostki PersonName i GeographyV2 są dostępne w niektórych kulturach języków.
Nazwiska osób
nazwa Osoby może mieć niewielki format w zależności od języka i kultury. Użyj wstępnie utworzonej jednostki personName lub prostej jednostki z rolami i nazwiskiem.
Jeśli używasz prostej jednostki, upewnij się, że podano przykłady, które używają imienia i nazwiska w różnych częściach wypowiedzi, w wypowiedziach o różnych długościach i wypowiedziach we wszystkich intencjach, w tym intencji None. Regularnie przeglądaj wypowiedzi punktu końcowego, aby oznaczyć wszystkie nazwy, które nie były prawidłowo przewidywane.
Nazwy miejsc
Nazwy lokalizacji są ustawiane i znane, takie jak miasta, powiaty, stany, prowincje i kraje/regiony. Użyj wstępnie utworzonej lokalizacji geograficznej jednostkiV2 , aby wyodrębnić informacje o lokalizacji.
Nowe i pojawiające się nazwy
Niektóre aplikacje muszą mieć możliwość znajdowania nowych i pojawiających się nazw, takich jak produkty lub firmy. Te typy nazw są najtrudniejszym typem wyodrębniania danych. Rozpocznij od prostej jednostki i dodaj listę fraz. Regularnie przeglądaj wypowiedzi punktu końcowego, aby oznaczyć wszystkie nazwy, które nie były prawidłowo przewidywane.
Pattern.any, dane jednostki
Pattern.any to symbol zastępczy o zmiennej długości używany tylko w wypowiedzi szablonu wzorca, aby oznaczyć, gdzie jednostka zaczyna się i kończy. Aby można było zastosować wzorzec, należy znaleźć jednostkę używaną we wzorcu.
Analiza tonacji
Jeśli analiza tonacji jest skonfigurowana podczas publikowania, odpowiedź json usługi LUIS obejmuje analizę tonacji. Dowiedz się więcej o analizie tonacji w dokumentacji usługi językowej .
Dane jednostki wyodrębniania kluczowych fraz
Jednostka wyodrębniania kluczowych fraz zwraca kluczowe frazy w wypowiedzi dostarczonej przez usługę językową.
Dane pasujące do wielu jednostek
Usługa LUIS zwraca wszystkie jednostki odnalezione w wypowiedzi. W związku z tym czatbot może wymagać podjęcia decyzji na podstawie wyników.
Dane pasujące do wielu jednostek listy
Jeśli wyraz lub fraza pasuje do więcej niż jednej jednostki listy, zapytanie punktu końcowego zwraca każdą jednostkę Listy.
W przypadku zapytania when is the best time to go to red rock?
aplikacja ma wyraz red
na więcej niż jednej liście, usługa LUIS rozpoznaje wszystkie jednostki i zwraca tablicę jednostek w ramach odpowiedzi punktu końcowego JSON.
Następne kroki
Zobacz Dodawanie jednostek , aby dowiedzieć się więcej na temat dodawania jednostek do aplikacji usługi LUIS.