Интерфейсы

индекс
44,19

Победить дубликаты

В разнообразных тематических и не очень социальных сообществах каждый получает возможность донести какие-то свои мысли, идеи или просто опыт до других людей. При этом, естественно, лишь малая часть задумывается о том, что до них эти идеи были уже придуманы, мысли высказаны вслух (или попросту банальны и известны всем), а пришедшая в голову тема уже обсосана до косточек. Отсюда при достаточной популярности сетки возникают дубликаты новостей или любых других тем (например, помните засилье СуперХабра на главной?). Ну вы знаете, — это когда кричат боян и минусуют.

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

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

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

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

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

Победить дубликаты в социальных сетях
Алгоритм простой:
1. При добавлении топика вводятся идентификационные данные, которые можно использовать для поиска (на Хабре это заголовок и теги).
2. Выводится список схожих тем, в которых присутствуют слова из заголовка и тегов (из списка исключаются предлоги, используются частые замены вроде "Apple" -> "Эппл", возможна морфология в простейшем виде с обрезанием окончания "совещание" -> "совещан" и дальнейшим поиском).
2а. Если такая тема уже есть, пользователь может перейти в нее.
2б. Если нет - продолжает создание топика. На следующей странице он уже заполняет остаточную информацию (текст топика, дату и т.д.).

Конечно, все зависит от концепции сети. Если публикуются ссылки новости с небольшим по объему дисклаймером (как на news2, например), то ни к чему увеличивать количество страниц. К тому же, для ускорения процесса можно производить поиск в базе только по записям за последнюю неделю или использовать AJAX и выводить все сразу же, на странице добавления топика.

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

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

И да, на самом деле, эта идея не нова. Не забывайте о ней в своих проектах.
+31
12 июля 2008, 19:44
16

комментарии (46)

+8
EniLight #
Вы украли мою идею! =)
+3
eugzol #
Time Reverse Plagiarism: http://i-said.simplog.ru/posts/176-fenomen-trp
0
John_Minority #
Огромное вам спасибо! Хороший феномен!
+4
Kalan #
Если это AJAX, можно обновлять поиск раз в три минуты и новые результаты, если таковые есть, подсвечивать.

А против идиотов уже ничто не поможет.
+1
marapper #
ну, обновление поиска - нетривиальная задача, которая, к тому же, угоняет траффик. и если человек не из дефолт-сити и у него даже АДСЛ, это может быть плохой идеей. к тому же, все зависит от контекста - на ньюсхантерских сетях такое вполне нужно, на тематическом сообществе вроде Хабра - необязательно.
0
Kalan #
Про три минуты я, конечно, взял с потолка — над конкретной реализацией (крыжиком-выключателем, возможной настройкой и т.п.) надо думать в зависимости от характеристик проекта.

Трафика запрос берёт очень мало (если он, конечно, посылается в виде JSON-куска без лишних подробностей). Если бы это было проблемой, то в сервисах вроде gmail наверняка бы автообновления не существовало.
0
marapper #
здесь сложность будет вот в чем - уменьшение входящего траффика (естественно, сам запрос мало, но вот запрашиваемый список топиков - уже больше). если реализовывать это как в гмейле (там только нотификатор о количестве новых писем), то нужно держать на сервере дополнительно тот список, что запросил пользователь и проверять, не появились в нем изменения и тогда уже отправлять новый пункт списка. а это сложнее. потому что вариант с "еще 2 топика появились" - пользователь просто не кликнет.
+2
Kalan #
Веб-интерфейс gmail'а периодически дёргает заголовки новых писем (просыпаясь, я без всяких телодвижений вижу то, что пришло за время моего сна). Ключевое слово — новых: нам нужны только результаты с определённого момента (времени последнего удачного запроса), поэтому напрашивается очевидное и тривиальное решение — отсечь по таймстампу. Хотя разумеется, если пользователь поменяет кейворды, поиск придётся сбросить.
0
marapper #
черт, ступил конечно. отсекать по времени достаточно.
–3
XXXVII #
Кажется такое было сделано на форуме http://htmlbook.ru, но подтвердить не могу, т.к. после диверсии форум отключен.
+3
bO_oblik #
Идея совершенно не нова. Но, повторение — мать учения :-)
+1
Unknown007 #
А краткость — сестра таланта... Я просто уже собрался писать длинный коммент про то, что дубликаты — это не всегда плохо, про то, что, например, политики постоянно повторяют одни и те же заявления, чтобы все их услышали, что многие пропустят интересные вещи при отсутствии тем, являющихся баянами для других... А вы все это сказали одной фразой :)

