train NER using NLTK with custom corpora (non-english) must use StanfordNER?
It's true that the nltk book doesn't seem clear about this. Traditionally NER models are trained with Conditional Random Fields so I searched for &quot;nltk crf&quot; and found this SO question which points to this detailed example for NER.
To answer your questions:

nltk itself doesn't appear to propose a CRF model, the example above relies on an interface with CRFSuite (as mentioned in the SO question). It's probably possible to use other interfaces such as StanfordNER.
The tricky part is to define your own features, i.e. the conditions that the model uses as features at every step in the sequence. This is how you can specify any kind of specific &quot;grammar rule&quot; you want the model to use.

The example above looks complete but I didn't test anything.