private void addRelatedWordsLexFileFeatures(Set<String> f1, Synset synset, PointerType type, WordNetFeatureClass name, String key) throws JWNLException { if (featureClasses.contains(name)) { Pointer[] pointers = synset.getPointers(type); for (Pointer p : pointers) { Synset target = p.getTargetSynset(); f1.add(key + target.getLexFileName()); } } }
private void addRelatedWordsLexFileFeatures(Set<String> f1, Synset synset, PointerType type, WordNetFeatureClass name, String key) throws JWNLException { if (featureClasses.contains(name)) { Pointer[] pointers = synset.getPointers(type); for (Pointer p : pointers) { Synset target = p.getTargetSynset(); f1.add(key + target.getLexFileName()); } } }
private void addRelatedWordsFeatures(Set<String> f1, Synset synset, PointerType type, WordNetFeatureClass name, String key) throws JWNLException { if (featureClasses.contains(name)) { Pointer[] pointers = synset.getPointers(type); for (Pointer p : pointers) { Synset target = p.getTargetSynset(); for (Word w : target.getWords()) { f1.add(key + w.getLemma()); } } } }
private void addRelatedWordsFeatures(Set<String> f1, Synset synset, PointerType type, WordNetFeatureClass name, String key) throws JWNLException { if (featureClasses.contains(name)) { Pointer[] pointers = synset.getPointers(type); for (Pointer p : pointers) { Synset target = p.getTargetSynset(); for (Word w : target.getWords()) { f1.add(key + w.getLemma()); } } } }
public synchronized List<Synset> getRelated(String word, POS pos, PointerType type, boolean firstOnly) throws JWNLException { List<Synset> output = new ArrayList<>(); IndexWord indexWord = getIndexWord(pos, word); if (indexWord == null) return output; for (Synset synset : indexWord.getSenses()) { Pointer[] pointers = synset.getPointers(type); for (Pointer p : pointers) { output.add(p.getTargetSynset()); } if (firstOnly) break; } return output; }
public synchronized List<Synset> getRelated(String word, POS pos, PointerType type, boolean firstOnly) throws JWNLException { List<Synset> output = new ArrayList<>(); IndexWord indexWord = getIndexWord(pos, word); if (indexWord == null) return output; for (Synset synset : indexWord.getSenses()) { Pointer[] pointers = synset.getPointers(type); for (Pointer p : pointers) { output.add(p.getTargetSynset()); } if (firstOnly) break; } return output; }
private void getParents(Synset synset, List<String> parents) throws JWNLException { Pointer[] pointers = synset.getPointers(); for (int pi=0,pn=pointers.length;pi<pn;pi++) { if (pointers[pi].getType() == PointerType.HYPERNYM) { Synset parent = pointers[pi].getTargetSynset(); parents.add(String.valueOf(parent.getOffset())); getParents(parent,parents); } } }
@Nullable public static String mapSynsetToBBN(@Nullable final String synsetID) { final List<String> ids = Lists.newLinkedList(); ids.add(synsetID); while (!ids.isEmpty()) { final String id = ids.remove(0); final List<String> bbns = SYNSET_TO_BBN.get(id); if (bbns != null && !bbns.isEmpty()) { return bbns.get(0); // return only first BBN in case of ambiguity } try { final Synset source = getSynset(id); final List<String> hypernymIDs = Lists.newArrayList(); for (final PointerType type : new PointerType[] { PointerType.HYPERNYM, PointerType.INSTANCE_HYPERNYM }) { for (final Pointer pointer : source.getPointers(type)) { final Synset target = pointer.getTargetSynset(); hypernymIDs.add(getSynsetID(target.getOffset(), target.getPOS().getKey())); } } Collections.sort(hypernymIDs); // necessary in order to get deterministic results ids.addAll(hypernymIDs); } catch (final JWNLException ex) { throw new Error("Unexpected exception (!)", ex); } } return null; }
private void getParents(Synset synset, List<String> parents) throws JWNLException { Pointer[] pointers = synset.getPointers(); for (int pi = 0, pn = pointers.length; pi < pn;pi++) { if (pointers[pi].getType() == PointerType.HYPERNYM) { Synset parent = pointers[pi].getTargetSynset(); parents.add(String.valueOf(parent.getOffset())); getParents(parent,parents); } } }
//'WordnetPOS' is an instance of the class POS defined in JWNL. It indicates the part of //speech tag. token JWNL.initialize(new FileInputStream("path/file_properties.xml")); Dictionary wordnet = Dictionary.getInstance(); IndexWord token = wordnet.lookupIndexWord(WordnetPos, word); //word is a string Synset[] senses = token.getSenses(); String Dom = new String(); for (int i = 0; i < senses.length; i++) { String domSet = new String(); try { //CATEGORY is the pointer type of the synset containing the domains Pointer[] pointerArr = senses[i].getPointers(PointerType.CATEGORY); for (Pointer pointer : pointerArr) { Synset syn = pointer.getTargetSynset(); Word[] words = syn.getWords(); for (Word word : words) { domaSet = domaSet + word.getLemma().trim().toLowerCase() + " "; } } catch (NullPointerException e) { } Dom = Dom + domSet; }
public synchronized List<String> getRelatedWords(String word, POS pos, PointerType type, boolean firstOnly) throws JWNLException { List<String> syns = new ArrayList<>(); IndexWord indexWord = getIndexWord(pos, word); if (indexWord == null) return syns; for (Synset synset : indexWord.getSenses()) { Pointer[] pointers = synset.getPointers(type); for (Pointer p : pointers) { Synset target = p.getTargetSynset(); for (Word w : target.getWords()) { syns.add(w.getLemma()); } } if (firstOnly) break; } return syns; }
public static Set<String> getGenericSet(final String synsetID, final PointerType... pointerTypes) { final Set<String> ret = Sets.newHashSet(); final Synset synset = getSynset(synsetID); if (synset != null) { for (final PointerType pointerType : pointerTypes) { for (final Pointer pointer : synset.getPointers(pointerType)) { try { final Synset target = pointer.getTargetSynset(); ret.add(getSynsetID(target.getOffset(), target.getPOS().getKey())); } catch (final Throwable ex) { throw new RuntimeException(ex); } } } } return ret; }
public synchronized List<String> getRelatedWords(String word, POS pos, PointerType type, boolean firstOnly) throws JWNLException { List<String> syns = new ArrayList<>(); IndexWord indexWord = getIndexWord(pos, word); if (indexWord == null) return syns; for (Synset synset : indexWord.getSenses()) { Pointer[] pointers = synset.getPointers(type); for (Pointer p : pointers) { Synset target = p.getTargetSynset(); for (Word w : target.getWords()) { syns.add(w.getLemma()); } } if (firstOnly) break; } return syns; }