创建已训练模型 API编辑

创建已训练模型。

在版本 7.8.0 中创建的模型与旧节点版本不向后兼容。如果在混合集群环境中,则所有节点必须至少为 7.8.0 才能使用 7.8.0 节点存储的模型。

请求编辑

PUT _ml/trained_models/<model_id>

先决条件编辑

需要 manage_ml 集群权限。此权限包含在 machine_learning_admin 内置角色中。

描述编辑

创建已训练模型 API 使您能够提供不是由数据帧分析创建的已训练模型。

路径参数编辑

<model_id>
(必填,字符串)已训练模型的唯一标识符。

查询参数编辑

defer_definition_decompression
(可选,布尔值)如果设置为 true 并且提供了 compressed_definition,则请求会延迟定义解压缩并跳过相关验证。此延迟对于了解其模型的良好字节大小估计并且知道其模型有效且在推理过程中不太可能失败的系统或用户很有用。
wait_for_completion
(可选,布尔值)是否在返回之前等待所有子操作(如模型下载)完成。默认为 false

请求正文编辑

compressed_definition
(必填,字符串)模型的压缩(GZip 压缩和 Base64 编码)推理定义。如果指定了 compressed_definition,则不能指定 definition
definition

(必填,对象)模型的推理定义。如果指定了 definition,则不能指定 compressed_definition

definition 的属性
preprocessors

(可选,对象)预处理器集合。请参阅预处理器示例

preprocessors 的属性
frequency_encoding

(必填,对象)定义字段的频率编码。

frequency_encoding 的属性
feature_name
(必填,字符串)结果特征的名称。
field
(必填,字符串)要编码的字段名称。
frequency_map
(必填,字符串:双精度对象映射)将字段值映射到频率编码值的 Object。
custom
(可选,布尔值)布尔值,指示是分析作业创建了预处理器还是用户提供了预处理器。这会调整特征重要性计算。如果为 true,则特征重要性计算会返回已处理特征的重要性。如果为 false,则返回原始字段的总重要性。默认值为 false
one_hot_encoding

(必填,对象)定义字段的独热编码映射。

one_hot_encoding 的属性
field
(必填,字符串)要编码的字段名称。
hot_map
(必填,字符串对象映射)“field_value: one_hot_column_name”的字符串映射。
custom
(可选,布尔值)布尔值,指示是分析作业创建了预处理器还是用户提供了预处理器。这会调整特征重要性计算。如果为 true,则特征重要性计算会返回已处理特征的重要性。如果为 false,则返回原始字段的总重要性。默认值为 false
target_mean_encoding

(必填,对象)定义字段的目标均值编码。

target_mean_encoding 的属性
default_value
(必填,双精度)如果字段值不在 target_map 中,则为特征值。
feature_name
(必填,字符串)结果特征的名称。
field
(必填,字符串)要编码的字段名称。
target_map

(必填,字符串:双精度对象映射)将字段值映射到目标均值的 Object。

custom
(可选,布尔值)布尔值,指示是分析作业创建了预处理器还是用户提供了预处理器。这会调整特征重要性计算。如果为 true,则特征重要性计算会返回已处理特征的重要性。如果为 false,则返回原始字段的总重要性。默认值为 false
trained_model

(必填,对象)已训练模型的定义。

trained_model 的属性
tree

(必填,对象)二叉决策树的定义。

tree 的属性
classification_labels
(可选,字符串)分类标签数组(用于 classification)。
feature_names
(必填,字符串)树预期的特征,按其预期顺序排列。
target_type
(必填,字符串)指示模型目标类型的字符串;regressionclassification
tree_structure
(必填,对象)tree_node 对象数组。节点必须按其 tree_node.node_index 值按顺序排列。
tree_node

(必填,对象)树中节点的定义。

节点主要有两种类型:叶节点和非叶节点。

  • 叶节点只需要定义 node_indexleaf_value
  • 所有其他节点都需要定义 split_featureleft_childright_childthresholddecision_typedefault_left
tree_node 的属性
decision_type
(可选,字符串)指示正值(换句话说,何时选择左节点)决策类型。支持 ltltegtgte。默认为 lte
default_left
(可选,布尔值)指示当特征缺失时是否默认为左侧。默认为 true
leaf_value
(可选,双精度)节点的叶值(如果该值是叶节点,换句话说,没有子节点)。
left_child
(可选,整数)左子节点的索引。
node_index
(整数)当前节点的索引。
right_child
(可选,整数)右子节点的索引。
split_feature
(可选,整数)特征数组中特征值的索引。
split_gain
(可选,双精度)拆分的增益信息。
threshold
(可选,双精度)用于比较特征值的决策阈值。
ensemble

