Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 识别通过拥抱面部管道填充蒙版拾取的单词_Python_Neural Network_Nlp_Huggingface Transformers - Fatal编程技术网

Python 识别通过拥抱面部管道填充蒙版拾取的单词

Python 识别通过拥抱面部管道填充蒙版拾取的单词,python,neural-network,nlp,huggingface-transformers,Python,Neural Network,Nlp,Huggingface Transformers,我想使用hugging face的填充掩码管道来猜测一个蒙面标记,然后将猜测的标记提取为一个单词。此代码应执行以下操作: !pip install -q transformers model = pipeline('fill-mask') outcome = model("Kubernetes is a container orchestration <mask>")[0] #Prints: "Kubernetes is a container orchestration plat

我想使用hugging face的填充掩码管道来猜测一个蒙面标记,然后将猜测的标记提取为一个单词。此代码应执行以下操作:

!pip install -q transformers
model = pipeline('fill-mask')
outcome = model("Kubernetes is a container orchestration <mask>")[0]

#Prints: "Kubernetes is a container orchestration platform" 
print(outcome['sequence']) 

token = outcome['token'] 

#Prints: 1761
print(token)

#Prints: Ġplatform 
print(model.tokenizer.convert_ids_to_tokens(token))
!pip安装-q变压器
模型=管道(“填充掩模”)
结果=模型(“Kubernetes是一个容器编排”)[0]
#打印:“Kubernetes是一个容器编排平台”
打印(结果['sequence'])
令牌=结果['token']
#印刷品:1761
打印(令牌)
#印刷品:Ġ平台
打印(model.tokenizer.convert_id_to_tokens(token))

但我发现它返回给我的是
“Ġplatform”
,而不是
“platform”
——有人知道这是为什么或者会发生什么吗?

这只是底层模型的一个特性(请参阅检查这是
distilroberta base

具体来说,提炼模型使用与“教师模型”(本例中为RoBERTa)相同的标记器。反过来,RoBERTa有一个令牌化器,它在没有任何形式的空白的情况下严格工作,另请参见OpenAI的GPT-2模型,该模型使用相同的令牌化策略(请参见)

特别是,您可以注意到,表示新词开头的unicode字符总是相同的
\u0120
。相比之下,由多个子词组成的词对于后面的子词将没有这样的起始字符

也就是说,
complexion
将被分成两个虚构的子词
Ġcompli
阳离子

因此,如果
Ġ
出现在word中,您可以简单地删除它