tf.keras.layers.TextVectorization层介绍及自定义分词器

实现keras.textvectorization自由tf-idf篇 3.2.6、此时,你的一坨keras.text_vectorization东西,已经被fit(adapt)过了,那么它就具备了去对新的文本数据来转换成数学矩阵的能力了,此时,又有一点不同的,它没有transform的方法,而是本身充当了transform(就好比 A ,定义A,fit完A,预测的时候直接 A(预测内容) 来实现transform)是否很高级?首先第一步,你要满足于它的划分标准,比如它的split是根据“逗号”来分的,具体什么忘记了,是逗号还是空格来着; 阅读详情

首先上代码:

@tf.keras.utils.register_keras_serializable('my_package')
def mysplit(inputs):
    return tf.strings.split(inputs)
input3 = tf.keras.layers.Input(shape=(1,),name="string_test",dtype=tf.string)
my_string_lookup = tf.keras.layers.TextVectorization(vocabulary=["世界","你","good", "d"],split=mysplit)(input3)
model = tf.keras.Model(inputs=[input3], outputs=my_string_lookup)
model.save("mytest.h5")
my_model = tf.keras.models.load_model("mytest.h5")
print(my_model.predict(["世界 你 good ya"]))
  1. TextVectorization是相对于StringLookup更为复杂的文本处理层,除了支持StringLookup对词库的各种编码方式(indices、one-hot、tf-idf、count)外,还支持对构造词库和请求内容时的标准化、自动分词、去除标点服务、去重多余空格等处理。

  1. 其中标准化、自动分词都可以通过自定义方式进行处理,但是自定义的处理算子需要进行序列化装饰器进行装饰:tf.keras.utils.register_keras_serializable

下一篇文章会给大家介绍关于如何通过StringLookup或TextVectorization的indices方法进行快速的embedding:tf.nn.embedding_lookup

08-词嵌入(Word embeddings) 文章目录1. One-hot编码2. 用独一无二的数字编码每个单词3. 词嵌入4. 代码示例4.1 数据准备4.2 使用Embedding层4.3 文本预处理4.4 创建一个分类模型4.5 编译/训练模型 1. One-hot编码 这一部分,之前已在 01-Embedding层是什么?怎么理解?简单的评论情感分类实验 这篇文章中详细解释过。 2. 用独一无二的数字编码每个单词 我们可能尝试的第二种方法是使用独一无二的数字对每个单词进行编码。继续上面的例子,您可以将1赋给“cat”,2赋给“mat”,以 阅读详情

相关推荐

TensorFlow原生实现BoW与TF-IDF特征工程实战

Bag-of-Words(词袋模型)和TF-IDF是文本分类中最基础且关键的特征表示方法,其核心在于将离散文本映射为数值化、可计算的向量空间。原理上,BoW忽略词序仅统计词频,TF-IDF则通过逆文档频率抑制常见词、增强判别性词汇。这类传统特征在轻量级场景中仍具不可替代的技术价值:低延迟、高可解释、易监控,且能与深度模型(如BERT)高效融合。典型应用场景包括电商评论情感分析、客服工单自动归类、新闻标题分类等千万级工业系统。本文聚焦TensorFlow原生实现,深入稀疏张量构建、动态IDF平滑计算、Stat

weixin_34176694的博客 304

tf.keras.layers.TextVectorization 示例

