¿Cómo separar palabras en una "oración" con espacios?

Antecedentes

Buscando automatizar la creación de dominios en JasperServer. Los dominios son una "vista" de datos para crear informes ad hoc. Los nombres de las columnas deben presentarse al usuario de forma legible para el ser humano.

Problema

Existen más de 2,000 datos posibles de los cuales la organización teóricamente podría incluir en un informe. Los datos provienen de nombres no amigables con los humanos, como:

en este punto de vista

Pregunta

¿Cómo cambiaría automáticamente dichos nombres a:

código de coincidencia del período de pagocódigo de distribución laboral descrelación dependienteIdeas

Utiliza los de GoogleQuerías decir motor, sin embargo, creo que viola sus TOS:

lynx -dump «url» | grep "Did you mean" | awk ...

Idiomas

Cualquier idioma está bien, pero los analizadores de texto como Perl probablemente serían adecuados. (Los nombres de las columnas son solo en inglés).

Prevención innecesaria

El objetivo no es el 100% de perfección al separar las palabras; El siguiente resultado es aceptable:

inscripción fecha efectiva -> Fecha efectiva de inscripciónfecha de inscripción -> Fecha de inscripción de hombres inscritosconjunto de requisitos de inscripción -> Conjunto de requisitos de inscripción

No importa qué, un humano necesitará verificar dos veces los resultados y corregir muchos. Reducir un conjunto de 2.000 resultados a 600 ediciones sería un ahorro de tiempo dramático. Fijarse enalgunos casos que tienen múltiples posibilidades (por ejemplo, nombre del terapeuta) es perder el punto por completo.