Noam is a professional, interactive service bot designed to guide users through decision-making processes. By utilizing the Google Gemini API, the bot provides context-aware support while performing real-time emotional analysis of the conversation.
- Intelligent Conversational AI: Integrated with gemini-2.0-flash for high-quality decision support and natural language processing.
- Sentiment Analysis Engine: A custom algorithmic approach for evaluating user emotional states using a semantic dictionary scoring system.
- Dynamic Data Management: Automated session logging to structured JSON files. Contextual file naming based on AI-generated summaries of the session content.
- Data Visualization and Analytics: Generates comprehensive visual reports at the end of each session:
- Conversation Sentiment Trend: Visualizing emotional shifts over the course of the dialogue.
- Comparative Tone Analysis: Benchmarking user sentiment scores against the bot's professional response tone.
- Negative Term Frequency: Identifying core issues through frequency mapping of negative language.
- Architectural Integrity: Developed using advanced Object-Oriented Programming (OOP) principles, custom Exception handling, and Python Generators.
- Language: Python 3.x
- AI Integration: Google Gemini API (google-genai)
- Data Visualization: Matplotlib
- Format: JSON for data persistence
- ServiceManager: The primary engine managing API communication, session state, and data serialization.
- calculate_sentiment: A specialized function for linguistic sentiment scoring.
- Project.ipynb: The main implementation and demonstration environment.
- Python 3.10 or higher
- A valid Google Gemini API Key
-
Clone the repository: git clone https://github.com/EttyFreund/Decision-Making-Bot.git
-
Install the necessary dependencies: pip install google-genai matplotlib
- Open the Project.ipynb notebook.
- Provide your API_KEY in the designated configuration section.
- Run the cells to initiate the service.
- Enter the keyword "סיום" to terminate the session and generate the analytics report.
This project was developed as a final requirement for Software Engineering studies, demonstrating proficiency in AI integration, Data Science, and Pythonic software design.