Many analyses of text rely on extracting features from that text: sentiment, writing style, embeddings, etc. The modern trend is toward uninterpretable features (such as vector embeddings), but it can still be useful to extract human-interpretable features. I’ll call this “semantic tagging”.
There is a bit of a disconnect: the CS/NLP people use very sophisticated techniques to extract uninterpretable features, while the linguistics people use very simple techniques (like regular expressions) to extract interpretable features. There is room in the middle.
Douglas Biber introduced a set of 67 lexical and grammatical features in his book Variation across Speech and Writing (1988, Cambridge University Press). Appendix II gives the rules, which were largely simple part-of-speech patterns. Biber hand-edited the resulting matches to ensure they accurately detected the intended feature. Apparently Biber’s matcher was a Perl script that is not publicly available.
Other taggers are now available:
pseudobibeR (for R) and pybiber, by David Brown and me. Both use simple patterns on spaCy output, using its dependency parsing to be more specific.
Multi Feature Tagger of English, using Stanza and its own distinct set of features that were adapted from Biber’s.
Biberpy, another Python reimplementation that takes POS-tagged text and matches Biber’s features. However, Blombach et al (below) note that it does not implement all of Biber’s features and gives implausible results for some of them.
BiberPlus, another Python and spaCy-based tagger. Also includes Neurobiber, which trains RoBERTa to recognize the features.
Multidimensional Analysis Tagger, a Java program based on the Stanford tagger and Biber’s rules.
CLEF, a project to build a catalog of features (starting with Biber’s) with pattern-based rules in YAML files. The companion library pyclef will use these rules to match the features, but is not yet released.
Blombach, A., Gracheva, M., Steinfels, C., & Mahlberg, M. (2026). “Just do register analysis”, they said. “It’ll be easy”, they said: Evaluating the impact of lexico-grammatical tagging systems on multidimensional analysis. Research Square. doi:10.21203/rs.3.rs-9163857/v1
Analysis comparing pseudobibeR, pybiber, BiberPlus, Biberpy, and the Multidimensional Analysis Tagger, showing they each operationalize some features differently and can produce differing results.