@Override public String getSenseDescription(String senseId) throws SenseInventoryException { if (!fixedSenseId.equals(senseId)) { throw new SenseInventoryException(new IllegalArgumentException()); } return fixedSenseDescription; }
@Override public List<String> getIncomingLinks(String target) throws SenseInventoryException, UnsupportedOperationException { try { return reader.getLinkSources(null, null, target, 0l); } catch (SQLException e) { throw new SenseInventoryException(e); } catch (Exception e) { throw new SenseInventoryException(e); } }
@Override public String getMostFrequentSense(String sod) throws SenseInventoryException, UnsupportedOperationException { try { return reader.getName(TABLE.senses, reader.getMostFrequentLinkTarget(sod, null, null, 0)); } catch (SQLException e) { throw new SenseInventoryException(e); } catch (Exception e) { throw new SenseInventoryException(e); } }
@Override public String getMostFrequentSense(String sod, POS pos) throws SenseInventoryException, UnsupportedOperationException { try { return reader.getName(TABLE.senses, reader.getMostFrequentLinkTarget(sod, null, null, 0)); } catch (SQLException e) { throw new SenseInventoryException(e); } catch (Exception e) { throw new SenseInventoryException(e); } }
@Override public String getSenseDescription(String senseId) throws SenseInventoryException { try { if (reader.isLinkAnchor(senseId, null, null, 0)) { return senseId; } else { return ""; } } catch (Exception e) { throw new SenseInventoryException(e); } }
@Override public List<String> getSenses(String sod) throws SenseInventoryException { logger.info("Getting senses for " + sod); List<String> senses = new ArrayList<String>(); try { for (long sense : reader.getLinkTargets(sod, null, null, 0) .keySet()) { senses.add(reader.getName(TABLE.senses, sense)); } } catch (Exception e) { throw new SenseInventoryException(e); } return senses; }
@Override public List<String> getSenses(String sod) throws SenseInventoryException { try { List<String> senses = new ArrayList<String>(); for (Entity entity : lsr.getEntity(sod)) { senses.add(entity.getId()); } return senses; } catch (LexicalSemanticResourceException e) { throw new SenseInventoryException(e); } }
@Override public String getMostFrequentSense(String sod) throws SenseInventoryException, UnsupportedOperationException { try { return lsr.getMostFrequentEntity(sod).getId(); } catch (LexicalSemanticResourceException e) { throw new SenseInventoryException(e); } }
@Override public String getSenseDescription(String senseId) throws SenseInventoryException { try { String description = lsr.getGloss(lsr.getEntityById(senseId)); return (description == null) ? "" : description; } catch (LexicalSemanticResourceException e) { throw new SenseInventoryException(e); } }
/** * Given a WordNet sense key, returns the corresponding synset offset + POS * * @param senseKey * @return * @throws SenseInventoryException */ public String senseKeyToSynsetOffsetAndPos(String senseKey) throws SenseInventoryException { try { Word w = wn.getWordBySenseKey(senseKey); if (w == null) { throw new SenseInventoryException("Sense key " + senseKey + " not found"); } return synsetToString.transform(w.getSynset()); } catch (JWNLException e) { throw new SenseInventoryException(e); } }
@Override public Map<String, Double> getWeightedSenses(String sod) throws SenseInventoryException { Map<String, Double> senses = new HashMap<String, Double>(); try { long total = reader.getNumberOfLinkTargets(sod, null, null, 0); Map<Long, Long> targets = reader.getLinkTargets(sod, null, null, 0); for (long sense : targets.keySet()) { senses.put(reader.getName(TABLE.senses, sense), targets.get(sense) / (double) total); } } catch (Exception e) { throw new SenseInventoryException(e); } return senses; }
@Override public List<String> getSenses(String sod, POS pos) throws SenseInventoryException { try { PoS lsrPos = LsrSenseInventoryUtil.convertPos(pos); List<String> senses = new ArrayList<String>(); for (Entity entity : lsr.getEntity(sod, lsrPos)) { senses.add(entity.getId()); } return senses; } catch (LexicalSemanticResourceException e) { throw new SenseInventoryException(e); } }
@Override public Set<String> getSenseNeighbours(String senseId) throws SenseInventoryException, UnsupportedOperationException { Set<Entity> entities; try { entities = lsr.getNeighbors(lsr.getEntityById(senseId)); } catch (LexicalSemanticResourceException e) { throw new SenseInventoryException(e); } Set<String> neighbours = new HashSet<String>(); for (Entity entity : entities) { neighbours.add(entity.getId()); } return neighbours; }
@Override protected List<String> getSenses(String sod, net.sf.extjwnl.data.POS pos) throws SenseInventoryException { try { IndexWord indexWord = wn.getIndexWord(pos, sod); List<String> senses = new ArrayList<String>(); if (indexWord == null) { return senses; } for (Synset s : indexWord.getSenses()) { senses.add(synsetToString.transform(s)); } return senses; } catch (JWNLException e) { throw new SenseInventoryException(e); } }
@Override public Set<String> getNeighbours() throws SenseInventoryException { if (neighbours != null) { return neighbours; } neighbours = new HashSet<String>(); // Add neighbours for (Pointer pointer : synset.getPointers()) { try { neighbours.add(synsetToString.transform(pointer .getTargetSynset())); } catch (JWNLException e) { throw new SenseInventoryException(e); } } return neighbours; } }
@Override public String getMostFrequentSense(String sod, POS pos) throws SenseInventoryException, UnsupportedOperationException { try { PoS lsrPos = LsrSenseInventoryUtil.convertPos(pos); return lsr.getMostFrequentEntity(sod, lsrPos).getId(); } catch (LexicalSemanticResourceException e) { throw new SenseInventoryException(e); } }
@Override public POS getPos(String senseId) throws SenseInventoryException { Entity entity; try { entity = lsr.getEntityById(senseId); } catch (LexicalSemanticResourceException e) { throw new SenseInventoryException(e); } return LsrSenseInventoryUtil.convertPos(entity.getPos()); }
@Override public String getMostFrequentSense(String sod, POS pos) throws SenseInventoryException, UnsupportedOperationException { try { IndexWord indexWord = wn.getIndexWord( siPosToWordNetPos.transform(pos), sod); if (indexWord == null) { return null; } return synsetToString.transform(indexWord.getSenses().get(0)); } catch (JWNLException e) { throw new SenseInventoryException(e); } }
public CachedSense(String senseId) throws SenseInventoryException { super(senseId); try { word = wn.getWordBySenseKey(senseId); synset = word.getSynset(); pos = wordNetPosToSiPos.transform(word.getPOS()); useCount = word.getUseCount(); } catch (JWNLException e) { throw new SenseInventoryException(e); } }
/** * Given a lemma and a string representing a synset + part of speech, * returns a corresponding sense key. * * @param senseId * @param lemma * @return * @throws SenseInventoryException */ public String synsetOffsetAndPosToSenseKey(String senseId, String lemma) throws SenseInventoryException { try { Synset s = stringToSynset.transform(senseId); return getWordNetSenseKey(s.getOffset(), lemma, s.getPOS()); } catch (NoSuchElementException e) { throw new SenseInventoryException(e); } }