I figured it out!
The problem was that the pipe didn't know the target alphabet. The solution is to use the CRF's Pipe
, like so:
Pipe pipe = crf.getInputPipe();
instead of doing that crazyness to make my own Pipe
.
Now if anyone knows a nicer way to make a new Instance
using a query, that would be good too, I just copied what the trainer does.