Проблемы классификации текста: баланс скорости, осведомленности о контексте и ложных срабатываний с использованием моделPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблемы классификации текста: баланс скорости, осведомленности о контексте и ложных срабатываний с использованием модел

Сообщение Anonymous »

Мне нужен совет по поводу машинного обучения. В настоящее время я работаю над задачей классификации текста, основная цель которой — обучить несколько моделей обнаружению конкретных типов вредоносного поведения (например, угроз, пренебрежительных выражений, разжигания ненависти и т. д.).
Чтобы дать некоторый контекст, у меня нет опыта обучения моделей ML. В моем проекте все построено на .NET, поэтому мне посоветовали попробовать ML.NET для обучения моделей. Для меня это дало несколько преимуществ: во-первых, оно легко интегрируется с архитектурой .NET, поскольку является частью той же экосистемы, и мне не пришлось бы многое менять. Во-вторых, модели, обученные с помощью ML.NET, выполняют вывод очень быстро.
Однако я быстро столкнулся с серьезными проблемами:
  • < li>Тренеры ML.NET представляют собой поверхностные модели и не способны
    понимать контекст предложений. Например, я создал набор данных
    с 200 000 строк для обнаружения угроз, ожидая приличных
    результатов. К сожалению, во время тестирования я обнаружил множество ложных
    положительных результатов, которых просто не должно было быть.
  • Основная проблема заключалась в часто используемые слова и образы. Например, в случае угроз такие шаблоны, как «Я
    » или «Я
    собираюсь…» часто помечались как угрозы. Это означало, что любое предложение,
    начинающееся с таких шаблонов, классифицировалось неправильно, даже если оно
    вообще не содержало угроз.
  • Чтобы решить эту проблему, я начал более тщательно балансировать набор данных. На практике это включало тестирование модели, выявление проблемных
    ложных срабатываний, понимание того, почему они были неправильно классифицированы, и
    создание дополнительных примеров, чтобы показать модели, что такие шаблоны
    не обязательно являются угроз.
Через некоторое время я понял, что ML.NET, возможно, не самое надежное решение для такого типа угроз. задача. Я начал изучать решения на основе Python и наткнулся на модели на основе BERT. Я настроил свою собственную модель с помощью RoBERTa-large, но столкнулся со следующими проблемами:
Неудивительно, что модель была очень большой.
Скорость вывода модели была значительно медленнее. чем модели ML.NET.
Затем я экспериментировал с базой DistilBERT, которая представляет собой меньшую и более быструю модель. Хотя это действительно было быстрее, я все же столкнулся с множеством ложных срабатываний. Я подозреваю, что это может быть связано либо с неправильными настройками тонкой настройки (поскольку у меня нет опыта), либо с потенциальными проблемами с самим набором данных. Тем не менее, набор данных показался мне хорошо подготовленным, поэтому я ожидал лучших результатов.
Теперь я хотел бы попросить вашего совета:
Если у кого-нибудь есть опыт классификации текста используя ML.NET, как вы добились удовлетворительных результатов?
Если я решу полностью перейти на Python, каковы мои лучшие варианты? Мне нужно что-то быстрое и способное понимать контекст в предложениях, не полагаясь исключительно на часто встречающиеся слова в наборе данных, что в противном случае привело бы к большому количеству ложных срабатываний.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -and-false
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»