code: def read_label(
      path: Union[Path, str]
  ) -> Dict[str, List[Union[float, int]]]:
      """Read a text file indicating sequences of number
  
      Examples:
          key1 start_time_1 end_time_1 phone_1 start_time_2 end_time_2 phone_2 ....\n
          key2 start_time_1 end_time_1 phone_1 \n
  
          >>> d = load_num_sequence_text('label')
          >>> np.testing.assert_array_equal(d["key1"], [0.1, 0.2, "啊"]))
      """
      assert check_argument_types()
      label = open(path, "r", encoding="utf-8")
  
      retval = {}
      for label_line in label.readlines():
          line = label_line.strip().split()
          key = line[0]
          phn_info = line[1:]
          temp_info = []
          for i in range(len(phn_info) // 3):
              temp_info.append(
                  [
                      phn_info[i * 3],
                      phn_info[i * 3 + 1],
                      phn_info[i * 3 + 2],
                  ]
              )
          retval[key] = temp_info
      return retval
  
file_path: espnet/espnet2/fileio/read_text.py
imports: import collections.abc
  import logging
  from mmap import mmap
  from pathlib import Path
  from random import randint
  from typing import Dict, List, Optional, Tuple, Union
  from typeguard import check_argument_types
label_desc: Use image node_id 4 for calling a global function with example usage: read_label(path) and returns: retval