Amazon Comprehend kündigt niedrigere Anmerkungsgrenzen für die Erkennung benutzerdefinierter Entitäten an PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Amazon Comprehend kündigt niedrigere Anmerkungsgrenzen für die Erkennung benutzerdefinierter Entitäten an

Amazon verstehen ist ein Dienst zur Verarbeitung natürlicher Sprache (NLP), mit dem Sie automatisch Entitäten, Schlüsselphrasen, Sprache, Stimmungen und andere Erkenntnisse aus Dokumenten extrahieren können. So können Sie beispielsweise sofort mit der Erkennung von Entitäten wie Personen, Orten, Handelsartikeln, Daten und Mengen über beginnen Amazon Comprehend-Konsole, AWS-Befehlszeilenschnittstelle, oder Amazon Comprehend-APIs. Wenn Sie darüber hinaus Entitäten extrahieren müssen, die nicht Teil der Integrierte Entitätstypen von Amazon Comprehend, können Sie ein benutzerdefiniertes Entitätserkennungsmodell (auch als benutzerdefinierte Entität Erkenner), um Begriffe zu extrahieren, die für Ihren spezifischen Anwendungsfall relevanter sind, wie z. B. Namen von Artikeln aus einem Produktkatalog, domänenspezifische Kennungen usw. Das Erstellen einer genauen Entitätserkennung mithilfe von Bibliotheken und Frameworks für maschinelles Lernen kann ein komplexer und zeitaufwändiger Prozess sein. Amazon Comprehend vereinfacht Ihre Modelltrainingsarbeit erheblich. Alles, was Sie tun müssen, ist, Ihren Datensatz mit Dokumenten und Anmerkungen zu laden und die Amazon Comprehend-Konsole, AWS CLI oder APIs zu verwenden, um das Modell zu erstellen.

Um eine benutzerdefinierte Entitätserkennung zu trainieren, können Sie Trainingsdaten für Amazon Comprehend bereitstellen als Anmerkungen oder Entitätslisten. Im ersten Fall stellen Sie eine Sammlung von Dokumenten und eine Datei mit Anmerkungen bereit, die den Ort angeben, an dem Entitäten innerhalb des Dokumentensatzes vorkommen. Alternativ stellen Sie mit Entitätslisten eine Liste von Entitäten mit ihrer entsprechenden Bezeichnung für den Entitätstyp und eine Reihe von nicht kommentierten Dokumenten bereit, in denen Sie erwarten, dass Ihre Entitäten vorhanden sind. Beide Ansätze können verwendet werden, um ein erfolgreiches benutzerdefiniertes Entitätserkennungsmodell zu trainieren; Es gibt jedoch Situationen, in denen eine Methode die bessere Wahl sein kann. Wenn beispielsweise die Bedeutung bestimmter Entitäten mehrdeutig und kontextabhängig sein könnte, wird das Bereitstellen von Anmerkungen empfohlen, da dies Ihnen helfen kann, ein Amazon Comprehend-Modell zu erstellen, das in der Lage ist, den Kontext beim Extrahieren von Entitäten besser zu nutzen.

Das Annotieren von Dokumenten kann sehr viel Aufwand und Zeit erfordern, insbesondere wenn Sie bedenken, dass sowohl die Qualität als auch die Quantität der Annotationen einen Einfluss auf das resultierende Entitätserkennungsmodell haben. Ungenaue oder zu wenige Annotationen können zu schlechten Ergebnissen führen. Um Ihnen bei der Einrichtung eines Prozesses zum Erwerb von Anmerkungen zu helfen, bieten wir Tools wie z Amazon Sagemaker Ground Truth, mit der Sie Ihre Dokumente schneller mit Anmerkungen versehen und eine erstellen können erweiterte Manifest-Anmerkungsdatei. Auch wenn Sie Ground Truth verwenden, müssen Sie dennoch sicherstellen, dass Ihr Trainingsdatensatz groß genug ist, um Ihre Entitätserkennung erfolgreich zu erstellen.

Bis heute mussten Sie, um mit dem Training einer benutzerdefinierten Entitätserkennung von Amazon Comprehend zu beginnen, eine Sammlung von mindestens 250 Dokumenten und mindestens 100 Anmerkungen pro Entitätstyp bereitstellen. Heute kündigen wir an, dass wir dank der jüngsten Verbesserungen der Modelle, die Amazon Comprehend zugrunde liegen, die Mindestanforderungen für das Training einer Erkennung mit Nur-Text-CSV-Anmerkungsdateien reduziert haben. Sie können jetzt ein benutzerdefiniertes Entitätserkennungsmodell mit nur drei Dokumenten und 25 Anmerkungen pro Entitätstyp erstellen. Weitere Details zu neuen Servicelimits finden Sie in Richtlinien und Quoten.

