Named Entity Recognition - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Named Entity Recognition

Um Informationen aus unstrukturiertem Text zu extrahieren und sie in vordefinierte Kategorien zu klassifizieren, verwenden Sie eine Amazon SageMaker Ground Truth Labeling-Aufgabe namens Entity Recognition (NER). Traditionell NER beinhaltet das Durchsuchen von Textdaten nach Nominalphrasen, die als benannte Entitäten bezeichnet werden, und jede Phrase mit einer Bezeichnung wie „Person“, „Organisation“ oder „Marke“ zu kategorisieren. Sie können diese Aufgabe erweitern, um längere Textbereiche zu kennzeichnen und diese Sequenzen mit vordefinierten Kennzeichnungen zu kategorisieren, die von Ihnen angegeben werden.

Wenn Worker mit einem Kennzeichnungsauftrag zur Erkennung benannter Entitäten (Named Entity Recognition, NER) beauftragt werden, wenden sie Ihre Kennzeichnungen auf bestimmte Wörter oder Ausdrücke innerhalb eines größeren Textblocks an. Sie wählen eine Kennzeichnung aus und wenden sie dann an, indem Sie mit dem Cursor den Teil des Textes hervorheben, auf den die Kennzeichnung zutrifft. Das Tool zur Erkennung benannter Entitäten von Ground Truth unterstützt überlappende Anmerkungen, die kontextbezogene Beschriftungsauswahl und die Auswahl mehrerer Beschriftungen für ein einzelnes Highlight. Außerdem können Auftragnehmer ihre Tastaturen verwenden, um schnell Beschriftungen auszuwählen.

Sie können einen Labeling-Job zur Erkennung benannter Entitäten mithilfe des Ground-Truth-Bereichs der SageMaker Amazon-Konsole oder des CreateLabelingJobVorgangs erstellen.

Wichtig

Wenn Sie manuell eine Eingabemanifestdatei erstellen, verwenden Sie "source", um den Text zu identifizieren, den Sie beschriften möchten. Weitere Informationen finden Sie unter Eingabedaten.

Erstellen einer Named Entity Recognition-Labeling-Aufgabe (Konsole)

Sie können den Anweisungen folgenErstellen eines Kennzeichnungsauftrags (Konsole), um zu erfahren, wie Sie einen Label-Job zur Erkennung von benannten Entitäten in der SageMaker Konsole erstellen. Wählen Sie in Schritt 10 im Dropdown-Menü Aufgabenkategorie die Option Text und wählen Sie als Aufgabentyp Named Entity Erkennung aus.

Ground Truth stellt für die Labeling-Aufgaben eine Worker-Benutzeroberfläche ähnlich der folgenden bereit. Wenn Sie die Labeling-Aufgabe mit der Konsole erstellen, müssen Sie Anweisungen bereitstellen, damit die Worker die Aufgabe ausführen können, und Kennzeichnungen, aus denen die Worker auswählen können.

Ein GIF, das zeigt, wie in der SageMaker Konsole ein benannter Auftrag zur Identifizierung von Entitäten erstellt wird.

Einen Labeling-Job zur Erkennung benannter Entitäten erstellen (API)

Um mithilfe der SageMaker API Operation einen benannten Auftrag zur Erkennung von Entitäten zu erstellenCreateLabelingJob. Dadurch API wird diese Operation für alle definiert AWS SDKs. Eine Liste der sprachspezifischen Sprachen, die für diesen Vorgang SDKs unterstützt werden, finden Sie im Abschnitt Siehe auch von. CreateLabelingJob

Befolgen Sie diese Anweisungen unter Erstellen eines Kennzeichnungsauftrags (API) und führen Sie die folgenden Schritte aus, während Sie Ihre Anforderung konfigurieren:

  • Vorannotierende Lambda-Features für die Vorannotierung für diesen Aufgabentyp enden mit PRE-NamedEntityRecognition. Informationen zum Lambda-Pre-Annotation ARN für Ihre Region finden Sie unter. PreHumanTaskLambdaArn

  • Annotations-Konsolidierende Lambda-Features für die Annotationskonsolidierung für diesen Aufgabentyp enden mit ACS-NamedEntityRecognition. Informationen zum Lambda zur Annotationskonsolidierung ARN für Ihre Region finden Sie unter. AnnotationConsolidationLambdaArn

  • Sie müssen Folgendes angeben für: ARN HumanTaskUiArn

    arn:aws:sagemaker:aws-region:394669845002:human-task-ui/NamedEntityRecognition

    aws-regionErsetzen Sie es durch die AWS Region, die Sie für die Erstellung des Labeling-Jobs verwenden. Verwenden Sie beispielsweise us-west-1, wenn Sie einen Beschriftungsauftrag in USA West (Nordkalifornien) erstellen.

  • Geben Sie mithilfe des instructions Parameters Anweisungen für die Auftragnehmer in der Konfigurationsdatei für die Beschriftungskategorie ein. Sie können in den fullInstruction Feldern shortInstruction und eine Zeichenkette oder eine HTML Auszeichnungssprache verwenden. Weitere Details finden Sie unter Stellen Sie Anweisungen für Auftragnehmer in einer Konfigurationsdatei für die Beschriftungskategorie bereit.

    "instructions": {"shortInstruction":"<h1>Add header</h1><p>Add Instructions</p>", "fullInstruction":"<p>Add additional instructions.</p>"}

