JS: написать функцию по нормализации текста
Я работаю со входящими сообщениями из телеграм-чатов (парсинг).
Чтобы обойти фильтры, люди часто используют замену букв в сообщениях. И помимо замены, например, русской "с" на латинскую - в CharacterMap есть еще очень много вариантов похожих "с" - например "⊂" - это в Math Symbols, всевозможные одинарные и двойные точки "ċ" и подобное.
Когда я для примера искал замену буквы о - я нашел 63 (!!!) варианта.
Мне нужна функция нормализации, которая приведет текст в исходный вид.
Итак, задача:
- придумать алгоритм замены (чтобы не заменять буквы в английских словах) - например, считать число рус-англ букв и на основе этого определять основной язык слова (или всей фразы)
- если слово русское (напр, более 50% букв русских) - сделать замену измененных букв
- также заменить популярные эмоджи (5️⃣ -> 5, -> $ и пр)
- ну и найти в таблице символов максимальное число похожих для замены символов
Всё это нужно в функции (нескольких функциях) на nodejs, офлайн (без обращения к апи и асинхронным методам).
Предлагайте идеи, варианты, сроки и цены.