Ejemplo n.º 1
0
  public SRBuilder(Env env, String metricName) throws ConfigurationException {
    this.env = env;
    this.language = env.getLanguages().getDefaultLanguage();
    this.config = env.getConfiguration();
    this.srDir = new File(config.get().getString("sr.metric.path"));
    datasetNames = config.get().getStringList("sr.dataset.defaultsets");

    // Properly resolve the default metric name.
    this.metricName = env.getConfigurator().resolveComponentName(SRMetric.class, metricName);
    if (!srDir.isDirectory()) {
      srDir.mkdirs();
    }
  }
Ejemplo n.º 2
0
  private void buildConceptsIfNecessary() throws IOException, ConfigurationException, DaoException {
    boolean needsConcepts = false;
    for (String name : getSubmetrics(metricName)) {
      String type = getMetricType(name);
      if (type.equals("sparsevector.esa") || type.equals("sparsevector.mostsimilarconcepts")) {
        needsConcepts = true;
      }
    }
    if (!needsConcepts) {
      return;
    }
    File path =
        FileUtils.getFile(
            env.getConfiguration().get().getString("sr.concepts.path"),
            language.getLangCode() + ".txt");
    path.getParentFile().mkdirs();

    // Check to see if concepts are already built
    if (path.isFile() && FileUtils.readLines(path).size() > 1) {
      return;
    }

    LOG.info("building concept file " + path.getAbsolutePath() + " for " + metricName);
    SRConceptSpaceGenerator gen =
        new SRConceptSpaceGenerator(
            language,
            env.getConfigurator().get(LocalLinkDao.class),
            env.getConfigurator().get(LocalPageDao.class));
    gen.writeConcepts(path);
    LOG.info(
        "finished creating concept file "
            + path.getAbsolutePath()
            + " with "
            + FileUtils.readLines(path).size()
            + " lines");
  }