Thanks Monks, for your excellent responses.
I am glad to see 'amazing ideas. I am in the process of running your code against different patterns.
Meanwhile test your code against:
Number of Patterns:5
Deduce patterns:world pen, book, hi, hello
Some more rules to identify patterns.
1. I am not looking specifically for dictionary words.
2. One Pattern cannot be part of another pattern.
3. There could be multiple answers.
4. A Pattern may show up only once.
5. A Pattern may contain single character only
6. A Pattern may contain space also.
In case of multiple answer there could be 'techniques' we can apply to obtain the possible best
such as: minimum sum of length of patterns.