Vorbereiten von Daten und Definieren eines Schemas für benutzerdefinierte NER

Um ein benutzerdefiniertes NER-Modell zu erstellen, benötigen Sie Qualitätsdaten, um es zu trainieren. In diesem Artikel wird beschrieben, wie Sie Ihre Daten auswählen und aufbereiten und ein Schema definieren. Das Definieren des Schemas ist der erste Schritt im Projektentwicklungslebenszyklus und definiert die Entitätstypen/Kategorien, die Sie benötigen, um das Modell zur Laufzeit aus dem Text zu extrahieren.

Schemaentwurf

Das Schema definiert die Entitätstypen/Kategorien, die Ihr Modell zur Laufzeit aus Text extrahieren soll.

  • Überprüfen Sie die Dokumente in Ihrem Dataset, um sich mit ihrem Format und ihrer Struktur vertraut zu machen.

  • Bestimmen Sie die Entitäten, die Sie aus den Daten extrahieren möchten.

    Wenn Sie beispielsweise Entitäten aus Support-E-Mails extrahieren, kann es sinnvoll sein, „Kundenname“, „Produktname“, „Anforderungsdatum“ und „Kontaktinformationen“ zu extrahieren.

  • Vermeiden Sie Mehrdeutigkeiten bei Entitätstypen.

    Mehrdeutigkeit tritt auf, wenn die von Ihnen ausgewählten Entitätstypen einander ähneln. Je mehrdeutiger Ihr Schema ist, desto mehr bezeichnete Daten müssen Sie zwischen verschiedenen Entitätstypen unterscheiden.

    Wenn Sie z. B. Daten aus einem Vertrag extrahieren, müssen Sie weitere Beispiele hinzufügen, um „Name der Ersten Partei“ und „Name der zweiten Partei“ zu extrahieren, um Mehrdeutigkeiten zu vermeiden, da die Namen beider Parteien ähnlich aussehen. Das Vermeiden von Mehrdeutigkeit spart Zeit, Aufwand und führt zu besseren Ergebnissen.

  • Vermeiden Sie komplexe Entitäten. Komplexe Entitäten können im Text schwierig zu ermitteln sein. Erwägen Sie eine Aufteilung in mehrere Entitäten.

    Das Extrahieren von „Address“ wäre z. B. eine Herausforderung, wenn diese Entität nicht auf kleinere Entitäten aufgeteilt wird. Adressen treten in so vielen verschiedenen Varianten auf, dass eine große Anzahl bezeichneter Entitäten erforderlich wäre, um dem Modell das Extrahieren einer Adresse im Ganzen beizubringen, ohne sie aufzubrechen. Wenn Sie jedoch „Adresse“ durch „Straßenname“, „Postfach“, „Stadt“, „Bundesland“ und „Postleitzahl“ ersetzen, benötigt das Modell weniger Bezeichnungen pro Entität.

Datenauswahl

Die Qualität der Daten, mit denen Sie Ihr Modell trainieren, hat großen Einfluss auf die Leistung des Modells.

  • Verwenden Sie echte Daten, die den Problembereich Ihrer Domäne widerspiegeln, um Ihr Modell effektiv zu trainieren. Sie können synthetische Daten verwenden, um den anfänglichen Trainingsprozess von Modellen zu beschleunigen, aber diese unterscheiden sich wahrscheinlich von Ihren realen Daten und machen Ihr Modell bei Verwendung weniger effektiv.

  • Gleichen Sie Ihre Datenverteilung so weit wie möglich aus, ohne weit von der realen Verteilung abzuweichen. Wenn Sie Ihr Modell z. B. dafür trainieren, Entitäten aus Rechtsdokumenten zu extrahieren, die in vielen verschiedenen Formaten und Sprachen vorliegen können, sollten Sie Beispiele bereitstellen, um die in der Praxis erwartete Vielfalt beispielhaft wiederzugeben.

  • Verwenden Sie nach Möglichkeit unterschiedliche Daten, um eine Überanpassung Ihres Modells zu verhindern. Eine geringere Vielfalt der Trainingsdaten kann dazu führen, dass Ihr Modell zweifelhafte Korrelationen lernt, die in realen Daten möglicherweise nicht vorhanden sind.

  • Vermeiden Sie das Duplizieren von Dokumenten in Ihren Daten. Doppelte Daten wirken sich negativ auf den Trainingsprozess, die Modellmetriken und die Modellleistung aus.

  • Berücksichtigen Sie, woher Ihre Daten stammen. Wenn Sie Daten von einer Person, aus einer Abteilung oder aus einem Teil Ihres Szenarios sammeln, fehlt ihnen wahrscheinlich die Diversität, deren Erlernen für Ihr Modell möglicherweise wichtig ist.

Hinweis

Wenn Sie Dokumente in mehreren Sprachen verarbeiten möchten, wählen Sie bei der Projekterstellung die Option enable multi-lingual (Mehrsprachig aktivieren) aus, und legen Sie die Option Sprache auf die Sprache der Mehrheit Ihrer Dokumente fest.

Datenvorbereitung

Als Voraussetzung für die Erstellung eines Projekts müssen Ihre Trainingsdaten in einen Blobcontainer in Ihrem Speicherkonto hochgeladen werden. Sie können Trainingsdokumente direkt aus Azure oder mithilfe des Tools Azure Storage-Explorer erstellen und hochladen. Mit dem Azure Storage-Explorer-Tool können Sie schneller mehr Daten hochladen.

Sie können nur .txt-Dokumente verwenden. Wenn Ihre Daten in einem anderen Format vorliegen, können Sie den Parse-Befehl von CLUtils verwenden, um das Dokumentformat zu ändern.

Sie können ein mit Anmerkungen versehenes Dataset oder ein nicht kommentiertes Dataset hochladen und Ihre Daten in Language Studio bezeichnen.

Testsatz

Legen Sie bei der Definition des Testsatzes auch Beispieldokumente fest, die nicht im Trainingssatz enthalten sind. Die Definition des Testsatzes ist ein wichtiger Schritt zur Berechnung der Modellleistung. Stellen Sie außerdem sicher, dass der Testsatz Dokumente enthält, die alle in Ihrem Projekt verwendeten Entitäten repräsentieren.

Nächste Schritte

Falls Sie dies noch nicht getan haben, erstellen Sie ein benutzerdefiniertes NER-Projekt. Wenn Sie zum ersten Mal benutzerdefinierte NER verwenden, sollten Sie den Schnellstart in Betracht ziehen, um ein Beispielprojekt zu erstellen. Weitere Informationen zu den Voraussetzungen zum Erstellen eines Projekts finden Sie außerdem im Anleitungsartikel.