О чем это?
Это руководство по созданию простого веб-сервиса RESTful классификации по теме/предмету для заданного текстового контента с использованием различных подходов машинного обучения в Python.
Я реализовал два подхода к Python для решения этой проблемы. Для того, чтобы сравнить производительность, качество и точность.
Первый подход: техника Paragraph2Vec в библиотеке Gensim.
Второй подход: нейронная сеть (были реализованы как RNN / Bag-Of-Words, так и CNN) методы в библиотеке TensorFlow.
Вы можете найти то же самое, что было реализовано с использованием Java в этой статье.
Не стесняйтесь спрашивать что-нибудь в комментариях..
Кому это..
- если вы заинтересованы в разработке многоклассовой текстовой классификации как услуги.
- если вы хотите протестировать различные подходы к требованиям классификации текста.
- если вы хотите сделать классификатор текста в Python.
Для чего?
Чтобы классифицировать текстовый контент по определенному предмету / темам, используя контролируемое обучение.
Git-репозиторий
Подходит..
- использовал Paragraph2Vec в Gensim
- вы можете использовать класс gensim_doc2vec_trainer для обучения
- вы можете использовать класс test_doc2vec_model для прогнозов
Подход Рекуррентные нейронные сети (RNN)
- вы можете использовать класс test_tf_rnn_model или метод classifier_rnn.main для обучения
- вы можете использовать класс test_tf_rnn_model или метод classifier_rnn.classify для прогнозирования
Подход Сверточные нейронные сети (CNN)
- вы можете использовать класс test_tf_cnn_model или метод classifier_cnn.main для обучения
- вы можете использовать класс test_tf_cnn_model или метод classifier_cnn.classify для прогнозирования
Подход Doc2Vec с использованием регрессии — все еще в разработке.
Используется Flask в качестве уровня веб-API/сервиса.
Как подготовить данные (структурно)..
Предпосылки
- ТензорФлоу — 1.3
- Колба