code: def _words_from_prediction(prediction: Prediction) -> list:
      words = []
      current_word = []
  
      for pos in prediction.positions:
          char = pos.chars[0].char
          if char == " ":
              words.append(current_word)
              current_word = []
              continue
          current_word.append(pos)
  
      if current_word:
          words.append(current_word)
  
      return words
  
imports: import os
  from copy import deepcopy
  from dataclasses import dataclass, field
  from random import shuffle
  import math
  import numpy
  from paiargparse import pai_dataclass, pai_meta
  from tfaip.data.pipeline.definitions import PipelineMode, INPUT_PROCESSOR, TARGETS_PROCESSOR
  from tqdm import tqdm
  from lxml import etree
  import cv2
  from typing import List, Generator, Optional, Iterable, Dict, Any, Tuple
  from enum import IntEnum
  from calamari_ocr.ocr.dataset.datareader.base import CalamariDataGenerator, CalamariDataGeneratorParams, InputSample, SampleMeta
  from calamari_ocr.utils import split_all_ext, filename, glob_all
  from calamari_ocr.ocr.predict.params import Prediction
  import logging
label_desc: Use image node_id 15 for calling the PageXMLReader obj's underlying member method code with example usage: obj._words_from_prediction(prediction) and returns: words