Etykietowanie danych

Ukończone

Etykietowanie lub tagowanie danych jest ważną częścią procesu tworzenia niestandardowego modelu wyodrębniania jednostek. Etykiety identyfikują przykłady określonych jednostek w tekście używanym do trenowania modelu. Trzy kwestie, na których należy skupić się, to:

  • Spójność — oznaczaj dane tak samo jak we wszystkich plikach na potrzeby trenowania. Spójność pozwala modelowi uczyć się bez żadnych danych wejściowych powodujących konflikt.
  • Precyzja — spójne etykietowanie jednostek bez niepotrzebnych dodatkowych słów. Precyzja gwarantuje, że w wyodrębnionej jednostce zostaną uwzględnione tylko poprawne dane.
  • Kompletność — oznaczaj dane całkowicie i nie pomijaj żadnych jednostek. Kompletność pomaga modelowi zawsze rozpoznawać obecne jednostki.

Screenshot of labeling an entity in Language Studio.

Jak oznaczyć dane etykietą

Language Studio to najprostsza metoda etykietowania danych. Program Language Studio umożliwia wyświetlenie pliku, wybranie początku i końca jednostki oraz określenie, która jednostka jest.

Każda zidentyfikowana etykieta zostanie zapisana w pliku, który znajduje się na koncie magazynu przy użyciu zestawu danych, w automatycznie wygenerowanym pliku JSON. Ten plik jest następnie używany przez model, aby dowiedzieć się, jak wyodrębniać jednostki niestandardowe. Ten plik można podać podczas tworzenia projektu (jeśli importujesz te same etykiety z innego projektu, na przykład), jednak musi on znajdować się w akceptowanych niestandardowych formatach danych NER. Na przykład:


{
  "projectFileVersion": "{DATE}",
  "stringIndexType": "Utf16CodeUnit",
  "metadata": {
    "projectKind": "CustomEntityRecognition",
    "storageInputContainerName": "{CONTAINER-NAME}",
    "projectName": "{PROJECT-NAME}",
    "multilingual": false,
    "description": "Project-description",
    "language": "en-us",
    "settings": {}
  },
  "assets": {
    "projectKind": "CustomEntityRecognition",
    "entities": [
      {
        "category": "Entity1"
      },
      {
        "category": "Entity2"
      }
    ],
    "documents": [
      {
        "location": "{DOCUMENT-NAME}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "entities": [
          {
            "regionOffset": 0,
            "regionLength": 500,
            "labels": [
              {
                "category": "Entity1",
                "offset": 25,
                "length": 10
              },
              {
                "category": "Entity2",
                "offset": 120,
                "length": 8
              }
            ]
          }
        ]
      },
      {
        "location": "{DOCUMENT-NAME}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "entities": [
          {
            "regionOffset": 0,
            "regionLength": 100,
            "labels": [
              {
                "category": "Entity2",
                "offset": 20,
                "length": 5
              }
            ]
          }
        ]
      }
    ]
  }
}

Pole opis
documents Tablica dokumentów oznaczonych etykietami
location Ścieżka do pliku w kontenerze połączonym z projektem
language Język pliku
entities Tablica obecnych jednostek w bieżącym dokumencie
regionOffset Położenie znaku inkluzywnego dla początku tekstu
regionLength Długość znaków danych używanych podczas trenowania
category Nazwa jednostki do wyodrębnienia
labels Tablica oznaczonych jednostkami w plikach
offset Pozycja znaku inkluzywnego dla początku jednostki
length Długość znaków jednostki
dataset Do którego zestawu danych jest przypisany plik