More

Monday, June 25, 2007

Как много сплогов?


Рис.1. Процентное рапределение сплогов на них.




Рис.2. Популярные блог-сервисы.

Thursday, June 14, 2007

CAPTCHA-OCR

Алексей Колупаев признался, что делает CAPTCHA-распознавалку для спамеров
Эффективность CAPTCHA начинает снижаться по мере развития систем OCR. Тесты стали настолько сложными, что люди с трудом справляются с ними. Нужно внимательно приглядываться, чтобы различить буквы и цифры на этих замазанных, почерканных, зашумлённых картинках.

Крупные IT-корпорации активно ведут изыскания в этой области. И eBay, и Microsoft работают над изобретением более эффективных версий CAPTCHA. Один из вариантов — распознавать животных, а не буквы.

Некоторые независимые исследователи трудятся над противоположной задачей — и они порой добиваются немалых успехов. Например, 25-летний украинский хакер Алексей Колупаев создал программу, которая способна пройти почти любой тест. Об этом пишет газета New York Times.

Алексей Колупаев работает в одной из киевских интернет-компаний, а в свободное время решает проблемы оптического распознавания символов. Вместе со своим товарищем Юрием Огиенко они создали эффективную программу OCR, которая «заточена» специально на решение CAPTCHA. Украинские предприниматели также основали компанию для коммерческого продвижения этой технологии. Кстати, их сайт — лучший информационный источник в интернете по данной теме. Там подробно рассказывается, как можно взломать систему CAPTCHA-защиты на PayPal, MySpace и других сайтах.

Украинцы говорят, что могут настроить свою программу на решение любого типа CAPTCHA. За подобную настройку они берут от $100 до $5000, в зависимости от сложности задачи. Среди клиентов Колупаева встречаются и спамеры.

«Любую систему можно взломать, у каждой есть свои слабости, — говорит Алексей. — Если вы создали программу, которая распознаёт только одну из ста картинок, это не проблема. Просто нужно постучаться на сайт сто раз — и вы внутри».
LINK

Wednesday, June 13, 2007

15 МЕТОДОВ ОБНАРУЖЕНИЯ ПОКУПОК ССЫЛОК ГУГЛОМ

« Adam Lasnik Explains How NoFollow Works15 Methods for Paid Link Detection

June 11th, 2007 by Eric Enge
Продаются сслыки разными там несознательными пользователями. А ссылки не простые, а провернные и хорошие. Но в гугле не лапти работают, вот они и вывели закономерность о 15 факторах продажных ссылках. 

Links Labelled as Advertisements: Поисковик может сканировать текст на слова:, такие как “Advertisement”, “Sponsors”, “Our Partners”, и проч.

Site Wides: Site wide linking is unnatural, and should be a rare part of your link mix (purchased or not). The only exception to this is the interlinking of all the sites owned by your company, but this presumes that the search engine will understand that all of your sites are from your same company. In general, site wides are a serious flag.

Links are Sold By a Link Agency: Of course, link agencies are knowledgeable about the link detection methods listed here, and do their best to avoid detection with the links they sell.
Selling Site has Information on How to Buy a Text Link Ad: Search engines can detect sites that provide information on how to advertise with them. This combined with other clues about links being sold on the site could lead to a review of the site selling the ads, and a discounting of the links.

Relevance of Your Link: It’s a powerful clue if your link is not really that relevant to the page it’s on, or the site it’s on.
Relevance of Nearby Links: Another clue would be the presence of your link among a group of links that are not tightly themed.

Advertising Location Type: The search engine can detect when your link is not part of the main content of the page. For example, it appears in the left or right column of a 3 column site, and the main content is in the middle.

Someone Reports Your Site for Buying Links: Who would do this? Your competitor! If your competitor submits an authenticated spam report to Google, it will get looked at, and acted upon.

Someone Reports Your Site for Some Other Reason: Perhaps your competitor does not recognize you are buying links, and turns you in for something else. Once this happens, the search engine will take a look at all aspects of your site, not just the reported issue.
Someone Reports the Site you Bought Links from for Selling Links: A competitor of yours can do this, or a competitor of the site selling links can do this. Once a search engine figures out that a site is selling links, it’s possible that this could trigger a deeper review of the sites that were buying those links.
Someone Reports the Site you Bought Links from for Some Other Reason: As before, this can lead to the search engine discovering that the site is selling links, even though it was not the core subject of the Spam report filed against it.
Disgruntled Employee Leaves Your Company, and Reports Your Site: For decades, many companies have had a practice of escorting fired (or laid off) employees out of the building. The reason for this approach is that people get upset when they lose their job. However, even this practice would not prevent such a person from reporting your site in a spam report to a search engine. Even though that may be a violation of the confidentiality agreement you probably have with your employees, you would never know, because there is no transparency in spam reporting.
Disgruntled Employee Leaves the Agency Your Used, and Reports Your Site: This same scenario can play out with an employee leaving the link agency you used. This form of disgruntled employee can report either your site directly, or the agency itself.
Disgruntled Employee Leaves the Site Your Bought Links from, and Reports Your Site: Finally, it can also happen with someone leaving the company you bought the links from. This type of disgruntled employees can report your site, or the site they used to work for.
Internal Human Review: Last, but not least, the search engine can do a human review. In general, search engines don’t do spontaneous reviews of sites, and wait for things detected algorithmically, or a spam report, to trigger a deeper review. But, you could certainly imagine that search engines could make an overt effort to clean up the search results in portions of their index they perceive to be spammy.
Search Engine Courses of Action
In the case of Google, it is known that one of the basic policies is to punish sites who sell text links by terminating that sites ability to pass link juice. This is essentially a first course of action. Once this is done, Google could look more closely at the selling site, and the purchasing sites for other signs of spammy behavior.

