gpt4 book ai didi

python - 如何从 huggingface transformer text tokenizator 中提取位置输入输出索引?

转载 作者:行者123 更新时间:2023-12-04 15:28:15 25 4
gpt4 key购买 nike

我想用预训练的 russian bert 解决压力预测任务。

输入数据如下所示:

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

零意味着没有压力。个位代表重音位置字符。

我想把它映射为单词 -> 元音数字索引

所以会像格鲁姆姆奥夫 -> 1сверху -> 1

因此,对于每个标记,它应该是一个具有 softmax 的线性层。

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

Tokenizator 接受一个输入字符串并像这样返回标记

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

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

期望的输出应该像 [[0, 7], [8, 14]]

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

并找到convert_ids_to_tokens函数它的工作方式如下

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

但我不确定如何使用原始字符串和压力索引来计算 token 的压力位置数。

最佳答案

事实证明,tokenizer 有 return_offsets_mapping 参数,这解决了我的问题。

关于python - 如何从 huggingface transformer text tokenizator 中提取位置输入输出索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61821515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com