code: def run(
      self, documents: List[Document], batch_size: int = 1
  ) -> Dict[str, Any]:
      texts = [
          doc.content if doc.content is not None else ""
          for doc in documents
      ]
      annotations = self._backend.annotate(texts, batch_size=batch_size)
  
      if len(annotations) != len(documents):
          raise ComponentError(
              "NER backend did not return the correct number of annotations; "
              f"got {len(annotations)} but expected {len(documents)}"
          )
  
      for doc, doc_annotations in zip(documents, annotations):
          doc.meta[self._METADATA_KEY] = doc_annotations
  
      return {"documents": documents}
  
imports: from abc import ABC, abstractmethod
  from contextlib import contextmanager
  from dataclasses import dataclass
  from enum import Enum, EnumMeta
  from typing import Any, Dict, List, Optional, Union
  from ...None import ComponentError, DeserializationError, Document, component, default_from_dict, default_to_dict
  from ...lazy_imports import LazyImport
label_desc: Use image node_id 3 for calling the NamedEntityExtractor obj's underlying member method code with example usage: obj.run(documents, batch_size) and returns: dict