如何从huggingface transformer文本标记器中提取位置输入输出索引?

2024-05-05 09:48:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用经过训练的俄语解决压力预测任务

输入数据如下所示:

граммов сверху|000100000001000

零表示没有压力。代表应力位置特征

我想将其映射为word->;元音数索引

那就好像 аМааааа->;1. бббб->;一,

因此,对于每个令牌,它应该是具有softmax的线性层

我理解这一部分,但我很难处理文本预处理,因为文本标记器可以将一个单词拆分为子单词标记

Tokenizator接受一个输入字符串并返回如下标记

bert_tokenizer.encode('граммов сверху')
->
[101, 44505, 26656, 102]

那么,如何获得输入字符和单词之间的位置映射呢

所需的输出应该类似于[[0,7],[8,14]]

我试着读文件 https://huggingface.co/transformers/main_classes/tokenizer.html

并找到convert_id_to_tokens函数 它就像

encoded = bert_tokenizer.encode('граммов сверху')
bert_tokenizer.convert_ids_to_tokens(encoded)
->
['[CLS]', 'граммов', 'сверху', '[SEP]']

但我不知道如何使用原始字符串和应力指数来计算令牌的应力位置编号


Tags: to数据字符串标记文本gtconvert单词