The search engines also take stronger actions at times, such as an algorithmic penalty, or banning a site from their index. I don’t know exactly how those determinations are made, but I believe that there are 3 major triggers for such action:

Это происходит когда накаливается достаточно негативной информации о вашем сайте.
Поисковик "понимает", что вы покупали ссылки в промышленных маштабах.
Upon human review, the search engine detects a clear pattern of an intent to deceive them.

Summary
Plenty of businesses are successful with a link buying strategy. However, the search engines are investing more and more effort into their detection. At STC, our preference is to focus on obtaining links through great content, and making people aware of what we (our clients) have. But we place a very high priority on very high value links.

These are the types of sites that are very difficult to buy links from. For one thing, when these higher profile sites sell links, it does not take that long for it to become public knowledge. Just ask United Press International, who recently promoted the sale of links for improving page rank. UPI has discontinued the practice because of the furor it created.

This also has great synergies with the notion of investing time in developing great content for users. In a world with increasing personalization by the search engines, this is increasingly very, very important, and over time may well have a larger impact on your rankings then the links you get. You can see the search engines shifting from having web sites vote on your site, to having users vote on your site. One way or another, this is coming to a search engine near you.

Monday, June 11, 2007

Упс....

Замечено выпадение из индекса гугла 23:45 / 11 июня 2007 года. Несколько простых BackLinks 0-3 и один 9.

Есть вопросы? Dimo-k ответил на них.

Как вывести дор в топ гугла?
- Сделать дор и поставить на него хорошие ссылки

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

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

Позволяет ли дополнительное “подШпамливание” поддерживать доры в Yahoo/MSN?
- да

Остались ли доходные темы, которые поднимаются почти без Шпама?
- Да

Есть ли способ на новом домене обойти песок за срок менее месяца?
- Да. Зависит от темы

Какие есть варианты вывода дора в топ без Шпама?
- со своих ресурсов

Часто в выдаче доры,на которые MSN вообще не показывает ни одного бека…
- у поисковиков разные базы, один может знать какие-то ресурсы, другой нет.

Какая схема Шпама предпочтительней - кучей или немного, но пиаристыми?
- много по пиаристым для быстрого эффекта. немного всяких каждый день для продолжительного эффекта. в каждом конкретном случае зависит от ресурсов

Для “белых сайтов”. Какие ресурсы предпочтительнее, и как туды Шпамить оптимальнее?
- для “белых” “белые” предпочтительнее, т.е. те, где нет заШпамленых страниц со спамом

Как лучше доры размещать - в папках или на сабдоменах?
- как удобнее. имхо некоторое количество сабдоменов, а в них некоторое количество страниц, разложенных по папках

Как лучше Шпамить доры
- по приоритетам:
каждую страницу, как можно больше
индексную страницу домена

Как лучше впихнуть в индекс дор на своем домене по низкочастотникам и сколько там сабов должно быть, чтобы он как можно дольше был в топе?
- лучше умеренным числом ссылок впихивать. сабов должно быть не очень много. опять же надо пробовать. у меня одно количество сабов на доменах, у кого-то другое и тоже устраивают.

Какое примерно время будет существовать ниша доров?
- Всегда. они будут совершенствоваться по мере совершенствования поисковиков

Что б не поднимать форумы, гостевые и т.п. в топ по запросам которым Шпамятся доры, можно в анчоре не указывать кей, а что-то типа «woowo bla», в таком случае сработают ли какие-нибудь фильтры, ведь на все страницы дора в большом кол-ве будут указывать ссылки с одинаковым анчором.
- Можно генерить случайный образом текст ссылки. Насчет фильтра: одинаковые ссылки не есть хорошо и это уже известно много лет

Какое оптимальное кол-во ссылок можно ставить на 1у страничку дора на своем домене (запросы очень не конкурентные pr топа в районе 0-3), под оптимальным имеется ввиду, что б не получить под зад каким-нибудь фильтром, который далее окажет влияние на позициях в Google.
- Фильтр на дорах - это редкость сейчас. Почти всегда сразу бан без фильтров. Оптимального числа нет, ибо все ссылки разные

Есть ли разница между доменными зонами
- Очевидно, что те зоны, где Шпама больше всего (по-моему, там .biz на первом месте), менее предпочтительны. Выяснить, что именно у тебя работает лучше всего, просто:

сделать одинаковые доры на всех доступных для регистрации зонах (дорогие можно не брать, хотя в последствие желательно попробовать) и посмотреть,
- что быстрее индексится
- что лучше индексится
- что дает больше трафа
- что дольше живет

Как лучше, с редиректом или без?
- Без

Насколько эффективен рефШпам?
- на такой вопрос не хочу отвечать. эффект есть. какой именно предлагаю проверить лично

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

Какой оптимальный вес страницы, плотность и частота ключевого слова ?
- 80к, 7%, 10

