/
Extensions
  • Ready for review
  • Extensions

    You are on fire!

    If you are here, you should have been successful in completing a basic version of your recipe recommendation agent with exclusion.

    To be safe, before beginning with your extensions make a new branch on your repository call it inclusion-exclusion.

    Your main branch will then have inclusion, exclusions, and extensions.

    For relevant grading information on Extensions check the Assessment Rubric, it could influence your decision on which extensions to choose.

    Instruction Page: Extensions for Your Agent

    In this section, we encourage you to think beyond the basic requirements and implement extensions that enhance your agent’s capabilities, user experience, or sophistication. The more creative, innovative, or technically challenging your design ideas are—and the better your implementation—the more credit you will receive.

    Even if your extension isn't fully functional or has issues during testing, you can still earn points by explaining your choices, identifying limitations, and proposing fixes in your report. Justify your extensions and provide a clear breakdown of their implementation and evaluation.

    Below, we provide suggestions for potential extensions. These are for inspiration only, and you are encouraged to explore ideas beyond this list.

    Extensions can also be done with the support of Dialogflow if you decide not to connect your entire pipeline. If you do connect your pipeline we expect extensions to be done with your intent and slot classifier. See Dialogflow: Creating Intents and Entities for information on how to change your Dialogflow agent.

     

    NOTE: As we mentioned this is the first year we have used this instruction set and code base, after making some major changes. If you find a way to better our code or correct some serious issues in it, we will count that as an Extension (within reason). For example, currently, I have an issue where if I have a sentence that has two of the same slot type ingredient - ‘pepper’, and ingredient - ‘salt’ they are sometimes taken as the same slot so it looks for ‘salt and pepper’ in my recipe database. If you are unsure if we will count something as an extension feel free to ask your TA (and if they are unsure they can ask Bella).


    1. Extensions for Dialogue Patterns

    To make your agent more conversational and engaging, consider the following:

    Refine Responses

    • What? Improve the variety, context, and relevance of your agent's responses to avoid repetitiveness and make the agent sound less robotic.

    • How?

      • Add multiple example phrases for the same response in the responses.pl file using tools like ChatGPT or manual input.

      • Contextualize responses to specific conversation states, such as providing helpful recovery prompts for misunderstood queries.

    • Ideas:

      • Use best practices for repair (e.g., from Google) to refine recovery prompts.

      • Provide more specific feedback during breakdowns, explaining what aspect of the query was unclear or suggesting alternative ways to phrase the request.

      • Enable user-initiated repair, allowing the agent to respond appropriately when users express confusion (e.g., “What do you mean by ‘X’?”).

    Introduce Small Talk

    • What? Make the agent more engaging by adding small talk capabilities related to the recipe domain.

    • How?

      • Add new intents and patterns for small talk initiated by either the user or the agent.

      • Example: The agent could respond to "What’s your favorite recipe?" with a lighthearted answer.

    Enhance Personality

    • What? Shape the agent’s responses to reflect a particular personality, conversational style, or social characteristics.

    • How? Design responses to convey friendliness, humor, or formality based on user interactions.

    • Note: Gordon Ramsey is overdone. Avoid strong stereotypes, think about the ethicality of agent personalities.


    2. Extensions for Visual Support

    While the primary interaction should remain conversational, visuals can enhance the user experience by providing supplementary information. Consider these ideas:

    Extend Visuals

    • What? Make visuals more useful by adding interactive or informative elements.

    • How?

      • Show a visual progress tracker indicating how far the user has progressed in recipe filtering.

      • Add a filtering history view, allowing users to see and review their past selections.

      • Include a rating system to collect user feedback on the agent’s performance.


    3. Extensions for Recipe Filtering and Capabilities

    Extend the recipe filtering and selection logic to include new capabilities:

    Add More Recipe Filters

    • What? Add new filters for recipe attributes not currently supported (e.g., easy recipes, fast recipes, preparation time, number of steps).

    • How? Update the recipe_selection.pl file to include the new logic and entities, using attributes from the recipe_database.pl file.

    Check Ingredients

    • What? Add functionality to verify whether the user has all required ingredients before confirming a recipe.

    • How? Create new patterns and intents for ingredient checks, and potentially update visuals to prompt users to verify their pantry.

    Additional Features

    • Read Out Steps: Add a capability for the agent to read out recipe steps interactively.

    • Indicate Servings: Include serving size information in the recipe details.


    4. Extensions for Intent and Slot Classification

    Enhance the performance of your intent and slot classifier:

    Fallback to Probability Threshold

    • What? Add a fallback mechanism for classification confidence.

    • How?

      • Use a probability threshold to identify low-confidence predictions and trigger fallback responses or recovery prompts.

    Classifier Improvements

    • What? Improve classification performance by applying techniques from Model Improvement.

    • How?

      • Experiment with hyperparameter tuning, training augmentation, or model augmentation to optimize your classifier.


    Your Creativity Counts

    These suggestions are starting points—your agent is a platform for innovation. Explore ideas that resonate with you and enhance the user experience. Be creative, justify your choices in your report, and strive for thoughtful implementation and testing. Even if some ideas don't fully succeed, demonstrating your problem-solving process will earn you credit.

     

     

     

     

    Related content

    Dialogflow - Excluding Features
    Dialogflow - Excluding Features
    More like this
    OLD Capability 5: Filter Recipes by Ingredients and Cuisine
    OLD Capability 5: Filter Recipes by Ingredients and Cuisine
    More like this
    OLD Capability 8: Filter by Excluding Features
    OLD Capability 8: Filter by Excluding Features
    More like this