NLU Internships
Our goal is to build a robust NLU system to go from NL to database queries while being integrated with dialog (for example for disambiguation). These are some of the things we want to try:
1 semantic parser:
1.1 Custom system based on a seq2seq model using a pointer network and user specific features generators
1.2 System based on manually specified grammar and lexicon
1.2.1 using frameworks/formalisms like: Sempre/CCG/AMR
1.2.2 how to learn the lexicon from data
1.2 a module to reconstruct the NL that corresponds to a specific query
1.3 a module to explain failures in understanding back to the user
The queries are used in a dialog system. This is not a pure QA system. For example, if you ask to update a certain record for a certain person, and the system retrieves multiple possible persons, you need to ask the user to pick one before proceeding. How/where do you specify this logic with respect to the NLU module?
2 define natural ways to define a dialog policy, e.g. a definition language in controlled english compiled down into a fully specified policy.
These are just some of the ideas we would like to try.
Questions for the candidate:
- Think about the above problems/suggestions and describe possible projects that would fit with your thesis goals
- What are the languages you are most comfortable with?
- What’s the largest system you had to modify
- What machine learning techniques/applications have you tried in the past?
Some references about us: