input: Write a function to classify text data into 3 different categories using a machine learning model in Python. The function should load the data from a CSV file, preprocess the text using CountVectorizer, convert the target labels to numerical values, split the data into train and test sets, train a Multinomial Naive Bayes model, and print out a classification report.
  assert classify_text_data(['This is a sample text', 'Another text'], ['category1', 'category2'])=="""              precision    recall  f1-score   support
  
             1       0.00      0.00      0.00         1
             2       0.00      0.00      0.00         1
  
      accuracy                           0.00         2
     macro avg       0.00      0.00      0.00         2
  weighted avg       0.00      0.00      0.00         2\n"""
  assert classify_text_data(['This is a test text'], ['category3'])=="""              precision    recall  f1-score   support
  
             3       0.00      0.00      0.00         1\n"""
output: 
  def classify_text_data(texts, labels):
      from sklearn.feature_extraction.text import CountVectorizer
      from sklearn.naive_bayes import MultinomialNB
      from sklearn.model_selection import train_test_split
      from sklearn.metrics import classification_report
      
      vectorizer = CountVectorizer()
      X = vectorizer.fit_transform(texts)
      
      label_to_num = {label: i+1 for i, label in enumerate(set(labels))}
      y = [label_to_num[label] for label in labels]
      
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=42)
      
      model = MultinomialNB()
      model.fit(X_train, y_train)
      
      y_pred = model.predict(X_test)
      return classification_report(y_test, y_pred, zero_division=0)
  