assigning function tags to parsed text it is generally recognized that the common non-terminal labels for syntactic constituents (np, vp, etc.) do not exhaust the syntactic and semantic information one would like about parts of a syntactic tree. for example, the penn treebank gives each constituent zero or more 'function tags' indicating semantic roles and other related information not easily encapsulated in the simple constituent labels. we present a statistical algorithm for assigning these function tags that, on text already parsed to a simple-label level, achieves an f-measure of 87%, which rises to 99% when considering 'no tag' as a valid choice. as an alternative to hard coded heuristics, we propose to recover the penn functional tags automatically.