了解 gpt-2 如何标记字符串

Understanding how gpt-2 tokenizes the strings

使用教程here,我写了以下代码:

from transformers import GPT2Tokenizer, GPT2Model
import torch

tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
model = GPT2Model.from_pretrained('gpt2')

inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
outputs = model(**inputs)

last_hidden_states = outputs.last_hidden_state

所以我意识到“输入”由我句子的标记化项目组成。 但是我怎样才能获得标记化项目的价值呢? (参见示例 ["hello", ",", "my", "dog", "is", "cute"])

我问这个是因为有时我认为如果一个词不在它的字典中(即来自另一种语言的词),它会分离一个词。所以我想在我的代码中检查一下。

您可以在标记器的输出上调用 tokenizer.decode 以从给定索引下的词汇表中获取单词:

>>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
>>> list(map(tokenizer.decode, inputs.input_ids[0]))
['Hello', ',', ' my', ' dog', ' is', ' cute']