@Override public String getSenseDescription(String senseId) throws SenseInventoryException { if (!fixedSenseId.equals(senseId)) { throw new SenseInventoryException(new IllegalArgumentException()); } return fixedSenseDescription; }
@Override public String transform(String s) { try { return inventory.getSenseDescription(s); } catch (SenseInventoryException e) { return e.toString(); } } }
@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 int getUseCount(String senseId) throws SenseInventoryException { if (senseId.equals("bat1")) { return 5; } if (senseId.equals("bat2")) { return 4; } if (senseId.equals("bank1")) { return 3; } if (senseId.equals("bank2")) { return 2; } if (senseId.equals("test1")) { return 1; } throw new SenseInventoryException("Unknown sense ID: " + senseId); }
@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); } }
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); } }
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 Map<String, List<String>> getSenseInventory() throws SenseInventoryException { System.out.println("Be careful, this is a quite slow operation."); Map<String, List<String>> senseInventory = new HashMap<String, List<String>>(); try { for (Entity entity : lsr.getEntities()) { for (String lexeme : entity.getLexemes()) { if (!senseInventory.containsKey(lexeme)) { senseInventory.put(lexeme, new ArrayList<String>()); } String sense = entity.getId(); List<String> senses = senseInventory.get(lexeme); senses.add(sense); senseInventory.put(lexeme, senses); } } } catch (LexicalSemanticResourceException e) { throw new SenseInventoryException(e); } return senseInventory; }
@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); } }
throw new SenseInventoryException(e); throw new SenseInventoryException(e); throw new SenseInventoryException("No sense key for " + offset + "/" + pos);
.getDisambiguation(subjectsOfDisambiguation); if (resultsByToken.size() != wsdItems.size()) { throw new SenseInventoryException("");
@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; }