Попробовав самостоятельно организовать облако тегов, я обратил внимание на некоторые нюансы. О них и расскажу.
У современных облаков есть пара очевидных проблем. Самая заметная заключается
в том, что популярные теги, выводимые крупными размерами шрифта, дают худшие
результаты при поиске. Возможные способы решения:
* специализация
облака,
* ручная модерация,
* возможность искать по наборам тегов.
Формировать их можно, например, используя классический прием с зажатым Shift,
или организовав «пошаговый набор», как на swik.net.
Другая проблема — порядок вывода тегов в облаке. Сейчас широко распространена сортировка в алфавитном порядке. Но такой подход годится лишь для тех случаев, когда человек ищет в облаке конкретное известное ему слово. Например, для массива на главной странице blogs.yandex.ru сортировка в алфавитном порядке, по-моему, не подходит.
А если не в алфавитном порядке, как же еще? После недолгих размышлений на ум приходит рисование облака, исходя из смысловых связей между тегами. То есть похожие понятия, чаще всего используемые вместе, в облаке должны находиться недалеко друг от друга.
При такой организации в облаке
* теги будут сгруппированы по предметным
областям,
* синонимы будут выводиться рядом.
Примеры:
* рисунки 7 и 9 на страницах 8 и 10 в «Utilizing Folksonomy:
Similarity Metadata from the Del.icio.us System»,
* рисунок 2 на странице
5 в «Improving
Tag-Clouds as Visual Information Retrieval Interfaces».
Математическая модель вычисления релевантности между тегами приводится в «Improving Tag-Clouds as Visual Information Retrieval Interfaces».
Как отобразить облако в виде графа с дугами описано в Semidefinite Embedding Applied to Visualizing Folksonomies.
Я пока что не искал готовое ПО для рисования «умных» облаков на сайтах, но, думаю, оно существует. Был бы признателен, если бы кто-нибудь поделился ссылкой на хороший freeware open source модуль.