SequencePredict[{seq1,seq2,…}]
基于给定的序列生成 SequencePredictorFunction[…].
SequencePredict[training,seq]
试图根据所给的训练序列预测序列 seq 的下一个元素.
SequencePredict[training,{seq1,seq2,…}]
给出每一个序列 seqi 的预测.
SequencePredict["name",seq]
使用由 "name" 表示的内置序列预测器.
SequencePredict[…,seq,prop]
给出与 seq 相关联的预测的指定属性.
SequencePredict
SequencePredict[{seq1,seq2,…}]
基于给定的序列生成 SequencePredictorFunction[…].
SequencePredict[training,seq]
试图根据所给的训练序列预测序列 seq 的下一个元素.
SequencePredict[training,{seq1,seq2,…}]
给出每一个序列 seqi 的预测.
SequencePredict["name",seq]
使用由 "name" 表示的内置序列预测器.
SequencePredict[…,seq,prop]
给出与 seq 相关联的预测的指定属性.
更多信息和选项
- 序列 seqi 可以是 token 列表或字符串.
- 序列 seqi 被假定为基本无穷序列的无序子序列.
- 在 SequencePredict[…,seq,prop] 中,属性与 SequencePredictorFunction[…] 中给出的一样;有:
-
"NextElement" 最可能的下一个元素 "NextElement"n 接下来最可能的 n 个单个元素 "NextSequence"n 接下来最可能的长度为 n 的元素序列 "RandomNextElement" 来自下一个元素分布 (next-element distribution) 的随机样本 "RandomNextElement"n 来自下一个序列分布 (next-sequenct distribution) 的随机样本 "Probabilities" 所有可能的下一个元素的概率的关联 "SequenceProbability" 预测器产生给定序列的概率的对数 "SequenceLogProbability" 预测器产生给定序列的概率的对数 "Properties" 所有可用属性的列表 - 内置序列预测器的范例有:
-
"Chinese" 基于字符的中文文字 "English" 基于字符的英文文字 "French" 基于字符的法语文字 "German" 基于字符的德语文字 "Portuguese" 基于字符的葡萄牙语文字 "Russian" 基于字符的俄语文字 "Spanish" 基于字符的西班牙语文字 - 可以给出下列选项:
-
FeatureExtractor Automatic 怎样对序列进行预处理 Method Automatic 使用何种预测算法 PerformanceGoal Automatic 优化目标 RandomSeeding 1234 内部应该怎样对伪随机数字生成器进行播种 - 字符串的 FeatureExtractor 的常见设置包括:
-
"SegmentedCharacters" 把字符串解释为字符序列(默认) "SegmentedWords" 把字符串解释为单词序列 - PerformanceGoal 的可能设置包括:
-
"Memory" 最小化预测器对存储空间的要求 "Quality" 最大化预测器的准确度 "Speed" 最大化预测器的速度 "TrainingSpeed" 最小化产生预测器所花费的时间 Automatic 自动在速度、准确度和内存之间进行折衷 - PerformanceGoal{goal1,goal2,…} 会自动把 goal1、goal2 等组合在一起.
- RandomSeeding 的可能设置包括:
-
Automatic 每次调用函数时自动重新播种 Inherited 使用外部播种的随机数字 seed 明确指定整数或字符串作为种子 - Method 的可能设置包括:
-
"Markov" Markov 模型 - 在 SequencePredict[…,Method{"Markov","Order"order}] 中,order 对应于 Markov 过程的内存大小.
- 在 SequencePredict[…,"SequenceProbability"] 中,为未知元素保留一些概率质量.
- 在 SequencePredict[training,{},prop] 中,{} 被解释为序列的空列表,而不是空序列.
范例
打开所有单元 关闭所有单元基本范例 (1)
sp = SequencePredict[{{[image], [image]}, {[image], [image], [image]}, {[image], [image], [image]}, {[image], [image]}}]sp[{[image], [image]}]sp[{[image], [image]}, "Probabilities"]sp[{[image], [image]}, "RandomNextElement"]sp[{{[image], [image]}, {[image], [image]}}]预测最可能的下一个元素,并使用这个中间结果预测接下来的元素:
sp[{[image], [image]}, "NextElement" -> 2]sp[{[image], [image]}, "NextSequence" -> 2]sp[{{[image], [image], [image], [image]}, {[image], [image], [image], [image]}}, "SequenceProbability"]范围 (4)
自定义序列预测器 (3)
sp = SequencePredict[{"the cat is grey", "my cat is fast", "this dog is scary", "the big dog", "what a lovely cat", "this is not a dog"}]sp["the ca"]sp["the ca", "NextElement" -> 4]sp["the ca", "Probabilities"]在常见英文单词列表上训练序列预测器,把每个单词作为字符串序列:
sp = SequencePredict[WordList[]]sp["ab"]在之前的例子中,每个单词被视为一个无穷序列的子序列. 用字符 | 作为单词间的标记:
markedWords = "|" <> # <> "|"& /@ WordList[];sp = SequencePredict[markedWords]sp["|", "RandomNextElement" -> 4]从 ExampleData 中加载一本书:
dq = ExampleData[{"Text", "DonQuixoteIEnglish"}];spchar = SequencePredict[{dq}]spchar[{"thou "}, "RandomNextElement" -> 20]训练另一个序列预测器,把字符串解释为单词序列,而不是字符序列:
spword = SequencePredict[{dq}, FeatureExtractor -> "SegmentedWords"]用 10 个连续的单词完成前面的字符串(空格和标点符号也算作单词):
spword["I", "RandomNextElement" -> 10]选项 (5)
FeatureExtractor (2)
对训练文字进行预处理来进行单词的预测,而不是在字符层面进行预测:
sp = SequencePredict[{WikipediaData["computer"]}, FeatureExtractor -> "SegmentedWords"]用 10 个连续的单词完成前面的字符串(空格和标点符号也算作单词):
sp["computer ", "RandomNextElement" -> 10]sp = SequencePredict[{WikipediaData["computer"]}, FeatureExtractor -> "LowerCasedText"]PerformanceGoal (2)
sp = SequencePredict[{WikipediaData["usa"]}, PerformanceGoal -> "Memory"]ByteCount[sp]ByteCount@SequencePredict[{WikipediaData["usa"]}]sp = SequencePredict[{ExampleData[{"Text", "DonQuixoteIEnglish"}]}]{shortertime, quickprediction} = AbsoluteTiming[sp["This is", "NextSequence" -> 50, PerformanceGoal -> "Speed"]]{longertime, betterprediction} = AbsoluteTiming[sp["This is", "NextSequence" -> 50, PerformanceGoal -> "Quality"]]sp[#, "SequenceProbability"]& /@ {quickprediction, betterprediction}可能存在的问题 (1)
sp = SequencePredict[{{[image], [image]}, {[image], [image], [image]}, {[image], [image], [image]}, {[image], [image]}}, {}]为了获取空序列的最可能的下一个元素,可以将其嵌套在第二个列表中以消除歧义:
sp = SequencePredict[{{[image], [image]}, {[image], [image], [image]}, {[image], [image], [image]}, {[image], [image]}}, {{}}]文本
Wolfram Research (2017),SequencePredict,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SequencePredict.html (更新于 2017 年).
CMS
Wolfram 语言. 2017. "SequencePredict." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2017. https://reference.wolfram.com/language/ref/SequencePredict.html.
APA
Wolfram 语言. (2017). SequencePredict. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/SequencePredict.html 年
BibTeX
@misc{reference.wolfram_2026_sequencepredict, author="Wolfram Research", title="{SequencePredict}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/SequencePredict.html}", note=[Accessed: 01-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_sequencepredict, organization={Wolfram Research}, title={SequencePredict}, year={2017}, url={https://reference.wolfram.com/language/ref/SequencePredict.html}, note=[Accessed: 01-November-2026]}