Czy-Jest-Eldorado / feature-requests

Repozytorium do zgłaszania pomysłów na ulepszenia
MIT License
1 stars 0 forks source link

AI do kategoryzacji ofert #6

Closed jkobus closed 1 month ago

jkobus commented 4 months ago

Często zdarza się, że oferty trafiają do złej kategorii. Są to błędnie przypisane kategorie już przy dodawaniu ofert na stronie źródłowej, lub gdy takiej informacji w ogole nie ma, i skrypt próbuje dobrać odpowiednią kategorię po słowach kluczowych. Niestety to nie do końca działa.

jkobus commented 4 months ago

Dodana została aktualizacja bieda-silnika AI, która kategoryzuje oferty. Zobaczmy jak będzie działać :) Update: działa średnio.

Jeśli ktoś ma doświadczenie z modelami językowymi, i chciałby poprowadzić research opensource w ramach tego projektu, chętnie udostępnie dane do wyuczenia modelu.

W danych wejściowych do uczenia mamy set z tytułami ofert, słowami kluczowymi i kategorię. Nie mamy opisów ofert.

Silnik ma rozpoznać kategorię po tytule i słowach kluczowych. https://huggingface.co/docs/transformers/en/tasks/sequence_classification

Aktualny bieda silnik: https://czyjesteldorado.pl/labs/guesser

lukaszeckert commented 4 months ago

Jak masz jakieś dane uczące to mogę spróbować co da się zrobić. Mam kilka pomysłów jak do tego podejść. Są jakieś wymagania co do wielkości modelu/czasu odpowiedzi?

jkobus commented 4 months ago

Mam, właśnie najwięcej czasu zajęło mi przygotowanie wsadu. A i tak chyba są tam jeszcze jakieś drobne błędy. Natomiast do nauki i testowania powinno wystarczyć.

Zrobiłem testowy model (php-ml) w następującej konfiguracji: TokenCountVectorizer, WhitespaceTokenizer, TfIdfTransformer, SVC, linear, 1.0. Rozmiar pkl: ~291MB

Wsad podzieliłem w proporcji 80/20 (nauka, testy). Trafność: 75%

Niestety nie zrobiłem pomiaru czasu, ale z uwagi na użycie PHP, nie był zbyt krótki.

Czas predykcji nie jest bardzo znaczący, oczywiście, jeśli to będzie 0.1 sekundy to lepiej niż 0.5 sekundy :) Rozmiar, 200MB jest w granicy akceptowalności, to dość mały set wejściowy więc optymalizacja pewnie będzie wskazana. Można też zoptymalizować wsad, ale ktoś musi mi powiedzieć jak go zoptymalizować :)

Daj znać, jeśli chcesz rzucić okiem, wyślę dane na maila (albo zrobie prywatne repo).

Update: wysłane

jkobus commented 4 months ago

W tym tygodniu będę testował gpt-3.5-turbo-0125. Myślę, że dzięki temu będziemy w stanie zrobić lepszy wsad do nauki własnego modelu, który nie będzie generował kosztów :)

jkobus commented 1 month ago

Zostajemy narazie przy GPT