From: <and...@us...> - 2013-09-20 09:58:49
|
Revision: 4111 http://sourceforge.net/p/dl-learner/code/4111 Author: andremelo Date: 2013-09-20 09:58:45 +0000 (Fri, 20 Sep 2013) Log Message: ----------- Changing buildTrie to add all subsequences of an entity's text, instead of only composing tokens Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/algorithms/isle/index/SimpleEntityCandidatesTrie.java Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/isle/index/SimpleEntityCandidatesTrie.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/isle/index/SimpleEntityCandidatesTrie.java 2013-09-16 00:14:34 UTC (rev 4110) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/isle/index/SimpleEntityCandidatesTrie.java 2013-09-20 09:58:45 UTC (rev 4111) @@ -50,24 +50,43 @@ if (text.trim().isEmpty()) { continue; } + addEntry(text, entity); + addSubsequences(entity, text); + for (String alternativeText : nameGenerator.getAlternativeText(text)) { addEntry(alternativeText, entity); } - // Adds also composing words, e.g. for "has child", "has" and "child" are also added - if (text.contains(" ")) { - for (String subtext : text.split(" ")) { - addEntry(subtext, entity); - for (String alternativeText : nameGenerator.getAlternativeText(subtext)) { - addEntry(alternativeText, entity); - } - //System.out.println("trie.add("+subtext+","++")"); - } - } + + } } } + /** + * Adds the subsequences of a test + * @param entity + * @param text + */ + private void addSubsequences(Entity entity, String text) { + if (text.contains(" ")) { + String[] tokens = text.split(" "); + for (int size=1; size<tokens.length; size++) { + + for (int start=0; start<tokens.length-size+1; start++) { + String subsequence = ""; + for (int i=0; i<size; i++) { + subsequence += tokens[start+i] + " "; + } + subsequence = subsequence.trim(); + + addEntry(subsequence, entity); + } + + } + } + } + @Override public void addEntry(String s, Entity e) { Set<Entity> candidates; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |