input: Write a function to implement an AI model in Python that classifies emails from the Enron Spam Dataset as either spam or non-spam. The function should load the dataset, preprocess the data, train a support vector machine (SVM) model, and return the precision score of the model on the test data. If the dataset is empty, the function should return the string "empty dataset".
  assert classify_spam("spam.csv", 0.20, 42) > 0.9
  assert classify_spam("empty_dataset.csv", 0.20, 42) == "empty dataset"
output: def classify_spam(file_path, test_size, random_state):
      import pandas as pd
      from sklearn.model_selection import train_test_split
      from sklearn.feature_extraction.text import TfidfVectorizer
      from sklearn.svm import SVC
      from sklearn.metrics import precision_score
  
      try:
          data = pd.read_csv(file_path)
      except pd.errors.EmptyDataError:
          return "empty dataset"
  
      if data.empty:
          return "empty dataset"
  
      X = data['text']
      y = data['label']
  
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size, random_state=random_state)
  
      vectorizer = TfidfVectorizer()
      X_train = vectorizer.fit_transform(X_train)
      X_test = vectorizer.transform(X_test)
  
      svm = SVC(kernel='linear')
      svm.fit(X_train, y_train)
  
      y_pred = svm.predict(X_test)
      precision = precision_score(y_test, y_pred, pos_label='spam')
  
      return precision