code: def _add_lemmas_aspect_lex(aspect_candidates_list_final):
      aspect_dict = {}
      for cand_term in aspect_candidates_list_final:
          lemma = ""
          if cand_term.term[0] != cand_term.lemma[0]:
              lemma = cand_term.lemma[0]
          aspect_dict[cand_term.term[0]] = lemma
  
      # unify aspect with aspect lemmas
      lemma_to_erase = []
      for _, lemma in aspect_dict.items():
          if lemma != "" and lemma in aspect_dict:
              lemma_to_erase.append(lemma)
  
      # delete all duplicates (aspects that are lemmas of other aspects)
      for lemma in lemma_to_erase:
          if lemma in aspect_dict:
              del aspect_dict[lemma]
      return aspect_dict
  
imports: import copy
  import re
  import sys
  from os import PathLike
  from tqdm import tqdm
  from nlp_architect.models.absa import TRAIN_LEXICONS, LEXICONS_OUT
  from nlp_architect.models.absa import GENERIC_OP_LEX
  from nlp_architect.models.absa.inference.data_types import Polarity
  from nlp_architect.models.absa.train.data_types import AspectTerm, DepRelation, DepRelationTerm, LoadOpinionStopLists, LoadAspectStopLists, OpinionTerm, QualifiedTerm
  from nlp_architect.models.absa.train.rules import rule_1, rule_2, rule_3, rule_4, rule_5, rule_6
  from nlp_architect.models.absa.utils import _load_parsed_docs_from_dir, _write_final_opinion_lex, _load_lex_as_list_from_csv, read_generic_lex_from_file
label_desc: Use image node_id 1 for calling a global function with example usage: _add_lemmas_aspect_lex(aspect_candidates_list_final) and returns: aspect_dict