docs: def create_ngram_table(self, cardinality):
          """
          Creates a table for n-gram of a give cardinality. The table name is
          constructed from this parameter, for example for cardinality `2` there
          will be a table `_2_gram` created.
  
          Parameters
          ----------
          cardinality : int
              The cardinality to create a table for.
  
          """
          query = "CREATE TABLE IF NOT EXISTS _{0}_gram (".format(cardinality)
          unique = ""
          for i in reversed(range(cardinality)):
              if i != 0:
                  unique += "word_{0}, ".format(i)
                  query += "word_{0} TEXT, ".format(i)
              else:
                  unique += "word"
                  query += "word TEXT, count INTEGER, UNIQUE({0}) );".format(
                      unique)
  
          self.execute_sql(query)