Umiejętność poznawcza rozpoznawania jednostek (wersja 3)
Umiejętność rozpoznawania jednostek (wersja 3) wyodrębnia jednostki różnych typów z tekstu. Te jednostki należą do 14 różnych kategorii, począwszy od osób i organizacji do adresów URL i numerów telefonów. Ta umiejętność korzysta z modeli uczenia maszynowego rozpoznawania jednostek nazwanych udostępnianych przez język sztucznej inteligencji platformy Azure.
Uwaga
Ta umiejętność jest powiązana z usługami azure AI i wymaga rozliczanego zasobu dla transakcji, które przekraczają 20 dokumentów na indeksator dziennie. Wykonanie wbudowanych umiejętności jest naliczane za istniejące usługi Azure AI z płatnością zgodnie z rzeczywistym użyciem.
@odata.type
Microsoft.Skills.Text.V3.EntityRecognitionSkill
Limity danych
Maksymalny rozmiar rekordu powinien wynosić 50 000 znaków mierzonych przez String.Length
wartość . Jeśli musisz podzielić dane przed wysłaniem ich do umiejętności EntityRecognition, rozważ użycie umiejętności Dzielenie tekstu. W przypadku korzystania z umiejętności podziału 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" , "Organization" "DateTime" "URL" "Product" "personType" "Email" "Quantity" "Skill" "Address" "Event" , , . "ipAddress" "phoneNumber" Jeśli nie podano żadnej kategorii, zwracane są wszystkie typy. |
defaultLanguageCode |
Kod języka tekstu wejściowego. Jeśli nie określono domyślnego kodu języka, język angielski (en) będzie używany jako domyślny kod języka. Zobacz pełną listę obsługiwanych języków. 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. |
modelVersion |
(Opcjonalnie) Określa wersję modelu do użycia podczas wywoływania interfejsu API rozpoznawania jednostek. Jeśli nie zostanie określona, będzie ona domyślnie dostępna do najnowszej. Zalecamy, aby nie określać tej wartości, chyba że jest to konieczne. |
Dane wejściowe umiejętności
Nazwa danych wejściowych | opis |
---|---|
languageCode |
Ciąg wskazujący język rekordów. Jeśli ten parametr nie zostanie określony, domyślny kod języka będzie używany do analizowania rekordów. Zobacz pełną listę obsługiwanych języków. |
text |
Tekst do przeanalizowania. |
Dane wyjściowe umiejętności
Uwaga
Nie wszystkie kategorie jednostek są obsługiwane dla wszystkich języków. Zobacz Obsługiwane kategorie jednostek rozpoznawania jednostek nazwanych (NER), aby dowiedzieć się, które kategorie jednostek są obsługiwane dla używanego języka.
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 |
personTypes |
Tablica ciągów, w których każdy ciąg reprezentuje personType |
events |
Tablica ciągów, w których każdy ciąg reprezentuje zdarzenie |
products |
Tablica ciągów, w których każdy ciąg reprezentuje produkt |
skills |
Tablica ciągów, w których każdy ciąg reprezentuje umiejętności |
addresses |
Tablica ciągów, w której każdy ciąg reprezentuje adres |
phoneNumbers |
Tablica ciągów, w których każdy ciąg reprezentuje numer telefonu |
ipAddresses |
Tablica ciągów, w której każdy ciąg reprezentuje adres IP |
namedEntities |
Tablica typów złożonych, które zawierają następujące pola:
|
Przykładowa definicja
{
"@odata.type": "#Microsoft.Skills.Text.V3.EntityRecognitionSkill",
"context": "/document",
"categories": [ "Person", "Email"],
"defaultLanguageCode": "en",
"minimumPrecision": 0.5,
"inputs": [
{
"name": "text",
"source": "/document/content"
},
{
"name": "languageCode",
"source": "/document/language"
}
],
"outputs": [
{
"name": "persons",
"targetName": "people"
},
{
"name": "emails",
"targetName": "emails"
},
{
"name": "namedEntities",
"targetName": "namedEntities"
}
]
}
Przykładowe dane wejściowe
{
"values": [
{
"recordId": "1",
"data":
{
"text": "Contoso Corporation was founded by Jean Martin. They can be reached at contact@contoso.com",
"languageCode": "en"
}
}
]
}
Przykładowe dane wyjściowe
{
"values": [
{
"recordId": "1",
"data" :
{
"people": [ "Jean Martin"],
"emails":["contact@contoso.com"],
"namedEntities":
[
{
"category": "Person",
"subcategory": null,
"length": 11,
"offset": 35,
"confidenceScore": 0.98,
"text": "Jean Martin"
},
{
"category": "Email",
"subcategory": null,
"length": 19,
"offset": 71,
"confidenceScore": 0.8,
"text": "contact@contoso.com"
}
],
}
}
]
}
Przesunięcia zwracane dla jednostek w danych wyjściowych tej umiejętności są zwracane bezpośrednio z interfejsów API usługi językowej, 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ść. Aby uzyskać więcej informacji, zobacz Obsługa wielojęzycznych i emoji w temacie Funkcje usługi językowej.
Przypadki ostrzegawcze
Jeśli kod języka dokumentu nie jest obsługiwany, zwracane jest ostrzeżenie i nie są wyodrębniane żadne jednostki.