p.s. Нельзя дублирование уничтожить полностью. Нельзя и пытаться сделать это целиком, можно только слегка снизить количество одинаковых тем, чтобы не так раздражало.
+2
alex_blank #
на Digg это есть и неплохо работает
0
marapper #
ох, забыл упомянуть - сижу в кафешке и пытаюсь побороть eeePC :)
но на большинстве проектов все же подобных штук нет. на многих нет даже самых очевидных вещей.
0
Kirax #
>Идея разнообразных тематических и не очень, но сильно набивших оскомину, социальных сетей в том, что каждый может, >зарегистрировавшись, получить возможность донести какие-то свои мысли, идеи или просто опыт до других людей

Идея сетей таки в фиксировании связей между людьми. А доносить что-либо до других людей можно было практически с появлением интернета.
0
marapper #
Я говорил в контексте темы. Естественно, что слово "социальные" как раз и говорит о том, что основной их смысл - "социальность", налаживание и фиксирование связей, их взаимодействие через какую-либо функциональность. Именно устойчивые связи, реализованные какими-либо механизмами, что и отличает от обычных форумов. Перефразировал на всякий случай.
0
max7 #
А ещё можно использовать фонетический поиск, как в одноименном топике про PHP
http://habrahabr.ru/blog/php/46167.html
0
marapper #
хех, можно что угодно - на самом деле, лучше просто привязать эту фичу к функции поиска. а уже общий поиск делать так, как надо. за ссылку спасибо, пойдет в копилку к подборке о морфологическом поиске.
+1
vernikr #
На otvet.mail.ru тоже есть.
+1
marapper #
ну я надеюсь, что на многих крупных сетях такое есть (хотя после одноклассников с несливаемыми школами...). просто на поделках, что выдаются (гордо) за "СОЦСЕТИ", такого нет. собственно, они клепаются под штамп (посмотрите, например, блоговые соц.проекты от манимейкеров, которые кроме бабла уже ни о чем не задумываются).
0
TuxPirate #
> В данную секунду делается еще сотня проектов с одной функциональностью, несмотря на то, что уже существует десяток таких же. Это вообще распространенная проблема любых социумов.

Вот это верно, но как бороться (и надо ли?) с такими дубликатами еще не придумали. Количество одинаковых - "Веб 2.0 Рэди!" - сайтов растет, как грибы после дождя.
Пока все работает по принципу "Выживает самый наглый, крупный, распиаренный, интересный, уникальный, сильнейший".
0
marapper #
ну, с этим никто и не собирается бороться :). пусть себе балуются.
–1
Alexiel #
Схожая идея заложена в Википедии( трижды слався!), так, что автор, вы с плагиатили идею( читай бОян =)), однако нашли ей еще одно применение, за что вам и спасибо( мог бы поставил вам в карму + ).
+1
marapper #
я не писал, что она моя. в первую очередь меня удивляет, что ее не используют там, где надо. и не попрошайничайте карму! лучше попробуйте писать грамотно - ведь в Вики пишут грамотно?
–2
Alexiel #
Вы идиот?
прочитай-те еще раз(я выделю одно слово) "( мог бы поставил ВАМ в карму + )".
И причем тут то, что в Википедии пишут грамотно? Я не в Википедии, а в Хабре и посему, пишу как мне нравится.

И если вы идиот, то акцентирую: я делал вам комплимент, выражая свое мнение и подчеркивая то, что идея отнюдь не нова и вы правильно заметили то, что она не везде используется.
+1
marapper #
Простите, но мне глубоко похуй на ваши акценты и ваша лесть не отменяет того, что я сказал. Пишите как нравится, однако будьте готовы к тому, что к вам отнесутся плохо (неграмотность и "мог бы - поставил в карму" от новичков везде уже вот где - за хороший комментарий вам бы плюсанули, не беспокойтесь. и вообще, мне важнее кармы мысли сообщества).

