Основной код для EDA, тестирования и обучения разных моделей содержится в ноутбуке extract_models.ipynb.
Датасеты не принадлежат автору кода и были удалены из репозитория. Сохранённые состояния моделей слишком велики для github и лежат на kaggle (https://www.kaggle.com/models/xeempad/rosberta-slurs).
Удалось достичь среднего расстояния Левеншейна ~0.41. Учитывая низкое качество разметки тренировочного (и вероятно тестового) датасета (скорее всего с помощью LLM), результат получился довольно близким к нулю. Хотя учитывая, что большАя часть выборки не содержала нецензурных выражений, метрика точно могла быть лучше и ближе к ~0.2
С учётом дообучений, лучшая модель (RoSBERTa от ai-forever) заняла 6-8 часов на обучение на бесплатной T4 GPU с Google Colab и Kaggle.
Цель соревнования — разработать модель, способную автоматически находить конкретные нецензурные выражения в пользовательских отзывах и комментариях. Задача состоит не только в определении наличия мата, но и в выделении всех вхождений мата из текста. Результат должен быть представлен в формате строки, содержащей найденные слова в нижнем регистре, отсортированные по алфавиту и разделенные запятыми. Если мат отсутствует, результат должен быть пустой строкой. Основная метрика для оценки решений — среднее расстояние Левенштейна.
Онлайн-платформы сталкиваются с проблемой неподобающего поведения пользователей, включая использование нецензурной лексики. Простая классификация текстов на "с матом" и "без мата" не всегда дает достаточно информации для дальнейшей обработки контента. В рамках этого соревнования требуется выявлять конкретные слова мата, что позволит платформам точнее фильтровать или применять другие меры к неприемлемому контенту.
Ваше решение должно извлекать из текста все нецензурные выражения. Для каждого отзыва модель должна возвращать строку, в которой:
Содержатся все обнаруженные слова мата. Слова указаны в нижнем регистре. Слова отсортированы по алфавиту. Слова разделены запятыми. Если мат отсутствует, строка должна быть пустой. Примеры:
Текст: "Говно а не товар" Ожидаемый результат: "говно"
Текст: "Спасибо за уёбищние шарики! такой хуйни я еще не видела!" Ожидаемый результат: "уёбищние,хуйни"
Текст: "За такую цену - норм" Ожидаемый результат: "" (пустая строка).
Решения участников будут оцениваться по среднему расстоянию Левенштейна между предсказанными строками и строками из тестового набора. Эта метрика отражает, насколько точно и полно модель выделяет маты из текста, а также учитывает корректность их формата.
Разработать модель для извлечения всех вхождений нецензурной лексики из текстов. Учитывать различные формы мата, включая завуалированные, искажения и изменения. Гарантировать соответствие формата результата требованиям (нижний регистр, сортировка, разделение запятыми). Оптимизировать модель для минимизации среднего расстояния Левенштейна. Ожидаемый результат
Модель должна точно и полно находить нецензурные слова, помогая онлайн-платформам эффективно определять и устранять нежелательный контент.
В этом соревновании ваши решения будут оцениваться с использованием метрики среднего расстояния Левенштейна. Эта метрика измеряет, насколько точно и полно модель определяет конкретные нецензурные выражения из текста, учитывая правильность их формы и порядок. Метрика отражает степень сходства между строкой, предсказанной моделью, и истинной строкой из тестового набора данных.
Ваше решение должно быть представлено в виде CSV-файла с двумя колонками:
ID — уникальный идентификатор текста. label — строка, содержащая предсказанные моделью нецензурные слова. Все слова должны быть приведены к нижнему регистру, отсортированы по алфавиту и разделены запятыми. Если мата нет, поле должно быть пустым. Пример:
ID, label
2,"говно"
5,"хуй,уёбищние"
6,""
etc.
Формат результата должен строго соответствовать этим требованиям, чтобы избежать ошибок при оценке.
В этом разделе описаны файлы данных, их структура и формат. Вы найдете всю необходимую информацию для успешного участия в соревновании.
train.csv — тренировочный набор данных. Этот файл содержит тексты и метки, представляющие собой нецензурные слова, если они присутствуют в тексте.
test.csv — тестовый набор данных. Этот файл содержит тексты, для которых вам необходимо выделить и указать найденные маты. Метки для тестовых данных отсутствуют.
sample_submission.csv — пример файла для сабмита. Показывает правильный формат предсказания для тестового набора.
Слова приведены к нижнему регистру.
Отсортированы по алфавиту.
Разделены запятыми.
Если мата нет, значение будет пустым.
Вам нужно предсказать все нецензурные слова в текстах из тестового набора данных. Формат предсказания для каждого текста:
Строка с нецензурными словами, приведенными к нижнему регистру, отсортированными по алфавиту и разделенными запятыми.
Если мата нет, строка должна быть пустой.
sample_submission.csv:
id label
10
11 г…
12
10 commits
Jupyter Notebook
76.7%
Python
23.3%
Основной код для EDA, тестирования и обучения разных моделей содержится в ноутбуке extract_models.ipynb.
Датасеты не принадлежат автору кода и были удалены из репозитория. Сохранённые состояния моделей слишком велики для github и лежат на kaggle (https://www.kaggle.com/models/xeempad/rosberta-slurs).
Удалось достичь среднего расстояния Левеншейна ~0.41. Учитывая низкое качество разметки тренировочного (и вероятно тестового) датасета (скорее всего с помощью LLM), результат получился довольно близким к нулю. Хотя учитывая, что большАя часть выборки не содержала нецензурных выражений, метрика точно могла быть лучше и ближе к ~0.2
С учётом дообучений, лучшая модель (RoSBERTa от ai-forever) заняла 6-8 часов на обучение на бесплатной T4 GPU с Google Colab и Kaggle.
Цель соревнования — разработать модель, способную автоматически находить конкретные нецензурные выражения в пользовательских отзывах и комментариях. Задача состоит не только в определении наличия мата, но и в выделении всех вхождений мата из текста. Результат должен быть представлен в формате строки, содержащей найденные слова в нижнем регистре, отсортированные по алфавиту и разделенные запятыми. Если мат отсутствует, результат должен быть пустой строкой. Основная метрика для оценки решений — среднее расстояние Левенштейна.
Онлайн-платформы сталкиваются с проблемой неподобающего поведения пользователей, включая использование нецензурной лексики. Простая классификация текстов на "с матом" и "без мата" не всегда дает достаточно информации для дальнейшей обработки контента. В рамках этого соревнования требуется выявлять конкретные слова мата, что позволит платформам точнее фильтровать или применять другие меры к неприемлемому контенту.
Ваше решение должно извлекать из текста все нецензурные выражения. Для каждого отзыва модель должна возвращать строку, в которой:
Содержатся все обнаруженные слова мата. Слова указаны в нижнем регистре. Слова отсортированы по алфавиту. Слова разделены запятыми. Если мат отсутствует, строка должна быть пустой. Примеры:
Текст: "Говно а не товар" Ожидаемый результат: "говно"
Текст: "Спасибо за уёбищние шарики! такой хуйни я еще не видела!" Ожидаемый результат: "уёбищние,хуйни"
Текст: "За такую цену - норм" Ожидаемый результат: "" (пустая строка).
Решения участников будут оцениваться по среднему расстоянию Левенштейна между предсказанными строками и строками из тестового набора. Эта метрика отражает, насколько точно и полно модель выделяет маты из текста, а также учитывает корректность их формата.
Разработать модель для извлечения всех вхождений нецензурной лексики из текстов. Учитывать различные формы мата, включая завуалированные, искажения и изменения. Гарантировать соответствие формата результата требованиям (нижний регистр, сортировка, разделение запятыми). Оптимизировать модель для минимизации среднего расстояния Левенштейна. Ожидаемый результат
Модель должна точно и полно находить нецензурные слова, помогая онлайн-платформам эффективно определять и устранять нежелательный контент.
В этом соревновании ваши решения будут оцениваться с использованием метрики среднего расстояния Левенштейна. Эта метрика измеряет, насколько точно и полно модель определяет конкретные нецензурные выражения из текста, учитывая правильность их формы и порядок. Метрика отражает степень сходства между строкой, предсказанной моделью, и истинной строкой из тестового набора данных.
Ваше решение должно быть представлено в виде CSV-файла с двумя колонками:
ID — уникальный идентификатор текста. label — строка, содержащая предсказанные моделью нецензурные слова. Все слова должны быть приведены к нижнему регистру, отсортированы по алфавиту и разделены запятыми. Если мата нет, поле должно быть пустым. Пример:
ID, label
2,"говно"
5,"хуй,уёбищние"
6,""
etc.
Формат результата должен строго соответствовать этим требованиям, чтобы избежать ошибок при оценке.
В этом разделе описаны файлы данных, их структура и формат. Вы найдете всю необходимую информацию для успешного участия в соревновании.
train.csv — тренировочный набор данных. Этот файл содержит тексты и метки, представляющие собой нецензурные слова, если они присутствуют в тексте.
test.csv — тестовый набор данных. Этот файл содержит тексты, для которых вам необходимо выделить и указать найденные маты. Метки для тестовых данных отсутствуют.
sample_submission.csv — пример файла для сабмита. Показывает правильный формат предсказания для тестового набора.
Слова приведены к нижнему регистру.
Отсортированы по алфавиту.
Разделены запятыми.
Если мата нет, значение будет пустым.
Вам нужно предсказать все нецензурные слова в текстах из тестового набора данных. Формат предсказания для каждого текста:
Строка с нецензурными словами, приведенными к нижнему регистру, отсортированными по алфавиту и разделенными запятыми.
Если мата нет, строка должна быть пустой.
sample_submission.csv:
id label
10
11 г…
12
10 commits
Jupyter Notebook
76.7%
Python
23.3%