Извлеките названия игр и переведите их на английский из листа Google.Python

Программы на Python
Anonymous
Извлеките названия игр и переведите их на английский из листа Google.

Сообщение Anonymous »

Вот пример моего набора данных
Я работаю над набором данных (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, преобразователи и т. д.)?
  • Есть ли существующие инструменты или библиотеки, специализированные для этого типа извлечения?
🛠️ Текущий подход
Я пробовал:
  • Разделение строк
  • Базовое регулярное выражение
  • Сопоставление вручную (словарь)
Но оно не обрабатывает все крайние случаи.

Будем признательны за любые рекомендации и рекомендации.>

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