public void getChainsFromARIfile()

in opennlp-similarity/src/main/java/opennlp/tools/similarity/apps/taxo_builder/AriAdapter.java [37:83]


  public void getChainsFromARIfile(String fileName) {

    try {
      BufferedReader br = new BufferedReader(new InputStreamReader(
          new FileInputStream(fileName)));
      String line;
      while ((line = br.readLine()) != null) {
        if (line.length() < 10 || line.startsWith("%") || line.startsWith(":"))
          continue;
        String chain0 = line.replace("_,", "&").replace("_)", "&")
            .replace(":-do(", "&").replace(":-var", "&").replace("taks", "tax")
            .replace(":- do(", "&").replace("X=", "&").replace(":-", "&")
            .replace("[X|_]", "&").replace("nonvar", "&").replace("var", "&")
            .replace('(', '&').replace(')', '&').replace(',', '&')
            .replace('.', '&').replace("&&&", "&").replace("&&", "&")
            .replace("&", " ");
        String[] chains = chain0.split(" ");
        List<String> chainList = new ArrayList<>(); // Arrays.asList(chains);
        for (String word : chains) {
          if (word != null && word.length() > 2 && !word.contains("0")
              && !word.contains("1") && !word.contains("2")
              && !word.contains("3") && !word.contains("4")
              && !word.contains("5"))
            chainList.add(word);
        }
        if (chains.length < 1 || chainList.size() < 1
            || chainList.get(0).length() < 3)
          continue;
        String entry = chainList.get(0);
        if (entry.length() < 3)
          continue;
        chainList.remove(entry);
        List<List<String>> res = lemma_AssocWords.get(entry);
        if (res == null) {
          List<List<String>> resList = new ArrayList<>();
          resList.add(chainList);
          lemma_AssocWords.put(entry, resList);
        } else {
          res.add(chainList);
          lemma_AssocWords.put(entry, res);
        }
      }
    } catch (Exception e) {
      e.printStackTrace();

    }
  }