Скільки часу займає класифікатор scikit для класифікації?


10

Я планую використовувати класифікатор лінійної підтримуючої машини scikit (SVM) для класифікації тексту на корпусі, що складається з 1 мільйона мічених документів. Що я планую зробити, це коли користувач вводить якесь ключове слово, класифікатор спочатку класифікує його до категорії, а потім подається запит на отримання інформації в документах цієї категорії категорії. У мене є кілька питань:

  1. Як я підтверджую, що класифікація не займе багато часу? Я не хочу, щоб користувачі витрачали час на очікування закінчення класифікації, щоб отримати кращі результати.
  2. Чи для цього підходить бібліотека наукових програм Python для веб-сайтів / веб-додатків?
  3. Хтось знає, як Amazon або Flipkart виконують класифікацію за запитами користувачів, чи вони використовують зовсім іншу логіку?

Ви можете заздалегідь класифікувати всі ключові слова, а потім просто витягнути категорію з індексу.
ffriend

@ffriend здається відповіддю на запит на одне слово. Але якщо пошуковий запит складається з кількох слів .. або комбінацій слів .. я повинен створити індекс для всіх комбінацій !!!
користувач3498

1
SVC швидкий, тому якщо ви хочете використовувати його для класифікації запитів у програмі з помірним навантаженням, він спрацює. Але класифікація за одним (або навіть кількома словами) в більшості випадків є поганою ідеєю. Візьмемо, наприклад, неоднозначні слова: що робити, якщо якесь слово належить до 2 категорій з дуже малою різницею ймовірностей? Ви збираєтесь викинути з пошуку лише трохи менш вірогідну категорію? Те, що ви, ймовірно, хочете - це додатковий термін у формулі ранжування під час пошуку, зовсім не відкидаючи менш вірогідних категорій.
ffriend

Відповіді:


3

Єдиний надійний спосіб зрозуміти, скільки часу потрібно - це зашифрувати його та дати йому знімок. Навчання займе більше часу, тоді ви можете зберегти свою модель (соління) для використання пізніше.


3

Я не бачу тут великої проблеми. Отже, я б спробував відповісти на всі ваші запитання з точки зору виробництва:

Як я підтверджую, що класифікація не займе багато часу?

Візьміть підмножину корпусних даних, які у вас є (ви можете це робити випадковим чином, не потрібно вибирати вибірки) і протестуйте свій алгоритм на ньому, і вони наближають / узагальнюють його до загального набору даних.

(SVM порівняно швидше. Тим не менш, виконайте вищезазначений процес лише для впевненості.)

І протестуйте це в середовищі розробки, перш ніж підштовхувати до виробництва.

Чи для цього підходить бібліотека наукових програм Python для веб-сайтів / веб-додатків?

Так , так і є. Це вже використовується приємним куском компаній там.

Третє питання про Амазонку та Фліпкарта не може відповісти хтось поза їх командами.

Крім того, я б порадив вам використовувати методики зменшення карти для тренування ваших моделей. І як уже радили, підберіть свої моделі, щоб не потрібно навчати їх під кожен запит.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.