Ну и вообще я мог бы сказать "вы идиот?! я вам дал совет как вести на Хабрахабре, а вы ведете себя как школьник?!". Не переходите, ради бога, на личности.
+1
marapper #
да, и приучайтесь говорить "на Хабре" :)
–2
Alexiel #
Вы идиот. И вы переходите на личности.
КАроче, мне вас жалко. идите проспитесь =). Однако, если в вас говорит не усталость а вы просто такой желчный человеГ, то мне вас жалко.
И комплимент я вам сделал не для плюса (это мне даже в голову почему-то не пришло, с чего бы в этом видите это вы?), а просто потому, что я разделяю ваше мнение на этот вАпрос.

Пы.Сы. Если же, вы вам так и дальше хочется "мерятся письками" и показывать "кто здеЗь главный", то идите в жопу =), это всеголишь ваши комплексы =).
0
marapper #
вы риальни смешной человечек :). комплексы, пиписьки, акценты... спасибо, подняли настроение.
0
Kalan #
Э… А это где? :) Всё, что советуется в руководствах, делается вручную. Из автоматики только само собой разумеющееся средство разрешения конфликтов внутри одной статьи.
0
Alexiel #
Я так понял идея в борьбе с клонами статей. На вики клонов статей нет, каждая уникальна и дополняется по мене надобности. Вот к примеру, хочешь ты написать про Большой андронный колайдер, и видишь, что имеется уже такая статья. Но потом ты вспоминаешь, что ты знаешь что-то про Малый андронный каолайдер, и не находишь этого в Вики, и пишешь свою, оригинальную статью. Кто-то уже другой, когда захочет написать про малый колайдер, уже встретит твою статью и не будет писать клонов.

Правда Вики это не соц.сеть а энциклопедия и такие меры там это необходимость без которой она превратилась бы в болото спама.
0
msnre #
В Вики проблема решена наполовину - при переходе на несуществующую страницу ее предлагают создать, при создании же новой не показывают похожие. На Хабре тоже поиск есть, только им чего-то не пользуются при создании новых статей, а иногда даже что-то спрашивают, не поискав сначала (что там уж говорить о Гугле). Здесь описан все-таки немного другой механизм, применимый, на мой взгляд, только к социальным новостным сетям.
0
Kalan #
В Википедии есть правила именования статей, только таким образом и удаётся спастись. Поиск, к сожалению, перебирает лишь маленькое количество вариантов (с большими-маленькими буквами), а за пределами этого ищет иногда не очень хорошо и с задержкой в пару дней. К тому же есть способы создать статью, минуя этот промежуточный этап.
0
Alexiel #
Не знал. Спасибо.
Однако как я говорил, Вики - это не соц.сеть, а энциклопедия.

А что мешает написать бота, который будет проверять статьи на наличие клонов? Я имею в виду такого бота, который есть на сайтах для проверки аутентичности рефератов.
0
Kalan #
Отсутствие нужды — новые статьи и так просматриваются огромным количеством людей на много раз :)

Идея, впрочем, интересная, если списочек выделять и скармливать людям. Есть уже где-нибудь готовая реализация чего-нибудь подобного под свободной лицензией?
0
atomicxp #
Дубликация это не проблема, особенно при написании программ, люди на этом учатся, и в итоге некоторым удаётся создать нечто новое. Ну, а как же иначе, сразу написать шедевр мало у кого получится, обычно идут путёт от простого к сложному, а простое как правило уже кем-то написано.
–1
marapper #
вообще, я говорил именно о форумах и сообществах. в них дубликация только в редких случаях является нормой.
если же говорить о написании программ, то вы что-то путаете. да, написание шедевра не входит в заслуги новичков, которые начинают с простого, учась по книгам, на собственных ошибках и (!) по чужому коду. но с какого-то момента становится проще взять уже существующую библиотеку, фреймворк, движок или просто функцию. Потому что нет смысла затрачивать много времени на написание того, что уже есть, тратятся время и деньги. К тому же некоторые вещи мы в одиночку хорошо написать попросту не сможем. Однако, такие люди находятся - поэтому мы имеем много вариантов cкриптов OpenID, аяксовых связок, кроссплатформенных библиотек. Здесь самое важное - настоящие отличия от уже существующих аналогов - удобство, стоимость, возможности, реализация и ее скорость.

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

