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, 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, Structurali 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 . 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ż 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. : nameunikatowa nazwa tagu.
2.: confidenceScoreskojarzony 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.

Następne kroki

Omówienie rozpoznawania nazwanych jednostek