One embodiment of the present invention provides a method for recommending
leisure activities to a user. During operation, the system receives at
least one query for leisure activities. The system then determines a
collaborative filtering score of a candidate activity based on a
collaborative filtering model, a soft query score for the candidate
activity based on a soft query model, a content preference score for the
candidate activity based on a content preference model and the user's
past behavior, and a distance score for the candidate activity based on a
distance model. Next, the system generates a composite score for the
candidate activity by calculating a weighted average of the collaborative
filtering score, the soft query score, the content preference score, and
the distance score. The system further returns a recommendation list
containing the activities with the highest composite scores.