calculate a distance using the similarity of the enrichment vectors of the nodes, and either replace the weight based on annotation similarity, or add it to it. Not sure how to add it though.
Can imagine adding to all edges, and then rescaling, or maybe using the method of adding probabilities together ....