【问题标题】:About get_special_tokens_mask in huggingface-transformers关于 huggingface-transformers 中的 get_special_tokens_mask
【发布时间】:2020-08-25 16:13:20
【问题描述】:

我使用转换器标记器,并使用 API 创建掩码:get_special_tokens_mask。
My Code

RoBERTa Doc 中,此 API 的返回是“[0, 1] 范围内的整数列表:0 表示特殊标记,1 表示序列标记”。但我似乎这个 API 返回“0 表示序列标记,1 表示特殊标记”。
没事吧?

【问题讨论】:

  • 您使用的是哪个版本的分词器?另外,请附上您的问题的minimal reproducible example,它解释了问题没有任何外部代码源。

标签: tokenize huggingface-transformers


【解决方案1】:

你确实是对的。我对变形金刚 2.7 和(在撰写本文时)当前版本的 2.9 进行了测试,在这两种情况下,我都得到了反转的结果(0 用于常规字符,1 用于特殊字符。

作为参考,我是这样测试的:

import transformers

tokenizer = transformers.AutoTokenizer.from_pretrained("roberta-base")
sentence = "This is a special sentence."

encoded_sentence = tokenizer.encode(sentence)
# [0, 152, 16, 10, 780, 3645, 4, 2]
special_masks = tokenizer.get_special_tokens_mask(encoded_sentence)
# [1, 0, 0, 0, 0, 0, 0, 0, 0, 1]

我建议你在their repository 报告这个问题,或者最好自己提供一个拉取请求来解决这个问题;-)

【讨论】:

  • 感谢您的回答。我会报告这个问题。
猜你喜欢
  • 1970-01-01
  • 2021-10-25
  • 2020-12-19
  • 2020-08-02
  • 2021-09-29
  • 2020-08-03
  • 2020-11-23
  • 2020-10-25
  • 2019-12-06
相关资源
最近更新 更多