The Stanford Natural Language Processing Group

Free
Tregex is a utility for matching patterns in trees, based on tree relationships.