code: def __init__(
      self,
      double_metaphone=False,
      metaphone=False,
      soundex=False,
      nysiis=False,
      caverphone=False,
      *args,
      **kwargs,
  ):
      self.funs = {}
  
      if double_metaphone:
          self.funs["double-metaphone"] = lambda s: dm(unicode(s))
  
      if metaphone:
          self.funs["metaphone"] = phonetics.metaphone
  
      if soundex:
          self.funs["soundex"] = phonetics.soundex
  
      if nysiis:
          self.funs["nysiis"] = phonetics.nysiis
  
      if caverphone:
          self.funs["caverphone"] = phonetics.caverphone
      # for some reason don't get self.funs if this is done first, but works if done last
      ClassifierBasedPOSTagger.__init__(self, *args, **kwargs)
  
file_path: nltk-trainer/nltk_trainer/tagging/taggers.py
imports: from nltk.tag.sequential import SequentialBackoffTagger
  from nltk.probability import FreqDist
  from nltk.tag import ClassifierBasedPOSTagger, TaggerI, str2tuple
  from nltk_trainer import iteritems
  from nltk_trainer.featx import phonetics
  from nltk_trainer.featx.metaphone import dm
label_desc: Use image node_id 1 to create a new PhoneticClassifierBasedPOSTagger object from inherited base classes: ClassifierBasedPOSTagger with example: obj = PhoneticClassifierBasedPOSTagger(double_metaphone, metaphone, soundex, nysiis, caverphone)