public POS getPOS() { return _synset.getPOS(); }
public WordNetPartOfSpeech getPartOfSpeech() { return JwnlUtils.getWordNetPartOfSpeech(this.realSynset.getPOS()); }
protected Word createWord(Synset synset, int index, String lemma) { if (synset.getPOS().equals(POS.VERB)) { return new MutableVerb(synset, index, lemma); } else { return new Word(synset, index, lemma); } }
protected Word createWord(Synset synset, int index, String lemma) { if (synset.getPOS().equals(POS.VERB)) { return new MutableVerb(synset, index, lemma); } else { return new Word(synset, index, lemma); } }
protected Word createWord(Synset synset, int index, String lemma) { if (synset.getPOS().equals(POS.ADJECTIVE)) { Adjective.AdjectivePosition adjectivePosition = Adjective.NONE; if (lemma.charAt(lemma.length() - 1) == ')' && lemma.indexOf('(') > 0) { int lparen = lemma.indexOf('('); String marker = lemma.substring(lparen + 1, lemma.length() - 1); adjectivePosition = Adjective.getAdjectivePositionForKey(marker); lemma = lemma.substring(0, lparen); } return new Adjective(synset, index, lemma, adjectivePosition); } else { return super.createWord(synset, index, lemma); } } }
protected Word createWord(Synset synset, int index, String lemma) { if (synset.getPOS().equals(POS.ADJECTIVE)) { Adjective.AdjectivePosition adjectivePosition = Adjective.NONE; if (lemma.charAt(lemma.length() - 1) == ')' && lemma.indexOf('(') > 0) { int lparen = lemma.indexOf('('); String marker = lemma.substring(lparen + 1, lemma.length() - 1); adjectivePosition = Adjective.getAdjectivePositionForKey(marker); lemma = lemma.substring(0, lparen); } return new Adjective(synset, index, lemma, adjectivePosition); } else { return super.createWord(synset, index, lemma); } } }
public int hashCode() { return getPOS().hashCode() ^ (int) getOffset(); }
@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; }
public String toString() { if (_cachedToString == null) { StringBuffer words = new StringBuffer(); for (int i = 0; i < getWordsSize(); ++i) { if (i > 0) words.append(", "); words.append(getWord(i).getLemma()); } if (getGloss() != null) words.append(" -- (" + getGloss() + ")"); _cachedToString = JWNL.resolveMessage("DATA_TOSTRING_009", new Object[]{new Long(getOffset()), getPOS(), words.toString()}); } return _cachedToString; }
public static List<String> getSynsetsForLemma(String lemma, String pos) { try { synchronized (WordNet.class) { IndexWord indexWord = getDictionary().lookupIndexWord(POS.getPOSForKey(pos), lemma); if (indexWord == null) { return new ArrayList<>(); } Synset[] synsets = indexWord.getSenses(); ArrayList<String> ret = new ArrayList<>(); for (int i = 0; i < synsets.length; i++) { Synset synset = synsets[i]; ret.add(getSynsetID(synset.getOffset(), synset.getPOS().getKey())); } return ret; } } catch (final JWNLException ex) { throw new Error(ex); } }
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; }
/** Find all antonyms of <code>synset</code>, and all synonyms of those antonyms to depth <code>depth</code>. */ public PointerTargetTree getExtendedAntonyms(Synset synset, int depth) throws JWNLException { PointerTargetTreeNodeList list = new PointerTargetTreeNodeList(); if (synset.getPOS() == POS.ADJECTIVE) { PointerTargetNodeList antonyms = getAntonyms(synset); list = makePointerTargetTreeList(antonyms, PointerType.SIMILAR_TO, PointerType.ANTONYM, depth, false); } return new PointerTargetTree(new PointerTargetTreeNode(synset, list, null)); }
/** Get the antonyms of all words that mean the same as <code>synset</code> to depth <code>depth</code>.*/ public PointerTargetTree getIndirectAntonyms(Synset synset, int depth) throws JWNLException { PointerTargetTreeNodeList list = new PointerTargetTreeNodeList(); if (synset.getPOS() == POS.ADJECTIVE) { PointerTargetNodeList synonyms = getSynonyms(synset); list = makePointerTargetTreeList(synonyms, PointerType.ANTONYM, PointerType.ANTONYM, depth, false); } return new PointerTargetTree(new PointerTargetTreeNode(synset, list, null)); }
POS sensePOS = sense.getPOS(); if(sensePOS == POS.NOUN){ addMorph(word+"s", sensePOS);