PM.kitten События Почему Dotty Вечный сервер LazWebBox 2.0 ИПФ Назначение Статьи

При проведении анализа процессов и формировании атрибутов событий часто бывает нужно провести некую сложную обработку. Например, сопоставить тексту в произвольно записанной транлитерации текст на кириллице. В этом случае scala становится просто незаменимой, так как позволяет быстро и эффективно реализовать любой алгоритм. В том числе и быстрое соединение столбцов в кириллице и латинице с помощью предварительной разбивки текста на куски, которые можно сопоставить и куски, которые сопоставить нельзя.

Что такое ИПФ

ИПФ - индексная поисковая функциия - функция, отображающая текст в целое число, обладающая тем свойством, что для двух различных своих аргументов, один из которых может быть переведён в другой посредством транслитерации, функция возвращает одно и то же значение.

ИПФ, реализованная для кириллицы и латиницы, позволяет повысить качество сравнения между собой различных вариантов транслитерации без значительного роста алгоритмической сложности за счёт того, что сначала поиск идёт по ИПФ, которая позволяет сравнивать быстро, но даёт ложноположительные срабатывания, а затем производится дополнительное сравнение среди найденного, с применением более сложных алгоритмов, таких, к примеру, как формированиие регулярного выражения с вариантами транслитерации и поиск с использованием его.

Проверка работы ИПФ

Проверить работу ИПФ можно на форме ниже. Введите в левое текстовое поле ФИО на латинице или кириллице, вперемешку, по одному ФИО на строке и нажмите на кнопку "Вычислить ИПФ". ИПФ будет вычислена для каждой введённой строки, результат появится в правом текстовом поле.

Введите текст для вычисления ИПФ (по одному ФИО на строку)
Исходный текст Свертка групп Результат

Пример поиска по ИПФ

Пример поиска по ИПФ + редакционное растояниие. ИПФ нарезает неподъёмные куски текста на небольшие массивы, внутри которых идёт поиск с помощью попарного нешустрого вычисления трудоёмкой метрики.

Образец
(кириллица)
Варианты для поиска
(латиница)
Результат
(равны ИПФ и ред. расстояние < 2)
По вопросам использования ИПФ пишите на почту inl@yandex.ru

Написано на Dotty и Wicket  !без Web 2.0Адаптировано для работы в Lynx  канал в Дзен