将文本要素映射到整数序列的预处理图层。 将不同长度的文本,转换成相同长度的数组 import tensorflow as tf text_layer = tf.keras.layers.TextVectorization( max_tokens=5000, # 词汇表最大尺寸 output_mode='int', # 输出整数索引 ) # 创建 TextVectorization 层 print(text_layer) <keras.layers.preprocessing

weixin_44493841的博客 4538

TensorFlow文本预处理核心:Tokenizer与序列化实战指南

文本预处理是自然语言处理(NLP)任务的基础环节,其本质是将原始文本转化为模型可计算的整数序列。这一过程涉及分词(tokenization)、词汇表构建、OOV处理、序列填充(padding)与截断(truncating)等关键步骤,直接影响模型泛化能力与训练稳定性。在TensorFlow生态中,Tokenizer并非简单字符串切分,而是融合统计建模、空间压缩与可逆映射的工程组件;而sequencing则为张量运算统一shape,支撑RNN、LSTM及Transformer等架构的正确运行。本文聚焦生产级实

张沈鹏,在路上 ... 491

介绍自然语言处理(NLP)中的文本处理—TensorFlow

智能机器不仅能看到世界,还能理解我们并与我们交谈。​这一点也不夸张,其中虚拟助手互动,比如Siri、亚马逊Alexa和谷歌助手。在许多软件应用程序和网站上,我们与成千上万的聊天机器人进行互动。自然语言处理是一个跨学科的领域。它是计算机科学、机器学习和计算语言学的一个分支,涉及赋予计算机理解文本和人类语言的能力。NLP中常见的任务下面是一些可以用NLP完成的常见任务。文本分类情绪分析文本生成机器翻译语音识别文本到语音的转换光学字符识别自然语言处理的应用实例。

weixin_44733966的博客 1526

Python-面向文本分类的经典向量化方法实现与比较

Text vectorization tool to outperform TFIDF for classification tasks

从GEFCom到UCI:手把手教你构建电力负荷时空预测模型(Python版)

本文详细介绍了如何从GEFCom到UCI数据集构建电力负荷时空预测模型(Python版),涵盖数据集解析、时空特征工程、模型架构设计及工业部署优化。通过多任务图神经网络(MTGNN)实现高精度预测,并结合边缘计算和在线学习机制提升实际应用效果,为能源管理系统提供可靠解决方案。

lambda的博客 812

保姆级教程:手把手教你使用深度学习处理文本

大家好,今天给大家分享使用深度学习处理文本,更多技术干货,后面会陆续分享出来,感兴趣可以持续关注。

m0_59596937的博客 2254

从原理到实践:详解RGBD相机深度与彩色图像对齐(D2C)算法

本文深入解析了RGBD相机深度与彩色图像对齐(D2C)算法的原理与实现。针对自组装相机中深度图与彩色图不匹配的核心痛点,文章从相机模型、坐标系变换等数学基础讲起,剖析了传统点映射算法的缺陷,并重点介绍了高效的矩形区域映射算法。该算法通过将深度像素视为矩形区域进行映射,有效解决了空洞和遮挡问题,并附有可直接复用的C++代码与优化技巧,为三维重建、机器人视觉等应用奠定坚实基础。

weixin_28363123的博客 241

机器学习——文本预处理(基于TensorFlow)

文本预处理步骤 1. 标准化文本 对输入的文本进行统一的标准化,比如去掉文本中的HTML标签,或者去掉标点符号,或者大写转小写等,执行统一的标准化有助于后续的处理,比如分词。 下面对一段文本进行处理,去掉HTML标签,并将大写转为小写如下 标准化前:<p>I'm a boy, I like ML.</p> 标准化后:i'm a boy, i like ml. 2. 将文本切分成更小的单元(分词) 我们已经有了标准化后的句子了,但在将数据输入进神经网络模型之前,还需要做一些事情,即将

yasin的技术博客 3917

跟着Cell学单细胞转录组分析(五):单细胞转录组marker基因鉴定及细胞群注释

书接上回(跟着Cell学单细胞转录组分析(四):单细胞转录组测序UMAP降维聚类)。完成数据降维和细胞聚类后,最主要的环节和工作就是确定各个细胞群,明确是什么类型的细胞,正群的细胞定群很关键,涉及到整个研究,所以这一步宁愿多费时间,也不要出错。当然,这也不是一蹴而就的,需要反复的确认。 要确定各个群是什么细胞,首先需要了解细胞群的marker基因,因为不同类型的细胞突出 表达的基因也是不同的。这里使用FindAllMarkers鉴定各个细胞群的高表达基因。 DefaultAssay(scedata)

qq_42090739的博客 1万+

Altium Designer铺铜陷阱:为什么你的死铜总是清除不干净?

本文深入探讨Altium Designer中铺铜操作导致死铜无法清除的常见问题,分析死铜形成的五大诱因,并提供高级参数优化和网络连接性验证技巧。通过调整边界计算精度和泪滴算法设置,有效解决死铜残留问题,提升PCB设计质量与制造良率。

weixin_29169505的博客 359

中文影评分类的神经网络模型

本文旨在利用Tensorflow训练一个中文影评二分类神经网络

qq_57390446的博客 578

深入浅出SSD:固态存储核心技术、原理与实战(文末赠书)

作为经典畅销书的升级版,本书在第1版的基础上新增了大量新知识(如闪存、UFS、测试、文件系统等),并改写或删减了许多过时或不适用的内容,总修改量超过60%。本书由SSD技术社区SSDFans的核心团队成员联合业界、高校SSD方面的专家共同完成,相对于第1版,内容更全面、更新,也更有深度。本书从产品、技术和应用3个维度展开,全面、详细讲解了SSD的发展历史、产品形态、工作原理、整体架构,以及各个功能模块的原理和使用,从SSD的前端接口协议到FTL算法,再到后端的闪存和纠错,以及测试,本书都有涉及。

阿玥的小博客 3122

TensorFlow2.0学习

文章目录一、TensorFlow的建模流程1.1 结构化数据建模流程范例1.1.1 准备数据1.1.2 定义模型1.1.3 训练模型1.1.4 评估模型1.1.5 使用模型1.1.6 保存模型1.2 图片数据建模流程1.2.1 准备数据1.2.2 定义模型1.2.3 训练模型1.2.4 评估模型1.2.5 使用模型1.2.6 保存模型1.3 文本数据建模流程范例1.3.1 准备数据1.3.2 定义模型1.3.3 训练模型1.3.4 评估模型1.3.5 使用模型1.3.6 保存模型1.4 时间序列数据建模流程

Mr.gai的博客 533

I2C通信协议SCL与SDA引脚特性:核心要点总结

深入讲解I2C通信协议中SCL和SDA引脚的工作机制与电气特性,帮助理解i2c通信协议的稳定传输原理,掌握上拉电阻配置与信号时序控制要点。

weixin_42103128的博客 2730

三维点云孔洞修复(附Python代码和公共点云数据集链接)

(1)物体自身缺失(2)物体自身形状复杂,很多凹凸面不够规则甚至存在空腔,空腔内部无法被三维激光扫描仪扫描到(3)物体部分区域对激光扫描不敏感,未被扫描上(4)扫描仪的扫描稳定性。

yanghl1215的博客 6950

TensorFlow 文本数据处理

TensorFlow 文本数据处理指南 TensorFlow提供了强大的工具用于文本数据处理,支持自然语言处理(NLP)任务如分类、情感分析和机器翻译。核心工具包括: tf.data:构建高效数据管道。 Tokenizer 和 TextVectorization:分词与向量化。 TFRecord:存储大规模文本数据。 关键步骤: 加载数据:支持从内存、文本文件或TFRecord加载。 预处理:使用Tokenizer或TextVectorization分词并转为数值序列。 增强数据(可选):通过同义词替换等操

likuoelie的博客 675

大数据 DataX-Web 详细安装教程

大数据 DataX-Web 详细安装教程

GG Bond 的博客 1万+

TensorflowSimilarity学习笔记9

2021SC@SDUSC 代码位置:similarity/distances.py at master · tensorflow/similarity · GitHub @tf.keras.utils.register_keras_serializable(package="Similarity") class EuclideanDistance(Distance): """Compute pairwise euclidean distances between embeddings.

m0_59345023的博客 633

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

深度学习处理文本(2)

接下来,如果想将模型导出到生产环境中,你可能希望导出一个接收原始字符串作为入的模型(类似上面第二种用法的代码片段)​,否则,你需要在生产环境中(可能是JavaScript)重新实现文本标准化和词元化,可能会引入较小的预处理偏差,从而降低模型精度。对于编码为整数序列的文本,如果你需要将其转换回单词,那么这种方法很有用。你可以用无状态的方式来执行此操作,比如将每个词元哈希编码为一个固定的二进制向量,但在实践中,你需要建立训练数据中所有单词(​“词表”​)的索引,并为词表中的每个单词分配唯一整数,如下所示。

yyc的博客 963

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

中文评论情感分类——RNN模型

利用TensorFlow训练一个中文文本情感二分类的RNN模型,涉及了LSTM算法

qq_57390446的博客 2342

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

(Keras) 自定义subclass子类模型/层,序列化以及model.save(path)保存

针对自定义的subclass子类模型不能使用model.save()保存整个模型的问题,通过将模型序列化实现整个模型保存。序列化:keras将自定义层或模型序列化为JSON格式后,即可用model.save()保存整个模型结构。装饰器,使自定义层或模型可以序列化或反序列化。

qq_67566505的博客 928

Yolo v7的最简TensorFlow实现

基于Tensorflow来复现Yolo v7

3438

深度学习Keras保存模型(当包含自定义层时)

20210409 - 0.引言 一般来说,如果没有什么特殊情况,那么在进行保存模型的时候,通过调用一些api进行保存即可,在文章《深度学习的基础知识与问题汇总》简单介绍了一种方式,直接保存模型,并重新载入。 但是在今天的实验中,出现的需求就是,如果定义的模型中,包含了用户自定义的层就会报错,具体情况见[1],在保存模型的时候没有问题,但是载入时就会报错。 简单说明一下实验环境 python 3.6.8 tensorflow-gpu 2.3.1 Keras 2.4.3 1. 加载模型报错:未定义层 在[1]

围城 2252

keras训练出现IndexError: tuple index out of range

我报该错误是因为: triplet_loss = Lambda(self.cal_triplet_loss, name="triplet")(feature) sim_model.compile(optimizer=optimizer, loss={ "triplet": lambda y_true, y_pred: y_pred, "output": "sparse_categ

weixin_40779727的博客 2508

【keras】 实现递归神经网络

Keras是一个简单易用但功能强大的Python深度学习库。这个面向初学者的三篇系列文章为任何人提供了一种简单的方法来开始解决实际的机器学习问题。在深入研究两个流行的变体:递归神经网络(RNN)和卷积神经网络(CNN)之前,我们将为初学者介绍经典且完整的神经网络。 01 下载数据集 下载后会得到类似的一个结构数据 接着再安装tensorflow pip install tensorflow Tensorflow有一种非常简单的方式让我们读取数据集:text_datas...

gugu_best的博客 748
上一篇: tf-idf的原理及计算
下一篇: tensorflow serving 的相关知识
会发paper的学渣
博客等级 码龄15年 171粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会发paper的学渣

您的鼓励和将是我前进的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值