1. A method of constructing a multi-type feature vector comprising the steps of: obtaining a user's communication interest; obtaining network attributes; obtaining application attributes; and forming a feature vector based on the obtained communication interest, network attributes, and application attributes.