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

Последние дни меня всё мучает мысль о создании противобаянового фильтра. Тем более, что работа в Яндексе открывает в этом смысле огромные перспективы: весь проиндексированный интернет где-то рядом, на соседнем винчестере. Но призадумаешься, и поймёшь, что это дело непростое.

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

Конечно, нужно учитывать пути распространения баянов. Они плодятся в блогосфере, на развлекательных сайтах и форумах, передаются через аську и по почте. Наоборот, баян, лежащий в какой-нибудь википедии, таковым считаться, скорее всего, не должен (можно вешать дисклеймер: «все бояны, размещённые на этом сайте, опубликованы в образовательных целях, и не предназначены для дальнейшего использования«). Логичным приложением баянофильтратора была бы защита RSS-агрегаторов (той же Яндекс.Ленты) и лент друзей в блог-системах. Серьёзную проблему представляют медиабаяны — фотожабы и аудиоприколы. Опять-таки, нельзя забывать, что баяны часто передаются по ссылке, и их надо по возможности отсекать уже на этой стадии.

Кажется, что проблема фильтрации баянов близка к защите от спама, но есть существенные отличия. Во-первых, «правило первого баяна», далее ППБ (оно же: «один раз — не баян»), очень осложняет фильтрацию, поскольку требует учёта истории конкретного клиента (это особенно просто реализовать в агрегаторах, хотя, в отличие от клиентских приложений, они смогут обеспечить только частичную защиту). Во-вторых, невозможны белые и чёрные списки (белые — потому что баянами балуются даже лучшие друзья; чёрные — в основном из-за ППБ). В-третьих — потому что сравнение документов должно быть одновременно и куда более жёстким, поскольку баян от не-баяна может отличаться сколь угодно мало (вплоть до запятой, как показано выше), так и более гибким (например, две ключевые строки из пятистраничного баяна тоже должны успешно перехватываться). Тут нужны очень чуткие алгоритмы.

Какие ещё возможны подходы? Вот идейка, опять же, для агрегаторов. Рассмотрим, например, Google Reader, используемый в режиме «List View», когда каждую запись надо отдельно разворачивать, и на мониторе всегда развёрнуто не более одной записи. Софт может учитывать время, потраченное пользователем на прочтение конкретной записи, и количество текста в ней. Если скорость прочтения существенно выше средней (средней для конкретного пользователя, конечно — у разных людей она может очень сильно отличаться), значит, это либо известный баян, либо просто скучное сообщение. Если у многих читателей «мнение» совпадает, значит, сообщение в самом деле не супер, и другим его можно уже не показывать. Проблема тут одна: пока будем собирать статистику, запись уже всё равно уйдёт в историю. Однако если агрегатор, как GReader, принадлежит поисковику или крупному порталу, эту статистику можно использовать позже — например, в ранжировании поисковой выдачи.

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

Ну и в идеале, конечно, надо написать Универсальный Баяногенератор и встроить его в Я.Ру, чтоб обеспечить стабильный приток траффика.

Advertisements