(可选,对象)集成模型的定义。请参阅模型示例

ensemble 的属性
aggregate_output

(必填,对象)聚合输出对象,定义如何聚合 trained_models 的输出。支持的对象有 weighted_modeweighted_sumlogistic_regression。请参阅聚合输出示例

aggregate_output 的属性
logistic_regression

(可选,对象)此 aggregated_output 类型适用于二元分类(对值 [0, 1] 进行分类)。它将输出(对于 ensemble 模型,即推理模型值)乘以提供的 weights。将生成的向量求和并传递给sigmoid 函数sigmoid 函数的结果被视为类别 1 (P_1) 的概率,因此,类别 0 的概率为 1 - P_1。然后返回概率最高的类别(0 或 1)。有关逻辑回归的更多信息,请参阅这篇维基百科文章

logistic_regression 的属性
weights
(必填,双精度)要与输入值(已训练模型的推理值)相乘的权重。
weighted_sum

(可选,对象)此 aggregated_output 类型适用于回归。输入值的加权和。

weighted_sum 的属性
weights
(必填,双精度)要与输入值(已训练模型的推理值)相乘的权重。
weighted_mode

(可选,对象)此 aggregated_output 类型适用于回归或分类。它对输入值进行加权投票。返回最常见的输入值(考虑权重)。

weighted_mode 的属性
weights
(必填,双精度)要与输入值(已训练模型的推理值)相乘的权重。
exponent

(可选,对象)此 aggregated_output 类型适用于回归。它获取输入值的加权和,并将结果传递给指数函数(e^x,其中 x 是加权值的总和)。

exponent 的属性
weights
(必填,双精度)要与输入值(已训练模型的推理值)相乘的权重。
classification_labels
(可选,字符串)分类标签数组。
feature_names
(可选,字符串)集成预期的特征,按其预期顺序排列。
target_type
(必填,字符串)指示模型目标类型的字符串;regressionclassification
trained_models
(必填,对象)trained_model 对象数组。支持的已训练模型有 treeensemble
description
(可选,字符串)推理已训练模型的人类可读描述。
estimated_heap_memory_usage_bytes
(可选,整数) [7.16.0] 7.16.0 版中已弃用。替换为 model_size_bytes
estimated_operations
(可选,整数)在推理过程中使用训练模型的估计操作次数。仅当 defer_definition_decompressiontrue 或未提供模型定义时,才支持此属性。
inference_config

(必填,对象)推理的默认配置。可以是:regressionclassificationfill_masknerquestion_answeringtext_classificationtext_embeddingzero_shot_classification。如果为 regressionclassification,则必须与基础 definition.trained_modeltarget_type 匹配。如果为 fill_masknerquestion_answeringtext_classificationtext_embedding,则 model_type 必须为 pytorch

inference_config 的属性
classification

(可选,对象)用于推理的分类配置。

分类推理的属性
num_top_classes
(可选,整数)指定要返回的顶级类别预测的数量。默认为 0。
num_top_feature_importance_values
(可选,整数)指定每个文档的最大 特征重要性 值数量。默认为 0,表示不进行特征重要性计算。
prediction_field_type
(可选,字符串)指定要写入的预测字段的类型。有效值为:stringnumberboolean。如果提供 boolean,则 1.0 将转换为 true0.0 将转换为 false
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
top_classes_results_field
(可选,字符串)指定写入顶级类别的字段。默认为 top_classes
fill_mask

(可选,对象)用于 fill_mask 自然语言处理 (NLP) 任务的配置。fill_mask 任务适用于针对填充掩码操作优化的模型。例如,对于 BERT 模型,可以提供以下文本:“The capital of France is [MASK].”。响应指示最有可能替换 [MASK] 的值。在这种情况下,最可能的标记是 paris

fill_mask 推理的属性
num_top_classes
(可选,整数)要返回以替换掩码标记的顶级预测标记的数量。默认为 0
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值为

  • bert:用于 BERT 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

有关 tokenization 对象的属性,请参阅tokenizaton 的属性

