Вообще, тут все получается как раз наоборот - чем больше со спаммерами борешься, тем больше их становится. Азарт, видимо, - всегда интересно "пробить" новый спам-фильтр.
trink, спокойно :) Только за это Яндекс доступ к своему поиску не запрещает :)
Ну, слова "выдающееся" там, конечно, не было, но так пиариться как-то не слишком красиво, особенно в контексте скандала с баннерами mail.ru ;)
"С другой стороны, признаюсь, я ожидал от Microsoft большего, чем просто копирования идеологии, структуры и навигации Google News. Кстати, единственное заявленное отличие от Google - учет поведения пользователей в качестве одного из факторов ранжирования сюжетов - уже полгода как используется в Яндекс.Новостях. " "В России существует некоторое количество разработок в этой области, но я не знаю ни одной, кроме Яндекс.Новостей, которая была бы ориентирована на массовую аудиторию и позволяла буквально за секунды составить представление о новостях дня. А робот news.yandex.ru как на ладони показывает - вот пять главных новостей на эту минуту."
А новость-то была, как бы, о новом сервисе Microsoft :)
CS - Code Segment, где размещается исполняемый код. Неплохо было бы просмотреть курс программирования на ассемблере :)
iseg вроде уже описал оптимальный алгоритм сжатия инвертированных файлов:
Считаете в координатах смещение и храните его в индексе.
Ссылка
Я всего лишь имел в виду, что у Вас исходные данные представляют собой массивы данных, уже отсортированные по темам.
Однако, если Gray говорит, что тематика новостей в XML-экспорте не указывается, то сразу возникает вопрос - какими алгоритмами можно определить тему новости, если зачастую однозначно это не может сделать даже сам редактор? :) Именно новости, средний объем которой в лучшем случае всего несколько килобайт - частотные методы здесь вообще, как я понимаю, не работают, а лексические цепочки должны быть разложены по темам, что вообще непосильная задача для постоянно меняющегося новостного потока.
Но вот если массивы заранее рубрицированы, то задача существенно упрощается тем, что в кластер не будут включены "левые" документы из других тем, то есть задача вполне может быть решена даже в лоб, как я и показал - для этого нужно только составить правильный topic query.
Так-так, похоже появился один из авторов сего замечательного сервиса :) И, если не секрет, каким же образом задача кластеризации решена в Яндекс-Новости?
У меня, если можно так сказать, почти научный интерес :)
Спорить не буду, но описанный мной алгоритм является стандартным для TDT - Topic Detection and Tracking и вряд ли яндекс пошел по пути наибольшего сопротивления.
Частотные методы для новостей не очень годятся - дело в том, что есть такое понятие, как фокус новости (event focus) - он никак не зависит от частотных характеристик документа. Для коллекций документов - возможно, хотя результаты получше дают лексические цепочки.
В общем-то, мы уже отвлеклись...
По этому поводу сразу можно посмотреть:
Compression and Fast Indexing for Multi-Gigabyte Text Databases
Justin Zobel, Alistair Moffat, Ron Sacks-Davis: An Efficient Indexing Technique for Full Text Databases
ну или ссылку.
Вроде никто и не говорил, что это делается вручную. В XML, который они получают, уже указана рубрика новости, причем указана сайтом-источником, то есть никакой рубрикации новостей Яндекс сам не проводит. А темы, как я уже сказал, собираются в кластер элементарно.
Пример - берем новость
Шеварднадзе получил письмо от Буша .
Подобрать все новости по этой же теме несложно - извлекаем ключевые слова, например, существительные - Шеварнадзе, письмо, Буш.
Теперь автоматически формируем запрос.
Документы в выдаче слишком отличаются от кластера , который показывает по этой теме Яндекс? :)
Для справки - Яндекс Ньюз ничего особо не кластеризует - там идет обычный экспорт в XML заранее рубрицированных источником новостей. Так что задача сводится к тому, чтобы выбрать из заголовка (и возможно резюме) новости наиболее важные ключевые слова и создать специальный запрос, который будет выдавать все "похожие" новости.
Ничего особо героического в этом нет и не совсем понятно, зачем так надувать щеки от осознания собственной крутизны :)
А можно ли где-то глянуть на полученные результаты?