input: 
  def classify_string(input_string):
      """
      Given a user input string, this function performs feature extraction and
      uses a Naive Bayes classifier to categorize the input. The classifier is
      trained on some data, and a prediction is made based on the input string.
      The function returns the predicted category.
      
      Example:
      >>> classify_string("Hello, how are you?")
      'Greeting'
      >>> classify_string("What is the weather today?")
      'Weather Query'
      """
      
      # Feature extraction and transformation from string to numeric
      features = ...
      
      # Create an instance of the classifier 
      model = MultinomialNB()
      
      # Train the classifier on the data
      model.fit(data, target)
      
      # Make a prediction based on the input
      prediction = model.predict([features])
      
      # Return the prediction
      return prediction
  
output:     # Feature extraction and transformation from string to numeric
      features = [len(input_string), input_string.count(' '), input_string.count('?')]
      
      # Create an instance of the classifier 
      model = MultinomialNB()
      
      # Train the classifier on the data
      data = [[15, 3, 0], [20, 4, 1]]
      target = ['Greeting', 'Weather Query']
      model.fit(data, target)
      
      # Make a prediction based on the input
      prediction = model.predict([features])
      
      # Return the prediction
      return prediction[0]