code: def build_model_filename(paths, short_name, command_args, extra_args):
      short_language, dataset = short_name.split("_", 1)
  
      default_args = build_default_args(
          paths, short_language, dataset, command_args, extra_args
      )
  
      train_args = ["--shorthand", short_name, "--mode", "train"]
      train_args = train_args + default_args
      if command_args.save_name is not None:
          train_args.extend(["--save_name", command_args.save_name])
      if command_args.save_dir is not None:
          train_args.extend(["--save_dir", command_args.save_dir])
      args = constituency_parser.parse_args(train_args)
      save_name = constituency_parser.build_model_filename(args)
      return save_name
  
file_path: stanza/stanza/utils/training/run_constituency.py
imports: import logging
  import os
  from stanza.models import constituency_parser
  from stanza.models.constituency.retagging import RETAG_METHOD
  from stanza.utils.datasets.constituency import prepare_con_dataset
  from stanza.utils.training import common
  from stanza.utils.training.common import Mode, add_charlm_args, build_charlm_args, choose_charlm, find_wordvec_pretrain
  from stanza.resources.default_packages import default_charlms, default_pretrains
label_desc: Use image node_id 4 for calling a global function with example usage: build_model_filename(paths, short_name, command_args, extra_args) and returns: save_name