code: def download(self):
      url = "https://raw.githubusercontent.com/dice-group/n3-collection/master/reuters.xml"
      r = requests.get(url)
  
      with open(XML_PATH, "wb") as fd:
          fd.write(r.content)
  
      fd = open(XML_PATH)
      soup = bs(fd, "html.parser")
      docs = []
      docs_labels = []
      for elem in soup.find_all("document"):
          texts = []
          labels = []
  
          # Loop through each child of the element under "textwithnamedentities"
          for c in elem.find("textwithnamedentities").children:
              if type(c) == Tag:
                  if c.name == "namedentityintext":
                      label = "Named Entity"  # part of a named entity
                  else:
                      label = "<PAD>"  # irrelevant word
                  texts.append(c.text)
                  labels.append(label)
  
          docs.append(texts)
          docs_labels.append(labels)
  
      fd.close()
      os.remove(XML_PATH)
  
      raw_texts = ["".join(doc) for doc in docs]
      texts, annotations = finetune_to_indico_sequence(
          raw_texts,
          docs,
          docs_labels,
          none_value="<PAD>",
          subtoken_predictions=True,
      )
      df = pd.DataFrame(
          {
              "texts": texts,
              "annotations": [
                  json.dumps(annotation) for annotation in annotations
              ],
          }
      )
      df.to_csv(DATA_PATH)
  
imports: import os
  import requests
  import codecs
  import json
  import hashlib
  import io
  from pathlib import Path
  import pandas
  from bs4 import BeautifulSoup
  from bs4.element import Tag
  from sklearn.model_selection import train_test_split
  from finetune import SequenceLabeler
  from finetune.datasets import Dataset
  from finetune.base_models import GPT, GPT2, TCN, RoBERTa
  from finetune.base_models.huggingface.models import HFDebertaV3Base
  from finetune.encoding.sequence_encoder import finetune_to_indico_sequence
  from finetune.util.metrics import annotation_report, sequence_labeling_token_confusion
label_desc: Use image node_id 3 for calling the Reuters obj's underlying member method code with example usage: obj.download() without return types