docs: def get_trigram_log_prob(self, trigram):
          """
          Calcualate the probability P(w1, w2, w3), given this language model.
  
          Parameters
          ----------
          trigram
              tuple with exactly 3 elements
  
          Returns
          -------
          numeric
              The log likelihood of P(w3 | (w1, w2))
          """
          w1, w2, w3 = trigram
          # if w1 not in self.ngrams[1]['data']:
          #     w1 = "<unk>"
          # if w2 not in self.ngrams[1]['data']:
          #     w2 = "<unk>"
          # if w3 not in self.ngrams[1]['data']:
          #     w3 = "<unk>"
          if w1 in self.ngrams[3]['data']:
              if w2 in self.ngrams[3]['data'][w1]:
                  if w3 in self.ngrams[3]['data'][w1][w2]:
                      return self.ngrams[3]['data'][w1][w2][w3]
          return (Decimal(1.0).log10() -
                  Decimal(int(self.ngrams[1]['count'])**2).log10())