кеи в метатегах прописывать?
- Всё равно. но это не сложно ведь, поэтому лучше прописать

img в доре названый по кею и прописаный alt гуд?
- ссылку на несуществующую картинку лучше не ставить. а alt прописывать полезно - можешь в поиске по картинкам вылезать

Имеется возможность прописать линк в высокопиаристых ресурсах. Как максимально использовать эту возможность?
- поставить эти линки на более менее приличный сайт ….. раз линки хорошие, то и ресурс, который с помощью их выводится, должен быть не дурен собой.

У меня вопрос по гуглу: не попадают у меня доры в выдачу, недели 2-3 назад все нормально было ….. Индексирует нормально как раньше
- меняй шаблоны доров, обновляй базу Шпама

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

Что является определяющим чтобы скормить Google как можно больше страниц с одного домена?
- ссылки. на разные страницы.

Если на белый серый сайт ставить линки с доров по той же тематике. какие возможные последствия для сайта?
- в общем случае никакой. особенно, если на сайт есть нормальные линки.

Схожая тематика ссылащихся ресурсов имеет большее значение или тематичность?
- имеет

Почему Шпам по одной базе 2 раза “убивает дор”? (всмысле наступает бан)
- это не связано с двойным прогоном - просто совпадение, что банят при втором прогоне

Дай определение понятию “бонусный хост”
- бонусный - это тот хост, который по мнению оптимизаторов, легче вылезает в выдаче поисковиков. например, он может избегать попадания в песочницу

Используеш ли свои серые ресурсы для продвижения доров ?
- да

Как к многостраничным дорам поисковики относятся ?
- количество страниц ничего не меняет

Есть ли смысл перелинковывать доры между собой ? По идее быстрее в выдачу должны попасть, но и банятся сеткой …
- Да, да

По высокочастотникам или низкочастотникам работаеш?
- по всему

Wednesday, June 6, 2007

Сначалы были основы.

Как работают поисковые системы
[Раздел: Поисковая оптимизация]
В мире написаны сотнипоисковых систем, а если считать функции поиска,
реализованные в самых разных программах, то счет надо вести на тысячи. И как бы ни был реализован процесс поиска, на какой бы математической модели он не основывался,
идеи и программы, реализующих поиск, достаточно просты. Хотя эта простота, относится,
по-видимому, к той категории, про которую говорят «просто, но работает». Так или иначе, но именно поисковые системы стали одним из двух новых чудес света, предоставив
Homo Sapiens неограниченный и мгновенный доступ к информации. Первым чудом, очевидно,
можно считать Интернет как таковой, с его возможностями всеобщей коммуникации.

Поисковые системы в исторической перспективе

Существует распространенное убеждение, что каждое новое поколение программ совершенней предыдущего. Дескать,
раньше все было несовершенно, зато теперь повсюду царит чуть ли неискусственный интеллект. Иная крайняя точка зрения состоит в том, что «все новое - это хорошо забытое старое». Думаю, что применительно к поисковым системам истина лежит где-то посередине.

Но что же поменялось в действительности за последние годы?
Не алгоритмы и не структуры данных, не математические модели. Хотя и они тоже. Поменялась парадигма использования систем. Проще говоря, к экрану со строчкой поиска подсели домохозяйка, ищущая утюг подешевле, и выпускник вспомогательного интерната в надежде найти работу автомеханика. Кроме появления фактора, невозможного в доинтернетовскую эру – фактора тотальной востребованности поисковых систем –
стала очевидна еще пара изменений. Во-первых, стало ясно, что люди не только «думают словами», но и «ищут словами». В ответе системы они ожидают увидеть слово, набранное в строке запроса. И второе: «человека ищущего» трудно «переучить искать», так же как трудно переучить говорить или писать. Мечты 60-х – 80-х об итеративном уточнении запросов, о понимании естественного языка, о поиске по смыслу, о генерации связного ответа на вопрос с трудом выдерживают сейчас жестокое испытание реальностью.
Алгоритм + Структура данных= Поисковая система

Как и любая программа,
поисковая система оперирует со структурами данных и исполняет алгоритм. Разнообразие алгоритмов не очень велико, но оно есть. Не считая квантовых компьютеров, которые обещают нам волшебный прорыв в «алгоритмической сложности» поиска, и про которые автору почти ничего не известно, есть четыре класса поисковых алгоритмов. Три алгоритма из четырех требуют «индексирования», предварительной обработки документов,
при котором создаются вспомогательный файл, сиречь «индекс», призванный упростить и ускорить сам поиск. Это алгоритмыинвертированных файлов, суффиксных деревьев,
сигнатур. В вырожденном случае предварительный этап индексирования отсутствует,
а поиск происходит при помощи последовательного просмотра документов. Такой поиск называетсяпрямым.
Прямой поиск

Простейшая его версия знакома многим, и нет программиста, который бы не написал хотя бы раз в своей жизни подобный код:

char* strstr(char *big, char *little)
{
char *x, *y, *z;
for (x= big; *x; x++)
{
for (y= little, z= x; *y;
++y, ++z)
{
if (*y != *z)
break;
}
if (!*y)
return x;
}
return 0;
}

В этой функции языка C текст строкиbig просматривают слева направо и для каждой позицииx запускают последовательное сравнение с искомой подстрокойlittle. Для этого, двигая одновременно два указателяy иz, попарно сравнивают все символы. Если мы успешно дошли до конца искомой подстроки, значит она найдена.

