Esto es algo en lo que estoy trabajando y me gustaría obtener información de las personas inteligentes aquí en StackOverflow.PHP Reparar el texto incorrecto
Lo que estoy intentando es una función para reparar texto basado en la combinación de varias versiones incorrectas de la misma página de texto. Básicamente, esto se puede utilizar para combinar diferentes resultados de OCR en uno con mayor precisión que cualquiera de ellos individualmente.
Empiezo con un diccionario de 600,000 palabras en inglés, eso es prácticamente todo, incluidos los términos legales y médicos y los nombres comunes. Ya tengo esto
Luego tengo 4 versiones de la muestra de texto.
Algo como esto:
$text[0] = 'Fir5t text sample is thisline';
$text[1] = 'Fir5t text Smplee is this line.';
$text[2] = 'First te*t sample i this l1ne.';
$text[3] = 'F i r st text s ample is this line.';
que intentar combinar lo anterior para obtener una salida que se parece a:
$text = 'First text sample is this line.';
No me digan que es imposible, porque no es, sin duda, solo muy dificil
Agradecería mucho cualquier idea que alguien tenga para esto.
¡Gracias!
Mis pensamientos actuales:
comprobando las palabras contra el diccionario no va a funcionar, ya que algunos de los espacios están en el lugar equivocado y en ocasiones la palabra no estarán en el diccionario.
La principal preocupación es la reparación de espaciamientos rotos, una vez que esto se soluciona, se puede elegir la palabra de diccionario más común, si existe, o la palabra que no aparece en el diccionario más común.
¿realmente quieres combinar las 4 versiones con una, o es tu objetivo tomar una línea y arreglarla con la ayuda de tu diccionario? – Flo
Puedo tomar fácilmente una línea y "revisar con ortografía" con el diccionario. Pero esto no ayudará ya que muchas de las palabras están rotas, los espacios están en lugares equivocados. Es por eso que necesito comparar las diferentes líneas, sí, combinarlas en una sola. – Alasdair
De lo que estás hablando aquí suena mucho como un problema de Inteligencia Artificial. Podría ser posible en PHP, pero ciertamente no sería muy eficiente. Yo recomendaría buscar una herramienta de línea de comandos que hace que esto exista y que exista() desde PHP. Si tal herramienta no existe, entonces resolver el algoritmo sería una tarea increíble. Podrías comenzar revisando la ortografía de todas tus variantes y asumiendo que todas las palabras que son iguales en todas las versiones son correctas. Luego, para las líneas donde son diferentes, elija la palabra que aparece con más frecuencia. Después de eso, ¿quién sabe? – GordonM