Um zu zeigen, wie diese Reduzierung Ihnen helfen kann, mit der Erstellung einer benutzerdefinierten Entitätserkennung zu beginnen, haben wir einige Tests mit einigen Open-Source-Datasets durchgeführt und Leistungsmetriken gesammelt. In diesem Beitrag führen wir Sie durch den Benchmarking-Prozess und die Ergebnisse, die wir bei der Arbeit an unterabgetasteten Datensätzen erzielt haben.

Datensatzvorbereitung

In diesem Beitrag erklären wir, wie wir eine benutzerdefinierte Amazon Comprehend-Entitätserkennung mit kommentierten Dokumenten trainiert haben. Generell können Annotationen als CSV-Datei, ein erweiterte Manifestdatei, die von Ground Truth generiert wurde, Oder ein PDF Datei. Unser Fokus liegt auf CSV-Klartext-Annotationen, da dies die Art der Annotation ist, die von den neuen Mindestanforderungen betroffen ist. CSV-Dateien sollten die folgende Struktur haben:

File, Line, Begin Offset, End Offset, Type
documents.txt, 0, 0, 13, ENTITY_TYPE_1
documents.txt, 1, 0, 7, ENTITY_TYPE_2

Die relevanten Felder sind wie folgt:

  • Reichen Sie das – Der Name der Datei, die die Dokumente enthält
  • Line – Die Nummer der Zeile, die die Entität enthält, beginnend mit Zeile 0
  • Beginnen Offsetdruck – Der Zeichenversatz im Eingabetext (relativ zum Zeilenanfang), der anzeigt, wo die Entität beginnt, wenn man bedenkt, dass das erste Zeichen an Position 0 ist
  • Endversatz – Der Zeichenversatz im Eingabetext, der anzeigt, wo die Entität endet
  • Typ – Der Name des Entitätstyps, den Sie definieren möchten

Außerdem müssen Sie bei diesem Ansatz eine Sammlung von Schulungsdokumenten als .txt-Dateien mit einem Dokument pro Zeile oder einem Dokument pro Datei bereitstellen.

Für unsere Tests haben wir die verwendet SNIPS Natural Language Understanding-Benchmark, ein Datensatz von Crowdsourcing-Äußerungen, die auf sieben Benutzerabsichten verteilt sind (AddToPlaylist, BookRestaurant, GetWeather, PlayMusic, RateBook, SearchCreativeWork, SearchScreeningEvent). Der Datensatz wurde 2018 im Rahmen des Papers veröffentlicht Snips Voice Platform: ein eingebettetes Spoken Language Understanding-System für Private-by-Design-Sprachschnittstellen von Coucke et al.

Das SNIPS-Dataset besteht aus einer Sammlung von JSON-Dateien, die sowohl Anmerkungen als auch Rohtextdateien verdichten. Das Folgende ist ein Ausschnitt aus dem Datensatz:

{
   "annotations":{
      "named_entity":[
         {
            "start":16,
            "end":36,
            "extent":"within the same area",
            "tag":"spatial_relation"
         },
         {
            "start":40,
            "end":51,
            "extent":"Lawrence St",
            "tag":"poi"
         },
         {
            "start":67,
            "end":70,
            "extent":"one",
            "tag":"party_size_number"
         }
      ],
      "intent":"BookRestaurant"
   },
   "raw_text":"I'd like to eat within the same area of Lawrence St for a party of one"
}

Vor der Erstellung unserer Entitätserkennung haben wir die SNIPS-Anmerkungen und Rohtextdateien in eine CSV-Anmerkungsdatei und eine TXT-Dokumentdatei umgewandelt.

Nachfolgend ein Auszug aus unserem annotations.csv Datei:

File, Line, Begin Offset, End Offset, Type
documents.txt, 0, 16, 36, spatial_relation
documents.txt, 0, 40, 51, poi
documents.txt, 0, 67, 70, party_size_number

Nachfolgend ein Auszug aus unserem documents.txt Datei:

I'd like to eat within the same area of Lawrence St for a party of one
Please book me a table for three at an american gastropub 
I would like to book a restaurant in Niagara Falls for 8 on June nineteenth
Can you book a table for a party of 6 close to DeKalb Av

