AlexA

Рейтинг
70
Регистрация
16.04.2001
Должность
корпорация Галактика
Интересы
Поисковые системы
очень уж заинтересовала подобная схема решения задачи

Попробую

То есть надо думать, что все-таки префиксное дерево?
Вот не помню я уже лейблов. Если имеется в виду, что в узлах не биты и не буквы, а максимальные последовательности букв, то да. Но это очевидно.

Конечно, экономили на битах, считали статистику последовательностей и кодировали их. Главная проблема, насколько я помню (опять же!), была в тяжести адресации последних узлов (листьев). С ней справились через неявную адресацию.

Вообще, основной недостаток дерева - в представлении его в компьютерной памяти. Память же линейна. Т.е. мы дерево вынуждены разрезать по ВСЕМ веточкам и соединить их заново связями. Представьте дерево в саду и мысленно разрежьте его, выложив в струнку и соединив ниточками узлы. Цена этого особенно велика на конечных узлах.

Думаю, людей, у которых в лохматые 90-е был словарь Зализняка в 300К не так уж и мало. Вот и у нас такой имелся. Просто задача была: работать в 640К. Конечно, если быть точным, словарь у нас был в 350К, но в нем еще была полная морфологическая информация (прямые и обратные коды) для лексем и словоформ.

Причем, метод построения словаря мы использовали другой, чем Илья: у него была хэш-таблица, у нас - дерево. Точнее, 2 дерева - основ и окончаний. Плюс очевидные "экономящие" правила, например, приставка НЕ с прилагательными.

Так что задачка не такая трудная, если ее можно решать разными способами.

4LF,

4LF:
да, согласен, TF*IDF здесь проблематично использовать... (придется перегруппировывать блоки)...
А зачем Вам весь индекс держать в таком виде? Нужны только первые страницы (т.е. 30-50 ссылок) на самые популярные слова. Правда, тогда получается обычный кэш запросов.
alexf2000:
Вопрос - как их правильно делать, может есть готовые алгоритмы или толково описанный принцип их создания

Здесь две задачи:

1. Выбрать отрывок/ки текста, которые выдавать в качестве сниппета.

2. Выдача этого отрывка.

Первая задача зависит от критерия определения этого куска. Пусть, к примеру, это будет наибольшая плотность/близость слов запроса. Тогда получить критериальные оценки и, следовательно, координаты нужного отрывка можно через координатный индекс. Т.е. текст для этого не нужен.

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

Или можно преобразовать текст в структуру с быстрым разбором, например, разметить текст. Тогда найти текст с нужными координатами будет несложно.

За 3000 сделаю... За меньше лениво...

Аналогично

lagif, простите, поясните, пожалуйста, есть ли разница, кому адресовалось некое спорное для кого-то утверждение в открытом посте? Мне представляется, что публичное утверждение может быть публично же оспорено. Не так ли?

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

lagif, Понял свою ошибку, поправляюсь: "...Ваших талантов".

Уважаемая lagif, ну зачем же так резко понижать уровень разговора? Не разочаровывайте нас, верных поклонников Вашего таланта.

с точностью до 10 километров... совершенно точно это определяет

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

Не люблю повторять очевидные истины, но есть уровень Достаточного Качества продукта.

Всего: 166