Many thanks for some very helpful replies. Looks like there's some excellent work being done in this field. For some time now, I've been thinking of different ways of implementing various methods, including stochastic processing à la Markov and more recent models like Rens Bod's Data Oriented Parsing
The OpenNLP Grok Library looks interesting; mainly for Java. I'm somewhat familiar with Prolog but I'm interested in combining Perl's unequalled data munging capabilites with more sophisticated modelling applications.
Looks like there's a lot of hard but fun work ahead!