Chinese POS tagging

This includes some refactoring of
-the ChainPosTagger class
-ChainPosTrainer class

And the addition of 
-subclasses and companion objects of ChainPosTrainer for training on specific tag sets and corpora
-subclasses and companion objects of ChainPosTagger for trained models and feature extraction specific to corpora and tag sets
-a POS tag domain object for Chinese Tree Bank 7.0
-a PosTag subclass and labeled subclass for Chinese Tree Bank POS tagging

I may make some more changes to the feature extraction for the Chinese POS tagger, but the accuracy is better than 91% when trained on the first 90% of CTB7, then tested on the final 10%.
Oh forgot about this. I don't think it was necessary. It might have just
been something I did to make debugging my own code easier.
On Oct 5, 2014 9:08 PM, "David Belanger" <notifications@github.com> wrote:

> In src/main/scala/cc/factorie/app/chain/Observation.scala:
>
> >        val thisTokenNewFeatures = newFeatures(i)
> > -      for (offsets <- offsetConjunctions)
> > -        thisTokenNewFeatures ++= appendConjunctions(token, seqStart, seqEnd, vf, regex, null, offsets).map(list => list.sortBy({case(f,o)=>o+f}).map({case(f,o) => if (o == 0) f else f+"@"+o}).mkString("_&_"))
>
> I'm confused by this change. Why did the POS changes necessitate this?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/factorie/factorie/pull/219/files#r18439135>.
>