С наступающим! Всем желаю побольше свежих и новых идей!
Да нет, с этим как раз все понятно.
Просто в алгоритме, который использует Пунто, слово "йети" разбивается на буквосочетания из n-букв, например, для n=2 "йе","ет","ти" (называется n-грамматика). Затем идет поиск в словаре, организованном таким же образом и отсортированном в лексикографическом порядке, в результате чего найдены слова:
с|ети, д|ети, т|ети, л|ети, п|ети и т.д.
В исходном алгоритме, чтобы не возникало такой лажи, начало и конец слова должны помечаться маркерами й| и и|, но это, видимо, еще не сделано. К тому же, буквы "й" и "и" отождествляются, что дает дополнительный шум.
Ну а если я где-то не прав насчет того, как это работает, itman меня сейчас поправит.
То есть если поисковая машина осуществляет поиск только по одной форме слова, введенной пользователем (а расстояние Левенштайна здесь точно равно нулю ), это тоже нечеткий поиск?
По-видимому, у вас с Игорем Ашмановым разные представления о нечетком поиске.
Насколько я помню свой университетский курс по нечеткой логике, нечеткие системы (в моем случае управления) обычно имеют базу знаний и набор правил. На основании этого в зависимости от входов системы определяются выходы системы (то есть примерно то, о чем говорит Ашманов, база знаний позволяет расширять запрос словами, которые в нем не встречаются).
Я немного знаком с работами Зобеля, в частности, с реализацией лексикона в виде n-грамм, но там все довольно просто и нечетскости в таком виде не нашел.
Может быть, дадите понятие нечеткого поиска, если это не слишком затруднительно?
Насколько я понял, между поисковым образцом и типом запроса можно выбрать количество n-грамм? То есть при выборе 2 для Запорожье выходят n-grams: за,ап,по,ор,ро,ож,жь,ье?
А созданием чего-либо типа TREC вы случайно не занимаетесь? Точно войдете в историю
Ну так я об этом и говорю. Ваш "осмысленный поиск" всего лишь надстройка к фунуционирующей традиционной поисковой системе. А так как полнофунциональной локальной поисковой машинки еще нет, то и прицепить его пока некуда. Ну а крупным системам типа Яндекса это вообще не нужно, так как у них сейчас основная цель - отрабатывание вложенных в них денег.
Тем не менее, Весьма любопытно посмотреть тестовую версию Вашего "умного поиска".
Осмысленный поиск, конечно, штука хорошая, но я не совсем понял - Вы что, хотите заменить традиционные алгоритмы хранения и обработки данных какими-то новыми и доселе неизвестными?
Да и что-то не было слышно о потрясающих успехах Data Mining в последнее время, так, отдельные, очень узкоспециализированные системы, к тому же, дорогие.
А как планируется создание баз знаний - пригласите кучу экспертов в КАЖДОЙ предметной области?
mnogosearch, насколько я помню, берет начало от UDMsearch, который также распространяется под GNU-шной лицензией в образовательных целях, так что поиск по фразам можно добавить самому. Зато можно легко настроить приоритеты при определении весов слов. Окончания он понимает, если подключить русский ispell. Аналогично ispell можно подключить и для ASPSeek: http://aspseek.org/readmsg.html?id=581 . Основное его преимущество - возможность использования булевого поиска, а так это почти то же самое, что и mnogosearch.
Ну а htdig сейчас даже входит в стандартную поставку, например, linux, что, согласитесь, очень удобно.
С исходниками есть еще SWISH, Isearch, Ksearch и т.д., но русский в них нужно встраивать самому.
Вообще для 30-500 Мб найти в инете готовый поисковик не такая уж и сложная проблема, а вот для, скажем, нескольких Гб уже проблематично, так как нужны соответствующие структуры данных для хранения больших и сложных индексов.
В этом случае все зависит от того, сколько людей станут альтруистами и будут развивать такой проект, а сколько просто обеспечит себе удачу и процветание благодаря полученным подобным образом технологиям.
Да и сейчас экономическая ситуация в постсоветских государствах совсем не способствует развитию альтруизма.