Saltar al contenido principal
Si se ha especificado una expresión regular en las propiedades de un elemento, el programa buscará cualquier cadena en el área de búsqueda que cumpla las condiciones de la expresión regular. Si no se ha especificado ninguna expresión regular, el programa utiliza los alfabetos definidos por el usuario.

Cómo se identifican las líneas y los fragmentos

El programa considera todos los objetos de texto que intersectan horizontalmente el área de búsqueda (en vertical, los objetos deben quedar por completo dentro del área de búsqueda). Después, los objetos de texto se agrupan en líneas. Las líneas se construyen de izquierda a derecha. El programa deja de construir una línea cuando se supera la longitud máxima del espacio (establecida en la propiedad Longitud máxima del espacio). En las líneas resultantes, el programa identifica cadenas de caracteres, cada una de las cuales contiene caracteres de uno solo de los alfabetos definidos por el usuario. De forma similar, el programa divide las líneas en fragmentos.

Hipótesis anidadas

A continuación, el programa formula una hipótesis para cada uno de los fragmentos. Según esté o no seleccionada la opción Allow embedded hypotheses, las hipótesis se formulan de una de estas dos maneras. Supongamos que el programa detectó tres fragmentos en una fase anterior. Si está seleccionada la opción Allow embedded hypotheses, las hipótesis se formulan de la siguiente manera:
hypothesis 1: fragment 1
hypothesis 2: fragment 1 + fragment 2
hypothesis 3: fragment 1 + fragment 2 + fragment 3
hypothesis 4: fragment 2
hypothesis 5: fragment 2 + fragment 3
hypothesis 6: fragment 3
Para cada hipótesis, el programa comprobará que el porcentaje de caracteres de cada alfabeto no supere el valor establecido en el campo Porcentaje de caracteres del alfabeto. Del mismo modo, comprobará que el porcentaje de caracteres no alfabéticos no supere el valor establecido en el campo Porcentaje de caracteres no alfabéticos. Si falla al menos una de las comprobaciones, no se formulará ninguna hipótesis. Si la opción Allow embedded hypotheses no está seleccionada, se descartarán las hipótesis anidadas de la lista anterior. Las hipótesis anidadas son aquellas que están contenidas en otra hipótesis de la lista anterior. Si las comprobaciones se superan para todas las hipótesis, solo permanecerá la siguiente hipótesis: fragmento 1 + fragmento 2 + fragmento 3. Por lo tanto, si la opción Allow embedded hypotheses no está seleccionada, el programa formula hipótesis de la máxima longitud que cumplen todas las condiciones. Aunque se excluyan las hipótesis anidadas, las hipótesis pueden solaparse. La parte común puede ser un carácter o una palabra independientes, o una cadena de caracteres que forme parte de otras hipótesis, pero para la cual no se hayan formulado hipótesis por separado. Por ejemplo, el programa puede formular dos hipótesis (es decir, dos cadenas): una que termina con una determinada palabra o frase y otra que comienza con esa palabra o frase. Por ejemplo:
hypothesis 1: fragment 1 + fragment 2
hypothesis 2: fragment 2 + fragment 3

Cómo se calcula la calidad de la hipótesis

Una vez generadas todas las hipótesis posibles, el programa calcula la calidad de prebúsqueda de cada una (se trata de una estimación de hasta qué punto una hipótesis cumple las restricciones de búsqueda establecidas en el cuadro de diálogo Propiedades, en la pestaña Cadena de caracteres y en la pestaña Advanced, en el campo relación avanzada de prebúsqueda). En esta etapa, la calidad se calcula en función de si la longitud de la hipótesis en caracteres se encuentra dentro del intervalo difuso especificado en la propiedad recuento de caracteres, de si la longitud del espacio total de la línea se encuentra dentro del intervalo difuso especificado en TotalGapLength y de si el número de palabras de la línea se encuentra dentro del intervalo difuso especificado en la propiedad recuento de palabras. La calidad global de una hipótesis se calcula multiplicando todos los valores de calidad.

Propiedades de la hipótesis de cadena de caracteres

Una hipótesis de cadena de caracteres tiene las siguientes propiedades:
PropiedadDescripción
Nombre del elementoEl nombre completo del elemento.
PáginaEl número de la página en la que se detectó el elemento.
Surrounding rectLas coordenadas del rectángulo que rodea la región de la hipótesis.
WidthEl ancho de la región de la hipótesis.
HeightLa altura de la región de la hipótesis.
TextLos caracteres de la hipótesis.
DetectedIndica si se encontró el objeto descrito por el elemento (true) o si se formuló una hipótesis nula (false).
From the best pathIndica si la hipótesis encontrada pertenece a la mejor ruta del árbol de hipótesis (true) o no (false).
Pre-search qualityEn qué medida la hipótesis coincide con las propiedades del elemento especificadas por la configuración del cuadro de diálogo Propiedades y por el código del campo Relación avanzada de prebúsqueda.
Post-search qualityLa calidad de la hipótesis después de aplicar las condiciones del campo Relaciones avanzadas de posbúsqueda.
Chain qualityLa calidad de la cadena de hipótesis, desde el primer subelemento del grupo hasta el subelemento actual. La calidad de la cadena se calcula multiplicando las calidades de todos los subelementos de la cadena y se utiliza para comparar cadenas rivales de hipótesis.