SequencePredict
✖
SequencePredict
generates a SequencePredictorFunction[…] based on the sequences given.
attempts to predict the next element in the sequence seq from the training sequences given.
Details and Options




- The sequences seqi can be lists of either tokens or strings.
- Sequences seqi are assumed to be unordered subsequences of an underlying infinite sequence.
- In SequencePredict[…,seq,prop], properties are as given in SequencePredictorFunction[…]; they include:
-
"NextElement" most likely next element "NextElement"n individually most likely next n elements "NextSequence"n most likely next length-n sequence of elements "RandomNextElement" random sample from the next-element distribution "RandomNextElement"n random sample from the next-sequence distribution "Probabilities" association of probabilities for all possible next elements "SequenceProbability" probability for the predictor to generate the given sequence "SequenceLogProbability" log probability for the predictor to generate the sequence "Properties" list of all properties available - Examples of built-in sequence predictors include:
-
"Chinese" character-based Chinese-language text "English" character-based English-language text "French" character-based French-language text "German" character-based German-language text "Portuguese" character-based Portuguese-language text "Russian" character-based Russian-language text "Spanish" character-based Spanish-language text - The following options can be given:
-
FeatureExtractor Automatic how to preprocess sequences Method Automatic which prediction algorithm to use PerformanceGoal Automatic aspects of performance to try to optimize RandomSeeding 1234 what seeding of pseudorandom generators should be done internally - Typical settings for FeatureExtractor for strings include:
-
"SegmentedCharacters" string interpreted as a sequence of characters (default) "SegmentedWords" string interpreted as a sequence of words - Possible settings for PerformanceGoal include:
-
"Memory" minimize storage requirements of the predictor "Quality" maximize accuracy of the predictor "Speed" maximize speed of the predictor "TrainingSpeed" minimize time spent producing the predictor Automatic automatic tradeoff among speed, accuracy and memory - PerformanceGoal{goal1,goal2,…} will automatically combine goal1, goal2, etc.
- Possible settings for RandomSeeding include:
-
Automatic automatically reseed every time the function is called Inherited use externally seeded random numbers seed use an explicit integer or strings as a seed - Possible settings for Method include:
-
"Markov" Markov model - In SequencePredict[…,Method{"Markov","Order"order}], order corresponds to Markov process memory size.
- In SequencePredict[…,"SequenceProbability"], some probability mass is kept for unknown elements.
- In SequencePredict[training,{},prop], {} is interpreted as an empty list of sequences rather than an empty sequence.
Examples
open allclose allBasic Examples (1)Summary of the most common use cases
Train a sequence predictor on a set of sequences:

https://wolfram.com/xid/05e4dew1xz-lnu020

Predict the next element of a new sequence:

https://wolfram.com/xid/05e4dew1xz-oatr7j

Obtain the probabilities of the next element given the sequence:

https://wolfram.com/xid/05e4dew1xz-serypb

Obtain a random next element according to the preceding distribution:

https://wolfram.com/xid/05e4dew1xz-k54pti

Obtain multiple predictions at a time:

https://wolfram.com/xid/05e4dew1xz-u85bu5

Predict the most likely next element and reuse this intermediate guess to predict the following element:

https://wolfram.com/xid/05e4dew1xz-qkskkl

Predict the most likely following sequence:

https://wolfram.com/xid/05e4dew1xz-n5n77h

Compare the probabilities for the preceding sequences:

https://wolfram.com/xid/05e4dew1xz-t1bu2t

Scope (4)Survey of the scope of standard use cases
Custom Sequence Predictors (3)
Train a sequence predictor on a list of strings:

https://wolfram.com/xid/05e4dew1xz-6sez10

Predict the next character following a given string:

https://wolfram.com/xid/05e4dew1xz-l22s5c

Predict the next four characters:

https://wolfram.com/xid/05e4dew1xz-rxtxgj

Obtain the probabilities for each character to follow the given string:

https://wolfram.com/xid/05e4dew1xz-id78on

Train a sequence predictor on the list of common English words, each word treated as a sequence of characters:

https://wolfram.com/xid/05e4dew1xz-k0b3xh

