1. A computer-implemented method for locating a user based on aggregated messages sent over a communication network from known locations, comprising: aggregating a plurality of messages, each message comprising content and a geotag identifying a location from which the message was sent; grouping messages according to the locations from which the messages were sent; receiving query content from a user at an unknown location; estimating the unknown location by comparing at least a portion of the query content to the content of the aggregated messages, including generating a list of common locations correlated to the query content, and ranking the list of common locations based on a probability score that message text of a common location matches the query content text; and outputting the estimated location.