Etiquetado de los datos
El etiquetado correcto de los datos es una parte importante del proceso para crear un modelo de extracción de entidades personalizado. Las etiquetas identifican ejemplos de entidades específicas en texto que se usan para entrenar el modelo. Se debe centrar en tres aspectos:
- Coherencia: etiquete los datos de la misma manera en todos los archivos para el entrenamiento. La coherencia permite que el modelo aprenda sin entradas en conflicto.
- Precisión: etiquete las entidades de forma coherente, sin palabras adicionales innecesarias. La precisión garantiza que en la entidad extraída solo se incluyen los datos correctos.
- Integridad: etiquete todos los datos y no pierda ninguna entidad. La integridad ayuda al modelo a reconocer siempre las entidades presentes.
Procedimientos para etiquetar datos
Language Studio es el método más sencillo para etiquetar los datos. Language Studio permite ver el archivo, seleccionar el principio y el final de la entidad, y especificar de qué entidad se trata.
Cada etiqueta que identifique se guarda en un archivo que reside en la cuenta de almacenamiento con el conjunto de datos, en un archivo JSON generado de forma automática. Después, el modelo usa este archivo para aprender a extraer entidades personalizadas. Es posible proporcionar este archivo al crear el proyecto (si va a importar las mismas etiquetas de otro proyecto, por ejemplo), pero debe estar en los formatos de datos NER personalizados aceptados. Por ejemplo:
{
"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
}
]
}
]
}
]
}
}
Campo | Descripción |
---|---|
documents |
Matriz de documentos etiquetados |
location |
Ruta al archivo dentro del contenedor conectado al proyecto |
language |
Lenguaje del archivo |
entities |
Matriz de entidades presentes en el documento actual |
regionOffset |
Posición de carácter inclusivo para el inicio del texto |
regionLength |
Longitud en caracteres de los datos usados en el entrenamiento |
category |
Nombre de la entidad que se va a extraer |
labels |
Matriz de entidades etiquetadas en los archivos |
offset |
Posición de carácter inclusivo para el inicio de la entidad |
length |
Longitud de la entidad en caracteres |
dataset |
Conjunto de datos al que se asigna el archivo |