konard/AIZAMAN

0

stars

3

commits

Python

primary language

Nov 30, 2025

updated

README

🏆 Решение для хакатона: Детоксификация татарских текстов

📋 Описание подхода

Гибридное решение, комбинирующее:

  1. Rule-based фильтрация - удаление токсичных слов по словарю (30+ слов)
  2. LLM детоксификация - GPT-4o-mini с few-shot промптингом
  3. Кэширование - ускорение обработки повторяющихся текстов
  4. Retry логика - надежность при сбоях API

🎯 Ключевые фишки

  • Few-shot learning: промпт содержит примеры из условий хакатона
  • Оптимизированная температура (0.3): баланс между точностью и естественностью
  • Расширенный лексикон: 30+ токсичных слов на татарском и русском
  • Прогресс-бар: отслеживание обработки 600 текстов

🚀 Быстрый старт

Локальный запуск

# 1. Установка зависимостей
pip install -r requirements.txt

# 2. (Опционально) Установка API ключа через переменную окружения
export OPENAI_API_KEY="your-api-key-here"

# 3. Запуск
python main.py

Google Colab

# 1. Загрузи dev_inputs.tsv в Colab
# 2. Загрузи main.py в Colab
# 3. Запусти:

!pip install openai pandas tqdm
!python main.py

# 4. Скачай submission.tsv
from google.colab import files
files.download('submission.tsv')

📊 Ожидаемый результат

  • Similarity: Высокий (сохранение смысла через LLM)
  • Toxicity: Низкий (двухслойная фильтрация)
  • Fluency: Высокий (естественность через GPT-4o-mini)

Цель: J score > 0.65 (текущий лидер: 0.6053)

📁 Структура файлов

.
├── main.py              # Основной скрипт
├── requirements.txt     # Зависимости
├── dev_inputs.tsv       # Входные данные
├── submission.tsv       # Результат (создается после запуска)
└── README.md           # Это файл

🔑 API Key

API ключ можно указать двумя способами:

  1. В переменной окружения OPENAI_API_KEY
  2. Напрямую в коде (уже есть fallback)

💡 Советы по оптимизации

Если нужно улучшить результат:

  1. Увеличить количество примеров в промпте (добавить больше few-shot примеров)
  2. Использовать gpt-4o вместо gpt-4o-mini (дороже, но качественнее)
  3. Эксперименты с температурой (0.2-0.5)
  4. Добавить пост-обработку для специфичных паттернов

📦 Формат submission

Файл submission.tsv содержит:

  • ID: идентификатор (не меняется)
  • tat_toxic: исходный токсичный текст
  • tat_detox1: детоксифицированная версия

⚡ Производительность

  • ~600 текстов
  • ~1-2 секунды на текст (LLM запрос)
  • Общее время: ~10-20 минут
  • Кэширование ускоряет повторные запуски

🎯 Стратегия победы

  1. ✅ Используем проверенный подход (LLM + правила)
  2. ✅ Few-shot промпт с примерами из условий
  3. ✅ Сохраняем смысл (высокая Similarity)
  4. ✅ Убираем всю токсичность (низкая Toxicity)
  5. ✅ Естественный язык (высокая Fluency)

Удачи на хакатоне! 🚀

Contributors

konard

3 commits

konard/AIZAMAN

0

stars

3

commits

Python

primary language

Nov 30, 2025

updated

README

🏆 Решение для хакатона: Детоксификация татарских текстов

📋 Описание подхода

Гибридное решение, комбинирующее:

  1. Rule-based фильтрация - удаление токсичных слов по словарю (30+ слов)
  2. LLM детоксификация - GPT-4o-mini с few-shot промптингом
  3. Кэширование - ускорение обработки повторяющихся текстов
  4. Retry логика - надежность при сбоях API

🎯 Ключевые фишки

  • Few-shot learning: промпт содержит примеры из условий хакатона
  • Оптимизированная температура (0.3): баланс между точностью и естественностью
  • Расширенный лексикон: 30+ токсичных слов на татарском и русском
  • Прогресс-бар: отслеживание обработки 600 текстов

🚀 Быстрый старт

Локальный запуск

# 1. Установка зависимостей
pip install -r requirements.txt

# 2. (Опционально) Установка API ключа через переменную окружения
export OPENAI_API_KEY="your-api-key-here"

# 3. Запуск
python main.py

Google Colab

# 1. Загрузи dev_inputs.tsv в Colab
# 2. Загрузи main.py в Colab
# 3. Запусти:

!pip install openai pandas tqdm
!python main.py

# 4. Скачай submission.tsv
from google.colab import files
files.download('submission.tsv')

📊 Ожидаемый результат

  • Similarity: Высокий (сохранение смысла через LLM)
  • Toxicity: Низкий (двухслойная фильтрация)
  • Fluency: Высокий (естественность через GPT-4o-mini)

Цель: J score > 0.65 (текущий лидер: 0.6053)

📁 Структура файлов

.
├── main.py              # Основной скрипт
├── requirements.txt     # Зависимости
├── dev_inputs.tsv       # Входные данные
├── submission.tsv       # Результат (создается после запуска)
└── README.md           # Это файл

🔑 API Key

API ключ можно указать двумя способами:

  1. В переменной окружения OPENAI_API_KEY
  2. Напрямую в коде (уже есть fallback)

💡 Советы по оптимизации

Если нужно улучшить результат:

  1. Увеличить количество примеров в промпте (добавить больше few-shot примеров)
  2. Использовать gpt-4o вместо gpt-4o-mini (дороже, но качественнее)
  3. Эксперименты с температурой (0.2-0.5)
  4. Добавить пост-обработку для специфичных паттернов

📦 Формат submission

Файл submission.tsv содержит:

  • ID: идентификатор (не меняется)
  • tat_toxic: исходный токсичный текст
  • tat_detox1: детоксифицированная версия

⚡ Производительность

  • ~600 текстов
  • ~1-2 секунды на текст (LLM запрос)
  • Общее время: ~10-20 минут
  • Кэширование ускоряет повторные запуски

🎯 Стратегия победы

  1. ✅ Используем проверенный подход (LLM + правила)
  2. ✅ Few-shot промпт с примерами из условий
  3. ✅ Сохраняем смысл (высокая Similarity)
  4. ✅ Убираем всю токсичность (низкая Toxicity)
  5. ✅ Естественный язык (высокая Fluency)

Удачи на хакатоне! 🚀

Contributors

konard

3 commits

Languages

Python

100.0%