TextRadar - нечеткий поиск в тексте (Native API)

Программирование - Внешние компоненты

нечеткий поиск в тексте Native API TextRadar

3
В отличие от нечеткого сравнения строк, когда обе сравниваемых строки равнозначны, в задаче нечеткого поиска выделяются строка поиска и строка данных, а вычислить необходимо не степень похожести двух строк, а степень присутствия строки поиска в строке данных. Нормированный коэффициент, находящийся между 0 и 1 позволяет отсечь заведомо низкие результаты. Наглядное отображение результатов в кратком и детальном виде поможет быстро найти интересующий фрагмент и оценить качество поиска. Приведено сравнение возможностей поиска TextRadar с известными технологиями - полнотекстовым поиском 1С и компонентой StrMatch.

Технология поиска для платформы 1С состоит из:

  • Внешней  компоненты, написанной на языке C++ (Native API, не требует регистрации в реестре)
  • Шаблона обработки поиска, на базе которого можно быстро разработать решение под вашу задачу

Принцип действия алгоритма основан на корреляционном анализе в его интерпретации применительно к текстовым данным. Алгоритм TextRadar является глубокой модернизацией алгоритма нечеткого сравнения строк, представленного в публикации  infostart.ru/public/146559/ .

В первую очередь модернизации подверглась постановка задачи - в отличие от нечеткого сравнения строк, когда обе сравниваемых строки равнозначны (первая строка похожа на вторую также, как и вторая на первую), в задаче нечеткого поиска выделяются строка поиска и строка данных, а вычислить необходимо не степень похожести двух строк, а степень присутствия строки поиска в строке данных.

 

Особенности алгоритма и реализации

  • Коэффициент наличия строки поиска в тексте находится в диапазоне от 0 до 1, что позволяет отсекать заведомо низкие результаты
  • Наряду с вычислением коэффициента также формируются данные для отображения результатов поиска
  • Время работы линейно по отношению к размеру исходных строк
  • Предварительной индексации данных не требуется
  • Состав данных, в которых осуществляется поиск, гибко настраивается  в обработке
  • Компоненту не нужно регистрировать в реестре
  • Отсутствие утечек памяти

Сравнение TextRadar со встроенной в 1С технологией полнотекстового поиска

Сравнение TextRadar с компонентой StrMatch

На сайте www.tools41.ru развернут демо стенд, на котором можно подробнее познакомиться с работой алгоритма. Помимо краткого, в веб-версии представлен детальный вариант отображения результатов поиска.

 

Native API компонента формирует данные и для краткого и для подробного отображения результатов, но в демо-версии представленной обработки задействована только краткая информация. Вывод подробной информации может быть добавлен при необходимости.

Тестирование проводилось на версии 8.3.12.1616 платформы.

3

Скачать файлы

Наименование Файл Версия Размер
Обработка нечеткого поиска для УТ 11 (поиск по партнерам), со встроенной компонентой TextRadar
.epf 555,32Kb
06.11.18
2
.epf 2.01 555,32Kb 2 Скачать
Native API компонента TextRadar
.dll 1,29Mb
06.11.18
0
.dll 2.01 1,29Mb Скачать

См. также

Автор запретил комментарии