Простите, Лев, но на основании моего сравнительно небольшого опыта работы с пополняемыми базами я представляю, что без какой-либо предобработки получить приемлемое время выполнения запроса невозможно. Естественно, однако, обычно (не всегда!) это не делают с вариантами реальных запросов. А вот разложить запрос на элементы, для которых сделать индекс - вполне обозримая задача, которую приходится решать очень часто. Я могу сказать, даже в силу моего слабого представления, что индексы, используемые, скажем, в Яндексе, далеко не исчерпываются словарем слов документов с инвертированными списками, используемыми при простом фразовом поиске.
Точно также я бы поступил и с Вашей задачей быстрого поиска похожих. Построил характеристики документов, разложил бы на элементы, построил для них индексы (естественно, обновляемые при пополнении). Предполагаю, Вы сделали нечто подобное.
(Надеюсь, это ко мне вопрос) Отсылаю Вас опять же в РОМИП - там есть наш отчет (Галактика-Зум), а также отчеты других участников. Вы можете и сейчас взять старые дорожки и протестировать на них. Т.о. Вы получите результат, не дожидаясь РОМИП-2005. Сочтете нужным - познакомите меня (и других, естественно) с ним.
Конечно, участвовать в РОМИП-2005 тоже желательно.
Мы ведь тоже потихоньку движемся вперед - познакомитесь и с нашими результатами.
Приветствую всех участников данного обсуждения.
Тема поиска похожих документов сегодня довольно актуальна. Если действительно есть эффективный алгоритм, то Вас, Лев, надо только поздравить. Решение проблемы доказательства качества по сравнению с существующими решениями (в т.ч. и нашими), думаю, будет полезно и Вам и нам. Сейчас стандартный путь - РОМИП. Поэтому Борис и советует Вам участвовать в нем, к чему я тоже присоединяюсь.
Что до задачи "поиска похожих", то не думаю, что необходимо сразу вводить отдельную дорожку. Для начала можно обойтись дорожкой классификации (их даже две) - очень подходящая задача, подобная данной. Различия между этими задачами совсем небольшие.
Жду Ваших результатов и желаю максимального успеха.
И в любом случае желаю удачи в многотрудном деле поиска новых технологий.
Если в двух словах, то придется ограничиться выражением "польская запись" (хотя, конечно, можно и без нее).
Для подробностей посмотрите материалы Algolist.
Статистику для русского языка можно посмотреть здесь:
Частотный словарь современного русского языка. Конечно, здесь нет особенностей по поисковикам.
Ничего страшного в таком хранении, а также в возможности поиска с учетом предлогов и др. стоп-слов, на мой взгляд, нет. Иначе может оказаться, что поиск такого выражения, как "быть или не быть" будет просто невозможен.
Точность на сегодня неплохая, мусора в 5 темах (Лукашенко, Тебуев, Шеремет, ЦАС, венесуэл.пожар) не обнаружил. Полноту не проверил, как это сделать без серьезных затрат и не представляю.
Вопрос: как вы оцениваете важность новости, по количеству публикаций за фиксированный период?
РОМИП - послали и результат получили, о котором я и написал выше. Для веб-документов, естественно, получше: там база больше. Само собой, никак руками не касались: шаблоны не подчищали и параметры не подкручивали. Статью мы уже отправили, надеюсь на семинаре РОМИПа быть.
Наконец-то в этом году дошли руки, и усилия полностью окупились - я имею в виду не результат, конечно, а хороший тест, который теперь будем использовать для отработки критериев оценки релевантности.
Насчет панацеи.
Здесь-то и трудность - разделить чересчур оптимистичные восторги и трезвые оценки технологий. Иначе можно выплеснуть с водой и ребенка, проецируя на технологию чью-нибудь эйфорию по ее поводу. Ты же тоже немного обобщал, говоря о бесполезности использования в дальнейшей машинной обработке (а, значит, и в автоклассификации).
Борис, вот тут, боюсь ты слишком категоричен.
Мне кажется, что, как минимум, для задачи автоклассификации, автоматические ("механистические", как ты называешь) методы использовать можно и нужно. Результаты у нас есть, и вроде бы, сравнительно неплохие для класса задач с автоматическим построением шаблона рубрики по образцу. Да, конечно можно говорить о несовершенности такой технологии: подчищенный человеком шаблон даст лучшие результаты. Но у каждой технологии есть свои ограничения и области применимости: например, когда недостаточно времени и/или квалификации почистить шаблоны.
Раньше не интересовался этим вопросом, вот что нашел. Данные, правда, старые. Может, кому и пригодится.
Table 1. Comparative statistics across 1997 and 1999 Web query data sets.
Variables 1997 Excite Study 1999 Excite Study
(1M Queries) (1M Queries)
Mean Terms Per Query 2,4 2,4
Terms Per Query
1 Term 26.3% 29.8%
2 Terms 31.5% 33.8%
3+ Terms 43.1% 36.4%
Mean Unique Queries Per User 2,5 1,9
Mean Pages Viewed Per Query 1,7 1,6
% of Users Who Viewed
1 Page 28.6% 42.7%
2 Pages 19.5% 21.2%
3+ Pages 51.9% 36.1%
% of Users Who Modified Queries 52% 39.6%
Session Size-Unique Queries
1 Query 48.4% 60.4%
2 Queries 20.8% 19.8%
3+ Queries 30.8% 19.8%
% of Boolean Queries 5% 5%
% of Queries - Relevance Feedback 5% 9.7%
% of Terms Unique to the Data Set 57.1% 61.6%
В данном случае я отвечал на один конкретный вопрос одним конкретным алгоритмом и его оценкой снизу. Не знаю, как "на самом деле", но мне кажется, замешать "все в кучу" при сужении вопроса чуть тяжелее, чем при расширении.