input: Write a function that builds and trains a machine learning model using the Pipeline API from scikit-learn to identify the author of a given article. The function should use TfidfVectorizer to preprocess the text data and GaussianNB as the classifier. The input to the function will be a list of article samples and a corresponding list of author labels. The function should split the data into training and testing sets, train the model, and return the accuracy score of the model on the test set.
  
  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
output: 
  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
  from sklearn.metrics import accuracy_score
  
  def identify_author(articles, labels):
      X_train, X_test, y_train, y_test = train_test_split(articles, labels, test_size=0.2, random_state=42)
      pipeline = Pipeline([
          ('tfidf', TfidfVectorizer()),
          ('clf', GaussianNB())
      ])
      pipeline.fit(X_train, y_train)
      y_pred = pipeline.predict(X_test)
      return accuracy_score(y_test, y_pred)
  