Jak używać rozpoznawania nazwanych jednostek (NER)
Funkcja NER może oceniać tekst bez struktury i wyodrębniać nazwane jednostki z tekstu w kilku wstępnie zdefiniowanych kategoriach, na przykład: osoba, lokalizacja, zdarzenie, produkt i organizacja.
Opcje programowania
Aby użyć rozpoznawania nazwanych jednostek, należy przesłać nieprzetworzone tekst bez struktury do analizy i obsłużyć dane wyjściowe interfejsu API w aplikacji. Analiza jest wykonywana zgodnie z rzeczywistym użyciem, bez dodatkowego dostosowania modelu używanego na danych. Istnieją dwa sposoby używania rozpoznawania nazwanych jednostek:
Opcja programowania | opis |
---|---|
Studio językowe | Language Studio to platforma internetowa, która umożliwia wypróbowanie łączenia jednostek z przykładami tekstowymi bez konta platformy Azure i własnych danych podczas tworzenia konta. Aby uzyskać więcej informacji, zobacz witrynę internetową language Studio lub przewodnik Szybki start dla programu Language Studio. |
Interfejs API REST lub biblioteka klienta (Zestaw Azure SDK) | Zintegruj rozpoznawanie nazwanych jednostek z aplikacjami przy użyciu interfejsu API REST lub bibliotekę klienta dostępną w różnych językach. Aby uzyskać więcej informacji, zobacz przewodnik Szybki start dotyczący rozpoznawania nazwanych jednostek. |
Określanie sposobu przetwarzania danych (opcjonalnie)
Języki wejściowe
Podczas przesyłania dokumentów do przetworzenia można określić, w których obsługiwanych językach są zapisywane. Jeśli nie określisz języka, domyślnie wyodrębniania kluczowych fraz do języka angielskiego. Interfejs API może zwracać przesunięcia w odpowiedzi na obsługę różnych kodowań wielojęzycznych i emoji.
Przesyłanie danych
Analiza jest wykonywana po odebraniu żądania. Synchronicznie korzystanie z funkcji NER jest bezstanowe. Żadne dane nie są przechowywane na Twoim koncie, a wyniki są zwracane natychmiast w odpowiedzi.
W przypadku korzystania z tej funkcji asynchronicznie wyniki interfejsu API są dostępne przez 24 godziny od momentu pozyskiwania żądania i są wskazywane w odpowiedzi. Po upływie tego okresu wyniki są czyszczone i nie są już dostępne do pobierania.
Interfejs API próbuje wykryć zdefiniowane kategorie jednostek dla danego języka dokumentów.
Uzyskiwanie wyników NER
Po otrzymaniu wyników z usługi NER można przesyłać strumieniowo wyniki do aplikacji lub zapisywać dane wyjściowe w pliku w systemie lokalnym. Odpowiedź interfejsu API zawiera rozpoznane jednostki, w tym ich kategorie i podkategorie oraz oceny ufności.
Wybierz jednostki, które mają zostać zwrócone
Interfejs API próbuje wykryć zdefiniowane typy jednostek i tagi dla danego języka dokumentów. Typy jednostek i tagi zastępują kategorie i podkategorie, których starsze modele używają do definiowania jednostek w celu uzyskania większej elastyczności. Można również określić, które jednostki są wykrywane i zwracane, używać opcjonalnych includeList
i excludeList
parametrów z odpowiednimi typami jednostek. W poniższym przykładzie wykryto tylko Location
. Można określić co najmniej jeden typ jednostki do zwrócenia. Biorąc pod uwagę typy i hierarchie tagów wprowadzone dla tej wersji, masz elastyczność filtrowania na różnych poziomach szczegółowości w następujący sposób:
Wkład:
Uwaga
W tym przykładzie zwraca tylko typ jednostki "Lokalizacja".
{
"kind": "EntityRecognition",
"parameters":
{
"includeList" :
[
"Location"
]
},
"analysisInput":
{
"documents":
[
{
"id":"1",
"language": "en",
"text": "We went to Contoso foodplace located at downtown Seattle last week for a dinner party, and we adore the spot! They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is John Doe) and he is super nice, coming out of the kitchen and greeted us all. We enjoyed very much dining in the place! The pasta I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their online menu at www.contosofoodplace.com, call 112-555-0176 or send email to order@contosofoodplace.com! The only complaint I have is the food didn't come fast enough. Overall I highly recommend it!"
}
]
}
}
Powyższe przykłady zwracają jednostki należące do Location
typu jednostki, takiego jak GPE
, Structural
i Geological
oznaczone tagami, zgodnie z opisem typów jednostek i tagów. Możemy również dodatkowo filtrować zwrócone jednostki, filtrując przy użyciu jednego z tagów jednostki dla Location
typu jednostki, takiego jak filtrowanie tylko GPE
tagu zgodnie z opisem:
"parameters":
{
"includeList" :
[
"GPE"
]
}
Ta metoda zwraca wszystkie Location
jednostki objęte tagiem GPE
i ignorują wszystkie inne jednostki objęte Location
typem oznaczonym dowolnym innym tagiem jednostki, takim jak Structural
lub Geological
oznakowane Location
jednostki. Możemy również dokładniej przejść do szczegółów naszych wyników przy użyciu parametru excludeList
. GPE
oznakowane jednostki można oznaczyć następującymi tagami: City
, , State
CountryRegion
, Continent
. Możemy na przykład wykluczyć Continent
i CountryRegion
tagi w naszym przykładzie:
"parameters":
{
"includeList" :
[
"GPE"
],
"excludeList": :
[
"Continent",
"CountryRegion"
]
}
Korzystając z tych parametrów, możemy pomyślnie filtrować tylko Location
typy jednostek, ponieważ GPE
tag jednostki uwzględniony w parametrze znajduje się pod typem includeList
Location
. Następnie filtrujemy tylko jednostki geopolityczne i wykluczamy wszystkie jednostki oznaczone tagami lub CountryRegion
tagamiContinent
.
Dodatkowe atrybuty wyjściowe
Aby zapewnić użytkownikom lepszy wgląd w typy jednostek i zapewnić większą użyteczność, funkcja NER obsługuje te atrybuty w danych wyjściowych:
Nazwa atrybutu | Pisz | Definicja |
---|---|---|
type |
String | Najbardziej konkretny typ wykrytej jednostki. Na przykład "Seattle" to City , ( GPE geopolityczna jednostka) i Location . Najbardziej szczegółową klasyfikacją dla "Seattle" jest to, że jest to City . Typem będzie City tekst "Seattle". |
tags |
Lista (tagi) | Lista obiektów tagów, które wyrażają koligację wykrytej jednostki do hierarchii lub innych grupowania. Tag zawiera dwa pola: 1. : name unikatowa nazwa tagu.2.: confidenceScore skojarzony współczynnik ufności dla tagu od 0 do 1.Ten unikatowy tagName służy do filtrowania w parametrach inclusionList i exclusionList . |
metadata |
Objekt | Metadane to obiekt zawierający więcej danych o wykrytym typie jednostki. Zmienia się na podstawie pola metadataKind . |
Przykładowe dane wyjściowe
Te przykładowe dane wyjściowe zawierają przykład dodatkowych atrybutów wyjściowych.
{
"kind": "EntityRecognitionResults",
"results": {
"documents": [
{
"id": "1",
"entities": [
{
"text": "Microsoft",
"category": "Organization",
"type": "Organization",
"offset": 0,
"length": 9,
"confidenceScore": 0.97,
"tags": [
{
"name": "Organization",
"confidenceScore": 0.97
}
]
},
{
"text": "One",
"category": "Quantity",
"type": "Number",
"subcategory": "Number",
"offset": 21,
"length": 3,
"confidenceScore": 0.9,
"tags": [
{
"name": "Number",
"confidenceScore": 0.8
},
{
"name": "Quantity",
"confidenceScore": 0.8
},
{
"name": "Numeric",
"confidenceScore": 0.8
}
],
"metadata": {
"metadataKind": "NumberMetadata",
"numberKind": "Integer",
"value": 1.0
}
}
],
"warnings": []
}
],
"errors": [],
"modelVersion": "2023-09-01"
}
}
Określanie modelu NER
Domyślnie ta funkcja używa najnowszego dostępnego modelu sztucznej inteligencji w tekście. Możesz również skonfigurować żądania interfejsu API tak, aby używały określonej wersji modelu.
Limity usług i danych
Aby uzyskać informacje na temat rozmiaru i liczby żądań, które można wysłać na minutę i sekundę, zobacz artykuł Dotyczący limitów usług.