Skip to content

Feature: Enhanced Data Analysis and Chatbot Integration

Alex Rudaev requested to merge refac/docs_and_personas into main

This pull request introduces several key improvements to the project, focusing on enhancing the data analysis capabilities and refining the chatbot functionality. The updates aim to provide a more interactive user experience, better data handling, and improved project organization.

Key Changes:

  1. Persona Enhancements:

    • Added Profile Images: Introduced profile images for personas including Health-Conscious Helen, Data Analyst David, and Senior Citizen Sam. These images are embedded in the a_personas.md document to provide a visual representation alongside each persona's description.
    • Updated Personas Document: Adjusted the layout in a_personas.md to position images on the right with rounded borders, ensuring consistent and visually appealing presentation.
  2. Chatbot Improvements:

    • Expanded User Data Input: Enhanced the user input form in app.py to capture additional health metrics such as average glucose level, marital status, work type, residence type, and smoking status. This enriched data allows for more personalized recommendations.
    • Recommendation Flow Enhancements: Updated the ActionGenerateRecommendation to utilize the new health attributes, providing detailed feedback on risk factors. Introduced conditional advice in ActionProvideStrokeRiskReductionAdvice based on user consent, offering lifestyle recommendations when appropriate.
    • Fallback Experience: Implemented a default fallback action to handle unclear queries gracefully, prompting users to rephrase their questions.
    • Session-Based User Data Handling: Refactored actions.py to load user data from JSON files using session IDs, ensuring that recommendations are based on the latest user inputs.
  3. Data Analysis Pipeline Enhancements:

    • Progress Tracking: Updated the DataAnalysis class in data_analysis.py to include clear progress messages and a refined progress bar. This provides users with real-time feedback during data loading, preprocessing, filtering, splitting, augmentation, and model training.
    • Model Training Optimization: Modified the evaluation logic to prevent duplicate entries by removing existing records before saving new evaluations. This ensures that model performance metrics are consistently tracked and up-to-date.
    • Data Visualization: Added interactive visualizations using Altair in data_visualization.py, including correlation heatmaps, distribution plots, and category-wise analyses to offer deeper insights into the dataset.
  4. Project Configuration and Structure:

    • Docker Configuration: Updated docker-compose.yml to mount specific model directories (models/data_analysis and models/chatbot) separately, enhancing organization and manageability. Added a .dockerignore file to exclude unnecessary files from Docker builds.
    • Git Ignore Updates: Enhanced .gitignore to exclude additional file types and specific processed data files, maintaining a cleaner repository by preventing unwanted files from being tracked.
    • Rasa Upgrade: Upgraded Rasa to version 3.1, updating configuration files (config.yml, domain.yml, nlu.yml, and stories.yml) to align with the new version. This includes refining the pipeline settings, updating policies, and adding new intents and actions to support the enhanced chatbot functionality.
  5. Documentation Updates:

    • README Enhancements: Reorganized README.md to include updated project details, streamlined installation and usage instructions, and removed outdated sections. Added a project banner image and linked to the project wiki for comprehensive documentation.
    • Added Wiki: Introduced a wiki in the docs/ directory to provide detailed information about the project, facilitating better understanding and easier onboarding for new contributors.

Summary:

This pull request significantly improves the project's functionality and user experience. The enhanced data analysis pipeline offers more detailed insights and reliable model evaluations, while the refined chatbot provides personalized health recommendations and handles user interactions more effectively. The restructured project layout and updated documentation make the repository easier to navigate and maintain, supporting future developments and collaboration.

Merge request reports

Loading