ner

(可选,对象)配置命名实体识别 (NER) 任务。NER 是标记分类的一种特殊情况。序列中的每个标记都根据提供的分类标签进行分类。目前,NER 任务需要 classification_labels 内部-外部-开头 (IOB) 格式的标签。仅支持人物、组织、地点和其他。

ner 推理的属性
classification_labels
(可选,字符串)分类标签数组。NER 仅支持内部-外部-开头 (IOB) 标签,并且仅支持人物、组织、地点和其他。示例:["O", "B-PER", "I-PER", "B-ORG", "I-ORG", "B-LOC", "I-LOC", "B-MISC", "I-MISC"]
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值为

  • bert:用于 BERT 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

有关 tokenization 对象的属性,请参阅tokenizaton 的属性

pass_through

(可选,对象)配置 pass_through 任务。此任务对调试很有用,因为它不对推理输出进行后处理,并且原始池化层结果会返回给调用者。

pass_through 推理的属性
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值为

  • bert:用于 BERT 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

有关 tokenization 对象的属性,请参阅tokenizaton 的属性

question_answering

(可选,对象)配置问答自然语言处理 (NLP) 任务。问答对于从大型文本语料库中提取某些问题的答案非常有用。

question_answering 推理的属性
max_answer_length
(可选,整数)答案中的最大字数。默认为 15
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值为

  • bert:用于 BERT 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

建议将 max_sentence_length 设置为 386,将 span 设置为 128,并将 truncate 设置为 none

有关 tokenization 对象的属性,请参阅tokenizaton 的属性

regression

(可选,对象)用于推理的回归配置。

回归推理的属性
num_top_feature_importance_values
(可选,整数)指定每个文档的最大 特征重要性 值数量。默认情况下,它为零,并且不进行特征重要性计算。
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
text_classification

(可选,对象)文本分类任务。文本分类将提供的文本序列分类为先前已知的目标类别。这方面的一个具体示例是情感分析,它返回指示文本情感的可能目标类别,例如“悲伤”、“高兴”或“愤怒”。

text_classification 推理的属性
classification_labels
(可选,字符串)分类标签数组。
num_top_classes
(可选,整数)指定要返回的顶级类别预测的数量。默认为所有类别 (-1)。
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值为

  • bert:用于 BERT 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

有关 tokenization 对象的属性,请参阅tokenizaton 的属性

text_embedding

(可选,对象)文本嵌入采用输入序列并将其转换为数字向量。这些嵌入不仅捕获标记,还捕获语义和上下文。这些嵌入可用于 密集向量 字段,以获得强大的洞察力。

text_embedding 推理的属性
embedding_size
(可选,整数)模型生成的嵌入向量中的维度数。
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值为

  • bert:用于 BERT 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

有关 tokenization 对象的属性,请参阅tokenizaton 的属性

text_similarity
(可选,对象)文本相似性采用输入序列并将其与另一个输入序列进行比较。这通常称为交叉编码。在将文档文本与另一个提供的文本输入进行比较时,此任务对于对文档文本进行排名非常有用。
text_similarity 推理的属性
span_score_combination_function

(可选,字符串)标识当提供的文本段落长度超过 max_sequence_length 并且必须自动分隔以进行多次调用时,如何组合生成的相似性分数。这仅适用于 truncatenonespan 为非负数的情况。默认值为 max。可用选项为

  • max:返回所有跨度中的最高分数。
  • mean:返回所有跨度的平均分数。
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值为

  • bert:用于 BERT 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

有关 tokenization 对象的属性,请参阅tokenizaton 的属性

zero_shot_classification

(可选,对象)配置零样本分类任务。零样本分类允许在没有预先确定标签的情况下进行文本分类。在推理时,可以调整要分类的标签。这使得这种类型的模型和任务非常灵活。

如果始终对相同的标签进行分类,则使用微调的文本分类模型可能会更好。

zero_shot_classification 推理的属性
classification_labels
(必填,数组)零样本分类期间使用的分类标签。分类标签不能为空或为 null,并且只能在模型创建时设置。它们必须全部为 ["entailment", "neutral", "contradiction"]。

这与 labels 不同,后者是零样本尝试分类的值。

hypothesis_template

(可选,字符串)这是在对序列进行标记化以进行分类时使用的模板。

标签替换文本中的 {} 值。默认值为:This example is {}.

