Hand-built HMM + Viterbi vs spaCy · 12 universal tags · UD English Web Treebank
Try an example:
One column per word, one row per tag. Brightness = the tag's share of that column's best-path probability; outlined cells = the path Viterbi backtracked. Hover a cell for its log score and the tag it came from. The bottom row is the tag the word's emission alone would pick: yellow where the transitions overruled it.
Counting the HMM and tagging 2,077 test sentences with both taggers — this fills in when warm-up finishes (under a minute).