Etykietowanie danych
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.
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 |