Использование косинусного сходства для классификации документов - PullRequest
1 голос
/ 11 июня 2019

У меня есть набор файлов для пяти различных категорий, и большинство из них помечены неправильно. Цель состоит в том, чтобы предсказать правильную категорию файла при загрузке того же самого. Я использовал косинусное сходство вместе с tf -idf, чтобы предсказатьКласс документа, с которым косинусное сходство является максимальным, на данный момент я получаю хорошие результаты, но на самом деле не уверен, насколько хорошо это будет работать в будущем.Кроме того, почему косинусное сходство не используется при построении классификаторов документов вместо моделей машинного обучения, когда категории файлов помечены правильно? Буду очень признателен за ваши отзывы о моем подходе и ответ на вопрос.

1 Ответ

0 голосов
/ 11 июня 2019

Косинусное сходство используется для расчета угла между двумя n-мерными векторами.Эти векторы в основном производятся встраиваниями.Это предварительно обученные модели, которые производят вложения слов или векторы фиксированного размера.

Косинусное сходство в основном используется с векторами, создаваемыми вложениями слов.Если вы используете что-то вроде Doc2Vec, то вы получите вектор для всего документа.Эти векторы можно классифицировать с помощью косинусного сходства.

В вашем случае вам следует попробовать классификатор текста LSTM, используя слои Embedding.Слои 1D Convolution также могут быть полезны.

Также, что касается TF-IDF, это полезно для классификации текста, которая зависит от определенных слов в корпусе.Слова с более высокой периодичностью и меньшей частотой документа имеют более высокую оценку TF-IDF.Модель учится классифицировать тексты на основе таких оценок.

В большинстве случаев RNN являются лучшими для классификации текстов.Использование предварительно обученных вложений делает модель эффективной.

Кроме того, вы можете попробовать байесовскую классификацию текста.Это было очень полезно при классификации спама.

Совет:

Вы можете реализовать вышеупомянутые методы друг с другом, создав систему классификации текста.Следуя такому процессу,

  1. Создание вложений из Doc2Vec.
  2. Сравнение схожести ввода с другими текстами и, таким образом, определение его класса.
  3. Использование встраивания всеть LSTM для получения вероятностей классов.
  4. Применить байесовскую классификацию текста.

Шаги 2, 3, 4 дают три предсказания.Если прогноз большинства был CLASS1, то мы можем сделать вывод системы как CLASS1!.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...