class_docstr: Base class for the neural UD Processors (tokenize,mwt,pos,lemma,depparse,sentiment,constituency) 
class_docstr_tok: ["Base","class","for","the","neural","UD","Processors","(","tokenize",",","mwt",",","pos",",","lemma",",","depparse",",","sentiment",",","constituency",")"]
docstr: Most processors operate on the sentence level, where each sentence is processed independently and processors can benefit
  a lot from the ability to combine sentences from multiple documents for faster batched processing. This is a transparent
  implementation that allows these processors to batch process a list of Documents as if they were from a single Document.
docstr_tok: ["Most","processors","operate","on","the","sentence","level",",","where","each","sentence","is","processed","independently","and","processors","can","benefit","a","lot","from","the","ability","to","combine","sentences","from","multiple","documents","for","faster","batched","processing",".","This","is","a","transparent","implementation","that","allows","these","processors","to","batch","process","a","list","of","Documents","as","if","they","were","from","a","single","Document","."]
code: def bulk_process(self, docs):
      """
      Most processors operate on the sentence level, where each sentence is processed independently and processors can benefit
      a lot from the ability to combine sentences from multiple documents for faster batched processing. This is a transparent
      implementation that allows these processors to batch process a list of Documents as if they were from a single Document.
      """
  
      if hasattr(self, "_variant"):
          return self._variant.bulk_process(docs)
  
      combined_sents = [sent for doc in docs for sent in doc.sentences]
      combined_doc = Document([])
      combined_doc.sentences = combined_sents
      combined_doc.num_tokens = sum(doc.num_tokens for doc in docs)
      combined_doc.num_words = sum(doc.num_words for doc in docs)
  
      self.process(
          combined_doc
      )  # annotations are attached to sentence objects
  
      return docs
  
imports: from abc import ABC, abstractmethod
  from stanza.models.common.doc import Document
  from stanza.pipeline.registry import NAME_TO_PROCESSOR_CLASS, PIPELINE_NAMES, PROCESSOR_VARIANTS
label_desc: Use image node_id 9 for calling the UDProcessor obj's underlying member method code with example usage: obj.bulk_process(docs) and returns: docs, self