Алгоритм, учитывающий "популярность запросов"; и его использование в GUI
От: Glenn  
Дата: 27.12.13 16:26
Оценка:
Предлагаю всем желающим свой алгоритм (и Demo-приложение, его реализующее) для построения "autocompletion lists" в GUI-полях.

Сейчас многие GUI control-ы имеют функцию autocompletion (autosuggestion). Но, как правило, в них применяется самая простая логика: фильтры типа Equals или Contains; и всё. И конечно, нет никакого "упорядочивания элементов autocompletion-списка по убыванию их релевантности введённому тексту".
В своей более ранней (статье) я предложил "более умный" алгоритм, вычисляющий "степень схожести" между введённым в поле текстом и элементом autocompletion-списка; после чего упорядочивает элементы autocompletion-списка по убыванию этой "степени схожести".

В новой статье я добавляю к предыдущему алгоритму ещё и учёт "популярности запросов". Эта "популярность" становится (наряду с упомянутой "степенью схожести") ещё одним фактором, на основании которых вычисляется степень релевантности элементов autocompletion-списка введённому тексту.

Я позиционирую свой алгоритм как нечто подходящее для использования в GUI-приложении по примерно такому сценарию:
— Для некоего поля (типичный кандидат – поля Search-форм) запомним, скажем, 500 последних введённых туда значений;
— Когда пользователь начинает набирать нечто в поле – применяем мой алгоритм, получаем autocompletion-список
— Если список вышел слишком большим для отображения ВСЕГО его в GUI (скажем, больше 30-и значений) – оставляем только первые N элементов;
— Отображаем этот список под полем

Вся статья — здесь
Glen
autocompletion
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.