Создание входных данных для моделирования BERT - мультиклассовая классификация текста

Я пытаюсь построить модель keras для классификации текста по 45 различным классам. Я немного запутался в подготовке моих данных для ввода, как того требует модель Google BERT.

Некоторые сообщения в блогах вставляют данные в виде набора данных tf с input_ids, идентификаторами сегментов и идентификаторами масок, как в это руководство, но в некоторых случаях используются только input_ids и маски, например в этом руководстве.

Также во втором руководстве отмечается, что ввод сегментной маски и маски внимания не является обязательным.

Может ли кто-нибудь объяснить, требуются ли эти двое для задачи мультиклассовой классификации?

Если это помогает, каждая строка моих данных может состоять из любого количества предложений в пределах абзаца разумного размера. Я хочу иметь возможность классифицировать каждый абзац / ввод по одной метке.

Кажется, я не могу найти много руководств / блогов об использовании BERT с Keras (Tensorflow 2) для решения проблемы с несколькими классами, действительно, многие из них предназначены для задач с несколькими метками.


person ML_Engine    schedule 09.04.2020    source источник


Ответы (1)


Думаю, еще слишком поздно отвечать, но у меня был тот же вопрос. Я просмотрел код huggingface и обнаружил, что если идентификаторы внимания_mask и segment_type равны None, то по умолчанию он обращает внимание на все токены, и всем сегментам присваивается идентификатор 0.

Если вы хотите проверить это, вы можете найти код здесь

Дайте мне знать, проясняет ли это это, или вы думаете иначе.

person Meet    schedule 18.02.2021