Given that most people tweet close to home, that most people work close to home, you can get the home location of the user from their profile, and geocode it to assign a location to the tweet.
This approach only works when aggregating tweets for a larger area. E.g. comparing 10,000 tweets each in UK county, or perhaps for cities.
For even larger areas (think regions / countries) you could look through the user bios, or previous tweets to pull out any names or locations and do some analysis to work out which broader region they are in.
Cool, we are in Southwark, doing a bunch of graph visualisation stuff (http://blog.stitched.io/), so come by for a beer at some point, would be good to chat.
This approach only works when aggregating tweets for a larger area. E.g. comparing 10,000 tweets each in UK county, or perhaps for cities.
For even larger areas (think regions / countries) you could look through the user bios, or previous tweets to pull out any names or locations and do some analysis to work out which broader region they are in.