0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TensorFlow再填新功能!谷歌宣布推出TensorFlow.Text

DPVg_AI_era 来源:lq 2019-06-15 09:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

谷歌发布TensorFlow优化新功能TF.Text库,可对语言文本AI模型进行周期性预处理,大大节约了AI开发者对文本模型的训练时间,简化训练流程。

TensorFlow再填新功能!

谷歌宣布推出TensorFlow.Text,这是一个利用TensorFlow对语言文本模型进行预处理的库。TF官博第一时间发布了更新消息,并对TF.Text的新功能和特性进行了简要介绍。

TensorFlow一直以来致力于为用户提供更广泛的选择,帮助用户利用图像和视频数据构建模型。但是,许多模型是以文本开头的,从这些模型构建的语言模型需要进行一些预处理,才能将文本输入到模型中。比如关于使用IMDB数据集的文本分类教程,就是从已经转换为整数ID的文本数据开始入手的。

如果模型训练和推理的时间不一样,在训练过程以外完成的预处理可能会和模型产生偏差,这就需要额外投入更多的时间和精力对预处理的过程进行协调。

TensorFlow本次推出的TF.Text就是为了解决这个问题,TF.Text是一个TensorFlow 2.0库,可以使用PIP命令轻松安装。它可以在基于文本的模型中定期执行这些预处理过程,并提供TensorFlow核心组件中并未提供的、关于语言建模的更多功能和操作。

其中最常见的功能就是文本的词条化(tokenization)。词条化是将字符串分解为token的过程。这些token可能是单词、数字和标点符号,或是上述几种元素的组合。

TF.Text的Tokenizer使用RaggedTensors,这是一种用于识别文本的新型张量。

三个新的Tokenizer,系统解决文本AI模型预训练问题

TF.Text提供了三个新的tokenizer。其中最基本的是空白tokenizer,可以在ICU定义的空白字符(例如空格,制表符,换行符)上拆分UTF-8字符串。

tokenizer=tensorflow_text.WhitespaceTokenizer()tokens = tokenizer.tokenize(['everything not saved will be lost.', u'Sad☹'.encode('UTF-8')])print(tokens.to_list())

[['everything', 'not', 'saved', 'will', 'be', 'lost.'], ['Sadxe2x98xb9']]

此次发布的初始版本还包括一个面向unicode脚本的tokenizer,可以根据Unicode脚本边界拆分UTF-8字符串。值得注意的是,它和空白tokenizer很类似,最明显的区别在于后者可以从标准文本(如USCRIPT_LATIN,USCRIPT_CYRILLIC等)中分割出标点符号。

tokenizer = tensorflow_text.UnicodeScriptTokenizer()tokens = tokenizer.tokenize(['everything not saved will be lost.', u'Sad☹'.encode('UTF-8')])print(tokens.to_list())

[['everything', 'not', 'saved', 'will', 'be', 'lost', '.'], ['Sad', 'xe2x98xb9']]

TF.Text中提供的最后一个tokenizer是一个Wordpiece tokenizer。这是一个无监督的tokenizer,需要一个预先确定的词汇表,进一步将token分成子词(前缀和后缀)。Wordpiece常用于谷歌的BERT模型。

def_CreateTable(vocab,num_oov=1): init = tf.lookup.KeyValueTensorInitializer( vocab, tf.range(tf.size(vocab, out_type=tf.int64), dtype=tf.int64), key_dtype=tf.string, value_dtype=tf.int64) return tf.lookup.StaticVocabularyTable( init, num_oov, lookup_key_dtype=tf.string)vocab_table = _CreateTable(["great", "they", "the", "##'", "##re", "##est"])tokens = [["they're", "the", "greatest"]]tokenizer = tensorflow_text.WordpieceTokenizer( vocab_table, token_out_type=tf.string)result = tokenizer.tokenize(tokens)print(result.to_list())

[[['they', "##'", '##re'], ['the'], ['great', '##est']]]

每个Tokenizer都在UTF-8编码的字符串上进行标记,并提供了将字节偏移量转换为原始字符串的选项。调用者可以了解创建的token的原始字符串中的字节对齐。

此外,TF.Text库还包括归一化、n-gram和标记序列约束等功能。

新功能组件密集发布,TensorFlow大家庭日益完善

有关更深入的实例,可以查看Colab notebook内容,其中包含许多本文中未讨论的新的可用操作的各种代码段。未来计划继续提供更多新工具,让使用TensorFlow构建语言模型变得更加方便。

今年上半年,谷歌陆续发布了多个基于TensorFlow的新功能和新组件。5月,谷歌发布TensorFlow Graphics,让机器学习与图形和3D模型的关系更加密切。今年3月,谷歌发布旨在增强隐私保护的终端设备机器学习方法TensorFlow Federated。此外,TensorFlow框架面向JavaScript和iOS开发者的版本TensorFlow.js和TensorFlow Swift也于今年春天发布。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
    +关注

    关注

    27

    文章

    6259

    浏览量

    111978
  • 模型
    +关注

    关注

    1

    文章

    3818

    浏览量

    52268
  • tensorflow
    +关注

    关注

    13

    文章

    336

    浏览量

    62372

