Например, у меня есть параграф, который я хочу классифицировать в двоичном виде. Но поскольку входные данные должны иметь фиксированную длину, я должен убедиться, что каждый абзац представлен одинаковым количеством.
Одна вещь, которую я сделал, взяла каждое слово в абзаце, векторизовала его, используя GloVe word2ve c, а затем суммировала все векторы, чтобы создать вектор «абзаца», который я затем кормил в качестве входа для моей модели. При этом я уничтожил какой-либо смысл, которым могли обладать слова? Учитывая, что у этих двух предложений будет один и тот же вектор: «Моя собака укусила Дейва» и «Дейв укусил мою собаку», как мне обойти это? Я подхожу к этому неправильно?
Как еще можно тренировать мою модель? Если я возьму каждое слово и добавлю его в свою модель, как я узнаю, сколько слов мне нужно взять? Как мне ввести эти слова? В форме двумерного массива, где каждое слово-вектор является столбцом?
Я хочу иметь возможность обучать модель, которая может точно классифицировать текст. Удивительно, но я получаю высокий (> 90%) для относительно простой модели, такой как RandomForestClassifier, просто используя этот метод суммирования. Есть идеи?
Редактировать: Одно из предложений, которое я получил, - вместо этого описать мои данные в виде двумерного массива, где каждое слово является столбцом, над которым мог бы работать CNN. Еще одно предложение, которое я получил, заключалось в том, чтобы использовать трансферное обучение через преобразователь обнимающего лица, чтобы получить вектор для всего абзаца. Какой из них более осуществим?