Schnellstart: Erkennen benannter Entitäten (NER)

Referenzdokumentation | Weitere Beispiele | Paket (NuGet) | Quellcode der Bibliothek

Verwenden Sie diese Schnellstartanleitung, um eine Anwendung zur Erkennung benannter Entitäten (Named Entity Recognition, NER) mit der Clientbibliothek für .NET zu erstellen. Im folgenden Beispiel erstellen Sie eine C#-Anwendung, die erkannte Entitäten im Text identifizieren kann.

Tipp

Sie können Language Studio verwenden, um Sprachdienstfunktionen auszuprobieren, ohne programmieren zu müssen.

Voraussetzungen

  • Azure-Abonnement – Erstellen eines kostenlosen Kontos
  • Visual Studio-IDE
  • Sobald Sie über Ihr Azure-Abonnement verfügen, können Sie im Azure-Portal eine Sprachressource erstellen , um Ihren Schlüssel und Endpunkt zu erhalten. Wählen Sie nach Abschluss der Bereitstellung Zu Ressource wechseln aus.
    • Sie benötigen den Schlüssel und Endpunkt der von Ihnen erstellten Ressource, um Ihre Anwendung mit der API zu verbinden. Der Schlüssel und der Endpunkt werden weiter unten in der Schnellstartanleitung in den Code eingefügt.
    • Sie können den kostenlosen Tarif (Free F0) verwenden, um den Dienst zu testen, und später für die Produktion auf einen kostenpflichtigen Tarif upgraden.
  • Sie benötigen eine Sprachressource des Standard-Tarifs (S), um die Analysefunktion verwenden zu können.

Einrichten

Erstellen einer neuen .NET Core-Anwendung

Erstellen Sie über die Visual Studio-IDE eine neue .NET Core-Konsolenanwendung. Dadurch wird ein Projekt vom Typ „Hallo Welt“ mit einer einzelnen C#-Quelldatei (program.cs) erstellt.

Installieren Sie die Clientbibliothek, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe klicken und NuGet-Pakete verwalten auswählen. Wählen Sie im daraufhin geöffneten Paket-Manager die Option Durchsuchen aus, und suchen Sie nach Azure.AI.TextAnalytics. Wählen Sie die Version 5.2.0 und anschließend Installieren aus. Sie können auch die Paket-Manager-Konsole verwenden.

Codebeispiel

Kopieren Sie den folgenden Code in die Datei Program.cs. Denken Sie daran, die Variable key durch den Schlüssel für Ihre Ressource und die Variable endpoint durch den Endpunkt für Ihre Ressource zu ersetzen. Führen Sie dann den Code aus.

Wichtig

Öffnen Sie das Azure-Portal. Wenn die im Abschnitt Voraussetzungen erstellte Sprachressource erfolgreich bereitgestellt wurde, klicken Sie unter Nächste Schritte auf die Schaltfläche Zu Ressource wechseln. Um Ihren Schlüssel und Endpunkt zu finden, gehen Sie auf die Seite mit dem Schlüssel und dem Endpunkt Ihrer Ressource unter Ressourcenverwaltung.

Wichtig

Denken Sie daran, den Schlüssel aus Ihrem Code zu entfernen, wenn Sie fertig sind, und ihn niemals zu veröffentlichen. Verwenden Sie für die Produktion eine sichere Art der Speicherung und des Zugriffs auf Ihre Anmeldeinformationen wie Azure Key Vault. Weitere Informationen finden Sie im Artikel zur Azure KI Services-Sicherheit.

using Azure;
using System;
using Azure.AI.TextAnalytics;

namespace Example
{
    class Program
    {
        private static readonly AzureKeyCredential credentials = new AzureKeyCredential("replace-with-your-key-here");
        private static readonly Uri endpoint = new Uri("replace-with-your-endpoint-here");
        
