Я хотел бы выполнять несколько контролируемых задач двоичной классификации с предложениями, и я использовал spaCy из-за его простоты использования. Я использовал spaCy для преобразования текста в векторы, а затем отправил векторы в модель машинного обучения (например, XGBoost) для выполнения классификации. Однако результаты не были очень удовлетворительными.
В spaCy легко загрузить модель (например, BERT / Roberta / X LNet) для преобразования слов / предложений в nlp объекты. Однако прямой вызов вектора объекта приведет к по умолчанию к среднему значению векторов токенов.
Вот два вопроса:
1) Можем ли мы сделать лучше, чем просто получить среднее значение векторов лексем, например, имея векторы предложений с учетом контекста / порядка с помощью spaCy? Например, можем ли мы извлечь вложение предложения из предыдущего уровня преобразователя BERT вместо конечных векторов токенов в spaCy?
2) Было бы лучше напрямую использовать spaCy для обучения последующей задачи двоичной классификации? Например, здесь обсуждает , как добавить текстовый классификатор в модель spaCy. Или вообще лучше применять более мощные модели машинного обучения, такие как XGBoost?
Заранее спасибо!