input: Write a function to develop a machine learning model in Python that identifies the author of a given article using a Pipeline with TfidfVectorizer and GaussianNB as the classifier. The function should accept a list of article samples and corresponding labels, split the data into training and testing sets, fit the model, and then return the model score. If the list of samples is empty, return None.
  
  def identify_author(samples, labels):
      if not samples:
          return None
      from sklearn.feature_extraction.text import TfidfVectorizer
      from sklearn.naive_bayes import GaussianNB
      from sklearn.pipeline import Pipeline
      from sklearn.model_selection import train_test_split
      model = Pipeline([
          ('tfidf', TfidfVectorizer()),
          ('clf', GaussianNB())
      ])
      X_train, X_test, y_train, y_test = train_test_split(samples, labels, test_size=0.3)
      model.fit(X_train, y_train)
      score = model.score(X_test, y_test)
      return score
  
  assert identify_author([
      "sample 1 from AuthorA",
      "sample 2 from AuthorA",
      "sample 1 from AuthorB",
      "sample 2 from AuthorB"
  ], ["AuthorA", "AuthorA", "AuthorB", "AuthorB"]) is not None
  assert identify_author([], []) == None
output: def identify_author(samples, labels):
      if not samples:
          return None
      from sklearn.feature_extraction.text import TfidfVectorizer
      from sklearn.naive_bayes import GaussianNB
      from sklearn.pipeline import Pipeline
      from sklearn.model_selection import train_test_split
      model = Pipeline([
          ('tfidf', TfidfVectorizer()),
          ('clf', GaussianNB())
      ])
      X_train, X_test, y_train, y_test = train_test_split(samples, labels, test_size=0.3)
      model.fit(X_train, y_train)
      score = model.score(X_test, y_test)
      return score