可以,TensorFlow 提供了完整的 NLP 工具链,覆盖从文本预处理到建模、训练与部署的全流程。官方提供 KerasNLP(高级建模库,内置 BERT、FNet 等现代 Transformer 架构与可定制组件)与 TensorFlow Text(低层文本处理算子,如分词、正则匹配、n-gram、子词分词、字节偏移、图内预处理),并支持在 GPU/TPU 上高效训练与推理。
import keras_nlp
import tensorflow_datasets as tfds
# 加载数据
imdb_train, imdb_test = tfds.load(
"imdb_reviews", split=["train", "test"], as_supervised=True, batch_size=16
)
# 加载 BERT 分类器并微调
classifier = keras_nlp.models.BertClassifier.from_preset("bert_base_en_uncased")
classifier.fit(imdb_train, validation_data=imdb_test)
# 推理
classifier.predict(["What an amazing movie!", "A total waste of my time."])
import tensorflow as tf
import tensorflow_text as tf_text
def preprocess(vocab_lookup_table, example_text):
# 标准化
text = tf_text.normalize_utf8(example_text)
# 按空白分词
word_tokenizer = tf_text.WhitespaceTokenizer()
tokens = word_tokenizer.tokenize(text)
# 子词分词
subword_tokenizer = tf_text.WordpieceTokenizer(
vocab_lookup_table, token_out_type=tf.int64
)
subtokens = subword_tokenizer.tokenize(tokens).merge_dims(1, -1)
# 填充到固定长度
padded = tf_text.pad_model_inputs(subtokens, max_seq_length=16)
return padded
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。