/* * Get the necessary settings from cheap_settings to create UT model */ #include #include "ut_from_pet.h" #include "errors.h" using namespace std; tTrigramModel *createTrigramModel(settings *cheap_settings) { tdlOptions *tdl_opts = new tdlOptions(); string ut_basedir = cheap_settings->base() + "ut/"; tdl_opts->set("ut-basedir", ut_basedir); if (cheap_settings->lookup("prefixes") != NULL) tdl_opts->set("prefixes", cheap_settings->value("prefixes")); if (cheap_settings->lookup("suffixes") != NULL) tdl_opts->set("suffixes", cheap_settings->value("suffixes")); if (cheap_settings->lookup("generics_map") != NULL) tdl_opts->set("generics_map", cheap_settings->value("generics_map")); if (cheap_settings->lookup("ut-whitelist") != NULL) tdl_opts->set("ut-whitelist", cheap_settings->value("ut-whitelist")); if (cheap_settings->lookup("ut-model") != NULL) tdl_opts->set("ut-model", ut_basedir+cheap_settings->value("ut-model")); if (cheap_settings->lookup("ut-debug") != NULL) tdl_opts->set("ut-debug", cheap_settings->value("ut-debug")); else { delete tdl_opts; throw tError("No ubertagging model supplied. Check ut-model setting"); } tTrigramModel *lpsm = new tTrigramModel(tdl_opts); delete tdl_opts; return lpsm; }