docs: def triples(self, words):
          """ Generates triples from the given data string. So if our string were
                  "What a lovely day", we'd generate (What, a, lovely) and then
                  (a, lovely, day).
          """
  
          if len(words) < 3:
              return
  
          for i in range(len(words) - 2):
              yield (words[i], words[i+1], words[i+2])