将拥抱面标记映射到原始输入文本
Mapping huggingface tokens to original input text
如何将从 huggingface DistilBertTokenizer
获得的标记映射到输入文本的位置?
例如I have a new GPU
-> ["i", "have", "a", "new", "gp", "##u"]
-> [(0, 1), (2, 6), ...]
我对此很感兴趣,因为假设我为每个标记分配了一些注意力值,我想显示它实际上对应于原始文本的哪一部分,因为标记化版本不是非 ML 人友好。
我还没有找到任何解决方案,尤其是当有 [UNK]
令牌时。任何见解将不胜感激。谢谢!
在较新版本的 Transformers 中(似乎是从 2.8 开始的),调用分词器 returns 一个 class BatchEncoding
when methods __call__
, encode_plus
and batch_encode_plus
are used. You can use method token_to_chars
的对象,它接受批处理中的索引和 returns 字符跨越原始字符串。
如何将从 huggingface DistilBertTokenizer
获得的标记映射到输入文本的位置?
例如I have a new GPU
-> ["i", "have", "a", "new", "gp", "##u"]
-> [(0, 1), (2, 6), ...]
我对此很感兴趣,因为假设我为每个标记分配了一些注意力值,我想显示它实际上对应于原始文本的哪一部分,因为标记化版本不是非 ML 人友好。
我还没有找到任何解决方案,尤其是当有 [UNK]
令牌时。任何见解将不胜感激。谢谢!
在较新版本的 Transformers 中(似乎是从 2.8 开始的),调用分词器 returns 一个 class BatchEncoding
when methods __call__
, encode_plus
and batch_encode_plus
are used. You can use method token_to_chars
的对象,它接受批处理中的索引和 returns 字符跨越原始字符串。