input: Write a python function to split a dataset into training and testing sets, vectorize the text data, train a Naive Bayes classifier, and generate a classification report.
  assert 'precision' in train_and_evaluate_model('sample_reviews.csv')
  assert 'recall' in train_and_evaluate_model('sample_reviews.csv')
  assert 'f1-score' in train_and_evaluate_model('sample_reviews.csv')
output: def train_and_evaluate_model(csv_file):
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.feature_extraction.text import CountVectorizer
      from sklearn.naive_bayes import MultinomialNB
      from sklearn.metrics import classification_report
  
      # Load the dataset
      data = pd.read_csv(csv_file)
  
      # Split the data into features and labels
      X = data['text']
      y = data['label']
  
      # Split the dataset into training and testing sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  
      # Vectorize the text data
      vectorizer = CountVectorizer()
      X_train_vec = vectorizer.fit_transform(X_train)
      X_test_vec = vectorizer.transform(X_test)
  
      # Train the Naive Bayes classifier
      clf = MultinomialNB()
      clf.fit(X_train_vec, y_train)
  
      # Predict the labels for the test set
      y_pred = clf.predict(X_test_vec)
  
      # Generate the classification report
      report = classification_report(y_test, y_pred, output_dict=True)
      
      return report