Text mit Textklassifizierung kategorisieren (Multi-Label) - 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.

Text mit Textklassifizierung kategorisieren (Multi-Label)

Wenn Sie Artikel und Text in mehrere vordefinierte Kategorien einteilen möchten, verwenden Sie den Aufgabentyp für die Multi-Label-Textklassifizierung. Sie können diesen Aufgabentyp beispielsweise verwenden, um mehr als eine im Text vermittelte Emotion zu identifizieren. Die folgenden Abschnitte enthalten Informationen zum Erstellen einer Aufgabe zur Textklassifizierung mit mehreren Bezeichnungen von der Konsole aus und. API

Auftragnehmer, die an einer Aufgabe zur Multi-Label-Textklassifizierung arbeiten, sollten alle anwendbaren Bezeichnungen (Label) auswählen, zumindest muss jedoch eine Bezeichnung ausgewählt werden. Beim Erstellen eines Auftrags unter Verwendung dieses Aufgabentyps können Sie bis zu 50 Bezeichnungskategorien angeben.

Amazon SageMaker Ground Truth bietet keine Kategorie „Keine“ für den Fall, dass keines der Labels zutrifft. Um den Auftragnehmern diese Option zur Verfügung zu stellen, fügen Sie beim Erstellen eines Multi-Label-Textklassifizierungsauftrags eine Bezeichnung wie „Keine“ oder „Sonstiges“ hinzu.

Verwenden Sie den Aufgabentyp Text mit Textklassifizierung kategorisieren (Single Label), um Auftragnehmer auf die Auswahl einer einzelnen Bezeichnung für jedes Dokument oder jede Textauswahl zu beschränken.

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 eines Labeling-Auftrags für die Multi-Label-Textklassifizierung (Konsole)

Sie können den Anweisungen folgenErstellen eines Kennzeichnungsauftrags (Konsole), um zu erfahren, wie Sie in der SageMaker Amazon-Konsole einen Auftrag zur Textklassifizierung mit mehreren Labels erstellen. Wählen Sie in Schritt 10 im Dropdown-Menü Aufgabenkategorie die Option Text und wählen Sie als Aufgabentyp Textklassifizierung (Mehrfachbeschriftung) 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.

Gif, das zeigt, wie in der SageMaker Amazon-Konsole ein Auftrag zur Textklassifizierung mit mehreren Labels erstellt wird.

Einen Label-Job zur Textklassifizierung mit mehreren Labels erstellen () API

Verwenden Sie den Vorgang, um einen Auftrag zur Textklassifizierung mit mehreren Bezeichnungen zu erstellen. SageMaker API CreateLabelingJob Dadurch wird diese Operation für alle API AWS SDKs definiert. 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-TextMultiClassMultiLabel. 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-TextMultiClassMultiLabel. Informationen zum Lambda zur Annotationskonsolidierung ARN für Ihre Region finden Sie unter. AnnotationConsolidationLambdaArn

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-multi-label-text-classification-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': { 'UiTemplateS3Uri': 's3://bucket/path/custom-worker-task-template.html' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda::function:PRE-TextMultiClassMultiLabel, 'TaskKeywords': [ 'Text Classification', ], 'TaskTitle': 'Multi-label text classification task', 'TaskDescription': 'Select all labels that apply to the text shown', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClassMultiLabel' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

Erstellen einer Vorlage für die Textklassifizierung mit Mehrfachkennzeichnung

Wenn Sie einen Label-Job mit dem erstellenAPI, müssen Sie unter eine Worker-Aufgabenvorlage angeben. UiTemplateS3Uri Kopieren und ändern Sie die folgende Vorlage. Ändern Sie nur short-instructions, full-instructions und header.

Laden Sie diese Vorlage auf S3 hoch und stellen Sie die S3-Datei URI für diese Datei unter bereitUiTemplateS3Uri.

<script src="https://assets.crowd.aws/crowd-html-elements.js"></script> <crowd-form> <crowd-classifier-multi-select name="crowd-classifier-multi-select" categories="{{ task.input.labels | to_json | escape }}" header="Please identify all classes in the below text" > <classification-target style="white-space: pre-wrap"> {{ task.input.taskObject }} </classification-target> <full-instructions header="Classifier instructions"> <ol><li><strong>Read</strong> the text carefully.</li> <li><strong>Read</strong> the examples to understand more about the options.</li> <li><strong>Choose</strong> the appropriate labels that best suit the text.</li></ol> </full-instructions> <short-instructions> <p>Enter description of the labels that workers have to choose from</p> <p><br></p> <p><br></p><p>Add examples to help workers understand the label</p> <p><br></p><p><br></p><p><br></p><p><br></p><p><br></p> </short-instructions> </crowd-classifier-multi-select> </crowd-form>

Informationen zum Erstellen einer benutzerdefinierten Vorlage finden Sie unter Arbeitsabläufe für benutzerdefinierte Etikettierung.

Ausgabedaten der Multi-Label-Textklassifizierung

Sobald Sie einen Label-Job zur Textklassifizierung mit mehreren Labels 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 Jobübersicht der Konsole verwenden.

Weitere Informationen zu der von Ground Truth generierten Ausgabemanifestdatei und zur Dateistruktur, die zum Speichern Ihrer Ausgabedaten verwendet, finden Sie unter Ausgabedaten des Jobs beschriften.

Ein Beispiel für Ausgabemanifestdateien für einen Labeling-Auftrag für die Multi-Label-Textklassifizierung finden Sie unter Ausgabe von Klassifizierungsaufträgen mit mehreren Bezeichnungen.