1. A method for estimating a mood of a user, comprising: receiving a user profile; receiving data indicative of a user's mood from a communication device associated with the user; receiving data indicative of the user's mood from at least one source other than the user; receiving environmental non-user specific data with a potential impact on the user's mood; processing the data from the communication device and sources other than the user and the environmental data to filter out data that is not relevant to the user's mood; cross-correlating the filtered data with the user profile; and estimating the mood of the user based on the cross-correlated filtered data.