Source code for ctparse.loader

"""Utility to load default model in ctparse"""

import bz2
import logging
import os
import pickle

from ctparse.scorer import Scorer, DummyScorer
from ctparse.nb_scorer import NaiveBayesScorer

logger = logging.getLogger(__name__)

# Location of the default model, included with ctparse
DEFAULT_MODEL_FILE = os.path.join(os.path.dirname(__file__), "models", "model.pbz")


[docs]def load_default_scorer() -> Scorer: """Load the scorer shipped with ctparse. If the scorer is not found, the scorer defaults to `DummyScorer`. """ if os.path.exists(DEFAULT_MODEL_FILE): logger.info("Loading model from {}".format(DEFAULT_MODEL_FILE)) with bz2.open(DEFAULT_MODEL_FILE, "rb") as fd: mdl = pickle.load(fd) return NaiveBayesScorer(mdl) else: logger.warning("No model found, initializing empty scorer") return DummyScorer()