Planuję użyć klasyfikatora SVM (Scikit Line Support Vector Machine) do klasyfikacji tekstu na korpusie składającym się z 1 miliona oznakowanych dokumentów. Planuję zrobić, gdy użytkownik wpisze jakieś słowo kluczowe, klasyfikator najpierw sklasyfikuje je w kategorii, a następnie w dokumentach tej kategorii nastąpi kolejne zapytanie o wyszukiwanie informacji. Mam parę pytań:
- Jak potwierdzić, że klasyfikacja nie zajmie dużo czasu? Nie chcę, aby użytkownicy musieli spędzać czas, czekając na zakończenie klasyfikacji, aby uzyskać lepsze wyniki.
- Czy do tego celu nadaje się biblioteka scikit Pythona dla witryn / aplikacji internetowych?
- Czy ktoś wie, jak Amazon lub Flipkart przeprowadzają klasyfikację zapytań użytkowników, czy też używają zupełnie innej logiki?
machine-learning
classification
python
scikit-learn
użytkownik3498
źródło
źródło
Odpowiedzi:
Jedynym niezawodnym sposobem na sprawdzenie, jak długo to trwa, jest zakodowanie go i przetestowanie. Trening zajmie więcej czasu, wtedy możesz zapisać swój model (marynatę), aby użyć go później.
źródło
Nie widzę tutaj wielkiego problemu. Spróbuję odpowiedzieć na wszystkie pytania z punktu widzenia produkcji:
Weź podzbiór posiadanych danych korpusowych (możesz to zrobić losowo, bez konieczności próbkowania) i przetestuj na nim swój algorytm, a one przybliżą / uogólnią go na cały zestaw danych.
(SVM jest stosunkowo szybszy. Niemniej jednak wykonaj powyższy proces, aby się upewnić).
I przetestuj to w środowisku programistycznym przed przejściem do produkcji.
Tak jest. Jest już używany przez niezłą grupę firm.
Na trzecie pytanie dotyczące Amazon i Flipkart nie może odpowiedzieć ktoś spoza swojego zespołu.
Ponadto radziłbym używać technik mapreduce do szkolenia modeli. I jak już doradzono, marynuj swoje modele, abyś nie musiał ich szkolić przy każdej prośbie.
źródło