Umiejętność poznawcza rozpoznawania jednostek (wersja 2)

Umiejętność rozpoznawania jednostek (wersja 2) wyodrębnia jednostki różnych typów z tekstu. Ta umiejętność korzysta z modeli uczenia maszynowego udostępnianych przez analiza tekstu w usługach azure AI.

Ważne

Umiejętność rozpoznawania jednostek (wersja 2) (Microsoft.Skills.Text.EntityRecognitionSkill) została zastąpiona przez Microsoft.Skills.Text.V3.EntityRecognitionSkill. Postępuj zgodnie z zaleceniami w temacie Przestarzałe umiejętności , aby przeprowadzić migrację do obsługiwanej umiejętności.

Uwaga

W miarę rozszerzania zakresu przez zwiększenie częstotliwości przetwarzania, dodawanie większej liczby dokumentów lub dodawanie większej liczby algorytmów sztucznej inteligencji należy dołączyć rozliczany zasób usług Azure AI. Opłaty są naliczane podczas wywoływania interfejsów API w usługach AI platformy Azure oraz wyodrębniania obrazów w ramach etapu łamania dokumentów w usłudze Azure AI Search. Za wyodrębnianie tekstu z dokumentów nie są naliczane żadne opłaty.

Wykonanie wbudowanych umiejętności jest naliczane za istniejące usługi Azure AI z płatnością zgodnie z rzeczywistym użyciem. Cennik wyodrębniania obrazów jest opisany na stronie cennika usługi Azure AI Search.

@odata.type

Microsoft.Skills.Text.EntityRecognitionSkill

Limity danych

Maksymalny rozmiar rekordu powinien wynosić 50 000 znaków mierzonych przez String.Lengthwartość . Jeśli musisz podzielić dane przed wysłaniem ich do modułu wyodrębniania kluczowych fraz, rozważ użycie umiejętności Dzielenie tekstu. Jeśli używasz umiejętności dzielenia tekstu, ustaw długość strony na 5000, aby uzyskać najlepszą wydajność.

Parametry umiejętności

Parametry są uwzględniane w wielkości liter i są opcjonalne.

Nazwa parametru opis
categories Tablica kategorii, które powinny zostać wyodrębnione. Możliwe typy kategorii: "Person", , "Location", "Quantity""Organization", "Datetime", "URL", , "Email". Jeśli nie podano żadnej kategorii, zwracane są wszystkie typy.
defaultLanguageCode Kod języka tekstu wejściowego. Obsługiwane są następujące języki: ar, cs, da, de, en, es, fi, fr, hu, it, ja, ko, nl, no, pl, pt-BR, pt-PT, ru, sv, tr, zh-hans. Nie wszystkie kategorie jednostek są obsługiwane dla wszystkich języków; zobacz notatkę poniżej.
minimumPrecision Wartość z zakresu od 0 do 1. Jeśli wynik ufności (w danych wyjściowych namedEntities ) jest niższy niż ta wartość, jednostka nie jest zwracana. Wartość domyślna to 0.
includeTypelessEntities Ustaw wartość na true , jeśli chcesz rozpoznać dobrze znane jednostki, które nie pasują do bieżących kategorii. Rozpoznane jednostki są zwracane w entities złożonym polu danych wyjściowych. Na przykład "Windows 10" jest dobrze znaną jednostką (produktem), ale ponieważ "Produkty" nie jest obsługiwaną kategorią, ta jednostka zostanie uwzględniona w polu danych wyjściowych jednostek. Wartość domyślna to false

Dane wejściowe umiejętności

Nazwa danych wejściowych opis
languageCode Opcjonalny. Wartość domyślna to "en".
text Tekst do przeanalizowania.

Dane wyjściowe umiejętności

Uwaga

Nie wszystkie kategorie jednostek są obsługiwane dla wszystkich języków. Typy "Person"kategorii jednostek , "Location"i "Organization" są obsługiwane dla pełnej listy języków powyżej. Tylko de, en, es, fr i zh-hans obsługują wyodrębnianie "Quantity", "Datetime", "URL"i "Email" typów. Aby uzyskać więcej informacji, zobacz Obsługa języka i regionu dla interfejsu API analiza tekstu.

