contact@jetteam.dev
Компетенции и кейсы/Данные, ML и компьютерное зрение
NDANLP на зашумлённых данных

Классификация объявлений с ошибками и смешанным языком

Модель, которая автоматически определяет категорию объявления по тексту, написанному на смеси языков и с большим количеством ошибок. Решение работает без предварительной нормализации и устойчиво к шуму в данных.

Контекст

Пользовательские объявления содержат опечатки, транслит, смесь языков и произвольные сокращения – на таких данных словарные подходы работают плохо: большая часть слов в словарь не попадает.

Нормализация текста здесь только теряет информацию: вместе с опечаткой уходит и признак, по которому объявление узнаётся. Поэтому модель читает символы напрямую.

схема

Почему без нормализации

СЛОВАРНЫЙ ПОДХОД· Требует приведения текста к норме· Опечатки и транслит выпадают из словаря· Смесь языков ломает токенизацию· Каждая новая форма – правка правилПРЕДСТАВЛЕНИЕ НА УРОВНЕ СИМВОЛОВ· Текст подаётся как есть, без нормализации· Опечатка меняет пару символов, слово узнаётся· Смешанный алфавит – обычный вход для модели· Новые формы не требуют правки правил→Отказ от нормализации сохраняет сигнал: в опечатках и сокращениях часто и содержится категория.
Опечатки и сокращения не удаляются, а остаются частью входных данных. Символьное представление позволяет модели учитывать и их.

Что входило в задачи

Модель читает объявление посимвольноопечатки, транслит и смесь языков не вычищаются перед ней: именно в них часто и содержится категория

  • Тексты с доскисбор и подготовка пользовательских объявлений как есть
  • Смесь языковтранслит, орфографические ошибки и произвольные сокращения
  • Символьное представлениемодель работает с отдельными символами, поэтому опечатки и транслит не мешают распознаванию
  • Нейросетевой классификаторобучение на неочищенной выборке
  • Устойчивостьнастройка модели под «грязные» данные вместо чистки данных под модель
  • Валидациякачество мерили на реальных объявлениях, без предварительной чистки

Стек проекта

PythonPyTorchchar-level моделиpandas

Есть похожая задача?

contact@jetteam.dev