Опыт написания поисковой системы.
В частности меня интересует вопрос поиска с учетом морфологии и вычисление релевантности фраз.
Может кто интересные ссылки подкинет.
Читать здесь http://www.codenet.ru/webmast/search/newbee/
_________________
С уважением, Михаил.
Я тут написал простую поисковую систему. И мне хотелось, чтобы вы протестировали ее. Посмотрели основную идею. Предложили бы свой вариант реализации. Я не думаю, что написал ее оптимально, и мне бы хотелось послушать советы третьих лиц.
В частности меня интересует вопрос поиска с учетом морфологии и вычисление релевантности фраз.
Может кто интересные ссылки подкинет.
Читать здесь http//www.codenet.ru/progr/other/search/
_________________
С уважением, Михаил.
а где собственно исходные тексты?
И альтернативные варианты реализации.
реализации.
Объяснять, что одно и тоже можно написать разными способами я думаю не стоит
aspseek и udmsearch "умееют" работать и с релевантностью.
Хочу, однако, сказать, что 230 кб в секунду довольно высокая скорость индексации, которая принципиально недостижима, если индекс разложить в таблицах базы данных.
230 кб сек, это примерно 23-30 страниц текста.
Скорость порядка ~230Kb в секунду была достигнута на 2xPIII700 SCSI, при индексации с локальной машины.
Я, кстати, тоже делал что-то подобное, правда я делал аналог glimpse'а, но со сжатым индексом и поиском по сходству. У меня тоже скорость индексирования была по твоим меркам невысокой 20-50 документов в секунду. На самом деле, это близко к максимуму, который можно выжать из персоналке.
Написание поисковых систем - довольно старая наука. Их разрабатывают уже лет 30. Почитайте Солтона (Salton, Gerald). Что касается Вашей системы, то для поиска с морфологией структура индекса не подходит. По меньшей мере, словоформы одного слова долны лежать поблизости. Если же говорить о скорости индексации, то лучше посчитайте сколько Гб в час или хотя бы Mb в мин. То есть пока Вы не проидексировали хотя бы 100 Мб, и говорить не о чем - это не система, а так, игрушка.
Пока я проиндексировал ~1.5Gb. Я вполне осознаю, что Google я врядли напишу.
Можно более подробно на счет литературы. Особенно хочится почитать про поиск с учетом морфологии.
Все это лишь мои эксперименты.
Поиск с учетом морфологии дело абсолютно не интересное, если понимать его как поиск с учетом грамматических форм. В общем случае там много можно чего накрутить. Например, возникает вопрос, как обрабатывать и индексировать слова типа
черно-красный, написанные через тире (а принципе можно и слитно).
Литературы разной и хорошей очень много... Поищи на Yahoo по запросу
information retrieval
On 2001-07-26 19:40, mike wrote:
Спасибо за отзывы.
Пока я проиндексировал ~1.5Gb. Я вполне осознаю, что Google я врядли напишу.
Можно более подробно на счет литературы. Особенно хочится почитать про поиск с учетом морфологии.
Все это лишь мои эксперименты.
1)Так на каком алгоритме хеширования Вы
остановились?
2)Разве скорость индексатора не зависит от скорости соеденения?
2. Да, но на скорость соединения я программно повлиять не могу, а вот на скорость обработки документов могу. Чем успешно и занимаюсь.
поводу одной небольшой задачки, связанной
с поисковыми системами.
Леонид.
С уважением, Leek.
(Посмотрел поиск на этом сайте - он находит эти словоформы и выделяет их жирным.)
CRC слова - CRC основной формы слова
Допустим слово:
МИР - 1
МИРА - 2
МИРУ - 3
МИРОМ - 4
МАМА - 5
МАМУ - 6
МАМЕ - 7
Тогда таблица соответсий:
1 - 1
2 - 1
3 - 1
4 - 1
5 - 5
6 - 5
7 - 5
Честно признаюсь, на этом сайте так и сделано :)
Подскажите как проиндексировать сайт
по заданному имени, например:
http://www.mysite.org
И как это можно сделать в Perl.
Как реализуете функцию сканирования
в своей системе? Не могли бы показать
примеры кода?
Я не могу понять как поисковый робот
закачивает html-файлы на сервер.
С уважением Александр.
Большая просьба ответ оправить не
в форум, а [email]panfiloff@rambler.ru[/email]
Какой жутко интересный топик. И жутко взрослый(я о возрасте ;) )
Mike, а с нейросетями не пробовал заморочиться? У меня давно есть такая мыслишка, но всерьез взяться всё никак- время, которого нет, а кодить там серьёзно прийдется. Зато можно круто поднять и скорость работы и релевантность результатов. Правда сетку обучать долго придется, но я думаю выход в том чтобы создать несколько сетей обученных на запросы в наиболее популярных областях. Кроме того, если в результатах выдавать не прямые ссылки, а редиректом через поисковик, то сетка может сама потихоньку "дообучиваться" исходя из запроса и выбора клиента. А на прочие не популярные запросы оставить обычный линейный алгоритм. Причем если популярность запроса возрастает, одна сетка определяет, какой области принадлежит запрос, если в этой области уже есть обученная сеть, запрос такого плана передается ей и в будущем, если сетки нет- значит надо новую создавать. Первоначально её можно обучать на результатах линейного алгоритма и поведении пользователей, когда уровень ошибок снижается, линейный алгоритм отключается, работает только сетка(обучение с учителем). Но это так, мысли вслух, на грани флейма ;)
Да, сетки и на индексации и на поиске. И лучше не одну мощную машину, а несколько маленьких(толпа 486-ых рулит)
Вау!Кроме того, если в результатах выдавать не прямые ссылки, а редиректом через поисковик, то сетка может сама потихоньку "дообучиваться" исходя из запроса и выбора клиента.
Ты думаешь рядовой пользователь интернета кликнет на ссылку так что сетка сможет получить долю корректной информации ??
Сразу скажу, что есть контингент, не просто неспособный выбрать правильную ссылку в результатах поиска, а вводящий адреса сайтов не в адресной строке, а в строке поиска, например Яндекса.
Сразу скажу, что есть контингент, не просто неспособный выбрать правильную ссылку в результатах поиска, а вводящий адреса сайтов не в адресной строке, а в строке поиска, например Яндекса.
Есть, не спорю. К счастью не все. А по поводу выделить информацию - именно сетка это и сможет сделать, ибо заточена под выделение "идеала" среди шума. Начальное обучение будет дорогостоящей операцией, но по моему, других путей нет - достаточно взглянуть на результаты, которые выдают поисковики. Вот такое вот МОЁ мнение.
вообще, это интересно. я тут недавно почитал о нейросетях, это должно сильно помочь в деле поиска:)
а что, есть информация, что какая-то из поисковых систем работает на нейросетях?
вообще, это интересно. я тут недавно почитал о нейросетях, это должно сильно помочь в деле поиска:)
Из попсовых насколько я знаю нет, а эксперименты ведут конечно. Помочь должно, вот доживем ли, когда оно начнет. :D
[offtop]там в привате. :D [/offtop]