Я использую модель, состоящую из слоя встраивания и LSTM для выполнения маркировки последовательностей в pytorch + torchtext. Я уже обозначил предложения.
Если я использую самообучающиеся или другие предварительно обученные векторы встраивания слов, это просто.
Но если я использую преобразователи Huggingface BertTokenizer.from_pretrained
и BertModel.from_pretrained
, в начало и конец предложения добавляются токены '[CLS]'
и '[SEP]'
соответственно. Таким образом, выход модели становится последовательностью, которая на два элемента длиннее, чем последовательность метки / цели.
В чем я не уверен:
- Эти два тега необходимы для
BertModel
, чтобы "правильно" встраивать каждый токен предложения? - Если они необходимы, могу ли я вынуть их после слоя встраивания BERT, перед вводом в LSTM, чтобы длина на выходе была правильной?