input: Write a function to create a machine learning model in Python using the sklearn library to categorize a dataset of records. The function should first extract the features and labels from the dataset, then train an SVM classifier on the data, and finally predict the label for a new set of features. If the given dataset is empty, the function should return None.
  assert categorize_dataset([
    {"label": "apple", "features": [1, 1, 0]}, 
    {"label": "banana", "features": [0, 1, 1]}, 
    {"label": "lemon", "features": [0, 0, 1]}, 
    {"label": "orange", "features": [1, 0, 0]}, 
    {"label": "pear", "features": [0, 1, 0]}, 
  ]) == "banana"
  assert categorize_dataset([]) == None
  assert categorize_dataset([
    {"label": "apple", "features": [1, 1, 0]}, 
    {"label": "banana", "features": [0, 1, 1]}, 
  ]) == "banana"
  assert categorize_dataset([
    {"label": "apple", "features": [1, 1, 0]}, 
    {"label": "orange", "features": [1, 0, 0]}, 
  ]) == "apple"
  assert categorize_dataset([{"label": "apple", "features": [1, 1, 1]}]) == "apple"
output: def categorize_dataset(dataset):
      if not dataset:
          return None
      
      features = [entry["features"] for entry in dataset]
      labels = [entry["label"] for entry in dataset]
      
      from sklearn.svm import SVC
      model = SVC()
      model.fit(features, labels)
      
      new_features = [0, 1, 1]
      prediction = model.predict([new_features])
      
      return prediction[0]