170 похожих чатов

Добрый вечер! Можете посоветовать примерный пайплайн для текстовой классификации? Есть

один большой нюанс - классы находятся в пятиуровневой иерархии, если развернуть в один, то количество доходит до 300000. Классификация осуществляется на основе текстового фрагмента, влезающего преимущественно в 1000 токенов. Мне кажется, что бертоподобное семейство такой размер выхода не потянет и не хотелось бы создавать модель на каждый уровень иерархии, мб есть какие то альтернативы по типу seq2seq (фрагмент текста на входе, "уровень 1->уровень 2->...-> уровень 5 на выходе"). Обучающая выборка большая, около миллиона примеров. Спасибо!

9 ответов

10 просмотров

Да, seq2seq звучит как неплохая идея. Мне кажется, можно попробовать собрать свой encoder-decoder (например, на базе hf), причем энкодер инициализировать чем-нибудь предобученным BERT-подобным, а в декодере создать словарь из меток классов всех иерархий, и обучить всё это на генерировать по тексту последовательностью уточняемых меток классов. Во время инференса всё это дело можно ограничивать на каждом шаге, так, чтобы генерировались только валидные последовательности меток (готового кода я для этого не знаю, но несложно накостылить свой, вычитающий 100500 из логитов неподходящих меток на каждом шаге генерации). (disclaimer: сам я так делать не пробовал)

­- Автор вопроса

Эмбеддинги, триплет лосс, класс выбирать по ближайшим соседям по всей выборке? Вангую что иерархия классов регулярно обновляется, и базу будет проще обновлять чем классификатор переучивать (хотя конечно эмбеддинги тоже надо будет тюнить периодически).

­- Автор вопроса
Andrew Grigorev
Эмбеддинги, триплет лосс, класс выбирать по ближай...

Иерархия не меняется, что не может не радовать)

В любом случае, красный круг/заход солнца😀, было б интересно как у вас получится лучше всего Сделать плоской классификатор уж точно будет хорошим бейзлайном

Привет. Кодировать все 5 уровней как 1. В бертоподобное тоже влезет но можно начать с fasttext. По опыту (трёхуровневая иерархия) могу сказать, что ещё полезно отдельно учить классификатор 1-ой иерархии и n-ой иерархии, если их возможно разбить на крупные категории. Но только для "проверки" ответа основой модели, не для ансамбля. Хорошее дополнение к порогам уверенности, если важна точность в ущерб тому что придется отсекать. 300к, классов, но что по персентилям? Нет такого, что тыща классов составляет 95% выборки? Выше предлагают совсем другие подходы, хорошие, но если дочерние узлы иерархии можно на крупные категории разбивать, то это очень полезная информация и надо ее кодировать

­- Автор вопроса
Павел
Привет. Кодировать все 5 уровней как 1. В бертопод...

По перцентилям сложно сказать - скорее всего количество придется выравнивать искусственно

­
По перцентилям сложно сказать - скорее всего колич...

По каким петцентилям? Что вы имеете в виду

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта