@@ -130,55 +130,84 @@ _For more details, see the Wiki chapter: Data._
streamlit run app.py
```
Then call the Streamlit URL, e.g., `http://localhost:8501`, in your browser.
3. Open the app in your browser at http://localhost:8501.
The web app features multiple pages accessible through the navigation bar on the left.
---
## Implementation of the Requirements
### Multi-page Web App (Streamlit)
-**Pages**:
-**Home**: Overview of the app's features.
-**Data Analysis**: Visualizations for job distributions and trends.
-**Model Training**: Predict job categories.
-**Chatbot**: Offers career advice and tips.
# Implementation of the Requests
-**Contributions**:
- Designed the layout and navigation.
- Implemented dynamic components for data visualization and prediction.
This chapter describes how the requests described in the file 'material/sas-ws-24-25-recommendation-requests-en.pdf' (chapter Part2 Requests) are implemented.
### Machine Learning Models
1. The pages are in the **app_pages/** folder of the Streamlit project.
-**Models**:
2. See the Wiki (link above).
- Random Forest Classifier.
- Logistic Regression.
3. See **Wiki chapter: User Personas**.
-**Functionality**:
4. See **Wiki chapter: Use Cases**.
- Predicts job categories using encoded features.
- Provides insights into feature importance.
5.-7. The files are stored in the project root directory including the `venv`.
-**Contributions**:
- Developed and optimized models for accuracy.
8. See the **data section** of this README.
### Chatbot
9. Data is loaded in the **app.py** and used across the app.
-**Integration**:
10. See **app_pages/data_analysis.py**.
- Rasa for natural language understanding and intent classification.
11-13. See **data chapter** in the Wiki for job distribution and salary analysis.
-**Custom actions for**:
14. Data augmentation widgets are implemented in **app_pages/data_analysis.py**.
- Resume and cover letter tips.
- Career advice for academia-to-industry transitions.
- Motivational support for job seekers.
15. Input widgets for model training are primarily in **app_pages/data_analysis.py**.
-**Implementation**:
- Trained NLU model with intents and responses.
- Added conversation flows for dynamic interactions.
16. Scikit-Learn models (Random Forest and Logistic Regression) are implemented for job category prediction in **app_pages/model_training.py**.
### Data Handling
17. The "right fit" for chatbot use cases is discussed in the **Wiki chapter: Chatbot Argument**.
-**Preprocessed Kaggle dataset**:
18. The **system persona** is described in detail in the Wiki under the **System Persona** chapter.
- Cleaned null values and duplicates.
- Encoded categorical fields for machine learning.
19. See **Wiki chapter: Sample Dialogs** for interactions covering the use cases.
-**Created visualizations for**:
- Job distribution across locations.
- Salary Distribution.
20. Dialog flow is documented in the **Wiki chapter: Dialog Flow**.
---
21. Rasa implementation consists of the following key files:
## Documentation
- `domain.yml`
- `data/nlu.yml`
- `data/stories.yml`
- `actions/actions.py`
_For additional details, refer to the project's Wiki:_
22. The screencast can be located:
- Sample Dialogs
- User Personas
- Use Cases
- Chatbot Argument
- Dialog Flow
- Sample Dialogs
- Data
- System Persona
---
# Work Done
## Work Done
All work was completed by Edward Mawuko Samlafo-Adams.