Несмотря на кажущуюся простоту, последние 30 лет прямой поиск интенсивно развивается. Было выдвинуто немалое число идей, сокращающих время поиска в разы. Эти алгоритмы подробно описаны в разнообразной литературе, есть их сводки и сопоставления. Неплохие обзоры прямых методов поиска можно найти в учебниках, например[sedgewick] или[кормен]. При этом надо учесть, что новые алгоритмы и их улучшенные варианты появляются постоянно.

Хотя прямой просмотр всех текстов – довольно медленное занятие, не следует думать, что алгоритмы прямого поиска не применяются в интернете. Норвежская поисковая система Fast (www.fastsearch.com) использовала чип, реализующий логику прямого поиска упрощенных регулярных выражений[fastpmc],
и разместила 256 таких чипов на одной плате. Это позволяло Fast-у обслуживать довольно большое количество запросов в единицу времени.

Кроме того, есть масса программ, комбинирующих индексный поиск для нахождения блока текста с дальнейшим прямым поиском внутри блока. Например, весьма популярный, в том числе и в Рунете, glimpse[glimpse].

Вообще, у прямых алгоритмов есть принципиально беспроигрышные отличительные черты. Например, неограниченные возможности по приближенному и нечеткому поиску. Ведь любое индексирование всегда сопряжено с упрощением и нормализацией терминов, а, следовательно, с потерей информации. Прямой же поиск работает непосредственно по оригинальным документам безо всяких искажений.
Инвертированный файл

Эта простейшая структура данных, несмотря на свое загадочное иностранное название, интуитивно знакома любому грамотному человеку,
так и любому программисту баз данных, даже не имевшему дело с полнотекстовым поиском. Первая категория людей знает, что это такое, по
«конкордансам» - алфавитно упорядоченным исчерпывающим спискам слов из одного текста или принадлежащих одному автору (например «Конкорданс к стихам А. С. Пушкина», «Словарь-конкорданс публицистики Ф. М. Достоевского»). Вторые имеют дело с той или иной формой инвертированного списка всякий раз, когда строят или используют «индекс БД по ключевому полю».


Чтобы сэкономить на дисковом пространстве и ускорить поиск, обычно прибегают к двум приемам. Во-первых, можно сэкономить на подробности самой позиции. Ведь чем подробнее задана такая позиции, например, в случае с «Симофонией» это «книга+глава+стих», тем больше места потребуется для хранения инвертированного файла.

В наиподробнейшем варианте в инвертированном файле можно хранить и номер слова, и смещение в байтах от начала текста, и цвет и размер шрифта, да много чего еще. Чаще же просто указывают только номер документа, скажем, книгу Библии, и число употреблений этого слова в нем. Именно такая упрощенная структура считается основной в классической теории информационного поиска – Information Retrieval
(IR).

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

ЖЕНЩИНА: [Быт.1],[+11],[0],[+2],[+4],[+2],[+4],..

Дополнительно на разностный способ хранения адресов накладывают какой-нибудь простенький способ упаковки: зачем отводить небольшому целому числу фиксированное
«огромное» количество байт, ведь можно отвести ему почти столько байт, сколько оно заслуживает. Здесь уместно упомянуть коды Голомба или встроенную функцию популярного языка Perl: pack(“w”).

В литературе встречается и более тяжелая артиллерия упаковочных алгоритмов самого широкого спектра: арифметический, Хафман, LZW, и т.д. Прогресс в этой области идет непрерывно. На практике в поисковых системах они используются редко: выигрыш невелик, а мощности процессора расходуются неэффективно.

В результате всех описанных ухищрений размер инвертированного файла, как правило, составляет от 7 до 30 процентов от размера исходного текста, в зависимости от подробности адресации.
Занесены в «Красную книгу»

Неоднократно предлагались другие, отличные от инвертированного и прямого поиска алгоритмы и структуры данных. Это, прежде всего, суффиксные деревья[manber],[gonnet],
а также сигнатуры[faloutsos].

Первый из них функционировал и в интернете, будучи запатентованным алгоритмом поисковой ситемы OpenText[opentext]. Мне доводилось встречать суффиксные индексы в отечественных поисковых системах.

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

Широкого распространения ни тот ни другой метод не получили, а, следовательно, не заслужили и подробного обсуждения в этой небольшой статье.
Математические модели

Приблизительно 3 из 5 поисковых систем и модулей функционируют безо всяких математических моделей. Точнее сказать, их разработчики не ставят перед собой задачу реализовывать абстрактную модель и/или не подозревают о существовании оной. Принцип здесь прост: лишь бы программа хоть что-нибудь находила. Абы как. А дальше сам пользователь разберется.

Однако, как только речь заходит о повышении качества поиска, о большом объеме информации, о потоке пользовательских запросов, кроме эмпирически проставленных коэффициентов полезным оказывается оперировать каким-нибудь пусть и несложным теоретическим аппаратом.Модель поиска – это некоторое упрощение реальности,
на основании которого получается формула (сама по себе никому не нужная), позволяющая программе принять решение: какой документ считать найденным и как его ранжировать. После принятия модели коэффициенты часто приобретают физический смысл и становятся понятней самому разработчику, да и подбирать их становится интересней.

