Freigeben über


Erkennung benannter Entitäten

Wichtig

Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.

Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.

Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.

Erkennt benannte Entitäten in einer Textspalte

Kategorie: Textanalyse

Hinweis

Gilt nur für: Machine Learning Studio (klassisch)

Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.

Modulübersicht

In diesem Artikel wird beschrieben, wie Sie das Erkennung benannter Entitäten-Modul in Machine Learning Studio (klassisch) verwenden, um die Namen von Dingen wie Personen, Unternehmen oder Standorten in einer Textspalte zu identifizieren.

Named Entity Recognition ist ein wichtiger Forschungsbereich auf dem Gebiet des Machine Learning und der Verarbeitung natürlicher Sprache (NLP), da mit ihr zahlreiche Fragen der realen Welt beantwortet werden können, z. B.:

  • Enthält ein Tweet den Namen einer Person? Wird im Tweet auch ihr aktueller Standort bereitgestellt?

  • Welche Firmen wurden in Nachrichtenartikel erwähnt?

  • Wurden bestimmte Produkte in Vorwürfen oder Überprüfungen erwähnt?

Um eine Liste von benannten Entitäten zu erhalten, stellen Sie ein Dataset als Eingabe bereit, das eine Textspalte enthält. Das Erkennung benannter Entitäten Modul identifiziert dann drei Arten von Entitäten: Personen (PER), Standorte (LOC) und Organisationen (ORG).

Das Modul beschriftet auch die Sequenzen nach dem Ort, an dem diese Wörter gefunden wurden, sodass Sie die Begriffe zur weiteren Analyse verwenden können.

Zum Beispiel zeigt die folgende Tabelle einen einfachen Eingabesatz und die vom Modul generierten Ausdrücke und Werte:

Eingabetext Modulausgabe
"Boston is a great place to live." 0,Boston,0,6,LOC

Die Ausgabe kann wie folgt interpretiert werden:

  • Die erste '0' bedeutet, dass diese Zeichenfolge der erste in das Modul eingegebene Artikel ist.

    Da ein einzelner Artikel mehrere Entitäten enthalten kann, ist die Aufnahme der Artikelzeilennummer in die Ausgabe wichtig für das Zuordnen von Merkmalen zu Artikeln.

  • Boston ist die erkannte Entität.

  • Das 0 folgende Boston bedeutet, dass die Entität Boston mit dem ersten Buchstaben der Eingabezeichenfolge beginnt. Indizes sind nullbasiert.

  • 6 bedeutet, dass die Länge der Entität Boston 6 ist.

  • LOC bedeutet, dass die Entität Boston ein Ort oder ein Ort ist. Andere unterstützte benannte Entitätstypen sind Person (PER) und Organisation (ORG).

Konfigurieren von Erkennung benannter Entitäten

  1. Fügen Sie ihrem Experiment in Studio (klassisch) das modul Erkennung benannter Entitäten hinzu. Sie finden das Modul in der Kategorie Textanalyse.

  2. Verbinden Sie in der Eingabe story ein Dataset, das den zu analysierenden Text enthält.

    Die "Story" sollte den Text enthalten, aus dem benannte Entitäten extrahiert werden sollen.

    Die als Story verwendete Spalte sollte mehrere Zeilen enthalten, wobei jede Zeile aus einer Zeichenfolge besteht. Die Zeichenfolge kann kurz sein, z. B. ein Satz, oder lang sein, z. B. ein Nachrichtenartikel.

    Sie können ein beliebiges Dataset verbinden, das eine Textspalte enthält. Wenn das Eingabedataset jedoch mehrere Spalten enthält, verwenden Sie Spalten im Dataset auswählen , um nur die Spalte auszuwählen, die den zu analysierenden Text enthält.

    Hinweis

    Die zweite Eingabe, benutzerdefinierte Ressourcen (ZIP), wird derzeit nicht unterstützt.

    In Zukunft können Sie hier benutzerdefinierte Ressourcendateien hinzufügen, um verschiedene Entitätstypen zu identifizieren.

  3. Führen Sie das Experiment aus.

Ergebnisse

Das Modul gibt ein Dataset mit einer Zeile für jede erkannte Entität zusammen mit den Offsets aus.

Da jede Zeile des Eingabetexts mehrere benannte Entitäten enthalten kann, wird automatisch eine Artikel-ID-Nummer generiert und in der Ausgabe enthalten, um die Eingabezeile zu identifizieren, die die benannte Entität enthielt. Die Artikel-ID basiert auf der natürlichen Reihenfolge der Zeilen im Eingabedataset.

Sie können dieses Ausgabedataset zum Herunterladen in eine CSV-Datei konvertieren oder als Dataset zur erneuten Verwendung speichern.

Verwenden der Erkennung benannter Entitäten in einem Webdienst

Wenn Sie einen Webdienst aus Machine Learning Studio (klassisch) veröffentlichen und den Webdienst mit C#, Python oder einer anderen Sprache wie R nutzen möchten, müssen Sie zuerst den Dienstcode implementieren, der auf der Hilfeseite des Webdiensts bereitgestellt wird.

Wenn Ihr Webdienst mehrere Zeilen in der Ausgabe bereitstellt, sollte die URL des Webdiensts, die Sie Ihrem C#-, Python- oder R-Code hinzufügen, das Suffix scoremultirow statt score enthalten.

Angenommen, Sie verwenden die folgende URL für Ihren Webdienst: https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/score

Ändern Sie die URL in , um die Ausgabe mit mehreren Zeilen zu aktivieren. https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/scoremultirow

Um diesen Webdienst zu veröffentlichen, sollten Sie nach dem Erkennung benannter Entitäten Modul ein zusätzliches Execute R Script-Modul hinzufügen, um die Mehrzeilenausgabe in ein einzelnes, durch Semikolons (;) getrenntes) zu transformieren. Der Grund für die Konsolidierung der mehrzeiligen Ausgabe in eine einzelne Zeile besteht darin, dass mehrere Entitäten pro Eingabezeile zurückgegeben werden sollen.

Gehen wir beispielsweise von einem Eingabesatz mit zwei benannten Entitäten aus. Anstatt zwei Zeilen für jede Zeile der Eingabe zurückzugeben, können Sie einzelne Zeilen mit mehreren Entitäten zurückgeben, die wie hier gezeigt durch Semikolons getrennt werden:

Eingabetext Ausgabe des Webdiensts
"Microsoft has two office locations in Boston." 0,Microsoft,0,9,ORG,;,0,Boston,38,6,LOC,;

Das folgende Codebeispiel veranschaulicht die dafür erforderliche Vorgehensweise:

# Map 1-based optional input ports to variables  
d <- maml.mapInputPort(1) # class: data.frame  
y=length(d) ##size of cols  
x=dim(d)[1] ##size of rows  
longd=matrix("NA",nrow=1,ncol=x*(y+1))  
for (i in 1:x)  
  {   
     for (j in 1:y)  
     {  
       longd[1,j+(i-1)*(y+1)]=toString(d[i,j])   
     }  
     longd[1,j+(i-1)*(y+1)+1]=c(";")  
  }   

final_output=as.data.frame(longd)  
# Select data.frame to be sent to the output Dataset port  
maml.mapOutputPort("final_output");  

Beispiele

Dieser Blog bietet eine erweiterte Erläuterung der Funktionsweise der Erkennung benannter Entitäten, ihres Hintergrunds und möglicher Anwendungen:

Außerdem finden Sie in den folgenden Beispielexperimenten im Azure KI-Katalog Demonstrationen zur Verwendung von Textklassifizierungsmethoden, die häufig beim maschinellen Lernen verwendet werden:

Technische Hinweise

Sprachunterstützung

Derzeit unterstützt das Modul Named Entity Recognition nur englischen Text. Es kann Namen von Organisationen, von Personen und von Orten in englischen Sätzen erkennen. Wenn Sie das Modul in anderen Sprachen verwenden, erhalten Sie möglicherweise keinen Fehler, aber die Ergebnisse sind nicht so gut wie für englischen Text.

Für die Zukunft geplant ist, dass die Unterstützung zusätzlicher Sprachen durch die Integration der mehrsprachigen Komponenten aktiviert werden kann, die im Office Natural Language Toolkit bereitgestellt werden.

Erwartete Eingaben

Name Type Beschreibung
Story Datentabelle Ein Eingabedataset (DataTable), das die Textspalte enthält, die Sie analysieren möchten.
CustomResources Zip (Optional) Eine Datei im ZIP-Format, die zusätzliche, benutzerdefinierte Ressourcen enthält.

Diese Option ist derzeit nicht verfügbar und wird nur zu Zwecken der Aufwärtskompatibilität bereitgestellt.

Ausgaben

Name Type BESCHREIBUNG
Entitäten Datentabelle Eine Liste mit Zeichenoffsets und Entitäten.

Siehe auch

Textanalyse
Feature Hashing
Bewerten des Vowpal Wabbit 7–4-Modells
Trainieren des Vowpal Wabbit 7-4-Modells