En el caso del reconocimiento a nivel de campo, se reconocen fragmentos breves de texto para capturar datos de determinados campos. La calidad del reconocimiento es crucial en este escenario. Este escenario también puede utilizarse como parte de escenarios más complejos en los que es necesario extraer datos significativos de documentos (por ejemplo, para capturar datos de documentos en papel en sistemas de información y bases de datos, o para clasificar e indexar automáticamente documentos en sistemas de gestión documental). En este escenario, el sistema reconoce varias líneas de texto solo en algunos campos, o bien el texto completo de una imagen pequeña. El sistema calcula un nivel de confianza para cada carácter reconocido. Estos niveles de confianza pueden utilizarse después al comprobar los resultados del reconocimiento. Además, el sistema puede almacenar varias variantes de reconocimiento de palabras y caracteres del texto, que luego pueden utilizarse en algoritmos de votación para mejorar la calidad del reconocimiento. El procesamiento de pequeños fragmentos de texto en este escenario difiere en algunos aspectos de los mismos pasos en otros escenarios:Documentation Index
Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
Use this file to discover all available pages before exploring further.
- Preprocesamiento de imágenes escaneadas o fotografías Las imágenes que se van a reconocer pueden incluir marcas y ruido de fondo, ambos capaces de dificultar el reconocimiento. Por esta razón, en esta etapa se eliminan las marcas no deseadas y el ruido de fondo.
- Reconocimiento de pequeños fragmentos de texto Al reconocer pequeños fragmentos de texto, el tipo de datos que se va a reconocer se conoce de antemano. Por lo tanto, la calidad del reconocimiento puede mejorarse mediante el uso de diccionarios externos, expresiones regulares, idiomas de reconocimiento personalizados y alfabetos, así como imponiendo restricciones al número de caracteres de una cadena. Los campos de texto pueden contener texto impreso, letra de imprenta y manuscrito.
- Trabajo con los datos reconocidos Este escenario requiere la máxima precisión de reconocimiento para reducir al mínimo el trabajo de verificación de datos. El sistema puede calcular un nivel de confianza para cada palabra o carácter reconocido y proporcionar varias variantes de reconocimiento, entre las que varios motores pueden elegir después la mejor opción aplicando algoritmos de votación.
Implementación del escenario
Los ejemplos de código proporcionados en este tema son específicos de Windows.
Paso 1. Cargar ABBYY FineReader Engine
Paso 1. Cargar ABBYY FineReader Engine
Para comenzar a trabajar con ABBYY FineReader Engine, es necesario crear el objeto Engine. El objeto Engine es el objeto de nivel superior en la jerarquía de objetos de ABBYY FineReader Engine, y proporciona diversas configuraciones globales, algunos métodos de procesamiento y métodos para crear los demás objetos.Para crear el objeto Engine, puede usar la función InitializeEngine. Consulte también otras formas de cargar el objeto Engine (Win).
C#
C++ (COM)
Paso 2. Carga de la configuración para el escenario
Paso 2. Carga de la configuración para el escenario
La configuración más adecuada puede seleccionarse mediante el método LoadPredefinedProfile del objeto Engine. Este método recibe el nombre del perfil como parámetro de entrada. La configuración más adecuada puede seleccionarse mediante el perfil predefinido denominado FieldLevelRecognition. Para obtener más información sobre los perfiles, consulte Trabajo con perfiles.Si desea cambiar la configuración utilizada para el procesamiento, use los objetos Parameter correspondientes. Consulte la sección Optimización adicional, más abajo, para obtener más información.
C#
C++ (COM)
Paso 3. Carga y preprocesamiento de las imágenes
Paso 3. Carga y preprocesamiento de las imágenes
ABBYY FineReader Engine proporciona un objeto FRDocument para procesar documentos de varias páginas. Para cargar las imágenes de un documento y preprocesarlas, debe crear el objeto FRDocument y agregarle imágenes. Puede hacer una de las siguientes acciones:
- Crear un objeto FRDocument mediante el método CreateFRDocumentFromImage del objeto Engine. Este método crea un objeto FRDocument y carga imágenes desde el archivo especificado.
- Crear un objeto FRDocument con el método CreateFRDocument del objeto Engine y, a continuación, agregar imágenes al objeto FRDocument creado desde un archivo (use el método AddImageFile, AddImageFileWithPassword o AddImageFileWithPasswordCallback del objeto FRDocument).
C#
C++ (COM)
Paso 4. Configurar los campos que se van a reconocer
Paso 4. Configurar los campos que se van a reconocer
Ahora debe crear bloques que contengan sus campos y, para cada uno, especificar el tipo de bloque y las características conocidas de los datos que contiene.Realice el análisis de la estructura del documento mediante el método Analyze, o agregue manualmente bloques que contengan los campos que necesita reconocer. Consulte Trabajo con Layout y bloques para obtener instrucciones.Para cada campo, ahora puede especificar sus propios parámetros de reconocimiento. Por ejemplo, si un campo contiene texto, use la propiedad ITextBlock::RecognizerParams:
- establezca el tipo de texto con ayuda de la propiedad TextTypes del objeto RecognizerParams. Por ejemplo, si el campo contiene dígitos escritos con el formato de un código postal, use el tipo de texto TT_Index.
- establezca el idioma mediante el método SetPredefinedTextLanguage. El uso de idiomas predefinidos especiales (solo para Windows) puede resultar útil si conoce el tipo de información contenida en el campo. Por ejemplo, si el campo contiene una dirección de EE. UU., seleccione el idioma predefinido English_US_Address. Esto garantizará un reconocimiento más fiable del texto.
- establezca las propiedades SaveCharacterRecognitionVariants y SaveWordRecognitionVariants del objeto RecognizerParams si necesita usar las variantes de reconocimiento para verificar posteriormente el resultado, como se describe más adelante en el paso 6. Tenga en cuenta que esta configuración no está disponible para textos manuscritos o escritos en letra de imprenta.
C#
C++ (COM)
Paso 5. Reconocimiento
Paso 5. Reconocimiento
Como el diseño del documento ya se analizó y usted además lo modificó, no vuelva a llamar a los métodos de análisis. Use el método Recognize, que realiza el reconocimiento y la síntesis de páginas de todo el documento. En este escenario, debe extraer los datos de los campos y no exportar el documento reconocido; por lo tanto, no necesitará la síntesis del documento.
C#
C++ (COM)
Paso 6. Trabajar con los datos reconocidos
Paso 6. Trabajar con los datos reconocidos
Use el objeto Text para acceder al fragmento de texto reconocido (puede obtener este objeto para un bloque de texto mediante la propiedad ITextBlock::Text). Use la propiedad Paragraphs para obtener la colección de párrafos del fragmento y el método IParagraphs::Item para acceder a cada párrafo. La propiedad IParagraph::Text permite acceder al texto reconocido de un párrafo.Puede usar IParagraph::Words para obtener la colección de palabras de un párrafo. Use el método IWords::Item para acceder a cada palabra de la colección. La propiedad IWord::Text devuelve la línea que contiene la palabra reconocida. Use el método GetRecognitionVariants del objeto Word o el método GetWordRecognitionVariants del objeto Paragraph para obtener las variantes de reconocimiento de una palabra.Puede acceder a los atributos de cada carácter mediante el método GetCharParams del objeto Paragraph. Este método proporciona acceso al objeto CharParams, que contiene los parámetros del carácter reconocido. Puede acceder a las variantes de reconocimiento de un carácter mediante la propiedad ICharParams::CharacterRecognitionVariants.Para obtener información detallada sobre cómo trabajar con texto, consulte Working with Text. Para obtener información sobre cómo usar Engine en algoritmos de votación, consulte Using Voting API.Cuando haya terminado de trabajar con el objeto FRDocument, libere todos los recursos utilizados por este objeto. Use el método IFRDocument::Close.
Paso 7. Descarga de ABBYY FineReader Engine
Paso 7. Descarga de ABBYY FineReader Engine
Después de terminar de trabajar con ABBYY FineReader Engine, debe descargar el objeto Engine. Para ello, use la función exportada DeinitializeEngine.
C#
C++ (COM)
Recursos necesarios
Optimización adicional
- Reconocimiento
- Trabajo con idiomas
Uso de idiomas de reconocimiento integrados y personalizados. - Trabajo con diccionarios
Uso de diccionarios para mejorar la calidad del reconocimiento. - Reconocimiento de palabras con espacios
Uso de diccionarios para reconocer palabras con espacios (como New York, etc.). - Reconocimiento de textos manuscritos
Uso de ICR (Intelligent Character Recognition). - Reconocimiento de marcas de verificación
Configuración del reconocimiento de marcas de verificación y grupos de marcas de verificación. - Idiomas predefinidos especiales en ABBYY FineReader Engine - Windows
Lista de idiomas de reconocimiento que contienen unidades lingüísticas especiales: direcciones, fecha y hora, nombres de personas, etc. Estos idiomas pueden utilizarse para el reconocimiento de campos.
- Trabajo con idiomas
- Trabajo con los datos reconocidos
- Trabajo con texto
Trabajo con el texto reconocido, los párrafos, las palabras y los caracteres. - Uso de la API de votación
Trabajo con palabras y alternativas de reconocimiento de caracteres.
- Trabajo con texto