Все многообразие моделей традиционного информационного поиска (IR) принято делить на три вида: теоретико-множественные (булевская, нечетких множеств, расширенная булевская), алгебраические[1]
(векторная, обобщенная векторная, латентно-семантическая, нейросетевая) и вероятностные.

Булевское семейство моделей, по сути, – первое, приходящее на ум программисту,
реализующему полнотекстовый поиск. Есть слово - документ считается найденным,
нет – не найденным. Собственно, классическая булевская модель – это мостик, связывающий теорию информационного поиска с теорией поиска и манипулирования данными.

Критика булевской модели, вполне справедливая, состоит в ее крайней жесткости и непригодности для ранжирования. Поэтому еще в 1957 году Joyce и Needham (Джойс и Нидхэм) предложили учитывать частотные характеристики слов, чтобы «... операция сравнения была бы отношением расстояния между векторами...»[joyce_1957*].Векторная модельи была с успехом реализована в 1968 году отцом-основателем науки об информационном поиске Джерардом Солтоном (Gerard Salton)[2]
в поисковой системе SMART (Salton's Magical Automatic Retriever of Text).

Ранжирование в этой модели основано на естественном статистическом наблюдении,
что чем больше локальная частота термина в документе (TF) и больше «редкость»
(т.е.обратная встречаемость в документах) термина в коллекции (IDF),
тем выше вес данного документа по отношению к термину. Обозначение IDF ввела Karen
Sparck-Jones (Карен Спарк-Джоунз) в 1972 в статье[spark-jones] проразличительную силу (term specificity). С этого момента обозначение TF*IDF широко используется как синоним векторной модели.

Наконец, в 1977 году Robertson и Sparck-Jones
(Робертсон и Спарк-Джоунз)[robertson] обосновали и реализоваливероятностную модель (предложенную еще в 1960[maron]), также положившую начало целому семейству.Релевантность в этой модели рассматривается как вероятность того, что данный документ может оказаться интересным пользователю. При этом подразумевается наличие уже существующего первоначального набора релевантных документов, выбранных пользователем или полученных автоматически при каком-нибудь упрощенном предположении. Вероятность оказаться релевантным для каждого следующего документа рассчитывается на основании соотношения встречаемости терминов в релевантном наборе и в остальной,
«нерелевантной» части коллекции. Хотя вероятностные модели обладают некоторым теоретическим преимуществом, ведь они располагают документы в порядке убывания
"вероятности оказаться релевантным", на практике они так и не получили большого распространения.

Я не собираюсь вдаваться в подробности и выписывать громоздкие формулы для каждой модели. Их сводка вместе с обсуждением занимает в сжатом виде 35 страниц в книжке «Современный информационный поиск»[baezo-yates]. Важно только заметить, что в каждом из семейств простейшая модель исходит из предположения о взаимонезависимости слов и обладает простым условием фильтрации: документы,
не содержащие слова запроса, никогда не бывают найденными. Продвинутые («альтернативные»)
модели каждого из семейств не считают слова запроса взаимонезависимыми, а, кроме того, позволяют находить документы, не содержащие ни одного слова из запроса.
Поиск «по смыслу»

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

Для примера опишу лишь одну, пожалуй, самую популярную модель, работающую по смыслу. В теории информационного поиска данную модель принято называтьлатентно-семантическим индексированием(иными словами, выявлением скрытых смыслов). Эта алгебраическая модель основана на сингулярном разложении прямоугольной матрицы, ассоциирующей слова с документами. Элементом матрицы является частотная характеристика, отражающая степень связи слова и документа, например,TF*IDF. Вместо исходной миллионно-размерной матрицы авторы метода[furnas],[deerwester] предложили использовать 50-150 «скрытых смыслов»[3] , соответствующих первымглавным компонентам еесингулярного разложения.

Сингулярным разложением действительной матрицы A размеров m*n называется всякое ее разложение вида A= USV, где U - ортогональная матрица размеров m*m, V - ортогональная матрица размеров n*n, S - диагональная матрица размеров m*n, элементы которой
sij= 0, если i не равно j, и sii= si>= 0. Величины si называются сингулярными числами матрицы и равны арифметическим значениям квадратных корней из соответствующих собственных значений матрицы AAT. В англоязычной литературе сингулярное разложение принято называть SVD-разложением.

Давным-давно доказано[eckart],
что если оставить в рассмотрении первыеk сингулярных чисел (остальные приравнять нулю), мы получим ближайшую из всех возможных аппроксимацию исходной матрицы рангаk (в некотором смысле ее «ближайшую семантическую интерпретацию рангаk»). Уменьшая ранг, мы отфильтровываем нерелевантные детали; увеличивая,
пытаемся отразить все нюансы структуры реальных данных.

Операции поиска или нахожденияпохожих документов резко упрощаются, так как каждому слову и каждому документу сопоставляется относительно короткий вектор изk смыслов
(строки и столбцы соответствующих матриц). Однако по причине малой ли осмысленности
«смыслов», или по какой иной[4] , но использование
LSI в лоб для поиска так и не получило распространения. Хотя во вспомогательных целях (автоматическая фильтрация, классификация, разделение коллекций, предварительное понижение размерности для других моделей) этот метод, по-видимому, находит применение.
Оценка качества

Consistency checking
has shown that the overlap of relevant documents between any two assesors is on
the order of 40% on average…cross-assesor recall and precision of about 65% …This
implies a practical upper bound on retrieval system performance of 65% …[5]
Donna Harman
What we have learned, and not learned, from TREC
[harman]

Какова бы ни была модель, поисковая система нуждается в «тюнинге» - оценке качества поиска и настройке параметров. Оценка качества –
идея, фундаментальная для теории поиска. Ибо именно благодаря оценке качества можно говорить о применимости или не применимости той или иной модели и даже обсуждать их теоретичеcкие аспекты.

В частности, одним из естественных ограничений качества поиска служит наблюдение, вынесенное в эпиграф: мнения двух «асессоров»
(специалистов, выносящих вердикт о релевантности) в среднем не совпадают друг с другом в очень большой степени! Отсюда вытекает и естественная верхняя граница качества поиска, ведь качество измеряется по итогам сопоставления с мнением асессора.

Обычно[6] для оценки качества поиска меряют два параметра:

* точность (precision) – доля релевантного материала в ответе поисковой системы
* полнота (recall) – доля найденных релевантных документов в общем числе релевантных документов коллекции

Именно эти параметры использовались и используются на регулярной основе для выбора моделей и их параметров в рамках созданной Американским Институтом Стандартов (NIST) конференции по оценке систем текстового поиска (TREC - text
retrival evaluation conference)[7]. Начавшаяся в 1992 году консорциумом из 25 групп, к 12-му году своего существования конференция накопила значительный материал, на котором до сих пор оттачиваются поисковые системы. К каждой очередной конференции готовится новый материал (т.н. «дорожка») по каждому из интересующих направлений. «Дорожка» включает коллекцию документов и запросов. Приведу примеры:

* Дорожка произвольных запросов (ad hoc) – присутствует на всех конференциях
* Многоязычный поиск
* Маршрутизация и фильтрации
* Высокоточный поиск (с единственным ответом, выполняемый на время)
* Взаимодействие с пользователем
* Естестственно-языковая
«дорожка»
* Ответы на «вопросы»
* Поиск в «грязных» (только что отсканированных)
текстах
* Голосовой поиск
* Поиск в очень большом корпусе (20GB,
100GB и т.д.)
* WEB корпус (на последних конференциях он представлен выборкой по домену .gov)
* Распределенный поиск и слияние результатов поиска из разных систем

Не только поиск

Как видно из «дорожек» TREC,
к самому поиску тесно примыкает ряд задач, либо разделяющих с ним общую идеологию
(классификация, маршрутизация, фильтрация, аннотирование), либо являющихся неотъемлемой частью поискового процесса (кластеризация результатов, расширение и сужение запросов,
обратная связь, «запросо-зависимое» аннотирование, поисковый интерфейс и языки запросов). Нет ни одной поисковой системы, которой бы не приходилось решать на практике хотя бы одну из этих задач.

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

Обо всех задачах и способах их решения рассказать невозможно. Для примера рассмотрим «расширение запроса», которое обычно производится через привлечение к поиску ассоциированных терминов. Решение этой задачи возможно в двух видах – локальном (динамическом) и глобальном (статическом). Локальные техники опираются на текст запроса и анализируют только документы, найденные по нему. Глобальные же «расширения» могут оперировать тезаурусами, как априорными
(лингвистическими), так и построенными автоматически по всей коллекции документов. По общепринятому мнению, глобальные модификации запросов через тезаурусы работают неэффективно, понижая точность поиска. Более успешный глобальный подход основан на построенных вручную статических классификациях, например, ВЕБ-директориях. Этот подход широко используется в интернет-поисковиках в операциях сужения или расширения запроса.

Нередко реализация дополнительных возможностей основана на тех же самых или очень похожих принципах и моделях, что и сам поиск. Сравните,
например, нейросетевую поисковую модель, в которой используется идея передачи затухающих колебаний от слов к документам и обратно к словам (амплитуда первого колебания – все тот же TF*IDF), с техникой локального расширения запроса. Последняя основана наобратной связи (relevance feedback), в которой берутся наиболеесмыслоразличительные(контрастные) слова из документов, принадлежащих верхушке списка найденного.

К сожалению, локальные методы расширения запроса, несмотря на эффектные технические идеи типа «Term Vector Database»[stata] и очевидную пользу, все еще остаются крайне «дорогим»[8]
удовольствием.
Лингвистика

Немного в стороне от статистических моделей и структур данных стоит класс алгоритмов, традиционно относимых к лингвистическим. Точно границы между статистическим и лингвистическими методами провести трудно. Условно можно считать лингвистическими методы, опирающиеся на словари (морфологические,
синтаксические, семантические), созданные человеком. Хотя считается доказанным,
что для некоторых языков лингвистические алгоритмы не вносят существенного прироста точности и полноты (например, английский)[strzalkowski], все же основная масса языков требует хотя бы минимального уровня лингвистической обработки. Не вдаваясь в подробности, приведу только список задач, решаемый лингвистическими или окололингвистическими приемами:

* автоматическое определение языка документа
* токенизация (графематический анализ): выделение слов, границ предложений
* исключение неинформативных слов (стоп-слов)
* лемматизация(нормализация,стемминг): приведениесловоизменительных форм к «словарной». В том числе и для слов, не входящих в словарь системы
* разделение сложных слов (компаундов) для некоторых языков (например, немецкого)
* амбигуация:
полное или частичное снятиенимии
* выделениенных групп

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

“Things that work well on TREC often do not produce good results on the web
... Some argue that on the web, users should specify more accurately what they
want and add more words to their query. We disagree vehemently with this position.
If a user issues a query like "Bill Clinton" they should get reasonable results
since there is a enormous amount of high quality information available on this
topic”[9]
Sergei Brin, Larry Page
The Anatomy of a Large-Scale Hypertextual Web Search Engine [*]
http://www7.scu.edu.au/programme/fullpapers/1921/com1921.htm
"I was struck when a Google person told me at SIGIR that the most recent
Google ranking algorithm completely ignores anything discovered at TREC, because
all the good Ad Hoc ranking algorithms developed over the 10 years of TREC get
trashed by spam"[10]
Mark Sanderson[*]
http://groups.yahoo.com/group/webir/message/710

Пора вернуться к теме, с которой началась эта статья: что же изменилось поисковых системах за последнее время?

Прежде всего, стало очевидно, что поиск в вебе, не может быть сколько-нибудь корректно выполнен, будучи основан на анализе (пусть даже сколь угодно глубоком, семантическом и т.п.) одного лишь текста документа. Ведьвнетекстовые (off-page) факторы играют не меньшую,
а порой и бoльшую роль, чем текст самой страницы. Положение на сайте, посещаемость,
авторитетность источника, частота обновления, цитируемость страницы и ее авторов
– все эти факторы невозможно сбрасывать со счета.

Cтав основным источником получения справочной информации для человеческого вида, поисковые системы стали основным источником трафика для интернет-сайтов. Как следствие, они немедленно подверглись «атакам» недобросовестных авторов, желающих любой ценой оказаться в первых страницах результатов поиска. Искусственная генерациявходных страниц,
насыщенных популярными словами, техникаклоакинга, «слепого текста» и многие другие приемы, предназначенные для обмана поисковых систем, мгновенно заполонили Интернет.

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

Для примера рассмотрим пару таких задач и практических способов их решения в поисковых системах для интернета.
Качество ранжирования

Не все внетекстовые критерии полезны в равной мере. Именно ссылочная популярность и производные от нее оказались решающим фактором, поменявшим в 1999-2000 мир поисковых систем и вернувший им преданность пользователей. Так как именно с ее помощью поисковые системы научились прилично и самостоятельно (без подпорок из вручную отредактированных результатов)
ранжировать ответы на короткие частотные запросы, составляющие значительную часть поискового потока.

Простейшая идея глобального (т.е. статического) учета ссылочной популярности состоит в подсчете числа ссылок, указывающих на страницы. Примерно то, что в традиционном библиотековедении называютиндексом цитирования. Этот критерий использовался в поисковых системах еще до 1998 года. Однако он легко подвергаетсянакрутке, кроме того, он не учитывает вес самих источников. Естественным развитием этой идеи можно считать предложенный Брином и Пейджем в 1998 году алгоритмPageRank[brin] – итеративный алгоритм, подобный тому, что используется в задаче определения победителя в шахматной турнире по швейцарской системе. В сочетании с поиском по лексике ссылок, указывающих на страницу
(старая, весьма продуктивная идея, которая использовалась в гипертекстовых поисковых системах еще в 80-е годы), эта мера позволила резко повысить качество поиска.

Немного раньше, чем PageRank, был предложен локальный (т.е. динамический,
основанный на запросе) алгоритм учета популярности – HITS[kleinberg],
который[11] не используется на практике в основном из-за вычислительной дороговизны. Примерно по той же причине, что и локальные (т.е. динамические) методы, оперирующие словами.

Оба алгоритма,
их формулы, условия сходимости подробно описаны, в том числе и в русскоязычной литературе. Отмечу только, что расчетстатической популярности не является самоценной задачей, он используется в многочисленных вспомогательных целях: определение порядка обхода документов, ранжирование поиска по тексту ссылок и т.д. Формулы расчета популярности постоянно улучшают, в них вносят учет дополнительных факторов:
тематической близости документов (например, популярная поисковая системаwww.teoma.com),
их структуры, и т.п., позволяющие понизить влияниенепотизма. Интересной отдельной темой является эффективная реализация соответствующих структур данных[bharat]
Качество индекса

Хотя размер базы в интернете на поверхностный взгляд не кажется критическим фактором, это не так. Недаром рост посещаемости таких машин, как Google и Fast хорошо коррелируют именно с ростом их баз. Основная причины: «редкие» запросы, то есть те, по которым находится менее 100 документов, составляют в сумме около 30% от всей массы поисков – весьма значительную часть. Этот факт делает размер базы одним из самых критичных параметров системы.

Однако рост базы, кроме технических проблем с дисками и серверами, ограничивается логическими: необходимостью адекватно реагировать на мусор, повторы и т.п. Не могу удержаться, чтобы не описать остроумный алгоритм, применяемый в современных поисковых системах для того, чтобы исключить «очень похожие документы».

Происхождение копий документов в Интернете может быть различным. Один и тот же документ на одном и том же сервере может отличаться по техническим причинам: быть представлен в разных кодировках и форматах; может содержать переменные вставки – рекламу или текущую дату.

Широкий класс документов в вебе активно копируется и редактируется
– ленты новостных агентств, документация и юридические документы, прейскуранты магазинов, ответы на часто задаваемые вопросы и т.д. Популярные типы изменений:
корректура, реорганизация, ревизия, реферирование, раскрытие темы и т.д. Наконец,
публикации могут быть скопированы с нарушением авторских прав и изменены злонамеренно с целью затруднить их обнаружение.

Кроме того, индексация поисковыми машинами страниц, генерируемых из баз данных, порождает еще один распространенных класс внешне мало отличающихся документов: анкеты, форумы, страницы товаров в электронных магазинах

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

Для решения этой задачи Udi Manber
(Уди Манбер) (автор известной программы приближенного прямого поиска agrep) в 1994 году предложил идею[manber1994], а Andrei Broder (Андрей Бродер)
в 1997[broder] придумал название и довел до ума алгоритм «шинглов» (от слова shingles, «черепички, чешуйки»). Вот его примерное описание.


Рис.2

Для каждого десятисловия текста рассчитывается контрольная сумма
(шингл). Десятисловия идут внахлест, с перекрытием, так, чтобы ни одно не пропало. А затем из всего множества контрольных сумм (очевидно, что их столько же, сколько слов в документе минус 9) отбираются только те, которые делятся на,
скажем, 25. Поскольку значения контрольных сумм распределены равномерно, критерий выборки никак не привязан к особенностям текста. Ясно, что повтор даже одного десятисловия – весомый признак дублирования, если же их много, скажем, больше половины, то с определенной (несложно оценить вероятность) уверенностью можно утверждать: копия найдена! Ведь один совпавший шингл в выборке соответствует примерно 25 совпавшим десятисловиям в полном тексте!

Очевидно, что так можно определять процент перекрытия текстов, выявлять все его источники и т.п. Этот изящный алгоритм воплотил давнюю мечту доцентов: отныне мучительный вопрос «у кого студент списывал этот курсовик» можно считать решенным! Легко оценить долю плагиата в любой статье[12].

Чтобы у читателя не создалось впечатление, что информационный поиск исключительнозападная наука, упомяну про альтернативный алгоритм определенияпочти-дубликатов, придуманый и воплощенный у нас в Яндексе[ilyinsky]. В нем используется тот факт, что большинство поисковых систем уже обладают индексом в виде инвертировнного файла
(илиинвертировнным индексом) и этот факт удобно использовать в процедуре нахождения почти-дубликатов.
Цена одного процента

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

Для того, чтобы справиться с этой проблемой, индекс разбивают на части и раскладывают по десяткам, сотням и даже тысячам компьютеров. Сами компьютеры,
начиная с 1997 года (поисковая система Inktomi) представляют собой обычные 32-битные машины (Linux, Solaris, FreeBSD, Win32) с соответствующими ограничениями по цене и производительности. Исключением из общего правила осталась лишь AltaVista, которая с самого начала использовала относительно «большие» 64-битные компьютеры Alpha.

Поисковые системы для Интернета (и, вообще, все большие поисковые сиcтемы)
могут ускорять свою работу при помощи техникэшелонирования ипрюнинга. Первая техника состоит в разделении индекса на заведомо более релевантную и менее релевантную части. Поиск сначала выполняется в первой, а затем, если ничего не найдено, или найдено мало, поисковая система обращается ко второй части индекса.
Pruning (от англ. отсечение, сокращение), состоит в том, чтобы динамически прекращать обработку запроса после накопления достаточного количества релевантной информации. Бывает еще статический pruning, когда на основании некоторых допущений индекс сокращается за счет таких документов, которые заведомо никогда не будут найдены.

Отдельная проблема – организовать бесперебойную работу многокомпьютерных комплесов, бесшовное обновление индекса, устойчивость к сбоям и задержкам с ответами отдельных компонент. Для общения между поисковыми серверами и серверам, собирающими отклики и формирующими страницу выдачи разрабатываются специальные протоколы.

Заметьте, что один процент производительности (скажем неудачно написанный оператор в каком-нибудь цикле) для десятитысячнокомпьютерной[13]
системы стоит примерно ста компьютеров. Поэтому, можно себе представить, как вычищается код, отвечающий за поиск и ранжирование результатов, как оптимизируется использование всех возможных ресурсов: каждого байта памяти, каждого обращения к диску.

Решающее значение приобретает продумывание архитектуры всего комплекса с самого начала,
так как любые изменения, например добавление необычного фактора при ранжировании или сложного источника данных, становится исключительно болезненной и сложной процедурой. Очевидно, системы стартующие позже, имеют в это ситуации преимущество. Но инертность пользователей весьма высока, так, например, требуется 2-4 года,
чтобы сформированная многомиллионная аудитория сама, пусть и медленно, но перешла на непривычную поисковую систему, даже при наличии у нее неоспоримых преимуществ. В условиях жесткой конкуренции, это порой неосуществимо.

Saturday, June 2, 2007

Best Comment Spam Ever =))))) LOL

http://dekstop.de/weblog/2007/05/you_are_sure/

Best Comment Spam Ever

IP Address: xx.xx.xx.xx
Name: PreobrajenskySuka1
Email Address:
URL: http://university-of-phoen0.blogspot.com/

Comments:

Sorry, but topic starter, you are sure?
prof.Preobrajensky.
Good luck!