What are the basic principles/tools necessary to make something like Alexa utterance parsing?
For reference, Alexa allows a designer to define phrases with "placeholders" that will be filled in. For example, the phrase "what is the horoscope for gemini" would match the underlying model (below), and return Sign=gemini
.
what's the horoscope for {Sign}
what is the horoscope for {Sign}
give me the horoscope for {Sign}
tell me the horoscope for {Sign}
To clarify: I am interested in the theory behind how the language model and parsing (with regard to theory and algorithms) work, so I can build my own version.