Im Folgenden finden Sie ein Beispiel für eine AWS Python-Anfrage SDK (Boto3) zur Erstellung eines Labeling-Jobs in der Region USA Ost (Nord-Virginia). Alle Parameter in Rot sollten durch Ihre Spezifikationen und Ressourcen ersetzt werden.

response = client.create_labeling_job( LabelingJobName='example-ner-labeling-job', LabelAttributeName='label', InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json' } }, 'DataAttributes': { 'ContentClassifiers': [ 'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent', ] } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/file-to-store-output-data', 'KmsKeyId': 'string' }, RoleArn='arn:aws:iam::*:role/*', LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json', StoppingConditions={ 'MaxHumanLabeledObjectCount': 123, 'MaxPercentageOfInputDatasetLabeled': 123 }, HumanTaskConfig={ 'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*', 'UiConfig': { 'HumanTaskUiArn': 'arn:aws:sagemaker:us-east-1:394669845002:human-task-ui/NamedEntityRecognition' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-NamedEntityRecognition', 'TaskKeywords': [ 'Named entity Recognition', ], 'TaskTitle': 'Named entity Recognition task', 'TaskDescription': 'Apply the labels provided to specific words or phrases within the larger text block.', 'NumberOfHumanWorkersPerDataObject': 1, 'TaskTimeLimitInSeconds': 28800, 'TaskAvailabilityLifetimeInSeconds': 864000, 'MaxConcurrentTaskCount': 1000, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-NamedEntityRecognition' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

Stellen Sie Anweisungen für Auftragnehmer in einer Konfigurationsdatei für die Beschriftungskategorie bereit

Sie müssen in der Konfigurationsdatei für die Etikettenkategorie, die Sie mit dem Parameter LabelCategoryConfigS3Uri in CreateLabelingJob angeben, Anweisungen für die Arbeiter angeben. Mithilfe dieser Anweisungen können Sie Einzelheiten zu der Aufgabe angeben, die Auftragnehmer ausführen sollen, und ihnen helfen, das Tool effizient zu nutzen.

Sie geben kurze und lange Anweisungen mit shortInstruction bzw. fullInstruction im instructions Parameter. Weitere Informationen zu diesen Instruktionstypen finden Sie unter Erstellen von Anweisungsseiten.

Im Folgenden finden Sie ein Beispiel für eine Konfigurationsdatei für Beschriftungskategorien mit Anweisungen, die für einen Beschriftungsauftrag zur Erkennung benannter Entitäten verwendet werden können.

{ "document-version": "2018-11-28", "labels": [ { "label": "label1", "shortDisplayName": "L1" }, { "label": "label2", "shortDisplayName": "L2" }, { "label": "label3", "shortDisplayName": "L3" }, { "label": "label4", "shortDisplayName": "L4" }, { "label": "label5", "shortDisplayName": "L5" } ], "instructions": { "shortInstruction": "<p>Enter description of the labels that workers have to choose from</p><br><p>Add examples to help workers understand the label</p>", "fullInstruction": "<ol> <li><strong>Read</strong> the text carefully.</li> <li><strong>Highlight</strong> words, phrases, or sections of the text.</li> <li><strong>Choose</strong> the label that best matches what you have highlighted.</li> <li>To <strong>change</strong> a label, choose highlighted text and select a new label.</li> <li>To <strong>remove</strong> a label from highlighted text, choose the X next to the abbreviated label name on the highlighted text.</li> <li>You can select all of a previously highlighted text, but not a portion of it.</li> </ol>" } }

Named Entity Recognition-Ausgabedaten

Sobald Sie einen Label-Job zur Erkennung von benannten Entitäten erstellt haben, befinden sich Ihre Ausgabedaten in dem Amazon S3 S3-Bucket, der im S3OutputPath Parameter angegeben ist, wenn Sie das API oder im Feld Speicherort des Ausgabedatensatzes im Bereich Auftragsübersicht der Konsole verwenden.

Um mehr über die von Ground Truth erzeugte Ausgabemanifestdatei und die Dateistruktur zu erfahren, die Ground Truth zum Speichern Ihrer Ausgabedaten verwendet, siehe Ausgabedaten.