Hi,
Similarity of work is certainly a very complex issue, nonetheless the results given by similar can be extremely weird. One way to solve it would be, as it is solved in terms, to weight the similarity. Possibly, this weight could be not necessarily a single number but a vector of x in [0,1] or arbitrary real numbers depending on the metrics used, and making explicit the different notions of relatedness.
Could such a weighted_similar be implemented? The issue was already raised in thread http://developer.echonest.com/forums/thread/49