code: def __disambiguate_with_lexicon(self, docs, lexicon, hiddenWords):
          
          for d in range(len(docs)):
              for w in range(len(docs[d][WORDS])):
                  word = docs[d][WORDS][w]
                  # Jätame vahele nn peidetud sõnad
                  if (d, w) in hiddenWords:
                      continue
                  # Vaatame vaid mitmeseks jäänud analüüsidega sõnu
                  if len(word[ANALYSIS]) > 1:
                      #  1) Leiame suurima esinemissageduse mitmeste lemmade seas
                      highestFreq = 0
                      for analysis in word[ANALYSIS]:
                          lemma = analysis[ROOT]+'ma' if analysis[POSTAG]=='V' else analysis[ROOT]
                          if lemma in lexicon and lexicon[lemma] > highestFreq:
                              highestFreq = lexicon[lemma]
                      if highestFreq > 0:
                          #  2) Jätame välja kõik analüüsid, mille lemma esinemissagedus
                          #     on väiksem kui suurim esinemissagedus;
                          toDelete = []
                          for analysis in word[ANALYSIS]:
                              lemma = analysis[ROOT]+'ma' if analysis[POSTAG]=='V' else analysis[ROOT]
                              freq = lexicon[lemma] if lemma in lexicon else 0
                              if freq < highestFreq:
                                  toDelete.append(analysis)
                          for analysis in toDelete:
                              word[ANALYSIS].remove(analysis)
docs: Teostab lemmade leksikoni järgi mitmeste morf analüüside 
              ühestamise - eemaldab üleliigsed analüüsid;
              Toetub ideele "üks tähendus teksti kohta": kui mitmeseks jäänud 
              lemma esineb tekstis/korpuses ka mujal ning lõppkokkuvõttes 
              esineb sagedamini kui alternatiivsed analüüsid, siis tõenäoliselt
              see ongi õige lemma/analüüs;