Stichprobenkonfiguration und Benchmarking-Prozess

Für unsere Experimente haben wir uns auf eine Teilmenge von Entitätstypen aus dem SNIPS-Datensatz konzentriert:

  • BuchRestaurant – Entitätstypen: spatial_relation, poi, party_size_number, restaurant_name, city, timeRange, restaurant_type, served_dish, party_size_description, country, facility, state, sort, cuisine
  • GetWeather – Entitätstypen: condition_temperature, current_location, geographic_poi, timeRange, state, spatial_relation, condition_description, city, country
  • Spiel Musik – Entitätstypen: track, artist, music_item, service, genre, sort, playlist, album, year

Darüber hinaus haben wir jeden Datensatz unterabgetastet, um unterschiedliche Konfigurationen in Bezug auf die Anzahl der für das Training abgetasteten Dokumente und die Anzahl der Anmerkungen pro Entität (auch bekannt als Schüsse). Dazu wurde ein benutzerdefiniertes Skript verwendet, das zum Erstellen von unterabgetasteten Datensätzen entwickelt wurde, in denen jeder Entitätstyp mindestens vorkommt k mal innerhalb von mind n Unterlagen.

Jedes Modell wurde mit einer bestimmten Unterstichprobe der Trainingsdatensätze trainiert; Die neun Modellkonfigurationen sind in der folgenden Tabelle dargestellt.

Name des unterabgetasteten Datensatzes Anzahl der für das Training abgetasteten Dokumente Anzahl der zum Testen ausgewählten Dokumente Durchschnittliche Anzahl von Anmerkungen pro Entitätstyp (Aufnahmen)
snips-BookRestaurant-subsample-A 132 17 33
snips-BookRestaurant-subsample-B 257 33 64
snips-BookRestaurant-subsample-C 508 64 128
snips-GetWeather-subsample-A 91 12 25
snips-GetWeather-subsample-B 185 24 49
snips-GetWeather-subsample-C 361 46 95
snips-PlayMusic-subsample-A 130 17 30
snips-PlayMusic-subsample-B 254 32 60
snips-PlayMusic-subsample-C 505 64 119

Um die Genauigkeit unserer Modelle zu messen, haben wir Bewertungsmetriken gesammelt, die Amazon Comprehend beim Trainieren einer Entitätserkennung automatisch berechnet:

  • Präzision – Dies gibt den Anteil der vom Erkenner erkannten Entitäten an, die korrekt identifiziert und gekennzeichnet wurden. Aus einer anderen Perspektive kann Präzision definiert werden als tp / (tp + fp), Wobei tp ist die Anzahl der True Positives (korrekte Identifizierungen) und fp ist die Anzahl der Fehlalarme (falsche Identifizierungen).
  • Erinnern – Dies gibt den Anteil der in den Dokumenten vorhandenen Entitäten an, die korrekt identifiziert und gekennzeichnet sind. Es wird berechnet als tp / (tp + fn), Wobei tp ist die Anzahl der True Positives und fn ist die Anzahl falscher Negative (fehlende Identifizierungen).
  • F1-Punktzahl – Dies ist eine Kombination aus Präzisions- und Recall-Metriken, die die Gesamtgenauigkeit des Modells misst. Der F1-Score ist das harmonische Mittel der Präzisions- und Recall-Metriken und wird berechnet als 2 * Präzision * Rückruf / (Präzision + Rückruf).

Für den Vergleich der Leistung unserer Entity Recognizer konzentrieren wir uns auf F1-Ergebnisse.

In Anbetracht der Tatsache, dass Sie bei einem gegebenen Datensatz und einer Unterstichprobengröße (in Bezug auf die Anzahl der Dokumente und Aufnahmen) verschiedene Unterstichproben generieren können, haben wir 10 Unterstichproben für jede der neun Konfigurationen generiert, die Entitätserkennungsmodelle trainiert, Leistungsmetriken gesammelt und mittelte sie unter Verwendung von Mikromittelung. Dadurch konnten wir stabilere Ergebnisse erzielen, insbesondere für Subsamples mit wenigen Aufnahmen.

Die Ergebnisse

Die folgende Tabelle zeigt die mikrogemittelten F1-Ergebnisse, die anhand von Leistungsmetriken berechnet wurden, die von Amazon Comprehend nach dem Training jeder Entitätserkennung zurückgegeben wurden.

