Ответы пользователя по тегу Классификация
  • Как нужно собирать датасет для модели бинарной классификации?

    @rPman
    Обязательно нужно собирать посты на ВСЕ тематики, точнее все, которые могут быть поданы на вход твоего алгоритма.

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

    p.s. модель llama, точнее openassistent 30b, неплохо читает новости и отвечает на вопросы, в т.ч. по категории (очень сложно составить правильный запрос), на десктопном процессоре 60 русскоязычных постов по ~7кб она читает примерно 4 часа. Так как модель прекрасно знакома с кодом, ответить на вопрос она сможет.

    ~/llama.cpp/main -t 4 -m /d/OpenAssistant/oasst-sft-6-llama-30b-22042023-q4_0.bin -n 64 --temp 0 -f prompt.txt
    ### Input:
    
    Классификация
    Как нужно собирать датасет для модели бинарной классификации?
    Я хочу создать модель, которая бы выявляла посты из соцсетей на IT-тематику. Какой подход для этого нужно выбрать -
    1) собрать как можно больше постов из соцсетей, в том числе на IT-тематику,
    2) или собрать только посты на IT-тематику?
    Если нужен первый подход, то в каком соотношении надо брать посты на IT-тематику и остальные?
    
    ### Question:
    
    Тема этого сообщения IT или нет? ответь да или нет.
    
    ### Answer:
    
    Да [end of text]
    58 секунд
    ### Input:
    
    Биолог Зоя Зорина о трактовках сознания, способности к самоузнаванию у дельфинов и экспериментах по выявлению сознания у животных
    Сознание — одно из сложнейших проявлений психики человека, которое трактуют по-разному представители разных наук. До недавнего времени его рассматривали только как «высшую, свойственную лишь человеку форму отражения объективной действительности, способ его отношения к миру и самому себе… Сознание представляет собой единство психических процессов, активно участвующих в осмыслении человеком объективного мира и своего собственного бытия. Оно… неразрывно связано с языком» и «со способностью идеального воспроизведения действительности в мышлении» (БЭС, 1996). Есть и еще более отвлеченное представление о сознании как о явлении, не сводимом только к работе мозга, как о «со-знании», совместном знании нескольких индивидов. Вполне очевидно, что искать этот уровень сознания у животных не приходится, и считалось, что в процессе эволюции психики животные останавливаются на стадии интеллекта, а стадии сознания достигает только человек (Леонтьев, 1952).
    
    ### Question:
    
    Тема этого сообщения IT или нет? ответь да или нет.
    
    ### Answer:
    
    Нет [end of text]
    119 секунд
    Ответ написан
    Комментировать
  • Как создать классификатор с разными типами фич?

    @rPman
    нейронные сети понимают только числа, да еще и нормированные на интервале
    boolean это два значения 0 и 1 (условно можно выбрать любые другие значения, это без разницы)
    а вот строки это вопрос вида признака - если это значение из справочника то если их можно как то отсортировать по признаку (например большой, средний, маленький) то их можно заменить на одно значение на интервале (в моем примере 1,0.5,0), но если нет то это вектор значений 0 или 1 с единичкой только в нужном элементе (кстати ничто не мешает использовать сложные комбинации, когда одна строка устанавливает значение сразу в нескольких элементах в векторе, например если строка составная - 'синий кролик' нужно установить 1 в элементы соответственно цвету синий, типу животное и кролику (может еще какие), плюс можно давать разные значения как вес значимости признака, например кролик это не только животное но и немного еда и чуть чуть развлечение)

    Да 0 для нейронной сети очень удобное значение отсутствия признака (кстати ничто не мешает для перевернуть значения и сделать 1 - признаком отсутствия а 0 - присутствия, нейронная сеть все переварит, правда могут быть алгоритмы ее оптимизации которые этого не поймут)
    Ответ написан
    Комментировать
  • Как классифицировать текст с помощью нейронной сети?

    @rPman
    Сам по себе текст в чистом виде на вход нейронных сетей не подходит, вам нужны критерии, количество которых не меняется от теста к тесту и значение которых нормализовано (находится в пределах, обычно делают 0..1 или даже -1.. +1), критерии по значениям (тупо перечисления enum) могут быть как один критерий с фиксированными значениями (плохой вариант, подходит для критериев которые можно сравнить) так и может быть векторами, значения которых 0 и один из элементов 1. К итогам работы нейросети те же требования (с перечислениями это обычно вектор вероятностей)

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

    Это если велосипед изобретать. по существующим решениям подсказать не могу, пока еще сам этим не занимался.
    Ответ написан
    Комментировать