Vyacheslav Tikhonov

Рейтинг
130
Регистрация
27.01.2001
Должность
Developer
Интересы
search engines, bots, information retrieval, data mining
Master's Degree in Computer Science

С наступающим! Всем желаю побольше свежих и новых идей!

Originally posted by funsad:
Оказывается, "фуджицу" и "фуджитсу" -- совсем непохожие слова. А вот "Гейтс" и "Йейтс" -- ну прямо близнецы! Я даже обознался раз, глядя на изображение йети -- то ли йети, то ли Йейтс. Кстати, не ищите "йети" в Punto, там обитают лишь "сети", "дети", "тети", "лети", "пети" и другие загадочные создания.

Да нет, с этим как раз все понятно.

Просто в алгоритме, который использует Пунто, слово "йети" разбивается на буквосочетания из n-букв, например, для n=2 "йе","ет","ти" (называется n-грамматика). Затем идет поиск в словаре, организованном таким же образом и отсортированном в лексикографическом порядке, в результате чего найдены слова:

с|ети, д|ети, т|ети, л|ети, п|ети и т.д.

В исходном алгоритме, чтобы не возникало такой лажи, начало и конец слова должны помечаться маркерами й| и и|, но это, видимо, еще не сделано. К тому же, буквы "й" и "и" отождествляются, что дает дополнительный шум.

Ну а если я где-то не прав насчет того, как это работает, itman меня сейчас поправит.

Originally posted by itman:
С точки зрения этого определения ЛЮБАЯ поисковая машина осуществляет нечеткий поиск с ранжированием по функции близости.

То есть если поисковая машина осуществляет поиск только по одной форме слова, введенной пользователем (а расстояние Левенштайна здесь точно равно нулю ), это тоже нечеткий поиск?

Originally posted by itman:
Аналогично и с поиском только части слов запроса и использованием синонимов: пока запрос возвращает тучу документов, то имеет смысл выдавать только документы, содержащие все слов (да еще и в точно тех формах, которые в запросе), а если запрос длинный, да вернул мало, то тут-то и надо его "расширять" различными способами.

По-видимому, у вас с Игорем Ашмановым разные представления о нечетком поиске.

Насколько я помню свой университетский курс по нечеткой логике, нечеткие системы (в моем случае управления) обычно имеют базу знаний и набор правил. На основании этого в зависимости от входов системы определяются выходы системы (то есть примерно то, о чем говорит Ашманов, база знаний позволяет расширять запрос словами, которые в нем не встречаются).

Я немного знаком с работами Зобеля, в частности, с реализацией лексикона в виде n-грамм, но там все довольно просто и нечетскости в таком виде не нашел.

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

Originally posted by Bamboo:
На Punto.ru открылся раздел "нечеткого" поиска http://punto.ru/fuzzy

Это первая российская поисковка использующая алгоритмы "Нечеткого поиска".

Насколько я понял, между поисковым образцом и типом запроса можно выбрать количество n-грамм? То есть при выборе 2 для Запорожье выходят n-grams: за,ап,по,ор,ро,ож,жь,ье?

А созданием чего-либо типа TREC вы случайно не занимаетесь? Точно войдете в историю

Originally posted by EDS:
1. алгоритмы хранния те же: 1байт=1байт
2. поиск такой же - по индексам
3. а вот обработка самой информации подобна работе человеческого ума.
4.Data Mining - то просто case-технология,но не для создания программ, а для создания запросов. Обработка и поиск в Data Mining стандартная и ни как не связана с "умными" дейсвиями.
5. база знаний создается самим пользователем - так же как вы индексируете свой сайт. Просто даете "почитать" Системе тексты с сайта. Потом можете искать с помощью "умного, осмысленного" поиска.

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

Тем не менее, Весьма любопытно посмотреть тестовую версию Вашего "умного поиска".

Originally posted by EDS:
А может лучше сделать нормальный осмысленный поиск? Описание такого поиска у меня на сайте http://www.icreator.ru/isearch/
правда скорость обработки будет намного ниже. Но можно в него только краткую информацию запихивать.
Я планирую скоро сделать тестовую демо версию

Осмысленный поиск, конечно, штука хорошая, но я не совсем понял - Вы что, хотите заменить традиционные алгоритмы хранения и обработки данных какими-то новыми и доселе неизвестными?

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

А как планируется создание баз знаний - пригласите кучу экспертов в КАЖДОЙ предметной области?

Originally posted by E:
Предлагаю обсудить тему организации локального полнотекстового поиска на собственном динамическом сайте.

Я пока вижу такие варианты: mnogoSearch, yandex.site, встроенный полнотекстовый поиск СУБД (например, MySQL 3.23 и выше).

Пообщавшись со всеми тремя, остановился пока на последнем варианте из соображений производительности (у меня в БД 30Mb текстов) и еще кое-каких.

mnogoSearch не ищет по фразам и не понимает словоформ и усечения окончаний. Yandex.site ограничен 5Мб текстов.

Может быть, есть еще какие-то альтернативы?

mnogosearch, насколько я помню, берет начало от UDMsearch, который также распространяется под GNU-шной лицензией в образовательных целях, так что поиск по фразам можно добавить самому. Зато можно легко настроить приоритеты при определении весов слов. Окончания он понимает, если подключить русский ispell. Аналогично ispell можно подключить и для ASPSeek: http://aspseek.org/readmsg.html?id=581 . Основное его преимущество - возможность использования булевого поиска, а так это почти то же самое, что и mnogosearch.

Ну а htdig сейчас даже входит в стандартную поставку, например, linux, что, согласитесь, очень удобно.

С исходниками есть еще SWISH, Isearch, Ksearch и т.д., но русский в них нужно встраивать самому.

Вообще для 30-500 Мб найти в инете готовый поисковик не такая уж и сложная проблема, а вот для, скажем, нескольких Гб уже проблематично, так как нужны соответствующие структуры данных для хранения больших и сложных индексов.

Originally posted by AiK:
Поэтому они считают, что от Open Source они ничего не выиграют. Тут уж скорее на Open Source можно сподвигнуть Punto или Topping (Вячеслав, слабо, а?).

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

Да и сейчас экономическая ситуация в постсоветских государствах совсем не способствует развитию альтруизма.

Originally posted by AiK:
Поэтому они считают, что от Open Source они ничего не выиграют. Тут уж скорее на Open Source можно сподвигнуть Punto или Topping (Вячеслав, слабо, а?).

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

Да и сейчас экономическая ситуация в постсоветских государствах совсем не способствует развитию альтруизма.

Всего: 847