Google API.AI
https://docs.api.ai/docs/key-concepts
API.AI is built on a number of concepts. It’s good to understand what they are before trying anything hands-on.
Agents correspond to applications. Once you train and test an agent, you can integrate it with your app or device.
Entities represent concepts that are often specific to a domain as a way of mapping natural language phrases to canonical phrases that capture their meaning.
Intents represent a mapping between what a user says and what action should be taken by your software.
Actions correspond to the steps your application will take when specific intents are triggered by user inputs. An action may have parameters for specifying detailed information about it.
Contexts are strings that represent the current context of the user expression. This is useful for differentiating phrases which might be vague and have different meaning depending on what was spoken previously.