Похожие темы: новая функция нашего форума

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

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

В ближайшее время добавим в списки похожих данные из разделов Технического анализа, Документации, Code Base, Статьи и Чемпионат.


Мы будем благодарны Вашим замечаниям и критике.
 
Интересная идея! А кто определяет степень похожести, а вернее задаёт всплывающий список тем? Робот по ключевым словам, или модератор вручную?
 
solandr:
Интересная идея! А кто определяет степень похожести, а вернее задаёт всплывающий список тем? Робот по ключевым словам, или модератор вручную?
Мы сами написали мини-гугл для форума с ежесуточной переиндексацией. Сейчас надо тюнинговать алгоритмы вычисления корреляций.
 
Мне понравилось это :)

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

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

Когда юзер выполняет поиск, он, вообще говоря, ищет законченную мысль, и оценивает найденное по содержанию этой мысли. Для идентификации мысли, видимо, нужно как-то вычислять значимость найденных слов в контексте сообщения. Полагаю, что это очень сложная задача, затраты на её решение наверняка будут дороже результата. Эта же задача пока не очень-то решена в переводчиках ("И кто его знает, чего он моргает.."- песенка. "Точно неизвестно, почему у него дёргается глаз" - перевод.:) Решение подобной задачи привело бы к небывалому качественному скачку в смежных отраслях, .. но это задача для небольшого института лингвистов-программистов, ничем другим не занимающихся(лет на 20).

Решение, на мой взгляд, лежит за пределами обсуждаемой технологии.
1. В данном случае (для повышения корреляции похожих тем) нужно использовать человеческий фактор.
Хороший библиотекарь может сказать сразу (и гораздо ближе к теме) что нужно почитать интересующемуся юзеру.
Можно завести библиотекаря. Прилежная тётенька будет с удовольствием выполнять эту работу вручную; затраты при этом будут на 3-4 порядка ниже, а эффективность на порядок выше.
2. Предоставить возможность юзерам добавлять ссылки на темы (это и так часто делается юзерами в сообщениях). Ссылка, конечно, должна быть именная, т.е. должно быть понятно кто её указал. Для стимуляции поставить рейтинг юзера (который под иконкой) в зависимость от количества и качества ссылок. Через некоторое время всем будет ясно, какой юзер часто указывает полезную тему, а какой - просто погулять вышел. Заинтересовать юзеров: для привлечения заказчиков юзер-программист хочет, чтоб его заметили и сделали заказ. Поставить ему под иконкой красный значок - пишу программы; ещё один значок - мой сайт и т.д. Юзеры будут проявлять активность чтоб их заметили,- в т.ч. и в деле указания полезных ссылок (а тётенька всё это хозяйство должна курировать).
3. (может быть, с этого надо начать) Разделить форум на насколько тематических разделов: индикаторы, скрипты, эксперты, совместное ипользование, реклама, общие вопросы, раздел для интересующихся, раздел для сочувствующих:), раздел для начинающих, для продвинутых и т.д. ( Для полноты замечу, что считаю очень важной возможность приватных сообщений и специальный раздел с ограниченным доступом. Это позволило бы, во-первых, обсуждать некоторые темы, не затрагивая внимания посторонних, а во-вторых, избавиться от значительной части почтовой переписки - собрать всё в одном месте).
4. Можно заменить "Похожие" на "Ссылка к сообщению" и "Ссылка к теме". "Ссылка к сообщению" должна указывать на конкретное сообщение, т.е. изначально каждое сообщение в теме должно иметь метку.

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

В целом идею поддержания перекрёстных ссылок считаю очень полезной и песпективной.

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

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

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

Я создал тему, задал вопрос, получил на него краткий, но вполне ясный ответ от Rosha, а на следующий день по ссылкам «похожие» нашёл ещё более полный и развёрнутый ответ. Я бы не создавал тему, если бы сразу смог найти такие материалы.

Нельзя ли сделать так, чтобы механизм поиска подобных тем срабатывал до публикации новой темы в момент нажатия кнопки «добавить»? А если уж автор не будет удовлетворён выданным списком похожих тем – тогда публикация. Или что-то такое Вы и имеете в виду?
 
Dmitrich:
Нельзя ли сделать так, чтобы механизм поиска подобных тем срабатывал до публикации новой темы в момент нажатия кнопки «добавить»? А если уж автор не будет удовлетворён выданным списком похожих тем – тогда публикация. Или что-то такое Вы и имеете в виду?
Да, как раз это я и имел в виду - через некоторое время (о запуске объявим) похожие темы будут расчитываться автоматически в момент добавления сообщения. Автор сразу же увидит похожие ответы/обсуждения на свое сообщение. Но добавлять свой вопрос придется.

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

Поэтому вместо отображения множества тем, начатых пользователем (мною в примере):



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


Первое множество является, очевидно, только подмножеством второго множества.
А хочется видеть список тем с своим участием, независимо от того, кто тему начал (я/не я). Ну можно признак своей (начатой собой) темы пометить*.
Причина обращения: