Named-Entity-Recognition
Verwenden Sie das Named-Entity-Recognition-Tool (NER) zur Erkennung benannter Entitäten identifiziert Entitäten wie Personen, Orte und andere Elemente in einem Text. Das Tool nutzt die Funktionen zur Erkennung benannter Entitäten (NER) im Paket spaCy . Sie können die vordefinierten Entitäten oder Ihre eigenen benutzerdefinierten Entitäten verwenden.
Alteryx Intelligence Suite - Überblick
Dieses Tool ist Teil der Alteryx Intelligence Suite . Alteryx Intelligence Suite erfordert eine separate Lizenz und ein Add-on-Installationsprogramm für Designer. Nachdem Sie Designer installiert haben, installieren Sie Intelligence Suite und starten Sie Ihre kostenlose Testversion .
Sprachunterstützung
Das Named-Entity-Recognition-Tool unterstützt Englisch, Französisch, Deutsch, Italienisch, Portugiesisch und Spanisch.
Tool-Komponenten
Das Named-Entity-Recognition-Tool verfügt über 4 Anker.
D -Eingabeanker: Verbinden Sie die Textdaten mit Entitäten, die Sie identifizieren möchten.
E -Eingabeanker (optional): Verbinden Sie die Daten mit den benutzerdefinierten Entitäten, die Sie identifizieren möchten. Diese Daten müssen die Namen der benutzerdefinierten Entitäten und die Bezeichnungen enthalten, die Sie verwenden möchten, um das Modell zu trainieren.
D -Ausgabeanker: Geben Sie neue Datenspalten aus, in denen Informationen über die Entitäten in Ihren Daten angezeigt werden.
M -Ausgabeanker: Geben Sie nachgeschaltet das Modellobjekt zur Verwendung mit neuen Daten aus. Das Modellobjekt ist mit dem Vorhersagen-Tool kompatibel.
Standardmodellkonfiguration
Tool-Konfiguration
Ziehen Sie das Tool auf den Canvas.
Verbinden Sie den D -Eingabeanker mit Textdaten, die Entitäten enthalten, die Sie identifizieren möchten.
Wählen Sie die Sprache der Textdaten aus.
Wählen Sie die Spalte mit Text aus.
Klicken Sie auf Ausführen , um den Workflow auszuführen.
Englische Standard-Entitätenliste
PERSON: Fiktionale und nicht-fiktionale Menschen.
NORP: Nationalität, Religion oder politische Gruppe.
FAC: Einrichtungen wie Gebäude, Flughäfen, Autobahnen oder Brücken.
ORG: Organisationen wie Unternehmen, Agenturen oder Institutionen.
GPE: Geografische Entitäten wie Länder, Städte oder Staaten.
LOC: Nicht-GPE-Standorte wie Bergketten, Gewässer oder Kontinente.
PRODUKT: Produkte wie Fahrzeuge oder Lebensmittel. Ausgenommen Dienste.
EREIGNIS: Ereignisse wie benannte Orkane, Kriege oder Sportveranstaltungen.
KUNSTWERK: Kunstwerke wie Bücher, Lieder oder Filme.
GESETZ: Benannte Dokumente, die zum Gesetz erhoben wurden.
SPRACHE: Benannte Sprachen.
DATUM: Datumsentität.
ZEIT: Zeitentität, weniger als ein Tag.
PROZENT: Prozentsatz, enthält „%“ und das Wort „Prozent“.
GELD: Geldwert, einschließlich der Einheit.
MENGE: Maße wie Höhe, Gewicht oder Abstand.
ORDINAL: Ordinalzahlen wie erste, zweite und dritte.
CARDINAL: Kardinalzahlen, die nicht in eine andere numerische Kategorie fallen.
Die Standard-Entitätenlisten für andere Sprachen finden Sie in der spaCy- Dokumentation .
Benutzerdefinierte Modellkonfiguration
Wenn Sie Ihre eigenen benutzerdefinierten Entitäten zum Trainieren des Modells verwenden möchten, wählen Sie Mit neuen Entitäten trainieren aus. Ihre Quelldaten müssen mindestens 20 Instanzen jeder benutzerdefinierten Entität enthalten. Verbinden Sie Ihre benutzerdefinierten Entitäten mit dem E -Eingabeanker.
Benutzerdefiniertes Format der Entitätenliste
Sie können das Texteingabe-Tool verwenden, um Ihre eigenen benutzerdefinierten Entitäten an den E -Eingabeanker weiterzugeben. Das Tool verwendet Ihre Entitätenliste, um ein neues Modell zu trainieren. Das Format der Entitätenliste ist wie folgt, mit einigen Beispielen:
Entity | Label |
---|---|
Riesling | GRAPE |
Sauvignon Blanc | GRAPE |
Pinot Noir | GRAPE |
Syrah | GRAPE |
Cabernet Sauvignon | GRAPE |
Tool-Konfiguration
Ziehen Sie das Tool auf den Canvas.
Verbinden Sie den D -Eingabeanker mit Textdaten, die Entitäten enthalten, die Sie identifizieren möchten.
Verbinden Sie den E -Eingabeanker mit Ihrer benutzerdefinierten Entitätenliste.
Wählen Sie die Sprache der Textdaten aus, die mit dem D -Eingabeanker verbunden sind.
Wählen Sie die Spalte mit Text aus den Textdaten aus, die mit dem D -Eingabeanker verbunden sind.
Wählen Sie Mit neuen Entitäten trainieren .
Wählen Sie die Spalte mit Entitäten aus der Liste der benutzerdefinierten Entitäten aus, die mit dem E -Eingabeanker verbunden ist.
Wählen Sie die Spalte mit Labels aus der Liste der benutzerdefinierten Entitäten aus, die mit dem E -Eingabeanker verbunden ist.
Aktivieren Sie das Kontrollkästchen, wenn bei Ihrem Modell zwischen Groß- und Kleinschreibung unterschieden werden soll.
(Optional) Konfigurieren Sie den Abschnitt Modell trainieren . Weitere Informationen finden Sie im folgenden Abschnitt.
Klicken Sie auf Ausführen , um den Workflow auszuführen.
Modell trainieren
Eine Epoche ist ein einzelner Durchlauf (vorwärts und rückwärts) aller Daten in einem Trainingsset durch ein neuronales Netzwerk. Epochen sind verwandt mit Iterationen, aber nicht identisch. Eine Iteration ist ein einzelner Durchlauf aller Daten in einem Batch eines Trainingssets.
Durch Erhöhen der Epochenanzahl kann das Modell über einen längeren Zeitraum aus dem Trainingsset lernen. Dies erhöht jedoch auch den Rechenaufwand.
Sie können die Anzahl der Epochen erhöhen, um Fehler im Modell zu reduzieren. Aber gelegentlich könnte die Fehlerreduzierung den zusätzlichen Rechenaufwand nicht wert sein. Auch kann eine zu hohe Epochenanzahl zu Problemen der Überanpassung führen, wogegen eine zu geringe Epochenanzahl zu Problemen der Unteranpassung führen kann.
Standardmäßig verwendet das Tool 10 Epochen.
Early Stopping (frühzeitiges Beenden) ist eine Methode, die einer iterativen Machine Learning-Methode, wie dem Convolutional Neural Network, das im Named-Entity-Recognition-Tool verwendet wird, mitteilt, wann der Lernprozess beendet werden soll. \Named Entity Recognition verwendet F1 als Metrik für Early Stopping.
Early Stopping ist hilfreich, wenn Ihr Modell Probleme mit Überanpassung hat. Eine Überanpassung tritt auf, wenn Ihr Modell lernt, indem es sich die Antworten merkt, anstatt die zugrunde liegenden Muster in Ihren Daten zu identifizieren. Sie können Early Stopping auch verwenden, um zu verhindern, dass der Algorithmus unnötige Epochen durchläuft.
Verwenden Sie Early Stopping, wenn Sie befürchten, dass Ihr Modell Ihre Daten möglicherweise überanpasst oder dass zusätzliche Epochen Ihr Modell nicht verbessern.
Standardmäßig verwendet das Tool Early Stopping.
Ein Batch ist eine Teilmenge des gesamten Trainings-Datasets.
Durch Verringern der Batchgröße können Sie jederzeit die Datenmenge staffeln, die durch ein neuronales Netzwerk läuft. Auf diese Weise können Sie Modelle trainieren, ohne so viel Arbeitsspeicher zu beanspruchen, als dies bei der gleichzeitigen Verarbeitung aller Daten in einem neuronalen Netz der Fall wäre. Batchverarbeitung kann manchmal das Training beschleunigen. Die Aufteilung Ihrer Daten in Batches kann jedoch auch zu mehr Fehlern im Modell führen.
Teilen Sie Ihre Daten in Batches auf, wenn Ihr Rechner nicht alle Daten auf einmal verarbeiten kann oder wenn Sie die Trainingszeit reduzieren möchten.
Standardmäßig verwendet das Tool eine Batchgröße von 32.
Ausgabe
Der D -Ausgabeanker fügt der Ausgabe zwei Spalten hinzu:
entities: Diese Spalte enthält eine JSON-Ausgabe mit einer Liste von Entitäten-Tags und -Beschreibungen.
entity: vom Modell gefundene Entität.
label: die Bezeichnung der Entität.
character_index: der Index des ersten Zeichens des Wortes im Fließtext. Der Index beginnt bei 0.
word_index: der Index des Wortes im Fließtext. Der Index beginnt bei 0.
entity_length: Zeichenlänge der Entität.
entity_Diagram: Diese Spalte enthält Ihren Text mit beschrifteten Entitäten und ist mit dem Durchsuchen-Tool auffindbar.
Der M -Ausgabeanker enthält ein Modellobjekt. Sie können das Modellobjekt speichern und es für neue Daten mit dem Vorhersagen-Tool verwenden.
So parsen Sie die JSON-Ausgabe
Um die JSON-Ausgabe in Tabellendaten zu transformieren, verwenden Sie in diesem Beispiel-Workflow eine Kombination der Tools JSON-Parse , Text in Spalten aufteilen und Kreuztabelle :
Übergeben Sie die Ausgabe des Named-Entity-Recognition-Tools an die Eingabe des JSON-Parse-Tools.
Wählen Sie als JSON-Feld die Entitäten-Spalte aus.
Wählen Sie Werte in einzelnem Zeichenfolgenfeld ausgeben aus.
Übergeben Sie die Ausgabe des JSON-Parse-Tools an die „Text in Spalten aufteilen“-Eingabe.
Wählen Sie unter Spalte zum Aufteilen die JSON-Namensspalte aus und legen Sie als Trennzeichen einen Punkt ( . ) fest.
Wählen Sie In Spalten aufteilen aus und legen Sie die Spaltenanzahl auf 3 fest.
Übergeben Sie die Ausgabe des Tools „Text-in-Spalten-aufteilen“ an die Eingabe des Tools „Kreuztabelle“.
Konfiguration des Kreuztabellen-Tools:
Daten nach diesen Werten gruppieren : Wählen Sie den Spaltennamen mit Ihren ursprünglichen Textdaten und die zweite aufgeteilte JSON-Namensspalte (standardmäßig JSON_Name2 ) aus.
Spaltenüberschriften ändern : Wählen Sie die dritte aufgeteilte JSON-Namensspalte (standardmäßig JSON_Name3 ) aus.
Werte für neue Spalten : Wählen Sie JSON_ValueString aus.
Aggregationsmethode für Werte : Wählen Sie Verketten aus.
Führen Sie Ihren Workflow aus. Die Ausgabe des Kreuztabellen-Tools enthält jetzt die Ausgabe des Named-Entity-Recognition-Tools in tabellarischer Form.
Häufig gestellte Fragen (FAQ)
Der Algorithmus priorisiert zuerst Ihre benutzerdefinierte Liste.
Standardmäßig, nein. Named Entity Recognition (NER) kann „Michael Jordan" und „Air Jordan" nicht sofort als dieselbe Person erkennen. Sie können jedoch ein neues Modell dazu trainieren, indem Sie eine benutzerdefinierte Entitäts- und Labelliste übergeben. Hinweis: Das NER-Tool ist kein Ersatz für Suchen und Ersetzen. Der Algorithmus kann auf der Grundlage von Assoziationen in den Quelldaten möglicherweise andere Spitznamen für „Michael Jordan" aufgreifen.
Nein, NER unterstützt nur die angegebenen Sprachen. Wenn Sie beispielsweise Englisch angeben, sucht NER innerhalb der Quelldaten nur nach dem englischen Text. Wenn Ihre Quelldaten Text in anderen Sprachen enthalten, die von NER unterstützt werden (z. B. französischen Text), können Sie einen weiteren NER-Prozess auf Ihrem Canvas für den französischen Text erstellen und die Ergebnisse am Ende zusammenfügen.