Entrenamiento y uso de modelos personalizados

Completado

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:

  1. 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.json archivo para cada formulario de ejemplo (generado mediante la función Analizar documento).
    • Un único fields.json archivo que describe los campos que desea extraer.
    • Un labels.json archivo para cada formulario de ejemplo, asignando campos a su ubicación en el formulario.
  2. Genere una dirección URL de firma de acceso compartido (SAS) para el contenedor.
  3. Utiliza la función de la API REST modelo de construcción o el método del SDK equivalente.
  4. 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.

Aprende más