A feature transformer that converts the input array of strings into an array of n-grams. Null values in the input array are ignored. It returns an array of n-grams where each n-gram is represented by a space-separated string of words.

  input_col = NULL,
  output_col = NULL,
  n = 2,
  uid = random_string("ngram_"),



A spark_connection, ml_pipeline, or a tbl_spark.


The name of the input column.


The name of the output column.


Minimum n-gram length, greater than or equal to 1. Default: 2, bigram features


A character string used to uniquely identify the feature transformer.


Optional arguments; currently unused.


The object returned depends on the class of x.

  • spark_connection: When x is a spark_connection, the function returns a ml_transformer, a ml_estimator, or one of their subclasses. The object contains a pointer to a Spark Transformer or Estimator object and can be used to compose Pipeline objects.

  • ml_pipeline: When x is a ml_pipeline, the function returns a ml_pipeline with the transformer or estimator appended to the pipeline.

  • tbl_spark: When x is a tbl_spark, a transformer is constructed then immediately applied to the input tbl_spark, returning a tbl_spark


When the input is empty, an empty array is returned. When the input array length is less than n (number of elements per n-gram), no n-grams are returned.

See also