public int getWordsSize() { return getWords().length; }
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; }
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 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()); } } }
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 Pointer[] getPointers(PointerType type) { return getSource().getPointers(type); }
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 getReadableSynsetID(@Nullable final String synsetID) { if (synsetID == null) { return null; } final Synset synset = getSynset(synsetID); if (synset == null) { throw new IllegalArgumentException("Illegal synset ID " + synsetID); } final String lemma = synset.getWords()[0].getLemma(); final POS pos = POS.getPOSForKey(getPOS(synsetID)); try { final IndexWord word; synchronized (WordNet.class) { word = getDictionary().lookupIndexWord(pos, lemma); } final Synset[] senses = word.getSenses(); for (int i = 0; i < senses.length; ++i) { if (senses[i].equals(synset)) { return lemma + "-" + (i + 1) + pos.getKey(); } } throw new Error("Could not determine sense index for lemma " + lemma + " and synset " + synsetID); } catch (final JWNLException ex) { throw new Error(ex); } // return synset.getSenseKey(lemma); // TODO }
public POS getPOS() { return _synset.getPOS(); }
public long getOffset() { return realSynset.getOffset(); }
public String getGloss() throws WordNetException { return this.realSynset.getGloss(); }
PointerTargetNode related = (PointerTargetNode) i.next(); Synset s1 = related.getSynset(); String tmp = (s1.toString()).replace(s1.getGloss(), ""); tmp = tmp.replace(" -- ()]", ""); tmp = tmp.replaceAll("[0-9]", ""); PointerTargetNode related = (PointerTargetNode) j.next(); Synset s1 = related.getSynset(); String tmp = (s1.toString()).replace(s1.getGloss(), ""); tmp = tmp.replace(" -- ()]", ""); tmp = tmp.replaceAll("[0-9]", "");
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; JwnlSynset other = (JwnlSynset) obj; if (realSynset == null) { if (other.realSynset != null) return false; } else if (!realSynset.equals(other.realSynset)) return false; return true; }
private void addLexFileNameFeature(Set<String> f1, Synset synset, WordNetFeatureClass clazz, String key) { if (featureClasses.contains(clazz)) f1.add(key + synset.getLexFileName()); }
private void addSynsetFeature(Set<String> f1, Synset synset, WordNetFeatureClass clazz, String key) { if (featureClasses.contains(clazz)) f1.add(key + synset.getKey().toString()); }
@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 Pointer[] getPointers() { return getSource().getPointers(); }