Поиск единомышленников
Jun. 13th, 2010 07:38 pmГораздо лучше, чем (не)указанные в профиле интересы, об интересах ЖЖ-юзера говорит его френдлента. По крайней мере для таких, как я, которые добавляют в друзья в основном тех, кого им интересно читать. А значит, для почти всякого ЖЖ-юзера Х можно автоматически найти его единомышленников, людей со схожими интересами: это юзеры, чья френдлента заметно пересекается с лентой Х (можно отсортировать по числу людей в пересечении). Эти люди могут не быть ни френдами Х, ни числить Х в своих френдах, ни френдами френдов Х, но тем не менее найти их очень просто.
Написал для этого дела программку. Исходники, на выбор, Ruby или Haskell. На Руби получилось покороче. В процессе работы программа выводит прогресс на консоль, кэширует ответы сервера в текстовых файлах friends_*.txt и сохраняет результат в файл cothinkers.txt, куда в отсортированном по релевантности виде записывает ники единомышленников (кроме тех, кто уже является френдом) и количество общих френдов (в список попадают те, у кого оно больше 1).
Написал для этого дела программку. Исходники, на выбор, Ruby или Haskell. На Руби получилось покороче. В процессе работы программа выводит прогресс на консоль, кэширует ответы сервера в текстовых файлах friends_*.txt и сохраняет результат в файл cothinkers.txt, куда в отсортированном по релевантности виде записывает ники единомышленников (кроме тех, кто уже является френдом) и количество общих френдов (в список попадают те, у кого оно больше 1).