class_docstr: Lexicon acquisition. produce opinion lexicon and an aspect lexicon based
  on input dataset.
  
  Attributes:
      opinion_candidate_list_curr_iter (dict): candidate opinion terms in the current iteration
      opinion_candidate_list_prev_iter (dict): opinion candidates list of previous iteration
      opinion_candidate_list (dict): opinion terms learned across all iterations
      opinion_candidates_list_final (list): final opinion candidates list
      opinion_candidate_list_raw (dict): all instances of candidate opinion terms
                                         across all iterations
      aspect_candidate_list_curr_iter (dict): candidate terms in the current iteration
      aspects_candidate_list_prev_iter(list): Aspect candidates list of previous iteration
      aspect_candidate_list (list):  aspect terms learned across all iterations
      aspect_candidates_list_final (list): final aspect candidates list
      aspect_candidate_list_raw (dict): all instances of candidate aspect terms
                                        across all iterations
docstr: Acquire new opinion and aspect lexicons.
  
  Args:
      parsed_dir (PathLike): Path to parsed documents folder.
docstr_tok: ["Acquire","new","opinion","and","aspect","lexicons",".","Args",":","parsed_dir","(","PathLike",")",":","Path","to","parsed","documents","folder","."]
code: def acquire_lexicons(self, parsed_dir: str or PathLike):
      """Acquire new opinion and aspect lexicons.
  
      Args:
          parsed_dir (PathLike): Path to parsed documents folder.
      """
      parsed_docs = _load_parsed_docs_from_dir(parsed_dir)
      dataset_sentence_len = 0
      for parsed_doc in parsed_docs.values():
          dataset_sentence_len += len(parsed_doc.sentences)
  
      add_to_thresholds = int(
          dataset_sentence_len
          / self.NUM_OF_SENTENCES_PER_OPINION_AND_ASPECT_TERM_INC
      )
      self.min_freq_opinion_candidate += add_to_thresholds
      self.min_freq_aspect_candidate += add_to_thresholds
  
      for iteration_num in range(self.max_num_of_iterations):
          if (
              len(self.opinion_candidate_list_prev_iter) == 0
              and len(self.aspects_candidate_list_prev_iter) == 0
          ):
              break
  
          print("\n#Iteration: {}".format(iteration_num + 1))
  
          self.extract_opinion_and_aspect_terms(
              iter(parsed_docs.values()), len(parsed_docs)
          )
  
          self._insert_new_terms_to_tables()
  
      self.opinion_candidates_list_final = (
          generate_final_opinion_candidates_list(
              self.opinion_candidate_list_raw,
              self.opinion_candidates_list_final,
              self.min_freq_opinion_candidate,
          )
      )
      self.aspect_candidates_list_final = (
          _generate_final_aspect_candidates_list(
              self.aspect_candidate_list_raw,
              self.aspect_candidates_list_final,
              self.min_freq_aspect_candidate,
          )
      )
  
      self._write_candidate_opinion_lex()
      aspect_dict = _add_lemmas_aspect_lex(
          self.aspect_candidates_list_final
      )
      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 9 for calling the AcquireTerms obj's underlying member method code with example usage: obj.acquire_lexicons(parsed_dir) and returns: aspect_dict