input: 
  def identify_author(samples: List[str], labels: List[str]) -> float:
      """Given a list of text samples and their corresponding authors, this function
      trains a machine learning model to identify the author of a given article.
      It uses a pipeline of TfidfVectorizer and GaussianNB. The function returns
      the accuracy score of the model.
      >>> samples = [
      ...   "sample 1 from AuthorA",
      ...   "sample 2 from AuthorA",
      ...   "sample 1 from AuthorB",
      ...   "sample 2 from AuthorB"
      ... ]
      >>> labels = [
      ...   "AuthorA",
      ...   "AuthorA",
      ...   "AuthorB",
      ...   "AuthorB"
      ... ]
      >>> identify_author(samples, labels)
      1.0
      """
      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
  
      # build the model
      model = Pipeline([
        ('tfidf', TfidfVectorizer()),
        ('clf', GaussianNB())
      ])
  
      # train the model
      X_train, X_test, y_train, y_test = train_test_split(samples, labels, test_size=0.3)
      model.fit(X_train, y_train)
  
      # evaluate the model
      score = model.score(X_test, y_test)
      return score
  
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
  
      # build the model
      model = Pipeline([
        ('tfidf', TfidfVectorizer()),
        ('clf', GaussianNB())
      ])
  
      # train the model
      X_train, X_test, y_train, y_test = train_test_split(samples, labels, test_size=0.3)
      model.fit(X_train, y_train)
  
      # evaluate the model
      score = model.score(X_test, y_test)
      return score