An NLP utility is required to produce synonymous terms for multiple words. For example, entering ‘good dog’ should generate terms such as ‘nice puppy’, ‘good pet’ etc. Entering ‘tasty and filling pie’ should generate terms such as ‘excellent food, great pastry’, or ‘a hearty and wholesome desert’, etc…
Knowledge of NLP is central, including: word dependencies, statistical semantics, distributed similarity, and the use of corpora. Programmers should also be knowledgeable of the latest research in this field.
JSP is the language of choice. However, other languages may be used if they can interface easily with our other JSP applications. Ultimately it's what works best.
You will only be considered as a prospective programmer if you can demonstrate working applications, or online programs you have done that can be viewed or you will be asked to produce a small demo script – you will also be asked to provide algorithms of how you would go about producing the utility.