Как представить текстовые документы в качестве векторов признаков для классификации текста? - PullRequest
11 голосов
/ 14 февраля 2012

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

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

Есть ли какой-либо инструмент, который выполняет представление векторов объектовавтоматически

Ответы [ 3 ]

8 голосов
/ 14 февраля 2012

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

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

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

3 голосов
/ 11 марта 2015

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

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


2 голосов
/ 18 февраля 2015

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

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