Как использовать пользовательский токенизатор в предварительно обученной модели «Обнимающее лицо» для обобщения текста?

#machine-learning #nlp #huggingface-transformers #summarization #huggingface-tokenizers

Вопрос:

Мне нужно сделать цикл for для запуска моделей суммирования текста, поскольку у них есть максимальный предел ввода для использования суммирования текста huggingface transformers .

Чтобы выполнить цикл for и получить его диапазон, мне нужно передать маркированные входные данные в модель и предотвратить повторную маркировку внутри конвейера.

вот фрагмент кода:

 summarizer = transformers.pipeline("summarization", model = 't5-small', tokenizer = 't5-small')

tokenized_text = summarizer.tokenizer(text)

 

Мне нужно повторить этот токенизированный текст.

Если я передам кусочки tokenizer_text в summarizer , он снова получит токенизатор. Моя цель-не допустить, чтобы это произошло во второй раз.

Комментарии:

1. Я предполагаю, что вы маркируете свой текст, чтобы найти 510-й токен?

2. не конкретное число. больше похоже на переменное число, которое является максимальной длиной токенизатора. так что в цикле for я могу вставить больше входных данных, чем токенизатор может обработать за один раз. Кроме того, токенизаторы предназначены для замены, поэтому их tokenizer.max_length принимают за переменную.

3. Afaik, не реализована простая функциональность, позволяющая это сделать. Вы можете либо унаследовать SummarizationPipeline и переопределить некоторые из его функций, либо разделить текст ранее.

4. Не могли бы вы, пожалуйста, подробнее рассказать об этом коде ? Или поделиться какими-то ресурсами?

5. Пожалуйста, вы нашли решение своей проблемы или еще нет?