Natural Language Processing (NLP) and Semantic Search Programming Engineer


Job Description

We are looking for an enthusiastic, creative, and skilled Computational Linguist/NLP software engineer to develop NLP search for our travel web site.

In this role you will write programs, for example, to extract named entities such as dates, places, preferences, product types etc from well formed written English text.

You should have very strong programming skills (C/C++, C#, and Java) with knowledge of relevant linguistic theories and familiarity with current state-of-the-art tools.

Job Requirements

- Develop and implement NLP applications using both parsing and
statistical techniques.
- Develop new algorithms to advance the state of the art, specially in
areas such as dialog management and extracting semantic descriptions from
spoken language.
- Configure NLP technology components for new languages and domains.
- Develop software tools for data gathering, data annotation, and
component/model configuration management.
- Help define the agenda for our NLP scope and development
- Build a Model/Taxonomy for each of our product vertical
- Building a framework that allows a non technical person such as an editor to create new categories and taxonomies and allow the editors to train and tune the classification algorithms various taxonomies
- Extract entity information that is tuned to each product and ethnic origin

Ideal Background

- BS, MS, or PhD in computer science, electrical engineering, mathematics,
or physics.
- 5+ years of experience building Natural Language Understanding applications.
- Strong programming skills in C/C++
- Experience with natural language generation is a plus.
- Experience with speech recognition technology is a plus.
- Experience with languages other than English is a plus.
- Experience with XML technologies, Unix/Linux, game programming, agents,
or education software is a plus.