From: <seb...@us...> - 2011-11-29 10:19:08
|
Revision: 3448 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3448&view=rev Author: sebastianwtr Date: 2011-11-29 10:19:02 +0000 (Tue, 29 Nov 2011) Log Message: ----------- [tbsl] fixed getRelatedNouns function Modified Paths: -------------- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/nlp/WordNet.java Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/nlp/WordNet.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/nlp/WordNet.java 2011-11-28 15:20:35 UTC (rev 3447) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/nlp/WordNet.java 2011-11-29 10:19:02 UTC (rev 3448) @@ -117,56 +117,67 @@ * @return List of Hypo and Hypernyms * @throws JWNLException */ - public List<String> getRelatedNouns(String s) throws JWNLException { + public List<String> getRelatedNouns(String s) { List<String> result = new ArrayList<String>(); - IndexWord word = dict.getIndexWord(POS.NOUN,s); - - Synset sense = word.getSense(1); - - PointerTargetNodeList relatedListHypernyms = null; - PointerTargetNodeList relatedListHyponyms = null; - try { - relatedListHypernyms = PointerUtils.getInstance().getDirectHypernyms(sense); - } catch (JWNLException e) { + IndexWord word = null; + Synset sense=null; + try{ + word=dict.getIndexWord(POS.NOUN,s); + if(word!=null){ + sense = word.getSense(1); + //Synset sense = word.getSense(1); + + PointerTargetNodeList relatedListHypernyms = null; + PointerTargetNodeList relatedListHyponyms = null; + try { + relatedListHypernyms = PointerUtils.getInstance().getDirectHypernyms(sense); + } catch (JWNLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + try { + relatedListHyponyms = PointerUtils.getInstance().getDirectHyponyms(sense); + } catch (JWNLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + Iterator i = relatedListHypernyms.iterator(); + while (i.hasNext()) { + PointerTargetNode related = (PointerTargetNode) i.next(); + Synset s1 = related.getSynset(); + String tmp=(s1.toString()).replace(s1.getGloss(), ""); + tmp=tmp.replace(" -- ()]",""); + tmp=tmp.replaceAll("[0-9]",""); + tmp=tmp.replace("[Synset: [Offset: ",""); + tmp=tmp.replace("] [POS: noun] Words: ",""); + //its possible, that there is more than one word in a line from wordnet + String[] array_tmp=tmp.split(","); + for(String z : array_tmp) result.add(z.replace(" ", "")); + } + + Iterator j = relatedListHyponyms.iterator(); + while (j.hasNext()) { + PointerTargetNode related = (PointerTargetNode) j.next(); + Synset s1 = related.getSynset(); + String tmp=(s1.toString()).replace(s1.getGloss(), ""); + tmp=tmp.replace(" -- ()]",""); + tmp=tmp.replaceAll("[0-9]",""); + tmp=tmp.replace("[Synset: [Offset: ",""); + tmp=tmp.replace("] [POS: noun] Words: ",""); + //its possible, that there is more than one word in a line from wordnet + String[] array_tmp=tmp.split(","); + for(String z : array_tmp) result.add(z.replace(" ", "")); + } + } + }catch (JWNLException e) { // TODO Auto-generated catch block e.printStackTrace(); } - try { - relatedListHyponyms = PointerUtils.getInstance().getDirectHyponyms(sense); - } catch (JWNLException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - Iterator i = relatedListHypernyms.iterator(); - while (i.hasNext()) { - PointerTargetNode related = (PointerTargetNode) i.next(); - Synset s1 = related.getSynset(); - String tmp=(s1.toString()).replace(s1.getGloss(), ""); - tmp=tmp.replace(" -- ()]",""); - tmp=tmp.replaceAll("[0-9]",""); - tmp=tmp.replace("[Synset: [Offset: ",""); - tmp=tmp.replace("] [POS: noun] Words: ",""); - //its possible, that there is more than one word in a line from wordnet - String[] array_tmp=tmp.split(","); - for(String z : array_tmp) result.add(z.replace(" ", "")); - } - Iterator j = relatedListHyponyms.iterator(); - while (j.hasNext()) { - PointerTargetNode related = (PointerTargetNode) j.next(); - Synset s1 = related.getSynset(); - String tmp=(s1.toString()).replace(s1.getGloss(), ""); - tmp=tmp.replace(" -- ()]",""); - tmp=tmp.replaceAll("[0-9]",""); - tmp=tmp.replace("[Synset: [Offset: ",""); - tmp=tmp.replace("] [POS: noun] Words: ",""); - //its possible, that there is more than one word in a line from wordnet - String[] array_tmp=tmp.split(","); - for(String z : array_tmp) result.add(z.replace(" ", "")); - } return result; } - + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |