With George's post on the limitations of AdGroups still fresh on the blog, (AdGroups as a Barrier to Success), I decided to write a RKG Duck filter which approximates AdGrouping. That is, given a list of keywords, write a filter which yields a signature which clusters similar phrases.
Here's a 90 second preview video showing the filter in action:
Video Link: RKG Duck II: Google AdGroups And Stemming
Note: this example is a demonstration of what one can do with RKG Duck. This isn't how our firm builds AdGroups -- we don't recommend building out phrases then AdGrouping later. Rather, the right approach to build campaigns is to go through every relevant URL on the site; build out rich keywords for each URL; assign targeted copy, smart match types, and sensible initial bids; then adgroup them appropriately. As George mentioned, there's significant benefit in databasing ads in a richer taxonomy than the simple Campaign >> AdGroup >> Term hierarchy.