Feature: Enhanced Data Analysis and Chatbot Integration
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:
-
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.
-
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
-
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 inActionProvideStrokeRiskReductionAdvice
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.
-
Expanded User Data Input: Enhanced the user input form in
-
Data Analysis Pipeline Enhancements:
-
Progress Tracking: Updated the
DataAnalysis
class indata_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.
-
Progress Tracking: Updated the
-
Project Configuration and Structure:
-
Docker Configuration: Updated
docker-compose.yml
to mount specific model directories (models/data_analysis
andmodels/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
, andstories.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.
-
Docker Configuration: Updated
-
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.
-
README Enhancements: Reorganized
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.