Udostępnij za pośrednictwem


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, trzeba przesłać niestrukturalizowany tekst do analizy i obsłużyć wynik API w swojej aplikacji. Analiza jest wykonywana w stanie pierwotnym, bez dodatkowego dostosowania modelu używanego na Twoich danych. Istnieją dwa sposoby używania rozpoznawania nazwanych jednostek:

Opcja programowania opis
Azure AI Foundry Azure AI Foundry to platforma internetowa, która umożliwia używanie nazwanego rozpoznawania jednostek z przykładami tekstowymi z własnymi danymi podczas tworzenia konta. Aby uzyskać więcej informacji, zobacz witrynę internetową usługi Azure AI Foundry lub dokumentację usługi Azure AI Foundry.
Interfejs REST API lub biblioteka kliencka (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 Szybki start dotyczący rozpoznawania nazwanych jednostek.

Określanie sposobu przetwarzania danych (opcjonalnie)

Języki wejściowe

Podczas przesyłania tekstu wejściowego do przetworzenia można określić, w których obsługiwanych językach są zapisywane. Jeśli nie określisz języka, wyodrębnianie kluczowych fraz jest domyślne dla języka angielskiego. Interfejs API może zwracać przesunięcia w odpowiedzi, aby obsłużyć różne kodowania wielojęzyczne oraz emoji.

Przesyłanie danych

Analiza jest wykonywana po odebraniu żądania. Korzystanie z funkcji NER w sposób synchroniczny 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 tekstu wejściowego.

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 tekstu wejściowego. 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, Structurali Geological oznaczone tagami, zgodnie z opisem typów jednostek i tagów. Możemy również bardziej szczegółowo filtrować zwrócone podmioty, używając jednego z tagów dla typu podmiotu Location, na przykład filtrując wyłącznie po tagu GPE, zgodnie z opisem.


    "parameters": 
    {
        "includeList" :
        [
            "GPE"
        ]
    }
    

Ta metoda zwraca wszystkie Location entności tylko objęte tagiem GPE i ignoruje wszystkie inne entności objęte typem Location oznaczonym dowolnym innym tagiem entności, takim jak Structural lub Geological, oznakowane entnościami Location. Możemy również dokładniej przejść do szczegółów naszych wyników przy użyciu parametru excludeList . GPEoznakowane jednostki można oznaczyć następującymi tagami: City, , StateCountryRegion, 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ż tag jednostki GPE, uwzględniony w parametrze includeList, znajduje się pod typem Location. Następnie filtrujemy jednostki tylko geopolityczne i wykluczamy wszelkie jednostki oznaczone tagami Continent lub CountryRegion.

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 Sznurek Najbardziej konkretny typ wykrytej jednostki.

Na przykład "Seattle" to City, GPE (jednostka geopolityczna) i Location. Najbardziej szczegółową klasyfikacją dla "Seattle" jest to, że jest to City. Typ to City dla tekstu "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. : nameunikatowa nazwa tagu.
2. confidenceScore: Powiązany współczynnik ufności dla tagu w zakresie od 0 do 1.

Ten unikalny tagName służy do filtrowania parametrów 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.

Następne kroki

Omówienie rozpoznawania nazwanych jednostek