        // Example method for extracting named entities from text 
        static void EntityRecognitionExample(TextAnalyticsClient client)
        {
            var response = client.RecognizeEntities("I had a wonderful trip to Seattle last week.");
            Console.WriteLine("Named Entities:");
            foreach (var entity in response.Value)
            {
                Console.WriteLine($"\tText: {entity.Text},\tCategory: {entity.Category},\tSub-Category: {entity.SubCategory}");
                Console.WriteLine($"\t\tScore: {entity.ConfidenceScore:F2},\tLength: {entity.Length},\tOffset: {entity.Offset}\n");
            }
        }

        static void Main(string[] args)
        {
            var client = new TextAnalyticsClient(endpoint, credentials);
            EntityRecognitionExample(client);

            Console.Write("Press any key to exit.");
            Console.ReadKey();
        }

    }
}

Ausgabe

Named Entities:
        Text: trip,     Category: Event,        Sub-Category:
                Score: 0.74,    Length: 4,      Offset: 18

        Text: Seattle,  Category: Location,     Sub-Category: GPE
                Score: 1.00,    Length: 7,      Offset: 26

        Text: last week,        Category: DateTime,     Sub-Category: DateRange
                Score: 0.80,    Length: 9,      Offset: 34

Referenzdokumentation | Weitere Beispiele | Paket (Maven) | Quellcode der Bibliothek

Verwenden Sie diese Schnellstartanleitung, um eine Anwendung zur Erkennung benannter Entitäten (Named Entity Recognition, NER) mit der Clientbibliothek für Java zu erstellen. Im folgenden Beispiel erstellen Sie eine Java-Anwendung, die erkannte Entitäten im Text identifizieren kann.

Tipp

Sie können Language Studio verwenden, um Sprachdienstfunktionen auszuprobieren, ohne programmieren zu müssen.

Voraussetzungen

  • Azure-Abonnement – Erstellen eines kostenlosen Kontos
  • Java Development Kit (JDK), Version 8 oder höher
  • Sobald Sie über Ihr Azure-Abonnement verfügen, können Sie im Azure-Portal eine Sprachressource erstellen , um Ihren Schlüssel und Endpunkt zu erhalten. Wählen Sie nach Abschluss der Bereitstellung Zu Ressource wechseln aus.
    • Sie benötigen den Schlüssel und Endpunkt der von Ihnen erstellten Ressource, um Ihre Anwendung mit der API zu verbinden. Der Schlüssel und der Endpunkt werden weiter unten in der Schnellstartanleitung in den Code eingefügt.
    • Sie können den kostenlosen Tarif (Free F0) verwenden, um den Dienst zu testen, und später für die Produktion auf einen kostenpflichtigen Tarif upgraden.
  • Sie benötigen eine Sprachressource des Standard-Tarifs (S), um die Analysefunktion verwenden zu können.

Einrichten

Hinzufügen der Clientbibliothek

Erstellen Sie ein Maven-Projekt in Ihrer bevorzugten IDE oder Entwicklungsumgebung. Fügen Sie anschließend der Datei pom.xml Ihres Projekts die folgende Abhängigkeit hinzu. Die Implementierungssyntax für andere Buildtools ist online verfügbar.

<dependencies>
     <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-ai-textanalytics</artifactId>
        <version>5.2.0</version>
    </dependency>
</dependencies>

Codebeispiel

Erstellen Sie eine Java-Datei mit dem Namen Example.java. Öffnen Sie die Datei, und kopieren Sie den folgenden Code. Denken Sie daran, die Variable key durch den Schlüssel für Ihre Ressource und die Variable endpoint durch den Endpunkt für Ihre Ressource zu ersetzen. Führen Sie dann den Code aus.

Wichtig

Öffnen Sie das Azure-Portal. Wenn die im Abschnitt Voraussetzungen erstellte Sprachressource erfolgreich bereitgestellt wurde, klicken Sie unter Nächste Schritte auf die Schaltfläche Zu Ressource wechseln. Um Ihren Schlüssel und Endpunkt zu finden, gehen Sie auf die Seite mit dem Schlüssel und dem Endpunkt Ihrer Ressource unter Ressourcenverwaltung.

Wichtig