Name des unterabgetasteten Datensatzes Mikrogemittelter F1-Score der Entitätserkennung (%)
snips-BookRestaurant-subsample-A 86.89
snips-BookRestaurant-subsample-B 90.18
snips-BookRestaurant-subsample-C 92.84
snips-GetWeather-subsample-A 84.73
snips-GetWeather-subsample-B 93.27
snips-GetWeather-subsample-C 93.43
snips-PlayMusic-subsample-A 80.61
snips-PlayMusic-subsample-B 81.80
snips-PlayMusic-subsample-C 85.04

Das folgende Säulendiagramm zeigt die Verteilung der F1-Ergebnisse für die neun Konfigurationen, die wir wie im vorherigen Abschnitt beschrieben trainiert haben.

Wir können beobachten, dass wir selbst mit nur 25 Anmerkungen pro Entitätstyp benutzerdefinierte Entitätserkennungsmodelle erfolgreich trainieren konnten. Wenn wir uns auf die drei kleinsten unterabgetasteten Datensätze konzentrieren (snips-BookRestaurant-subsample-A, snips-GetWeather-subsample-A und snips-PlayMusic-subsample-A) sehen wir, dass wir im Durchschnitt einen F1-Score von 84 % erreichen konnten, was angesichts der begrenzten Anzahl von Dokumenten und Anmerkungen, die wir verwendet haben, ein ziemlich gutes Ergebnis ist. Wenn wir die Leistung unseres Modells verbessern möchten, können wir zusätzliche Dokumente und Anmerkungen sammeln und ein neues Modell mit mehr Daten trainieren. Beispielsweise bei mittelgroßen Teilstichproben (snips-BookRestaurant-subsample-B, snips-GetWeather-subsample-B und snips-PlayMusic-subsample-B), die doppelt so viele Dokumente und Anmerkungen enthalten, erzielten wir im Durchschnitt einen F1-Score von 88 % (5 % Verbesserung gegenüber subsample-A Datensätze). Schließlich größere unterabgetastete Datensätze (snips-BookRestaurant-subsample-C, snips-GetWeather-subsample-C und snips-PlayMusic-subsample-C), die noch mehr annotierte Daten enthalten (ungefähr viermal so viele Dokumente und Annotationen wie für subsample-A Datensätze) sorgten für eine weitere Verbesserung um 2 % und erhöhten den durchschnittlichen F1-Score auf 90 %.

Zusammenfassung

In diesem Beitrag haben wir eine Verringerung der Mindestanforderungen für das Training einer benutzerdefinierten Entitätserkennung mit Amazon Comprehend angekündigt und einige Benchmarks mit Open-Source-Datensätzen durchgeführt, um zu zeigen, wie diese Verringerung Ihnen beim Einstieg helfen kann. Ab heute können Sie ein Entitätserkennungsmodell mit nur 25 Anmerkungen pro Entitätstyp (statt 100) und mindestens drei Dokumenten (statt 250) erstellen. Mit dieser Ankündigung senken wir die Eintrittsbarriere für Benutzer, die daran interessiert sind, die benutzerdefinierte Entitätserkennungstechnologie von Amazon Comprehend zu verwenden. Sie können Ihre Experimente jetzt mit einer sehr kleinen Sammlung kommentierter Dokumente starten, vorläufige Ergebnisse analysieren und iterieren, indem Sie zusätzliche Anmerkungen und Dokumente hinzufügen, wenn Sie ein genaueres Entitätserkennungsmodell für Ihren Anwendungsfall benötigen.

Weitere Informationen und erste Schritte mit einer benutzerdefinierten Entitätserkennung finden Sie unter Benutzerdefinierte Entitätserkennung.

Besonderer Dank gilt meinen Kollegen Jyoti Bansal und Jie Ma für ihre wertvolle Hilfe bei der Datenaufbereitung und dem Benchmarking.


Über den Autor

Amazon Comprehend kündigt niedrigere Anmerkungsgrenzen für die Erkennung benutzerdefinierter Entitäten an PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Lukas Guida ist Lösungsarchitekt bei AWS; Er hat seinen Sitz in Mailand und unterstützt italienische ISVs auf ihrem Weg in die Cloud. Mit einem akademischen Hintergrund in Informatik und Ingenieurwesen begann er, seine Leidenschaft für KI/ML an der Universität zu entwickeln. Als Mitglied der Natural Language Processing (NLP)-Community innerhalb von AWS hilft Luca Kunden, bei der Einführung von KI/ML-Services erfolgreich zu sein.

Zeitstempel:

Mehr von AWS Maschinelles Lernen