Entrenamiento y uso de modelos personalizados
Sugerencia
Consulte la pestaña Texto e imágenes para obtener más detalles.
Cuando los modelos creados previamente no cubren los tipos de documento específicos, puede entrenar modelos personalizados para extraer datos de sus propios formularios. Azure Document Intelligence admite el aprendizaje automático supervisado, donde etiqueta documentos de ejemplo con los campos que desea extraer y el servicio entrena un modelo para reconocer esos campos en nuevos documentos.
Tipos de modelo personalizados
Azure Document Intelligence ofrece dos tipos de modelos de extracción personalizados, además de un modelo de clasificación:
Modelos de plantilla personalizados
Los modelos de plantilla personalizados se basan en una plantilla visual coherente para extraer datos etiquetados. Funcionan mejor para formularios estructurados en los que el diseño es estático de una instancia de documento a la siguiente, como cuestionarios, aplicaciones o formularios gubernamentales estándar.
Los modelos de plantillas extraen pares clave-valor etiquetados, marcas de selección, tablas, regiones y firmas con precisión. El entrenamiento solo tarda unos minutos y se admiten más de 100 idiomas. Dado que los modelos de plantilla son rápidos para entrenar y rentable para ejecutarse, son un buen punto de partida cuando los documentos tienen un diseño visual uniforme.
Modelos neuronales personalizados
Los modelos neuronales personalizados usan el aprendizaje profundo y son afinados en función de sus datos etiquetados. Combinan características de diseño y lenguaje para extraer campos de documentos estructurados, semiestructurados y no estructurados. Soporte para modelos neuronales
- Campos superpuestos
- Detección de firma
- Nivel de confianza de tabla, fila y celda
Los modelos neuronales ofrecen una mayor precisión que los modelos de plantilla, especialmente para documentos semiestructurados o no estructurados en los que el diseño varía entre instancias. Sin embargo, tardan más tiempo en entrenar y consumir más recursos.
Elección entre modelos neuronales y de plantilla
Al decidir qué tipo de modelo personalizado usar, tenga en cuenta los inconvenientes:
| Factor | Plantilla personalizada | Neuronal personalizada |
|---|---|---|
| Más adecuado para | Formularios estructurados con un diseño visual coherente | Documentos semiestructurados o no estructurados con diseños variables |
| Tiempo de entrenamiento | Minutos | Más largo (depende del tamaño del conjunto de datos) |
| Costo de entrenamiento | Minúsculas | Más alto |
| Precisión | Alto para formularios de diseño fijo; disminuye cuando el diseño varía | Mayor en términos generales, especialmente para documentos con variación de formato |
| Compatibilidad con idiomas | Más de 100 idiomas | Menos idiomas (consulte la documentación de soporte técnico actual) |
| Compatibilidad con características | Pares clave-valor, marcas de selección, tablas, regiones, firmas | Campos superpuestos, detección de firmas, confianza de tabla, fila o celda |
Sugerencia
Comience con un modelo de plantilla personalizado si los formularios tienen un diseño visual coherente. Es más rápido y barato entrenar. Si la precisión no es suficiente o los documentos varían en formato, cambie a un modelo neuronal personalizado.
Clasificadores personalizados
Los modelos de clasificación personalizados identifican el tipo de un documento antes de invocar un modelo de extracción. Puede usar un clasificador para enrutar los documentos entrantes al modelo de extracción adecuado al controlar varios tipos de formulario.
Entrenamiento de un modelo personalizado
Para entrenar un modelo de extracción personalizado:
- Almacene formularios de ejemplo en un contenedor de blobs de Azure, junto con archivos JSON que contienen información de campo de diseño y etiqueta:
- Un
ocr.jsonarchivo para cada formulario de ejemplo (generado mediante la función Analizar documento). - Un único
fields.jsonarchivo que describe los campos que desea extraer. - Un
labels.jsonarchivo para cada formulario de ejemplo, asignando campos a su ubicación en el formulario.
- Un
- Genere una dirección URL de firma de acceso compartido (SAS) para el contenedor.
- Utiliza la función de la API REST modelo de construcción o el método del SDK equivalente.
- Use la función get model REST API para recuperar el identificador de modelo entrenado.
También puede entrenar modelos personalizados visualmente mediante Document Intelligence Studio, como se describe en la unidad Usar Document Intelligence Studio .
Sugerencia
Use al menos cinco a seis formularios de ejemplo para el entrenamiento. Un conjunto de datos más grande y variado genera modelos más precisos.
Usar un modelo personalizado
Para extraer datos de formulario con un modelo personalizado, llame a la función Analizar documento con el identificador del modelo. Puede usar un SDK compatible o la API REST.
C#
string endpoint = "<endpoint>";
string apiKey = "<apiKey>";
AzureKeyCredential credential = new AzureKeyCredential(apiKey);
DocumentAnalysisClient client = new DocumentAnalysisClient(new Uri(endpoint), credential);
string modelId = "<modelId>";
Uri fileUri = new Uri("<fileUri>");
AnalyzeDocumentOperation operation = await client.AnalyzeDocumentFromUriAsync(WaitUntil.Completed, modelId, fileUri);
AnalyzeResult result = operation.Value;
Python
endpoint = "YOUR_DOC_INTELLIGENCE_ENDPOINT"
key = "YOUR_DOC_INTELLIGENCE_KEY"
model_id = "YOUR_CUSTOM_BUILT_MODEL_ID"
formUrl = "YOUR_DOCUMENT"
document_analysis_client = DocumentAnalysisClient(
endpoint=endpoint, credential=AzureKeyCredential(key)
)
task = document_analysis_client.begin_analyze_document_from_url(model_id, formUrl)
result = task.result()
Una respuesta correcta contiene un analyzeResult objeto con el contenido extraído y una matriz de páginas que contienen información sobre el documento.
Modelos compuestos
Puede combinar varios modelos personalizados en un único modelo compuesto. Al enviar un documento a un modelo compuesto, Document Intelligence lo clasifica para determinar el modelo de componente más adecuado y, a continuación, devuelve los resultados de extracción de ese modelo. Este enfoque es útil cuando se controlan varios tipos de formulario que cada uno requiere su propio modelo de extracción.