Denken Sie daran, den Schlüssel aus Ihrem Code zu entfernen, wenn Sie fertig sind, und ihn niemals zu veröffentlichen. Verwenden Sie für die Produktion eine sichere Art der Speicherung und des Zugriffs auf Ihre Anmeldeinformationen wie Azure Key Vault. Weitere Informationen finden Sie im Artikel zur Azure KI Services-Sicherheit.

import com.azure.core.credential.AzureKeyCredential;
import com.azure.ai.textanalytics.models.*;
import com.azure.ai.textanalytics.TextAnalyticsClientBuilder;
import com.azure.ai.textanalytics.TextAnalyticsClient;

public class Example {

    private static String KEY = "replace-with-your-key-here";
    private static String ENDPOINT = "replace-with-your-endpoint-here";

    public static void main(String[] args) {
        TextAnalyticsClient client = authenticateClient(KEY, ENDPOINT);
        recognizeEntitiesExample(client);
    }
    // Method to authenticate the client object with your key and endpoint
    static TextAnalyticsClient authenticateClient(String key, String endpoint) {
        return new TextAnalyticsClientBuilder()
                .credential(new AzureKeyCredential(key))
                .endpoint(endpoint)
                .buildClient();
    }
    // Example method for recognizing entities in text
    static void recognizeEntitiesExample(TextAnalyticsClient client)
    {
        // The text that need be analyzed.
        String text = "I had a wonderful trip to Seattle last week.";
    
        for (CategorizedEntity entity : client.recognizeEntities(text)) {
            System.out.printf(
                "Recognized entity: %s, entity category: %s, entity sub-category: %s, score: %s, offset: %s, length: %s.%n",
                entity.getText(),
                entity.getCategory(),
                entity.getSubcategory(),
                entity.getConfidenceScore(),
                entity.getOffset(),
                entity.getLength());
        }
    }
}

Ausgabe

Recognized entity: trip, entity category: Event, entity sub-category: null, score: 0.74, offset: 18, length: 4.
Recognized entity: Seattle, entity category: Location, entity sub-category: GPE, score: 1.0, offset: 26, length: 7.
Recognized entity: last week, entity category: DateTime, entity sub-category: DateRange, score: 0.8, offset: 34, length: 9.

Referenzdokumentation | Weitere Beispiele | Paket (npm) | Quellcode der Bibliothek

Verwenden Sie diese Schnellstartanleitung, um eine Anwendung zur Erkennung benannter Entitäten (Named Entity Recognition, NER) mit der Clientbibliothek für Node.js zu erstellen. Im folgenden Beispiel erstellen Sie eine JavaScript-Anwendung, die erkannte Entitäten im Text identifizieren kann.

Tipp

Sie können Language Studio verwenden, um Sprachdienstfunktionen auszuprobieren, ohne programmieren zu müssen.

Voraussetzungen

  • Azure-Abonnement – Erstellen eines kostenlosen Kontos
  • Node.js v14 LTS oder höher
  • Sobald Sie über Ihr Azure-Abonnement verfügen, können Sie im Azure-Portal eine Sprachressource erstellen , um Ihren Schlüssel und Endpunkt zu erhalten. Wählen Sie nach Abschluss der Bereitstellung Zu Ressource wechseln aus.
    • Sie benötigen den Schlüssel und Endpunkt der von Ihnen erstellten Ressource, um Ihre Anwendung mit der API zu verbinden. Der Schlüssel und der Endpunkt werden weiter unten in der Schnellstartanleitung in den Code eingefügt.
    • Sie können den kostenlosen Tarif (Free F0) verwenden, um den Dienst zu testen, und später für die Produktion auf einen kostenpflichtigen Tarif upgraden.
  • Sie benötigen eine Sprachressource des Standard-Tarifs (S), um die Analysefunktion verwenden zu können.

Einrichten

Erstellen einer neuen Node.js-Anwendung

Erstellen Sie in einem Konsolenfenster (etwa cmd, PowerShell oder Bash) ein neues Verzeichnis für Ihre App, und rufen Sie es auf.

mkdir myapp 

cd myapp

Führen Sie den Befehl npm init aus, um eine Knotenanwendung mit der Datei package.json zu erstellen.