Nazwa danych wyjściowych opis
persons Tablica ciągów, w których każdy ciąg reprezentuje nazwę osoby.
locations Tablica ciągów, w której każdy ciąg reprezentuje lokalizację.
organizations Tablica ciągów, w których każdy ciąg reprezentuje organizację.
quantities Tablica ciągów, w której każdy ciąg reprezentuje ilość.
dateTimes Tablica ciągów, w której każdy ciąg reprezentuje wartość DateTime (jak jest wyświetlana w tekście).
urls Tablica ciągów, w której każdy ciąg reprezentuje adres URL
emails Tablica ciągów, w których każdy ciąg reprezentuje wiadomość e-mail
namedEntities Tablica typów złożonych, które zawierają następujące pola:
  • category
  • value (rzeczywista nazwa jednostki)
  • offset (lokalizacja, w której została znaleziona w tekście)
  • ufność (wyższa wartość oznacza, że bardziej jest to rzeczywista jednostka)
entities Tablica typów złożonych zawierająca szczegółowe informacje o jednostkach wyodrębnionych z tekstu z następującymi polami
  • name (rzeczywista nazwa jednostki. Reprezentuje to formularz "znormalizowany"
  • wikipediaId
  • wikipediaLanguage
  • wikipediaUrl (link do strony Wikipedii dla jednostki)
  • identyfikator bingId
  • type (kategoria rozpoznanej jednostki)
  • subType (dostępny tylko dla niektórych kategorii, daje to bardziej szczegółowy widok typu jednostki)
  • dopasowanie (złożona kolekcja zawierająca)
    • text (nieprzetworzonego tekstu dla jednostki)
    • przesunięcie (lokalizacja, w której została znaleziona)
    • length (długość nieprzetworzonego tekstu jednostki)

Przykładowa definicja

  {
    "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill",
    "categories": [ "Person", "Email"],
    "defaultLanguageCode": "en",
    "includeTypelessEntities": true,
    "minimumPrecision": 0.5,
    "inputs": [
      {
        "name": "text",
        "source": "/document/content"
      }
    ],
    "outputs": [
      {
        "name": "persons",
        "targetName": "people"
      },
      {
        "name": "emails",
        "targetName": "contact"
      },
      {
        "name": "entities"
      }
    ]
  }

Przykładowe dane wejściowe

{
    "values": [
      {
        "recordId": "1",
        "data":
           {
             "text": "Contoso corporation was founded by John Smith. They can be reached at contact@contoso.com",
             "languageCode": "en"
           }
      }
    ]
}

Przykładowe dane wyjściowe

{
  "values": [
    {
      "recordId": "1",
      "data" : 
      {
        "persons": [ "John Smith"],
        "emails":["contact@contoso.com"],
        "namedEntities": 
        [
          {
            "category":"Person",
            "value": "John Smith",
            "offset": 35,
            "confidence": 0.98
          }
        ],
        "entities":  
        [
          {
            "name":"John Smith",
            "wikipediaId": null,
            "wikipediaLanguage": null,
            "wikipediaUrl": null,
            "bingId": null,
            "type": "Person",
            "subType": null,
            "matches": [{
                "text": "John Smith",
                "offset": 35,
                "length": 10
            }]
          },
          {
            "name": "contact@contoso.com",
            "wikipediaId": null,
            "wikipediaLanguage": null,
            "wikipediaUrl": null,
            "bingId": null,
            "type": "Email",
            "subType": null,
            "matches": [
            {
                "text": "contact@contoso.com",
                "offset": 70,
                "length": 19
            }]
          },
          {
            "name": "Contoso",
            "wikipediaId": "Contoso",
            "wikipediaLanguage": "en",
            "wikipediaUrl": "https://en.wikipedia.org/wiki/Contoso",
            "bingId": "349f014e-7a37-e619-0374-787ebb288113",
            "type": null,
            "subType": null,
            "matches": [
            {
                "text": "Contoso",
                "offset": 0,
                "length": 7
            }]
          }
        ]
      }
    }
  ]
}

Należy pamiętać, że przesunięcia zwracane dla jednostek w danych wyjściowych tej umiejętności są bezpośrednio zwracane z interfejsu API analiza tekstu, co oznacza, że jeśli używasz ich do indeksowania do oryginalnego ciągu, należy użyć klasy StringInfo na platformie .NET, aby wyodrębnić poprawną zawartość. Więcej szczegółów można znaleźć tutaj.

Przypadki ostrzegawcze

Jeśli kod języka dokumentu nie jest obsługiwany, zwracane jest ostrzeżenie i nie są wyodrębniane żadne jednostki.

Zobacz też