Blog: Alter World

Виртуальный мир является своеобразным Alter Ego мира реального…

Граф ключевых слов

Комментариев нет 11 мая 2008, 18:54 • Разное

Дня четыре-пять назад в разговоре с коллегой по работе (в ходе обсуждения одной задачи на практическое применение множеств) вспыл вопрос о построении связей между объектами одного сайта. Этот сайт представлял собой каталог аналогов Windows и Linux программ, и одной из «фишек» этого каталога была выборка ПО по разделам а-ля фасет (визуально фасет, а внутри все на множествах реализовано насколько я понял из обсуждения (реализацию сайта делал другой человек – нужно будет еще и с ним обсудить этот вопрос)). В общем говоря я несколько удивился задаче и... заявил, что она довольно тривиальна, и если при проектировании базы данных связи между таблицами делать как многое-к-многому, то решается все одним запросом. Поговорили и разошлись, но идея сидела в подсознании и долбила «можно же и лучше сделать».

И вот вчера я «созрел»: решил построить неориентированный граф всех связей между ключевыми словами в проекте «Медиарепозиторий», потому что с одной стороны задача очень похожа на описанную выше, с другой стороны есть достаточно приличное количество этих слов, чтобы можно было что-то строить и с третьей стороны, количество слов не настолько большое, чтобы очень долго ждать построение графа.

Сказано – сделано. Для начала был реализован функционал «связанные ключевые слова», а потом я несколько озадачился. Консультации со специалистом по SQL дал неутешительный ответ – средствами одного только SQL на существующей СУБД (MySQL 5) задача не решается. Пришлось все выносить на «клиентскую часть» – скрипт, работающий с БД.

Немного ранее я работал с набором утилит graphviz для построения графов, поэтому решил использовать его для визуализации графа и на этот раз. Средствами PHP и SQL я подготовил соответствующий .dot-файл для graphviz'а и построил необходимый граф, используюя метод fdp (neato давал сильно «скученную» картинку, а dot слишком большую).

Результат – ниже:

Граф ключевых слов
«Граф ключевых слов» на Яндекс.Фотках

На графе ясно видно несколько «очагов кристаллизации» ключевых слов, но если честно, то я удивился именно такому виду графа – мне думалось, что он будет более «размытым» 🙂

Ещё заметки на эту тему:

Комментариев нет

Вы можете подписаться на комментарии к этой статье через RSS или отправить к ней TrackBack.

Оставить свое мнение

XHTML: Вы можете использовать эти тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>