npm init

Installieren der Clientbibliothek

Installieren des npm-Pakets:

npm install @azure/ai-language-text

Codebeispiel

Öffnen Sie die Datei, und kopieren Sie den folgenden Code. Denken Sie daran, die Variable key durch den Schlüssel für Ihre Ressource und die Variable endpoint durch den Endpunkt für Ihre Ressource zu ersetzen. Führen Sie dann den Code aus.

Wichtig

Öffnen Sie das Azure-Portal. Wenn die im Abschnitt Voraussetzungen erstellte Sprachressource erfolgreich bereitgestellt wurde, klicken Sie unter Nächste Schritte auf die Schaltfläche Zu Ressource wechseln. Um Ihren Schlüssel und Endpunkt zu finden, gehen Sie auf die Seite mit dem Schlüssel und dem Endpunkt Ihrer Ressource unter Ressourcenverwaltung.

Wichtig

Denken Sie daran, den Schlüssel aus Ihrem Code zu entfernen, wenn Sie fertig sind, und ihn niemals zu veröffentlichen. Verwenden Sie für die Produktion eine sichere Art der Speicherung und des Zugriffs auf Ihre Anmeldeinformationen wie Azure Key Vault. Weitere Informationen finden Sie im Artikel zur Azure KI Services-Sicherheit.

"use strict";

const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-language-text");;
const key = '<paste-your-key-here>';
const endpoint = '<paste-your-endpoint-here>';

//an example document for entity recognition
const documents = [ "Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975, to develop and sell BASIC interpreters for the Altair 8800"];

//example of how to use the client library to recognize entities in a document.
async function main() {
    console.log("== NER sample ==");
  
    const client = new TextAnalysisClient(endpoint, new AzureKeyCredential(key));
  
    const results = await client.analyze("EntityRecognition", documents);
  
    for (const result of results) {
      console.log(`- Document ${result.id}`);
      if (!result.error) {
        console.log("\tRecognized Entities:");
        for (const entity of result.entities) {
          console.log(`\t- Entity ${entity.text} of type ${entity.category}`);
        }
      } else console.error("\tError:", result.error);
    }
  }

//call the main function
main().catch((err) => {
    console.error("The sample encountered an error:", err);
});

Ausgabe

Document ID: 0
        Name: Microsoft         Category: Organization  Subcategory: N/A
        Score: 0.29
        Name: Bill Gates        Category: Person        Subcategory: N/A
        Score: 0.78
        Name: Paul Allen        Category: Person        Subcategory: N/A
        Score: 0.82
        Name: April 4, 1975     Category: DateTime      Subcategory: Date
        Score: 0.8
        Name: 8800      Category: Quantity      Subcategory: Number
        Score: 0.8
Document ID: 1
        Name: 21        Category: Quantity      Subcategory: Number
        Score: 0.8
        Name: Seattle   Category: Location      Subcategory: GPE
        Score: 0.25

Referenzdokumentation | Weitere Beispiele | Paket (PyPi) | Quellcode der Bibliothek

Verwenden Sie diese Schnellstartanleitung, um eine Anwendung zur Erkennung benannter Entitäten (Named Entity Recognition, NER) mit der Clientbibliothek für Python zu erstellen. Im folgenden Beispiel erstellen Sie eine Python-Anwendung, die erkannte Entitäten im Text identifizieren kann.

Tipp

Sie können Language Studio verwenden, um Sprachdienstfunktionen auszuprobieren, ohne programmieren zu müssen.

Voraussetzungen

  • Azure-Abonnement – Erstellen eines kostenlosen Kontos
  • Python 3.8 oder höher
  • Sobald Sie über Ihr Azure-Abonnement verfügen, können Sie im Azure-Portal eine Sprachressource erstellen , um Ihren Schlüssel und Endpunkt zu erhalten. Wählen Sie nach Abschluss der Bereitstellung Zu Ressource wechseln aus.
    • Sie benötigen den Schlüssel und Endpunkt der von Ihnen erstellten Ressource, um Ihre Anwendung mit der API zu verbinden. Der Schlüssel und der Endpunkt werden weiter unten in der Schnellstartanleitung in den Code eingefügt.
    • Sie können den kostenlosen Tarif (Free F0) verwenden, um den Dienst zu testen, und später für die Produktion auf einen kostenpflichtigen Tarif upgraden.
  • Sie benötigen eine Sprachressource des Standard-Tarifs (S), um die Analysefunktion verwenden zu können.

Einrichten

Installieren der Clientbibliothek

Nach der Installation von Python, können Sie die Clientbibliothek mit Folgendem installieren:

pip install azure-ai-textanalytics==5.2.0

Codebeispiel

Erstellen Sie eine neue Python-Datei, und kopieren Sie den folgenden Code. Denken Sie daran, die Variable key durch den Schlüssel für Ihre Ressource und die Variable endpoint durch den Endpunkt für Ihre Ressource zu ersetzen. Führen Sie dann den Code aus.

Wichtig

Öffnen Sie das Azure-Portal. Wenn die im Abschnitt Voraussetzungen erstellte Sprachressource erfolgreich bereitgestellt wurde, klicken Sie unter Nächste Schritte auf die Schaltfläche Zu Ressource wechseln. Um Ihren Schlüssel und Endpunkt zu finden, gehen Sie auf die Seite mit dem Schlüssel und dem Endpunkt Ihrer Ressource unter Ressourcenverwaltung.

Wichtig

Denken Sie daran, den Schlüssel aus Ihrem Code zu entfernen, wenn Sie fertig sind, und ihn niemals zu veröffentlichen. Verwenden Sie für die Produktion eine sichere Art der Speicherung und des Zugriffs auf Ihre Anmeldeinformationen wie Azure Key Vault. Weitere Informationen finden Sie im Artikel zur Azure KI Services-Sicherheit.

key = "paste-your-key-here"
endpoint = "paste-your-endpoint-here"

from azure.ai.textanalytics import TextAnalyticsClient
from azure.core.credentials import AzureKeyCredential

# Authenticate the client using your key and endpoint 
def authenticate_client():
    ta_credential = AzureKeyCredential(key)
    text_analytics_client = TextAnalyticsClient(
            endpoint=endpoint, 
            credential=ta_credential)
    return text_analytics_client

client = authenticate_client()

# Example function for recognizing entities from text
def entity_recognition_example(client):

    try:
        documents = ["I had a wonderful trip to Seattle last week."]
        result = client.recognize_entities(documents = documents)[0]

        print("Named Entities:\n")
        for entity in result.entities:
            print("\tText: \t", entity.text, "\tCategory: \t", entity.category, "\tSubCategory: \t", entity.subcategory,
                    "\n\tConfidence Score: \t", round(entity.confidence_score, 2), "\tLength: \t", entity.length, "\tOffset: \t", entity.offset, "\n")

    except Exception as err:
        print("Encountered exception. {}".format(err))
entity_recognition_example(client)

Ausgabe

Named Entities:

    Text:    trip   Category:        Event  SubCategory:     None
    Confidence Score:        0.74   Length:          4      Offset:          18

    Text:    Seattle        Category:        Location       SubCategory:     GPE
    Confidence Score:        1.0    Length:          7      Offset:          26

    Text:    last week      Category:        DateTime       SubCategory:     DateRange
    Confidence Score:        0.8    Length:          9      Offset:          34

Referenzdokumentation

Verwenden Sie diese Schnellstartanleitung, um NER-Anforderungen (Named Entity Recognition, Erkennung benannter Entitäten) mithilfe der REST-API zu senden. Im folgenden Beispiel werden Sie cURL verwenden, um erkannte Entitäten im Text zu identifizieren.

Tipp

Sie können Language Studio verwenden, um Sprachdienstfunktionen auszuprobieren, ohne programmieren zu müssen.

