了解 gpt-2 如何标记字符串
Posted
技术标签:
【中文标题】了解 gpt-2 如何标记字符串【英文标题】:Understanding how gpt-2 tokenizes the strings 【发布时间】:2021-07-21 18:25:09 【问题描述】:使用教程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"])
我之所以这样问,是因为有时我认为如果该词不在其字典中(即来自另一种语言的词),它会分隔一个词。所以我想在我的代码中检查一下。
【问题讨论】:
价值观是什么意思?您是否正在寻找从last_hidden_state
到每个(未标记的)单词的映射?
【参考方案1】:
您可以在分词器的输出上调用 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']
【讨论】:
以上是关于了解 gpt-2 如何标记字符串的主要内容,如果未能解决你的问题,请参考以下文章