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:

{
  "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.

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ę:

{
  "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.