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();
}
}