AlexA

Рейтинг
70
Регистрация
16.04.2001
Должность
корпорация Галактика
Интересы
Поисковые системы

Задача географической идентификации скорее разрешима, чем нет: словари ограничены, связи тоже, к тому же динамика мала. Из традиционных проблем анализа - омонимия, с этим также можно побороться в данном случае.

Кто этим занимается? Например, RCO, по-моему, еще РуТез, почти наверное, Конвера. Обязательно есть и другие.

Точное высказывание, встречал в этом треде нечто похожее: "Все сложнее, чем представляется сначала", "Все зависит от цели", "Все должно быть изложено с оптимальной простотой".

Если можно, Artisan, чуть конкретнее. Желательно, примеры, когда стоит экономить на стоп-словах, строя индекс, а когда нет.

В то, что Вы, lagif, представляете многие аспекты проблем ПС, у меня сомнений нет. Будет время, с удовольствием могу с Вами обсудить и проблемы ранжирования.

Давайте разделим проблемы "зачем" и "может загнуться".

На второй вопрос я попытался ответить выше, а на первый - в предыдущем посте.

Что до реализации сего в локальном поисковике, то мы это сделали (да и не только мы) достаточно давно. Правда, базы тогда были до гигабайта, машины - первые пентюхи (помните такие?).

А зачем? - вот в чем вопрос?

То, что это есть в яндексе и гугле, недостаточно?

Хорошо, например, для поиска точных фраз, а также инициалов: Иванов И.И. и Иванов А.А. - есть разница, правда?

... или у вас получилось ?

Вы про 60 Мб/с? Эти цифры давал не я - вопрос к постановщику данной задачи.

Ну, во-первых, для слов вроде предлога "и" существует стоп-лист, или просто список служебных частей речи, которые сами по себе ценности в запросе не составляют
Например предлог "и" то мой пост-лист будет содержать столько элементов сколько проиндексировано страниц (например 1 000 000).

Не вижу серьезной проблемы в хранении и обработке "и".

Частотность этого предлога ~3%, следовательно хватит 5-6 бит на одно словоупотребление. Кладем с запасом байт, при скорости чтения 60 Мб/сек за 1 сек можно прочитать 60 млн словоупотреблений, этого хватит на базу с общим словоупотреблением примерно 1,8 млрд. Т.е. около 15 Гб текста. Достаточно для одной машины? И это при простейшем решении.

Думаю, ответ Вы получите скорее, если спросите прямо на форуме РЦО.

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

Правильно ли я понимаю, что трудности вызывает именно применение шаблона (поиск*, поиск? и т.д.)?

Если так, то здесь все достаточно просто:

1. Получаем диапазон подходящих слов;

2. Объединяем соответствующие списки.

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

Такие вещи реализовывались еще в поисковиках, работавших на 386-486 машинах, если кто помнит такие.

Так что проблемы, вроде, нет.

Цифра 0.002 - экспериментальная, ссылаюсь на сообщение Влада Шабанова при обсуждении хэшей. Оригинал его сообщения, к сожалению найти на форуме не могу.

Равновероятное = равномерное (не нормальное) - идеальный хэш. Если бы было так, то вероятность склейки была бы для CRC32 2^-32, что противоречит результату 0,002.

Собственно, этого достаточно для доказательства (естественно, не математически строгого) неравномерности распределения.

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

Всего: 166