1. A method in a natural language processing system of segmenting a textual input string including a plurality of characters arranged in character groups separated by white spaces, the method comprising: receiving the input string; segmenting the input string into one or more proposed tokens; validating the proposed tokens by submitting the proposed tokens to a linguistic knowledge component to determine whether the proposed tokens represent linguistically meaningful units; and if not, re-segmenting the input string into one or more different proposed tokens.