Voraussetzungen

  • Aktuelle Version von cURL.
  • Sobald Sie über Ihr Azure-Abonnement verfügen, können Sie im Azure-Portal eine Sprachressource erstellen , um Ihren Schlüssel und Endpunkt zu erhalten. Wählen Sie nach Abschluss der Bereitstellung Zu Ressource wechseln aus.
    • Sie benötigen den Schlüssel und Endpunkt der von Ihnen erstellten Ressource, um Ihre Anwendung mit der API zu verbinden. Fügen Sie den Schlüssel und den Endpunkt später im Schnellstart in den Code ein.
    • Sie können den kostenlosen Tarif (Free F0) verwenden, um den Dienst zu testen, und später für die Produktion auf einen kostenpflichtigen Tarif upgraden.

Hinweis

  • In den folgenden Bash-Beispielen wird das Zeilenfortsetzungszeichen \ verwendet. Verwenden Sie dieses Zeichen, falls in Ihrer Konsole oder Ihrem Terminal ein anderes Zeilenfortsetzungszeichen genutzt wird.
  • Sprachspezifische Beispiele finden Sie auf GitHub.
  • Navigieren Sie zum Azure-Portal, und suchen Sie den Schlüssel und den Endpunkt für die in den Voraussetzungen erstellte Sprachressource. Sie befinden sich auf der Seite mit dem Schlüssel und Endpunkt der Ressource unter Ressourcenverwaltung. Ersetzen Sie dann die Zeichenfolgen im angegebenen Code durch Ihren Schlüssel und Endpunkt. Sie benötigen die folgenden Informationen, um die API aufzurufen:
parameter BESCHREIBUNG
-X POST <endpoint> Gibt den Endpunkt für den Zugriff auf die API an
-H Content-Type: application/json Der Inhaltstyp zum Senden von JSON-Daten
-H "Ocp-Apim-Subscription-Key:<key> Gibt den Schlüssel für den Zugriff auf die API an
-d <documents> Die JSON-Datei, die die zu sendenden Dokumente enthält

Die folgenden cURL-Befehle werden über eine Bash-Shell ausgeführt. Fügen Sie in diese Befehle Ihren Ressourcennamen und Ressourcenschlüssel sowie Ihre JSON-Werte ein.

Erkennung benannter Entitäten (NER)

  1. Kopieren Sie den Befehl in einen Text-Editor.
  2. Nehmen Sie die folgenden Änderungen im Befehl vor, falls dies erforderlich ist:
    1. Ersetzen Sie den Wert <your-language-resource-key> durch Ihren Schlüssel.
    2. Ersetzen Sie den ersten Teil der Anforderungs-URL <your-language-resource-endpoint> durch Ihre Endpunkt-URL.
  3. Öffnen Sie ein Eingabeaufforderungsfenster.
  4. Fügen Sie den Befehl aus dem Text-Editor in das Eingabeaufforderungsfenster ein, und führen Sie den Befehl aus.
curl -i -X POST https://<your-language-resource-endpoint>/language/:analyze-text?api-version=2022-05-01 \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key:<your-language-resource-key>" \
-d \
'
{
    "kind": "EntityRecognition",
    "parameters": {
        "modelVersion": "latest"
    },
    "analysisInput":{
        "documents":[
            {
                "id":"1",
                "language": "en",
                "text": "I had a wonderful trip to Seattle last week."
            }
        ]
    }
}
'

JSON-Antwort

Hinweis

{
	"kind": "EntityRecognitionResults",
	"results": {
		"documents": [{
			"id": "1",
			"entities": [{
				"text": "trip",
				"category": "Event",
				"offset": 18,
				"length": 4,
				"confidenceScore": 0.74
			}, {
				"text": "Seattle",
				"category": "Location",
				"subcategory": "GPE",
				"offset": 26,
				"length": 7,
				"confidenceScore": 1.0
			}, {
				"text": "last week",
				"category": "DateTime",
				"subcategory": "DateRange",
				"offset": 34,
				"length": 9,
				"confidenceScore": 0.8
			}],
			"warnings": []
		}],
		"errors": [],
		"modelVersion": "2021-06-01"
	}
}

Bereinigen von Ressourcen

Wenn Sie ein Azure KI Services-Abonnement bereinigen und entfernen möchten, können Sie die Ressource oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind.

Nächste Schritte