Я планирую использовать классификатор линейных опорных векторов (SVM) Scikit для классификации текста в корпусе, состоящем из 1 миллиона помеченных документов. Я планирую сделать следующее: когда пользователь вводит какое-либо ключевое слово, классификатор сначала классифицирует его по категории, а затем в документах этой категории будет выполняться последующий запрос на получение информации. У меня есть несколько вопросов:
- Как я могу подтвердить, что классификация не займет много времени? Я не хочу, чтобы пользователям приходилось тратить время на ожидание окончания классификации, чтобы получить лучшие результаты.
- Подходит ли для этого использование библиотеки Scikit Python для веб-сайтов / веб-приложений?
- Кто-нибудь знает, как amazon или flipkart выполняют классификацию пользовательских запросов, или они используют совершенно другую логику?
Ответы:
Единственный надежный способ узнать, сколько времени это займет, - это кодировать его и дать ему шанс. Обучение займет больше времени, затем вы можете сохранить свою модель (рассол) для последующего использования.
источник
Я не вижу здесь огромной проблемы. Итак, я постараюсь ответить на все ваши вопросы с точки зрения уровня производства:
Возьмите подмножество имеющихся у вас данных корпуса (вы можете сделать это произвольно, без необходимости выборки), и протестируйте ваш алгоритм на нем, и они аппроксимируют / обобщают его для всего набора данных.
(SVM сравнительно быстрее. Тем не менее, для большей уверенности выполните описанный выше процесс.)
И сделайте это в среде разработки, прежде чем приступить к работе.
Да , это так. Это уже используется хорошей группой компаний там.
На третий вопрос об Amazon и Flipkart никто не может ответить за пределами своих команд.
Кроме того, я бы посоветовал вам использовать методы mapreduce для обучения ваших моделей. И, как уже советовали, протравите свои модели, чтобы вам не приходилось тренировать их при каждом запросе.
источник