The CRF causes some problems, namely:
- It depends on
keras_contribs.CRF which:
- Is not compatible (afaik) with tensorflow 2.0 (which is where the latest version of keras lives).
- Prevents deep_reference_parser being published on pypi (it doesn't allow static dependencies)
- Requires logic to rebuild the model prior to predictions in the same way that the model is built for training, rather than just loading the complete model from a file.
Replacing the CRF some other output would ameliorate these problems. Note that it is already possible to remove it right now by specifying output="softmax" rather than "crf" when building the model with deep_reference_parser.build_model(). A softmax output will almost certainly perform worse than a CRF though.