code: def demo_pos():
      # demonstrates POS tagging using supervised training
  
      print()
      print("HMM POS tagging demo")
      print()
  
      print("Training HMM...")
      labelled_sequences, tag_set, symbols = load_pos(20000)
      trainer = HiddenMarkovModelTrainer(tag_set, symbols)
      hmm = trainer.train_supervised(
          labelled_sequences[10:],
          estimator=lambda fd, bins: LidstoneProbDist(fd, 0.1, bins),
      )
  
      print("Testing...")
      hmm.test(labelled_sequences[:10], verbose=True)
  
imports: import itertools
  import re
  from nltk.metrics import accuracy
  from nltk.probability import ConditionalFreqDist, ConditionalProbDist, DictionaryConditionalProbDist, DictionaryProbDist, FreqDist, LidstoneProbDist, MLEProbDist, MutableProbDist, RandomProbDist
  from nltk.tag.api import TaggerI
  from nltk.util import LazyMap, unique_list
label_desc: Use image node_id 9 for calling a global function with example usage: demo_pos() without return types