【HuggingFace】RoBERTa分词器RobertaTokenizer编码完整单词

简介: 在用RobertaTokenizer对单词进行分词的时候,发现单词acquire会被分词两个词根,但是RobertaForMaskedLM可以预测出来单词acquire。

问题描述


  在用RobertaTokenizer对单词进行分词的时候,发现单词acquire会被分词两个词根,但是RobertaForMaskedLM可以预测出来单词acquire


 下面的代码可以看到把单词acquire分词成了'ac''quire'

from transformers import AutoTokenizer, RobertaForMaskedLM
import torch
tokenizer = AutoTokenizer.from_pretrained("./@_PLMs/roberta/roberta-base")
model = RobertaForMaskedLM.from_pretrained("./@_PLMs/roberta/roberta-base")
inputs = tokenizer("acquire", return_tensors="pt")
# {'input_ids': tensor([[    0,  1043, 17446,     2]]), 'attention_mask': tensor([[1, 1, 1, 1]])}
tokenizer.decode([1043])
# 'ac'
tokenizer.decode([17446])
# 'quire'



  但是把它们放在一起解码的时候,就会合成一个单词:


tokenizer.decode([1043, 17446])
# 'acquire'



  RobertaForMaskedLM在预测的时候也可以预测合成词:



  观察上图,发现RobertaForMaskedLM给出的候选词前面全都有一个空格。所以如果我们想要编码一个完整的单词,需要在前面加个空格。


解决方案:在想要编码成完整的单词前面加个空格


 在想要编码成完整的单词前面加个空格:


tokenizer(" acquire", return_tensors="pt")
# {'input_ids': tensor([[   0, 6860,    2]]), 'attention_mask': tensor([[1, 1, 1]])}
相关文章
|
机器学习/深度学习 JSON 自然语言处理
bert中文文本摘要代码(2)
bert中文文本摘要代码(2)
334 0
|
2月前
|
机器学习/深度学习 自然语言处理 搜索推荐
预训练的词嵌入(Word Embedding)
预训练的词嵌入(Word Embedding)
112 2
|
机器学习/深度学习 算法 数据挖掘
CogLTX:应用BERT处理长文本
CogLTX:应用BERT处理长文本
780 0
CogLTX:应用BERT处理长文本
|
8月前
|
人工智能 语音技术
Bert-vits2新版本V2.1英文模型本地训练以及中英文混合推理(mix)
中英文混合输出是文本转语音(TTS)项目中很常见的需求场景,尤其在技术文章或者技术视频领域里,其中文文本中一定会夹杂着海量的英文单词,我们当然不希望AI口播只会念中文,Bert-vits2老版本(2.0以下版本)并不支持英文训练和推理,但更新了底模之后,V2.0以上版本支持了中英文混合推理(mix)模式。
Bert-vits2新版本V2.1英文模型本地训练以及中英文混合推理(mix)
|
存储 自然语言处理 PyTorch
bert中文文本摘要代码(1)
bert中文文本摘要代码(1)
147 0
|
存储 自然语言处理 并行计算
bert中文文本摘要代码(3)
bert中文文本摘要代码(3)
138 0
bert中文文本摘要代码(3)
|
机器学习/深度学习 自然语言处理 算法
GPT-3 vs Bert vs GloVe vs Word2vec 文本嵌入技术的性能对比测试
本文将GPT3与三种传统文本嵌入技术GloVe、Word2vec(Mikolov ,2013 年)和 BERT生成的嵌入进行性能的简单对比。
661 0
GPT-3 vs Bert vs GloVe vs Word2vec 文本嵌入技术的性能对比测试
|
自然语言处理 Python
基于ERNIE3.0的中文评论分类
基于ERNIE3.0的中文评论分类
377 0
基于ERNIE3.0的中文评论分类
|
机器学习/深度学习 JSON 达摩院
[使用ModelScope]只要5分钟,快速实现中文情感分类模型
本文介绍基于ModelScope,快速实现一个中文情感分类模型,只需不到5分钟,即可获得工业级优异表现的深度学习模型。
[使用ModelScope]只要5分钟,快速实现中文情感分类模型
|
机器学习/深度学习 自然语言处理 机器人
Soft-Masked BERT:文本纠错与BERT的最新结合
Soft-Masked BERT:文本纠错与BERT的最新结合