input: Write a python function to load a dataset and train a logistic regression model to classify book reviews.
  assert load_and_train("book_reviews.csv")["accuracy"] > 0.5
  assert load_and_train("book_reviews.csv")["precision"] > 0.5
  assert load_and_train("book_reviews.csv")["recall"] > 0.5
output: def load_and_train(file_path):
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.feature_extraction.text import TfidfVectorizer
      from sklearn.linear_model import LogisticRegression
      from sklearn.metrics import accuracy_score, precision_score, recall_score
  
      # Load dataset
      df = pd.read_csv(file_path)
  
      # Assume the dataset has columns 'review' and 'label'
      X = df['review']
      y = df['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 = TfidfVectorizer()
      X_train_vec = vectorizer.fit_transform(X_train)
      X_test_vec = vectorizer.transform(X_test)
  
      # Train a logistic regression model
      model = LogisticRegression()
      model.fit(X_train_vec, y_train)
  
      # Make predictions
      y_pred = model.predict(X_test_vec)
  
      # Calculate metrics
      accuracy = accuracy_score(y_test, y_pred)
      precision = precision_score(y_test, y_pred)
      recall = recall_score(y_test, y_pred)
  
      return {
          "accuracy": accuracy,
          "precision": precision,
          "recall": recall
      }