алгоритмы автозаполнения, документы, стратегии и т. д.

Мне интересно, есть ли у кого-нибудь хорошие ресурсы для чтения или кода для экспериментов с "автозаполнением"

Я хотел бы знать, какова теория автозаполнения, с чего начать, каковы распространенные ошибки и т. д.

Я нашел захватывающим то, как такие продукты, как Enso, Launchy, Google Chrome и даже tcsh, выполняют автозаполнение. Я начал сам из любопытства, набрав пример кода, и пришел к выводу, что эта область должна быть широко изучена ранее.

Буду признателен, если кто-нибудь поделится хорошим техническим ресурсом о том, как это реализовать.

Заранее спасибо.


person OscarRyz    schedule 22.10.2008    source источник


Ответы (3)


person torial    schedule 22.10.2008
comment
Похоже, полезный список URL-адресов - спасибо. Когда-нибудь мне придется заняться разведкой — когда у меня будет время (и, о, смотри, там свинья летает вокруг ревеневого дерева!) - person Jonathan Leffler; 22.10.2008
comment
что это за мумбоджамбо из ревеня? - person sudocoder; 13.01.2015

Ознакомьтесь с этим блогом о реализации автозаполнения с помощью GWT:

http://jroller.com/glongman/entry/gwt_autocompleter

Но я бы порекомендовал вам сначала начать с чего-то очень простого, чтобы понять, как выполняется реализация. Я бы начал с Trie, возможно, даже полностью хранящегося на клиенте, а затем перешел бы к оптимизации с помощью запросов к серверу, если вы считаете, что они необходимы.

person Moishe Lettvin    schedule 23.10.2008

Автозаполнение обычно реализуется с помощью одного из следующих способов:

  • Деревья. Индексируя доступный для поиска текст в древовидной структуре (дерево префиксов, дерево суффиксов, dawg и т. д.), можно выполнять очень быстрый поиск за счет памяти. Обход дерева можно адаптировать для приближенного сопоставления.
  • Разбиение по шаблону. Разбивая текст на токены (нграммы), можно выполнять поиск вхождений шаблона, используя простую схему хеширования.
  • Фильтрация. Найдите набор потенциальных совпадений, а затем примените последовательный алгоритм для проверки каждого кандидата.

Пара статей по теме:

  • Борживой Мелихар. Приближенное сопоставление строк с помощью конечных автоматов;
  • Гонсало Наварро. Путеводитель по приблизительному сопоставлению строк;
  • Леонид Бойцов. Методы индексации для приближенного словарного поиска: сравнительный анализ;
  • Мариос Хаджиелефтериу и Дивеш Шривастава. Приблизительная обработка строк;
  • Сураджит Чаудхури и Рагхав Кошик. Расширение автозаполнения для предотвращения ошибок;

Взгляните на completely, библиотеку автозаполнения Java.

person Filipe Miguel Fonseca    schedule 19.06.2015