"""
UserFeedbackAnalyzer
Generated by Eden via recursive self-improvement
2025-10-27 16:21:22.826161
"""

class UserFeedbackAnalyzer:
    def __init__(self):
        """Initialize the Feedback Analyzer with empty data structures."""
        self.feedback_data = []  # List to store all feedback received
        self.positive_feedback = set()  # Set for positive keywords
        self.negative_feedback = set()  # Set for negative keywords
    
    def __call__(self, feedback: str):
        """
        Analyze user feedback and update the internal data structures.
        
        Args:
            feedback (str): A string containing user feedback or suggestions.
        """
        # Split feedback into individual words
        words = feedback.split()
        
        # Identify positive/negative keywords based on common language patterns
        if any(word in self.positive_feedback for word in words):
            self.positive_feedback.update(words)
        elif any(word in self.negative_feedback for word in words):
            self.negative_feedback.update(words)
        
        # Store the feedback for future reference
        self.feedback_data.append(feedback)
    
    def get_analysis(self) -> dict:
        """Return a summary of collected feedback."""
        total_feedback = len(self.feedback_data)
        positive_ratio = (len(self.positive_feedback) / total_feedback) * 100 if total_feedback > 0 else 0
        negative_ratio = (len(self.negative_feedback) / total_feedback) * 100 if total_feedback > 0 else 0
        
        return {
            "Total Feedback": total_feedback,
            "Positive Response Rate (%)": round(positive_ratio, 2),
            "Negative Response Rate (%)": round(negative_ratio, 2),
            "Recent Feedback": self.feedback_data[-5:] if len(self.feedback_data) >=5 else self.feedback_data
        }
# Initialize the feedback analyzer
feedback_analyzer = UserFeedbackAnalyzer()

# Example user feedback inputs
feedback_analyzer("Great response! Keep it up")
feedback_analyzer("Could you clarify that point?")
feedback_analyzer("I found this very helpful")
feedback_analyzer("The information was unclear")

# Get analysis results
analysis = feedback_analyzer.get_analysis()
print(analysis)