code: def test_issue1547():
      """Test that entity labels still match after merging tokens."""
      words = [
          "\n",
          "worda",
          ".",
          "\n",
          "wordb",
          "-",
          "Biosphere",
          "2",
          "-",
          " \n",
      ]
      doc = Doc(Vocab(), words=words)
      doc.ents = [Span(doc, 6, 8, label=doc.vocab.strings["PRODUCT"])]
      with doc.retokenize() as retokenizer:
          retokenizer.merge(doc[5:7])
      assert [ent.text for ent in doc.ents]
  
imports: import warnings
  import weakref
  import numpy
  import pytest
  from numpy.testing import assert_array_equal
  from thinc.api import NumpyOps, get_current_ops
  from spacy.attrs import DEP, ENT_IOB, ENT_TYPE, HEAD, IS_ALPHA, MORPH, POS, SENT_START, TAG
  from spacy.lang.en import English
  from spacy.lang.xx import MultiLanguage
  from spacy.language import Language
  from spacy.lexeme import Lexeme
  from spacy.tokens import Doc, Span, SpanGroup, Token
  from spacy.vocab import Vocab
  from .test_underscore import clean_underscore
label_desc: Use image node_id 2 for calling a global function with example usage: test_issue1547() without return types