Как представить текстовые документы как векторы признаков для классификации текста?

У меня около 10 000 текстовых документов.

Как представить их как объектные векторы, чтобы я мог использовать их для классификации текста?

Есть ли какой-либо инструмент, который автоматически отображает вектор-функцию?

Ответ 1

Самый простой подход - перейти к сумке слов. Вы представляете каждый документ как неупорядоченный набор слов.

Вероятно, вы захотите исключить пунктуацию, и вы можете игнорировать случай. Вы также можете удалить общие слова типа "и", "или" и ".".

Чтобы адаптировать это в вектор функции, вы могли бы выбрать (скажем) 10 000 репрезентативных слов из вашего образца и иметь двоичный вектор v[i,j] = 1, если документ i содержит слово j и v[i,j] = 0 в противном случае.

Ответ 2

Чтобы дать действительно хороший ответ на этот вопрос, было бы полезно узнать, какую классификацию вы интересуете: на основе жанра, автора, чувства и т.д. Для стилистической классификации, например, важны функциональные слова, для классификации по содержанию они просто шумы и обычно отфильтровываются с использованием списка стоп-слов. Если вас интересует классификация по содержанию, вы можете использовать схему взвешивания, такую ​​как частота частоты/инверсная частота документа, (1), чтобы дать слова, которые являются типичными для документа и сравнительно редко встречаются во всей текстовой коллекции. вес. Это предполагает векторную пространственную модель ваших текстов, которая представляет собой мешок с текстовым представлением текста. (См. Википедию о Vector Space Modell и tf/idf) Обычно tf/idf дает лучшие результаты, чем двоичная схема классификации, которая содержит только информацию о существовании термина в документе.

Этот подход настолько установлен и распространен, что библиотеки машинного обучения, такие как Python scikit-learn, предлагают удобные методы, которые преобразуют текстовую коллекцию в матрицу, используя tf/idf в качестве схемы взвешивания.


Ответ 3

Взгляните на MonkeyLearn, вы можете легко создавать классификаторы текста, которые используют машинное обучение для изучения из текстовых образцов (документов), которые вы иметь. Он автоматически узнает представление векторного объекта. Вы также можете настроить, если вы хотите использовать n-граммы, выполнять фильтрацию в конце или в секундах.