Имеется выборка смс сообщений. Задача составить для этих сообщений регулярные выражения. Тексты могут быть абсолютно на разные темы и какой-то определенной закономерности нету. Я разбил задачу на две.
- Первая - это кластеризация.
- Вторая - генерация регулярного выражения для каждого кластера.
Для кластеризации использую свой алгоритм основанный на алгоритме Оливера для сравнения похожести строк. Пробовал алгоритм db scan, но столкнулся с проблемой подбора epsilon и minPts. Для одних текстов слишком маленькое для других большое, что-то среднее найти не получилось. Например, есть тексты
"Raymond Adamson your are arrived. Phone - 12341234."
"Raymond Adamson your are arrived. Phone - 12341234."
"Peter Parker your are arrived. Phone - 12121212."
Они должны попасть в один кластер и на выходе должно быть что-то типо "{var} your are arrived. Phone - {var}."
или
assigned green Ford Escape A1234BC, +16507599755.
assigned red NISSAN V555QW, +16507512321.
Они тоже должны попасть в один кластер. И получим "assigned {var}".
Проблема в правильной кластеризации совершено разных и текстов. Кто-нибудь сталкивался с подобным?
Может есть готовые решения для задач такого рода или библиотеки