Udostępnij za pośrednictwem


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 migrację aplikacji LUIS do interpretacji języka konwersacyjnego, aby korzystać z ciągłej pomocy technicznej i wielojęzycznych możliwości produktów.

Usługa LUIS umożliwia uzyskiwanie 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 jako część adresu URL (po /apps/) podczas edytowania tej aplikacji usługi LUIS. To subscription-key klucz punktu końcowego używany do wykonywania zapytań dotyczących aplikacji. Chociaż podczas nauki usługi LUIS możesz użyć bezpłatnego klucza tworzenia/startu, 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

Podstawowe dane są główną nazwą intencji oceniania. Odpowiedź punktu końcowego to:

{
  "query": "when do you open next?",
  "topScoringIntent": {
    "intent": "GetStoreInfo",
    "score": 0.984749258
  },
  "entities": []
}
Obiekt danych Typ danych o lokalizacji danych Wartość
Zamiar String topScoringIntent.intent "GetStoreInfo"

Jeśli czatbot lub aplikacja wywołująca usługę LUIS podejmuje decyzję na podstawie więcej niż jednego wyniku intencji, zwróć wszystkie wyniki intencji.

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 o lokalizacji danych Wartość Ocena
Zamiar String intents[0].intent "GetStoreInfo" 0.984749258
Zamiar String intents[1].intent "Brak" 0.0168218873

W przypadku dodawania wstępnie utworzonych domen nazwa intencji wskazuje domenę, taką jak Utilties lub Communication , a także intencję:

{
  "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 o lokalizacji danych Wartość
Narzędzia Zamiar String intents[0].intent "Narzędzia. ShowNext"
Komunikacja Zamiar String intents[1].intent Komunikacja. StartOver"
Zamiar String intents[2].intent "Brak"

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

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 Recognizers-Text 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 wyrazó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ębnionej 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ęzykowych.

Nazwiska osób

Nazwa użytkownika 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 imię i nazwisko.

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 sprawdzaj 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. Zacznij od prostej jednostki i dodaj listę fraz. Regularnie sprawdzaj 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ć miejsce rozpoczęcia i zakończenia jednostki. Aby zastosować wzorzec, należy znaleźć jednostkę używaną we wzorcu.

Analiza opinii

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ę Language.

Dane pasujące do wielu jednostek

Usługa LUIS zwraca wszystkie jednostki odnalezione w wypowiedzi. W związku z tym bot 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ę List.

W przypadku zapytania when is the best time to go to red rock?, a aplikacja ma słowo 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.