Однозначно решение принимается под каждый проект, с целью увеличить его эффективность.
0
atomicxp #
Новости нет смысла дублировать, но вот в программировании есть выбор из разных библиотек со схожей функциональностью, и я думаю это хорошо. Даже уж не говорю про то, что можно и свою написать, но кто-то же пишет дубли не смотря на то, что даже может быть знает, что есть подобие. В общем, дубль дублю рознь.
+1
VRus #
Я вообще считаю дубликаторство чуть ли не центральной проблемой, которую надо решать. Хотя не далее как сегодня лбом в нее стукнулся - написал нечто, не глянув, что писали здесь до этого. Однако думаю наличие удобного интерфейса для поиска дубликатов - дело второстепенное. Проблема в количестве результатов, которые поисковик выдает. Гляньте на ту самую таблицу: "Хабрахабр - 444000". Это слегка офигительно - выискивать, идентичны ли эти тексты по содержанию :) Свое видение решения я еще планирую описать.. Не то чтобы собственно решения, но облегчение ситуации.
+1
msnre #
Гибкий поиск позволит снизить количество результатов. К тому же это панацея в первую очередь от новостей, которые время от времени забивают "новые" на Хабре. Все-таки применение такого механизма нужно скорее на новостных сайтах.
0
VRus #
Вообще я согласен с автором темы - конечно нужно со стороны техники применять всё, что способствует уменьшению количества повторов. Можно к тому же еще в конституцию Хабра записать - "не поискал - не пости". И напоминать об этом где-нить рядом с окном создания темы. Радикально ситуация наверно не изменится, но всё-таки не лишне будет, мож какой-то процент людей послушаются. Но у техники есть ограничение, связанное с невозможностью (пока) понимать человеческие тексты. Отсюда вывод - самый гибкий и эффективный из всех возможных поисков пока может основываться только на использовании людей (вместе с машинным поиском, естественно). А каковы механизмы этого использования - тема отдельная.
+1
explanent #
гугл-ответы использует поиск по похожим темам, чтобы предупредить дублирование вопросов
http://i38.tinypic.com/2ryj3n5.png
0
newildar #
Видите ли, в частности на Хабре повторы часто обусловлены не тем, что автор не знает о существовании предыдущего такого топика - а совсем наоборот. Человек видит что поднятая тема вызвала большой интерес и через некоторое время пишет такую же (с приставкой "в продолжение темы", "о.." и т.п.) в расчете на повтор успеха. Иногда прокатывает.
За примерами далеко ходить не надо - посмотрите сегодняшние темы :)
0
marapper #
видите ли, вы должны были, судя по дате регистрации, увидеть на Хабре целые серии статей, посвященных выходу айФона, убунты, запуска суперХабра. ведь речь не о рефлексирующих "ответных" постах (которые все равно разместят). часто, кстати, размещают бояны вроде "индусского" кода. тут важно учесть особенность Хабра как системы в плане обсуждения только последних статей - старые никто особо и не смотрит. поэтому, как я и говорил, что здесь такая система не очень-то и важна.

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

и, кстати, на Хабре главнее другая проблема. когда-то давно был введен целый тип поста "ссылка", который должен был нивелировать количество чисто новостных и копипастных статей. ан нет, они продолжили появляться и стало их гораздо больше. вот эту проблему решить сложнее, потому что она сугубо социальная - ровно как и засилье развлекательного и малоинтересного (например, такого, как моя статья :)) контента.
0
newildar #
Ну если не рассматривать Хабр, то в остальных проектах я не заметил особого недовольства повторами, возможно потому что нельзя показать себя и шмякнуть жирный минус автору :) - нет воспитательных механизмов.
К тому же действительно есть особенность отмеченная Вами - на других проектах активно обсуждаются (или не обсуждаются) в основном статьи известных блогеров, а не последние стати. А они ак-то умудряются вероятно писать то что интересное, да и про баян им вряд ли кто напомнит. Из-за этой же особенности даже многократное написание одной статьи неизвестным автором, не вызовет недовольства публики - их большинство и не заметит т.к. у многих нет механизма трансляции последних сообщений независимо от популярности автора или статьи.

А вообще, я сейчас добавил в свою коллекцию идей для Хабра еще одну (17) по Вашему вопросу :)
0
va1en0k #
на дирти такое есть, вроде. там еще и по урлам отбор идет

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