labels
(可选,数组)要分类的标签。可以在创建时设置为默认标签,然后在推理期间更新。
multi_label
(可选,布尔值)指示在给定输入的情况下是否可能有多个 true 标签。这在标记可能属于多个输入标签的文本时非常有用。默认为 false
results_field
(可选,字符串)添加到传入文档中以包含推理预测的字段。默认为 predicted_value
tokenization

(可选,对象)指示要执行的标记化和所需的设置。默认标记化配置为 bert。有效的标记化值为

  • bert:用于 BERT 风格的模型
  • mpnet:用于 MPNet 风格的模型
  • roberta:用于 RoBERTa 风格和 BART 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 xlm_roberta:用于 XLMRoBERTa 风格的模型
  • [预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 bert_ja:用于针对日语训练的 BERT 风格的模型。

有关 tokenization 对象的属性,请参阅tokenizaton 的属性

input

(必填,对象)模型定义的输入字段名称。

input 的属性
field_names
(必填,字符串)模型的输入字段名称数组。
location

(可选,对象)模型定义位置。如果未指定 definitioncompressed_definition,则 location 为必填项。

location 的属性
index
(必填,对象)指示模型定义存储在索引中。此对象必须为空,因为存储模型定义的索引是自动配置的。
metadata
(可选,对象)包含有关模型的元数据的对象映射。
model_size_bytes
(可选,整数)将训练模型保存在内存中的估计内存使用量(以字节为单位)。仅当 defer_definition_decompressiontrue 或未提供模型定义时,才支持此属性。
model_type

(可选,字符串)创建的模型类型。默认情况下,模型类型为 tree_ensemble。适当的类型为

  • tree_ensemble:模型定义是决策树的集成模型。
  • lang_ident:专为语言识别模型保留的特殊类型。
  • pytorch:存储的定义是 PyTorch(特别是 TorchScript)模型。目前仅支持 NLP 模型。有关更多信息,请参阅自然语言处理
platform_architecture
(可选,字符串)如果模型仅在一个平台上工作,因为它针对特定的处理器体系结构和操作系统组合进行了大量优化,则此字段指定哪个平台。字符串的格式必须与 Elasticsearch 使用的平台标识符匹配,因此必须是 linux-x86_64linux-aarch64darwin-x86_64darwin-aarch64windows-x86_64 之一。对于可移植模型(独立于处理器体系结构或操作系统功能的模型),请将此字段保留为空。
prefix_strings

(可选,对象)某些 NLP 模型的训练方式是在评估输入之前应将前缀字符串应用于输入文本。前缀可能因意图而异。对于信息检索等非对称任务,在索引段落时应用的前缀可能与在搜索这些段落时应用的前缀不同。

prefix_strings 有 2 个选项,一个是在搜索上下文中始终应用的前缀字符串,另一个是在使用推理摄取处理器摄取文档时始终应用的前缀字符串。两者都是可选的。

prefix_strings 的属性
search
(可选,字符串)要添加到源自搜索查询的请求的输入文本之前的前缀字符串。
ingest
(可选,字符串)要添加到摄取时请求的输入文本之前的前缀字符串,其中使用了推理摄取处理器。
tags
(可选,字符串)用于组织模型的标签数组。

tokenizaton 的属性编辑

tokenization 对象具有以下属性。

bert

(可选,对象)使用封闭设置执行 BERT 样式的分词。

bert 的属性
do_lower_case
(可选,布尔值)指定在构建标记时,分词是否将文本序列转换为小写。
max_sequence_length
(可选,整数)指定分词器允许输出的最大标记数。
span

(可选,整数)当 truncatenone 时,您可以对较长的文本序列进行分区以进行推理。该值表示每个子序列之间重叠的标记数。

默认值为 -1,表示不进行窗口化或跨越。

当您的典型输入仅略大于 max_sequence_length 时,最好直接截断;第二个子序列中的信息将非常少。

truncate

(可选,字符串)指示当标记超过 max_sequence_length 时如何截断它们。默认值为 first

  • none:不进行截断;推理请求会收到错误。
  • first:仅截断第一个序列。
  • second:仅截断第二个序列。如果只有一个序列,则截断该序列。

对于 zero_shot_classification,假设序列始终是第二个序列。因此,在这种情况下不要使用 second

with_special_tokens

(可选,布尔值)使用特殊标记进行分词。BERT 样式分词中通常包含的标记为

  • [CLS]:要分类的序列的第一个标记。
  • [SEP]:表示序列分隔。
roberta

(可选,对象)使用封闭设置执行 RoBERTa 样式的分词。

roberta 的属性
add_prefix_space
(可选,布尔值)指定分词是否应在模型的标记化输入前添加空格。
max_sequence_length
(可选,整数)指定分词器允许输出的最大标记数。
span

(可选,整数)当 truncatenone 时,您可以对较长的文本序列进行分区以进行推理。该值表示每个子序列之间重叠的标记数。

默认值为 -1,表示不进行窗口化或跨越。

当您的典型输入仅略大于 max_sequence_length 时,最好直接截断;第二个子序列中的信息将非常少。

truncate

(可选,字符串)指示当标记超过 max_sequence_length 时如何截断它们。默认值为 first

  • none:不进行截断;推理请求会收到错误。
  • first:仅截断第一个序列。
  • second:仅截断第二个序列。如果只有一个序列,则截断该序列。

对于 zero_shot_classification,假设序列始终是第二个序列。因此,在这种情况下不要使用 second

with_special_tokens

(可选,布尔值)使用特殊标记进行分词。RoBERTa 样式分词中通常包含的标记为

  • <s>:要分类的序列的第一个标记。
  • </s>:表示序列分隔。
mpnet

(可选,对象)使用封闭设置执行 MPNet 样式的分词。

mpnet 的属性
do_lower_case
(可选,布尔值)指定在构建标记时,分词是否将文本序列转换为小写。
max_sequence_length
(可选,整数)指定分词器允许输出的最大标记数。
span

(可选,整数)当 truncatenone 时,您可以对较长的文本序列进行分区以进行推理。该值表示每个子序列之间重叠的标记数。

默认值为 -1,表示不进行窗口化或跨越。

当您的典型输入仅略大于 max_sequence_length 时,最好直接截断;第二个子序列中的信息将非常少。

truncate

(可选,字符串)指示当标记超过 max_sequence_length 时如何截断它们。默认值为 first

  • none:不进行截断;推理请求会收到错误。
  • first:仅截断第一个序列。
  • second:仅截断第二个序列。如果只有一个序列,则截断该序列。

对于 zero_shot_classification,假设序列始终是第二个序列。因此,在这种情况下不要使用 second

with_special_tokens

(可选,布尔值)使用特殊标记进行分词。MPNet 样式分词中通常包含的标记为

  • <s>:要分类的序列的第一个标记。
  • </s>:表示序列分隔。
xlm_roberta

(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 使用封闭设置执行 XLMRoBERTa 样式的分词。

xlm_roberta 的属性
max_sequence_length
(可选,整数)指定分词器允许输出的最大标记数。
span

(可选,整数)当 truncatenone 时,您可以对较长的文本序列进行分区以进行推理。该值表示每个子序列之间重叠的标记数。

默认值为 -1,表示不进行窗口化或跨越。

当您的典型输入仅略大于 max_sequence_length 时,最好直接截断;第二个子序列中的信息将非常少。

truncate

(可选,字符串)指示当标记超过 max_sequence_length 时如何截断它们。默认值为 first

  • none:不进行截断;推理请求会收到错误。
  • first:仅截断第一个序列。
  • second:仅截断第二个序列。如果只有一个序列,则截断该序列。

对于 zero_shot_classification,假设序列始终是第二个序列。因此,在这种情况下不要使用 second

with_special_tokens

(可选,布尔值)使用特殊标记进行分词。RoBERTa 样式分词中通常包含的标记为

  • <s>:要分类的序列的第一个标记。
  • </s>:表示序列分隔。
bert_ja

(可选,对象) [预览] 此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 使用封闭设置执行日语文本的 BERT 样式分词。

bert_ja 的属性
do_lower_case
(可选,布尔值)指定在构建标记时,分词是否将文本序列转换为小写。
max_sequence_length
(可选,整数)指定分词器允许输出的最大标记数。
span

(可选,整数)当 truncatenone 时,您可以对较长的文本序列进行分区以进行推理。该值表示每个子序列之间重叠的标记数。

默认值为 -1,表示不进行窗口化或跨越。

当您的典型输入仅略大于 max_sequence_length 时,最好直接截断;第二个子序列中的信息将非常少。

truncate

(可选,字符串)指示当标记超过 max_sequence_length 时如何截断它们。默认值为 first

  • none:不进行截断;推理请求会收到错误。
  • first:仅截断第一个序列。
  • second:仅截断第二个序列。如果只有一个序列,则截断该序列。

对于 zero_shot_classification,假设序列始终是第二个序列。因此,在这种情况下不要使用 second

with_special_tokens
(可选,布尔值)如果为 true,则使用特殊标记进行分词。

示例编辑

预处理器示例编辑

以下示例显示了一个 frequency_encoding 预处理器对象

{
   "frequency_encoding":{
      "field":"FlightDelayType",
      "feature_name":"FlightDelayType_frequency",
      "frequency_map":{
         "Carrier Delay":0.6007414737092798,
         "NAS Delay":0.6007414737092798,
         "Weather Delay":0.024573576178086153,
         "Security Delay":0.02476631010889467,
         "No Delay":0.6007414737092798,
         "Late Aircraft Delay":0.6007414737092798
      }
   }
}

下一个示例显示了一个 one_hot_encoding 预处理器对象

{
   "one_hot_encoding":{
      "field":"FlightDelayType",
      "hot_map":{
         "Carrier Delay":"FlightDelayType_Carrier Delay",
         "NAS Delay":"FlightDelayType_NAS Delay",
         "No Delay":"FlightDelayType_No Delay",
         "Late Aircraft Delay":"FlightDelayType_Late Aircraft Delay"
      }
   }
}

此示例显示了一个 target_mean_encoding 预处理器对象

{
   "target_mean_encoding":{
      "field":"FlightDelayType",
      "feature_name":"FlightDelayType_targetmean",
      "target_map":{
         "Carrier Delay":39.97465788139886,
         "NAS Delay":39.97465788139886,
         "Security Delay":203.171206225681,
         "Weather Delay":187.64705882352948,
         "No Delay":39.97465788139886,
         "Late Aircraft Delay":39.97465788139886
      },
      "default_value":158.17995752420433
   }
}

模型示例编辑

第一个示例显示了一个 trained_model 对象

{
   "tree":{
      "feature_names":[
         "DistanceKilometers",
         "FlightTimeMin",
         "FlightDelayType_NAS Delay",
         "Origin_targetmean",
         "DestRegion_targetmean",
         "DestCityName_targetmean",
         "OriginAirportID_targetmean",
         "OriginCityName_frequency",
         "DistanceMiles",
         "FlightDelayType_Late Aircraft Delay"
      ],
      "tree_structure":[
         {
            "decision_type":"lt",
            "threshold":9069.33437193022,
            "split_feature":0,
            "split_gain":4112.094574306927,
            "node_index":0,
            "default_left":true,
            "left_child":1,
            "right_child":2
         },
         ...
         {
            "node_index":9,
            "leaf_value":-27.68987349695448
         },
         ...
      ],
      "target_type":"regression"
   }
}

以下示例显示了一个 ensemble 模型对象

"ensemble":{
   "feature_names":[
      ...
   ],
   "trained_models":[
      {
         "tree":{
            "feature_names":[],
            "tree_structure":[
               {
                  "decision_type":"lte",
                  "node_index":0,
                  "leaf_value":47.64069875778043,
                  "default_left":false
               }
            ],
            "target_type":"regression"
         }
      },
      ...
   ],
   "aggregate_output":{
      "weighted_sum":{
         "weights":[
            ...
         ]
      }
   },
   "target_type":"regression"
}

聚合输出示例编辑

logistic_regression 对象的示例

"aggregate_output" : {
  "logistic_regression" : {
    "weights" : [2.0, 1.0, .5, -1.0, 5.0, 1.0, 1.0]
  }
}

weighted_sum 对象的示例

"aggregate_output" : {
  "weighted_sum" : {
    "weights" : [1.0, -1.0, .5, 1.0, 5.0]
  }
}

weighted_mode 对象的示例

"aggregate_output" : {
  "weighted_mode" : {
    "weights" : [1.0, 1.0, 1.0, 1.0, 1.0]
  }
}

exponent 对象的示例

"aggregate_output" : {
  "exponent" : {
    "weights" : [1.0, 1.0, 1.0, 1.0, 1.0]
  }
}

训练模型 JSON 模式编辑

有关训练模型的完整 JSON 模式,请单击此处