Hugging Face推出了分词器

原文链接:https://medium.com/dair-ai/hugging-face-introduces-tokenizers-d792482db360

去年对于自然语言处理(NLP)来说是巨大的。就改进而言,现在可以通过使用优化的库和高性能硬件来更快地实现神经网络。但是,基于深度学习的现代NLP管道中的瓶颈之一是tokenization,尤其是通用性强且独立于框架的实现。

为了提供对现代NLP管道良好配合的快速,最先进且易于使用的令牌化的访问Hugging Face贡献者已开发并开源了Tokenizers.。顾名思义,令牌生成器是当今使用最广泛的令牌生成器的一种实现,着重于性能 多功能性

tokenizer的实现由以下流程管道组成,每个流程对文本信息应用不同的转换:

正规化第一归一化的文字,其结果被馈送到PreTokenizer它负责通过分裂文本应用简单的标记化到使用空格其不同的字的元素。该模型对应于实际的算法,例如BPEWordPieceSentencePiece,它们自己执行标记化。该后处理则需要合并了需要被添加到最终输出的任何其他有用信息的护理编码,然后将其随时可以使用,并送入,也就是说,一个语言模型进行训练。

这看起来像是典型的令牌化管道,确实有很多快速而出色的解决方案,例如SentencePiecefast-BPEYouTokenToMe。但是,Tokenizers真正的亮点在于以下关键领域:

  • 性能(“在不到20秒的时间内对服务器CPU上的GB文本进行标记化”)
  • 提供用于研究和生产用例的最新令牌生成器 BPE /字节级-BPE / WordPiece / SentencePiece… 
  • 旨在实现易用性和多功能性
  • 使用对齐跟踪提供与令牌相对应的原始文本的可重复性
  • 应用预处理最佳实践,例如截断,填充等。

用法

标记器是用Rust实现的,并且存在NodePython的绑定。计划将来增加对更多语言的支持。要开始使用Tokenizer,您可以使用以下任何选项进行安装:

以下是有关如何对Tokenizer使用Python绑定的代码快照:

您可以使用预先训练的标记器,也可以训练自己的标记器。当前开箱即用的当前Tokenizer是BPETokenizerByteLevelBPETokenizerSentencePieceBPETokenizerBertWordPieceTokenizer。您可以在官方文档中阅读更多内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hugging Face是一个开源的自然语言处理(NLP)模型和数据集的平台。它提供了一个丰富的NLP模型和数据集的库,使得开发者可以轻松地使用和部署这些模型和数据集。Hugging Face的目标是使NLP模型的开发和使用更加简单和高效。 Hugging Face平台提供了各种各样的预训练模型,包括文本分类、命名实体识别、情感分析等任务的模型。这些模型可以直接用于各种NLP任务,也可以通过微调进行定制化。此外,Hugging Face还提供了大量的数据集,用于训练和评估NLP模型。 使用Hugging Face,开发者可以通过简单的Python代码来加载和使用预训练模型,进行文本处理、生成和翻译等任务。Hugging Face还提供了一些方便的工具和API,使得模型的部署和使用更加便捷。 下面是一个使用Hugging Face进行机器翻译的示例代码: ```python from transformers import MarianMTModel, MarianTokenizer # 加载预训练的机器翻译模型和分词器 model_name = 'Helsinki-NLP/opus-mt-en-zh' model = MarianMTModel.from_pretrained(model_name) tokenizer = MarianTokenizer.from_pretrained(model_name) # 输入待翻译的文本 text = "Hello, how are you?" # 使用分词器对文本进行分词 inputs = tokenizer.encode(text, return_tensors='pt') # 使用模型进行翻译 outputs = model.generate(inputs, max_length=128) # 解码翻译结果 translated_text = tokenizer.decode(outputs[0], skip_special_tokens=True) # 输出翻译结果 print(translated_text) ``` 这段代码使用了Hugging Face提供的`MarianMTModel`和`MarianTokenizer`来实现英文到中文的机器翻译。首先,我们加载了预训练的机器翻译模型和分词器。然后,我们输入待翻译的文本,并使用分词器对文本进行分词。接下来,我们使用模型进行翻译,并解码翻译结果。最后,我们输出翻译结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值