2012-01-20 10 views
9

¿Cómo puedo aumentar/disminuir la fuerza del diccionario en tesseract 3?Fuerza del diccionario en Tesseract 3

En el FAQ dice que tengo que cambiar el valor de "NON_WERD" y "GARBAGE_STRING" pero no existen en Tesseract 3.

+0

¿Has tenido algún éxito? He modificado los valores para non_dict_word y non_freq_dict_word y no he visto ningún cambio en los resultados .... –

+2

@KaolinFire Tuve el mismo problema pero finalmente encontré el motivo: [es necesario configurar enable_new_segsearch] (http://stackoverflow.com/ a/29843379/492336). – sashoalm

+0

Tendré que intentarlo, ha pasado mucho tiempo desde que jugaba con él, no * muy * recuerdo por qué estábamos ... :) ¡Gracias! –

Respuesta

4

Según http://code.google.com/p/tesseract-ocr/wiki/FAQ, cambia estas variables:

enable_new_segsearch 1 
language_model_penalty_non_freq_dict_word 0.2 
language_model_penalty_non_dict_word 0.3 

Aumente sus valores para hacer que Tesseract sea más parcial a las palabras del diccionario.

Nota: Debe establecer enable_new_segsearch, de lo contrario they'll have no effect.

+1

El proyecto y Wiki se han movido a [GitHub] (https://github.com/tesseract-ocr/tesseract/wiki/ControlParams). –

1

Para activar las habilidades del lenguaje-saber de Tesseract en su totalidad, se ejecutan cada uno de ellos:

tess.setTessVariable("load_system_dawg", "false"); 
tess.setTessVariable("load_freq_dawg", "false"); 
tess.setTessVariable("load_punc_dawg", "false"); 
tess.setTessVariable("load_number_dawg", "false"); 
tess.setTessVariable("load_unambig_dawg", "false"); 
tess.setTessVariable("load_bigram_dawg", "false"); 
tess.setTessVariable("load_fixed_length_dawgs", "false"); 

O, para un control más preciso, sólo algunos de ellos. (No sé de un lugar que explique bien lo que hacen todos, pero los nombres son bastante explicativos) Este es el código de mi proyecto actual, usando Tess4J, pero puedes traducirlo fácilmente a C++ o un archivo de configuración o cualquier otra cosa necesitar.

Cuestiones relacionadas