Predict the most likely next character from a given sequence:

https://wolfram.com/xid/05e4dew1xz-8h9wld

In the previous example, each word is considered as a subsequence of an infinite sequence. Use the character to mark boundaries between words:

https://wolfram.com/xid/05e4dew1xz-5nicwp
Build a new sequence predictor aware of word boundaries:

https://wolfram.com/xid/05e4dew1xz-n8cvau

Generate the beginning of an English-like word:

https://wolfram.com/xid/05e4dew1xz-hi4e3b

Load a book from ExampleData:

https://wolfram.com/xid/05e4dew1xz-x7jn6t
Train a sequence predictor on this book:

https://wolfram.com/xid/05e4dew1xz-f9ehi6

Sample a random string in the book style:

https://wolfram.com/xid/05e4dew1xz-heh36n

Train another sequence predictor, interpreting strings as word sequences rather than character sequences:

https://wolfram.com/xid/05e4dew1xz-gvbc7m

Complete the preceding string with 10 consecutive words (spaces and punctuation marks are considered as words):

https://wolfram.com/xid/05e4dew1xz-5ei7cf

Options (5)Common values & functionality for each option
FeatureExtractor (2)
Preprocess the training text to predict on words rather than at the character level:

https://wolfram.com/xid/05e4dew1xz-p8j69j

Complete the preceding string with 10 consecutive words (spaces and punctuation marks are considered as words):

https://wolfram.com/xid/05e4dew1xz-rqx153

Preprocess the training text to lowercase to obtain a better statistic with higher letter counts:

https://wolfram.com/xid/05e4dew1xz-4z0cco

PerformanceGoal (2)
Train a classifier with an emphasis on the resulting model memory footprint:

https://wolfram.com/xid/05e4dew1xz-cm5rc6


https://wolfram.com/xid/05e4dew1xz-n8wuhu

Compare with the automatically generated model size:

https://wolfram.com/xid/05e4dew1xz-4tbp3n

Tune the computation time and precision when exploring the full sequence probability space:

https://wolfram.com/xid/05e4dew1xz-vlrrop

Favor fast and approximated exploration:

https://wolfram.com/xid/05e4dew1xz-lhupqt

Favor more in-depth exploration taking longer computation time:

https://wolfram.com/xid/05e4dew1xz-xhc8jh


https://wolfram.com/xid/05e4dew1xz-vqh6zu

Possible Issues (1)Common pitfalls and unexpected behavior
An empty list is parsed as the list with no sequences inside and will return an empty list:

https://wolfram.com/xid/05e4dew1xz-tjzlqh

To obtain the most likely next element completing an empty sequence, nest it in a second list for disambiguation:

https://wolfram.com/xid/05e4dew1xz-v31l1l

Wolfram Research (2017), SequencePredict, Wolfram Language function, https://reference.wolfram.com/language/ref/SequencePredict.html (updated 2017).
Text
Wolfram Research (2017), SequencePredict, Wolfram Language function, https://reference.wolfram.com/language/ref/SequencePredict.html (updated 2017).
Wolfram Research (2017), SequencePredict, Wolfram Language function, https://reference.wolfram.com/language/ref/SequencePredict.html (updated 2017).
CMS
Wolfram Language. 2017. "SequencePredict." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2017. https://reference.wolfram.com/language/ref/SequencePredict.html.
Wolfram Language. 2017. "SequencePredict." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2017. https://reference.wolfram.com/language/ref/SequencePredict.html.
APA
Wolfram Language. (2017). SequencePredict. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SequencePredict.html
Wolfram Language. (2017). SequencePredict. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SequencePredict.html
BibTeX
@misc{reference.wolfram_2025_sequencepredict, author="Wolfram Research", title="{SequencePredict}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/SequencePredict.html}", note=[Accessed: 25-March-2025
]}
BibLaTeX
@online{reference.wolfram_2025_sequencepredict, organization={Wolfram Research}, title={SequencePredict}, year={2017}, url={https://reference.wolfram.com/language/ref/SequencePredict.html}, note=[Accessed: 25-March-2025
]}