Есть ли алгоритмы для автоматического выделения похожих числовых значений в наборе текстов?
В текстах могут часто встречаются всякие числовые значения - даты, номера телефонов, какие-нибудь уникальные номера вроде паспорта. Причем их формат вариативен - пользователь может написать дату с разделителем-точкой, может с разделителем-запятой или слэшем. В случае телефона вариативность написания еще больше. А тот же номер паспорт может состоять из одного слова; из двух; дополнительно включать в себя слова "серия" и "номер" или только символ "№". Пользователь может где-то поставить лишний пробел, а где-то наоборот пропустить.
Есть ли какие-нибудь алгоритмы для автоматической кластеризации подобных значений?
Сам пока пытаюсь что-нибудь придумать с n-граммами и word2vec, предварительно заменив все цифры на одну. Но хорошего результата не получается.