Is there a way to linguistically parse English text? I mean get something like this?
I{I,pronoun} am{to be, verb, Present Simple} late{late, adverb}.
Or even better with dependencies, like:
I -> am -> (what?) -> late.
Better in Java, but it doesn't matter much.
There are a lot of linguistic dictionaries across the internet.
You should just download one of them, parse and use it for your needs...
You also should consider mistakes and other stuff that can take place , for this you should consider Natural language processing, look here