I'm not sure I understand the details of Unicode well enough to investigate completely, actually, so any help here would be greatly appreciated. There's the added complication here of possible interactions between C++, SWIG, and Python.

BLLIP does have a Chinese model which was built from [CTB5](http://catalog.ldc.upenn.edu/LDC2005T01) (I think) and uses GB encoding, so there seems to be some support for non-ASCII encoding. Still, I'm not confident in my ability to test this and will have to read up on this.

Here's a possible hack^Wworkaround for the English model -- if a token includes non-ASCII characters, BLLIP doesn't actually care too much about what the word is (since it will be an unknown word, only the initial capitalization, whether it has a hyphen, and its last two letters will matter). So, we could actually replace the word with it's nearest ASCII equivalent before parsing and then stick the original token text back into the NLTK `Tree`. Does this seem like too much of a hack? (After writing it, I'm beginning to think that it might be...)