Еще было бы неплохо сделать что когда пользователь добавляет новый тег, делается проверка на то существует ли уже такой тег, и если существует то просто добавляется одна позиция в значение "веса" этого тега.
Думаю что логично это делать на сервере и возвращать результат. И в зависимости от результата можно вызвать метод повышения "веса" у конкретного тега, либо добавить новый.
Сейчас же новый тег просто добавляется на основании введенных данных без запроса к серверу...
А настолько ли важно количественное определение веса тэгов? ИМХО проще создать, скажем, две категории (прямые метки и косвенные).
Пример: http://alexeytokar.habrahabr.ru/blog/470…
Прямые метки: GUI, Interfaces
Косвенные: Хабр, статьи
Прямые метки отображают контент, а косвенные - скорее как внешние связи документа.
А всегда ли можно безболезненно поделить на эти два типа?
А если необходимо ввести еще один уровень "косвенности"?
И пример, указанный Вами, не совсем корректен, скажем, если я хочу выделить что это более "GUI", нежели "tags"... Тут бы я еще мог добавить теги "JavaScript", но отметить более низким "весом", ибо на реализации я не зацикливался. Ну и т.д.
А нужно ли это все пользователю? Как понять, хватит ли GUI полученных n.m баллов или нет? Лично я для себя выделил эти две категории. В них я могу достаточно четко раскидать ассоциации.
Это обучит только «как сделать», а не «как разумно сделать». В смысле если пользователи будут теги расставлять от балды, то релевантности это не поднимет, а только усложнит. Как пример — возможность n-бальной оценки vs +/– — ооочень редко я встречал разумные пользовательские оценки в первом случае, чаще всего ставят или максимум, или минимум.
Ах да, совсем забыл, как мне кажется, следует общую сумму величин тегов в вашем примере сделать постоянной. Т.е., если у нас один тег PHP, он имеет вес в единицу, если мы добавляем тег javascript весом в 0.4, то вес тега PHP становится 0.6
чтобы пользователь "разумно" пользовался интерфейсом, интерфейс должен быть полезным для него, а не существовать "для галочки", и не выглядеть как фича, которую просто захотелось прикрутить...
Так вот касательно данного интерфейса, то, задействовав его там, где он поможет пользователю, можно ожидать разумного использования.
Интерфейс отображающий суть