<commit_before><!--* freshness: { owner: 'akhorlin' reviewed: '2022-05-22' } *-->

# 文本任务的通用 SavedModel API

本页面介绍用于文本相关任务的 [TF2 SavedModel](../tf2_saved_model.md) 应当如何实现[可重用的 SavedModel API](../reusable_saved_models.md)。（这会替换现已弃用的 [TF1 Hub 格式](../common_signatures/text.md)的[通用文本签名](../tf1_hub_module)。）

## 概述

有几个 API 可用于计算**文本嵌入向量**（也称为文本的密集表示或文本特征向量）。

- *来自文本输入的文本嵌入向量*的 API 由可将一批字符串映射到一批嵌入向量的 SavedModel 实现。此 API 非常易用，TF Hub 上的许多模型都已实现它。但是，此 API 不允许在 TPU 上微调模型。

- *包含预处理输入的文本嵌入向量*的 API 可解决相同的任务，但它由两个单独的 SavedModel 实现：

    - 一个*预处理程序*，可以在 tf.data 输入流水线中运行并将字符串和其他可变长度数据转换为数值张量，
    - 一个*编码器*，接受预处理程序的结果并执行嵌入向量计算的可训练部分。

    这种拆分允许在馈送到训练循环之前对输入进行异步预处理。特别是，它允许构建可在 [TPU](https://www.tensorflow.org/guide/tpu) 上运行和微调的编码器。

- *包含 Transformer 编码器的文本嵌入向量*的 API 可将预处理输入中文本嵌入向量的 API 扩展为 BERT 和其他 Transformer 编码器的特殊情况。<commit_msg>Translate text.md via GitLocalize<commit_after><!--* freshness: { owner: 'akhorlin' reviewed: '2022-05-22' } *-->

# 文本任务的通用 SavedModel API

本页面介绍用于文本相关任务的 [TF2 SavedModel](../tf2_saved_model.md) 应当如何实现[可重用的 SavedModel API](../reusable_saved_models.md)。（这会替换现已弃用的 [TF1 Hub 格式](../common_signatures/text.md)的[通用文本签名](../tf1_hub_module)。）

## 概述

有几个 API 可用于计算**文本嵌入向量**（也称为文本的密集表示或文本特征向量）。

- *来自文本输入的文本嵌入向量*的 API 由可将一批字符串映射到一批嵌入向量的 SavedModel 实现。此 API 非常易用，TF Hub 上的许多模型都已实现它。但是，此 API 不允许在 TPU 上微调模型。

- *包含预处理输入的文本嵌入向量*的 API 可解决相同的任务，但它由两个单独的 SavedModel 实现：

    - 一个*预处理程序*，可以在 tf.data 输入流水线中运行并将字符串和其他可变长度数据转换为数值张量，
    - an *encoder* that accepts the results of the preprocessor and performs the trainable part of the embedding computation.

    这种拆分允许在馈送到训练循环之前对输入进行异步预处理。特别是，它允许构建可在 [TPU](https://www.tensorflow.org/guide/tpu) 上运行和微调的编码器。

- *包含 Transformer 编码器的文本嵌入向量*的 API 可将预处理输入中文本嵌入向量的 API 扩展为 BERT 和其他 Transformer 编码器的特殊情况。
{'fraction_non_alphanumeric': 0.12577903682719546, 'fraction_numerical': 0.013597733711048159, 'mean_word_length': 5.614232209737827, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '245453', 'n_tokens_mistral': 1130, 'n_tokens_neox': 1298, 'n_words': 135}