原文标题:TensorFlow官宣新功能TF.Text:攻克语言AI模型预处理偏差难题

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    eIQ 工具包在 Ubuntu 22.04 中不起作用怎么解决?

    ] 2025-08-01 09:36:35.161826: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow
    发表于 04-22 06:54

    在 NPU 上运行了 eIQ TensorFlow Lite 示例模型报错

    我们已经在 NPU 上运行了 eIQ TensorFlow Lite 示例模型,但它们失败并出现以下错误: 信息:加载的模型 mobilenet_v1_1.0_224_quant.tflite
    发表于 03-18 06:52

    谷歌评论卡,碰一碰即可完成谷歌评论 #谷歌评论卡 #NFC标签 #nfc卡

    谷歌
    深圳市融智兴科技有限公司
    发布于 :2026年01月15日 17:02:00

    如何在TensorFlow Lite Micro中添加自定义操作符(1)

    相信大家在部署嵌入式端的AI应用时,一定使用过TensorFlow Lite Micro,以下简称TFLm。TFLm 是专为微控制器和嵌入式设备设计的轻量级机器学习推理框架,它通过模块化的操作符系统
    的头像 发表于 12-26 10:34 5767次阅读

    VIAVI Xgig 5P16推出新功能,完善PCIe5.0测试需求

    VIAVI Xgig 5P16推出新功能,完善了PCIe5.0测试需求。Xgig 5P16分析仪/协议训练器提供16通道全速数据捕获和错误注入,可对PCIe协议进行详细的功能和性能分析。
    的头像 发表于 12-17 16:25 470次阅读
    VIAVI Xgig 5P16<b class='flag-5'>推出</b>全<b class='flag-5'>新功能</b>,完善PCIe5.0测试需求

    Amazon Connect发布多项Agentic AI新功能 打造无缝客户体验

    亚马逊云科技在2025 re:Invent全球大会上,宣布Amazon Connect推出多项Agentic AI新功能,覆盖四大领域:可在语音与数字渠道自主执行操作的自动化AI Agent;可
    的头像 发表于 12-05 15:51 609次阅读

    芯原与谷歌联合推出开源Coral NPU IP

    芯原股份近日宣布谷歌联合推出面向始终在线、超低能耗端侧大语言模型应用的Coral NPU IP。
    的头像 发表于 11-13 11:24 1266次阅读
    芯原与<b class='flag-5'>谷歌</b>联合<b class='flag-5'>推出</b>开源Coral NPU IP

    KiCad 10 会有哪些新功能(二)?

    “   明年正式发布前会不定期更新 KiCad 10 的新功能,有兴趣的小伙伴可以下载 nightly 尝鲜。  ”   后退键依次删除线段 即使不是在布线的状态下,后退键(backspace)也
    的头像 发表于 09-24 11:16 1618次阅读
    KiCad 10 会有哪些<b class='flag-5'>新功能</b>(二)?

    【上海晶珩睿莓1开发板试用体验】将TensorFlow-Lite物体归类(classify)的输出图片移植到LVGL9.3界面中

    既然调通了TensorFlow-Lite物体归类(classify)和LVGL9.3代码,那么把这两个东西结合起来也是没问题的,需要注意的是,TensorFlow-Lite是C++代码,而
    发表于 09-21 00:39

    【上海晶珩睿莓1开发板试用体验】TensorFlow-Lite物体归类(classify)

    目前尚未得知睿莓1开发板上面有NPU或者DPU之类的额外处理器,因此使用树莓派系列使用最广泛的TensorFlow-Lite库进行物体归类,使用CPU运行代码,因此占用的是CPU的算力。在
    发表于 09-12 22:43

    蔡司软件 | ZEISS CALYPSO在航空航天行业的实用新功能

    蔡司软件 | ZEISS CALYPSO在航空航天行业的实用新功能
    的头像 发表于 08-08 15:37 1034次阅读
    蔡司软件 | ZEISS CALYPSO在航空航天行业的实用<b class='flag-5'>新功能</b>

    API如何加速电商新功能上线

    ​ 在电子商务领域,竞争日益激烈,用户需求变化迅速。企业必须快速推出新功能,如个性化推荐、实时库存更新或无缝支付体验,以保持竞争力。传统开发模式往往耗时费力,但通过应用编程接口(API),电商企业能
    的头像 发表于 07-18 10:21 604次阅读
    API如何加速电商<b class='flag-5'>新功能</b>上线

    无法将Tensorflow Lite模型转换为OpenVINO™格式怎么处理?

    Tensorflow Lite 模型转换为 OpenVINO™ 格式。 遇到的错误: FrontEnd API failed with OpConversionFailure:No translator found for TFLite_Detection_PostProcess node.
    发表于 06-25 08:27

    【HarmonyOS 5】应用更新功能详解

    与迭代需求的优选方案。这类弹窗主要用于向用户推送新版本更新通知,而在引导用户完成更新操作的实现层面,HarmonyOS 提供了完善的应用市场能力支撑,例如本文所介绍的 updateManager(更新功能
    发表于 06-22 18:44

    信捷电气XDPPro V3.8.0版本的五大创新功能

    作为信捷XD、XL、XG系列PLC的编程软件,XDPPro始终以工程师的需求为核心,聚焦编程效率、硬件配置与协作体验,此次V3.8.0版本将推出五大创新功能,助您轻松应对复杂工程挑战。
    的头像 发表于 05-23 16:03 2049次阅读
    信捷电气XDPPro V3.8.0版本的五大创<b class='flag-5'>新功能</b>