Вопросы

Как извлечь индексы ввода-вывода позиции из текстового токенизатора huggingface transformer?

Я хочу решить задачу прогнозирования стресса с предварительно обученным русским бертом.

Входные данные выглядят так:

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

Нули означают отсутствие стресса. Единицы представляют характер стрессовой позиции.

Я хочу отобразить его как слово -> индекс числа гласных

Так будет вроде граммов -> 1 сверху -> 1

Итак, для каждого токена это должен быть линейный слой с softmax.

Я понимаю эту часть, но мне сложно иметь дело с предварительной обработкой текста, потому что текстовый токенизатор может разбить слово на токены подслов.

Токенизатор принимает входную строку и возвращает такие токены

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]']

Но я не уверен, как использовать исходную строку и индексы напряжения для вычисления номера позиции напряжения для токена.

Читать:
Прогнозирование выживших на Титанике с помощью модели классификатора случайного леса

Похожие записи

Укажите connection_factory для create_engine () SQLAlchemy

admin

Заводская функция, возвращающая объект определенного типа — как это сделать лучше

admin

Достигнут предел GitHub Git-LFS

admin

Указатели на шаблонный класс

admin

как использовать команды cmd для двух разных учетных записей

admin

Небольшие значения на аллювиальном графике, когда уменьшение размера шрифта не является решением

admin