Como separar palavras em uma "frase" com espaços?

fundo

Procurando automatizar a criação de domínios no JasperServer. Os domínios são uma "exibição" de dados para a criação de relatórios ad hoc. Os nomes das colunas devem ser apresentados ao usuário de maneira legível por humanos.

Problema

Existem mais de 2.000 dados possíveis a partir dos quais a organização poderia teoricamente querer incluir em um relatório. Os dados são originários de nomes não humanos, como:

payperiodmatchcode labordistributioncodedesc dependentrelacionation actionoptionoptiondesc addresstype addresstypedesc historytype psaddresstype rolename bankacountstatus bankacountstatusdesc bankaccounttype bankacounttypedesc Beneficiárioemprestado beneficiocliente beneficiadoempresa

Pergunta, questão

Como você alteraria automaticamente esses nomes para:

código de correspondência do período de pagamentocódigo de distribuição de mão-de-obra descrelacionamento dependenteIdéias

Use o GoogleVocê quis dizer motor, no entanto, acho que viola seus TOS:

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

línguas

Qualquer idioma é bom, mas analisadores de texto como Perl provavelmente seriam adequados. (Os nomes das colunas são apenas em inglês.)

Preferência desnecessária

O objetivo não é 100% de perfeição em separar as palavras; o seguinte resultado é aceitável:

registrationmenteffectivedate -> Data efetiva da inscriçãoinscrição -> Inscrever Homens Tendência Dataregistrationmentrequirementset -> Conjunto de requisitos de inscrição

Não importa o que aconteça, um humano precisará verificar novamente os resultados e corrigir muitos. Reduzir um conjunto de 2.000 resultados para 600 edições seria uma economia de tempo dramática. Para fixar emalguns casos com várias possibilidades (por exemplo, nome do terapeuta) são completamente errados.

questionAnswers(6)

yourAnswerToTheQuestion