Я работаю над набором данных (Excel / Google Sheets), где каждая строка содержит ответы в произвольном порядке о видеоиграх.
Проблема в том, что данные очень зашумлены:
- Некоторые строки содержат несколько игр, разделенных разными символами (, /, текст и т. д.)
Код: Выделить всё
- - Некоторые строки не содержат игр (например, «لا أحب», «ليس عندي»)
- Некоторые названия игр написаны с опечатками или на арабском языке варианты
Пример: "فريفاير", "فريفير" → Free Fire - "منكرافة", "ماينكرافت" → Minecraft
- Пример: «FIFA 2019», «PES 2013» → оставить только «FIFA», «PES»
- Пример: "ألعاب السيارات", "ألعاب كرة القدم"
Для каждой строки я хочу:
- Извлечь только названия видеоигр или допустимые категории
- Нормализовать имена (арабский → согласованный английский или стандартную форму)
- Удалить версии (годы, числа)
- Игнорировать строки без действительных игр
- Вывести чистый список, например:
Код: Выделить всё
Free Fire - Minecraft - Subway Surfers - Car games
Ввод:
Код: Выделить всё
فري فاير و منكرافة و سابواي و العاب السيارات
Код: Выделить всё
Free Fire - Minecraft - Subway Surfers - Car games
- Текст неструктурирован (иногда полные предложения)
- Нет фиксированного разделителя
- Смешанный арабский + английский
- Бесконечная орфография варианты
- Некоторые ответы не имеют значения
Каков наилучший подход для эффективного решения этой проблемы для больших наборов данных (более 5000 строк)?
- Должен ли я использовать методы на основе правил (regex + словарь)?
- Или подходы НЛП (spaCy, преобразователи и т. д.)?
- Есть ли существующие инструменты или библиотеки, специализированные для этого типа извлечения?
Я пробовал:
- Разделение строк
- Базовое регулярное выражение
- Сопоставление вручную (словарь)
Будем признательны за любые рекомендации и рекомендации.>