'Load a BLLIP Parser model from scratch. You\'ll typically want to
use the ``from_unified_model_dir()`` class method to construct
this object.
:param parser_model: Path to parser model directory
:type parser_model: str
:param reranker_features: Path the reranker model\'s features file
:type reranker_features: str
:param reranker_weights: Path the reranker model\'s weights file
:type reranker_weights: str
:param parser_options: optional dictionary of parser options, see
``bllipparser.RerankingParser.RerankingParser.load_parser_options()``
for more information.
:type parser_options: dict(str)
:param reranker_options: optional
dictionary of reranker options, see
``bllipparser.RerankingParser.RerankingParser.load_reranker_model()``
for more information.
:type reranker_options: dict(str)'

def __init__(self, parser_model=None, reranker_features=None, reranker_weights=None, parser_options=None, reranker_options=None):

    _ensure_bllip_import_or_error()
    parser_options = (parser_options or {})
    reranker_options = (reranker_options or {})
    self.rrp = RerankingParser()
    self.rrp.load_parser_model(parser_model, **parser_options)
    if (reranker_features and reranker_weights):
        self.rrp.load_reranker_model(features_filename=reranker_features, weights_filename=reranker_weights, **reranker_options)
