/** * @param words * @param wordToLookup * @return */ private Word lookupWordInWords(List<Word> words, String wordToLookup) { boolean found = false; Word someWord = null; for (int i = 0; i < words.size() && !found; i++) { someWord = words.get(i); found = someWord.getLemma().equalsIgnoreCase(wordToLookup); } return someWord; } }
private static int getSenseNo(final Word word) throws JWNLException { final IndexWord iw = word.getDictionary().getIndexWord(word.getPOS(), word.getLemma()); for (int i = 0; i < iw.getSenses().size(); i++) { if (iw.getSenses().get(i).getOffset() == word.getSynset().getOffset()) { return i; } } return -1; }
@Override public int compare(Word o1, Word o2) { return o1.getSenseKey().compareTo(o2.getSenseKey()); } });
private static int getUseCount(Synset synset, String lemma) { for (Word w : synset.getWords()) { if (w.getLemma().equalsIgnoreCase(lemma)) { if (0 < w.getUseCount()) { return w.getUseCount(); } } } return 0; }
public static String getMostFrequentSense(WSDSample sample) { List<Synset> synsets = sample.getSynsets(); for (Word wd : synsets.get(0).getWords()) { if (wd.getLemma() .equalsIgnoreCase((sample.getLemmas()[sample.getTargetPosition()]))) { try { return WSDParameters.SenseSource.WORDNET.name() + " " + wd.getSenseKey(); } catch (JWNLException e) { e.printStackTrace(); } } } return "nonesense"; }
log.error("Duplicate sensekey for -add: {}", workWord.getSenseKey()); System.exit(1); final Synset tempSynset = d.createSynset(pos); log.info("Creating word {}...", lemma); workWord = new Word(d, tempSynset, lemma); workWord.setLexId(lexId); tempSynset.getWords().add(workWord); tempSynset.setLexFileNum(lexFileNum); d.removeSynset(workWord.getSynset()); workWord = null; key = null; final Word tempWord = new Word(d, workWord.getSynset(), args[i].replace('_', ' ')); workWord.getSynset().getWords().add(tempWord); key = null; } else { log.error("Missing word for addword command for sensekey {}", workWord.getSenseKey()); System.exit(1); workWord.getSynset().getWords().remove(workWord); key = null; workWord.getSynset().setGloss(args[i]); key = null; } else { log.error("Missing gloss for setgloss command for sensekey {}", workWord.getSenseKey()); System.exit(1);
return o1.getSenseKeyWithAdjClass().compareTo(o2.getSenseKeyWithAdjClass()); } catch (JWNLException e) { throw new JWNLRuntimeException(e); s.append(word.getSenseKeyWithAdjClass()). append(' ').append(word.getSenseNumber()). append(' ').append(word.getUseCount()); int result = o2.getUseCount() - o1.getUseCount(); if (0 == result) { try { result = o2.getSenseKeyWithAdjClass().compareTo(o1.getSenseKeyWithAdjClass()); } catch (JWNLException e) { throw new JWNLRuntimeException(e); s.append(word.getUseCount()). append(' ').append(word.getSenseKeyWithAdjClass()). append(' ').append(word.getSenseNumber()); Synset synset = iw.getSenses().get(i); for (Word w : synset.getWords()) { if (w.getLemma().equalsIgnoreCase(iw.getLemma())) { result.delete(0, result.length()); result.append(w.getSenseKey()).append(" "); formatOffset(synset.getOffset(), offsetLength, result); result.append(" "); result.append(i + 1); result.append(" ");
/** * Ctor with an {@link Word} and a dictionary * This Ctor is quicker than the other. * @param jwiDictionary * @throws WordNetException */ ExtJwnlSensedWord(Word wordObj, ExtJwnlDictionary extJwnlDictionary) throws WordNetException { if (wordObj==null) throw new WordNetException("wordObj is null!"); this.wordObj = wordObj; this.synset = new ExtJwnlSynset(extJwnlDictionary, wordObj.getSynset()); this.word = wordObj.getLemma(); this.dictionary = extJwnlDictionary; this.pos = ExtJwnlUtils.getWordNetPartOfSpeech( wordObj.getPOS()); }
if(!posSet){ lexicalEntry.setPartOfSpeech(WNConvUtil.getPOS(lexeme.getPOS())); posSet = true; lemmaString = lexeme.getLemma(); if(lePOS.equals(EPartOfSpeech.verb)){ String[] frames = lexeme.getSynset().getVerbFrames(); for(String frame : frames){ Map<String, Word> codeLexeme = new TreeMap<String, Word>(); if(lePOS.equals(EPartOfSpeech.adjective) && (synMarker = lexeme.getSenseKeyWithAdjClass()).contains("(")){ int start = synMarker.indexOf("("); String adjFrameCode = synMarker.substring(start+1, synMarker.indexOf(")"));
/** * Returns the sense key of a lemma. * * @return sense key * @throws JWNLException JWNLException */ public String getSenseKey() throws JWNLException { int ss_type = getSynsetType(); final StringBuilder senseKey = startBuildingSenseKey(ss_type); if (POS.ADJECTIVE_SATELLITE_ID == ss_type) { List<Pointer> p = synset.getPointers(PointerType.SIMILAR_TO); if (0 < p.size()) { Pointer headWord = p.get(0); List<Word> words = headWord.getTargetSynset().getWords(); if (0 < words.size()) { Word word = words.get(0); senseKey.append(word.getLemma().toLowerCase().replace(' ', '_')).append(":"); if (word.getLexId() < 10) { senseKey.append("0"); } senseKey.append(word.getLexId()); } } } else { senseKey.append(":"); } return senseKey.toString(); }
synsetWordStmt.setInt(1, wordId); synsetWordStmt.setString(3, word.getLemma()); synsetWordStmt.setInt(4, word.getIndex()); synsetWordStmt.setInt(5, word.getUseCount()); synsetWordStmt.setLong(6, word.getLexId()); synsetVerbFrameStmt.setInt(4, word.getIndex()); BitSet bits = ((Verb) word).getVerbFrameFlags(); for (int i = bits.nextSetBit(0); i >= 0; i = bits.nextSetBit(i + 1)) {
for (int i = 0; i < words.size(); i++) { final Word word = words.get(i); System.out.print(word.getLemma()); if (needLex && 0 < word.getLexId()) { System.out.print(word.getLexId()); System.out.print(" [" + word.getSenseKey() + "]");
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); } }
private void addToIndexWords(Word word) { if (null != dictionary && dictionary.isEditable()) { try { IndexWord iw = dictionary.getIndexWord(word.getPOS(), word.getLemma()); if (null == iw) { dictionary.createIndexWord(word.getPOS(), word.getLemma(), Synset.this); } else { if (!iw.getSenses().contains(Synset.this)) { iw.getSenses().add(Synset.this); } } } catch (JWNLException e) { throw new JWNLRuntimeException(e); } } } }
for (Synset sense : iw.getSenses()) { for (Word word : sense.getWords()) { if (word.getLemma().equalsIgnoreCase(iw.getLemma())) { List<Word> list = words.computeIfAbsent(sense.getLexFileNum(), k -> new ArrayList<>()); list.add(word); int maxId = -1; for (Word word : list) { if (maxId < word.getLexId()) { maxId = word.getLexId(); if (-1 == word.getLexId()) { maxId++; word.setLexId(maxId);
String lemma = w.getLemma().replace(' ', '_'); if (w instanceof Adjective) { Adjective a = (Adjective) w; if (checkLexIdLimit && log.isWarnEnabled() && (0xF < w.getLexId())) { log.warn(dictionary.getMessages().resolveMessage("PRINCETON_WARN_005", new Object[]{synset.getOffset(), w.getLemma(), w.getLexId()})); result.append(Long.toHexString(w.getLexId())).append(' '); for (int i = bits.nextSetBit(0); i >= 0; i = bits.nextSetBit(i + 1)) { if (!verbFrames.get(i)) { if (checkVerbFrameLimit && log.isWarnEnabled() && (0xFF < word.getIndex())) { log.warn(dictionary.getMessages().resolveMessage("PRINCETON_WARN_008", new Object[]{synset.getOffset(), word.getIndex()})); if (word.getIndex() < 0x10) { result.append("0"); result.append(Integer.toHexString(word.getIndex())).append(' ');
sense.setLexicalEntry(lexicalEntry); String senseNumber = isr.getSenseNumber(lexeme.getSenseKey()); if(senseNumber != null){ int index = Integer.parseInt(senseNumber); StringBuffer sb = new StringBuffer(128); sb.append("IndexSenseReader did not provide sense number for senseKey "); sb.append(lexeme.getSenseKey()).append('\n'); sb.append("adding a dummy value of sense number"); logger.warn(sb.toString()); net.sf.extjwnl.data.Synset lexemeSynset = lexeme.getSynset(); // lexemes Synset sb.append(lexeme.getSynset().getPOS()); sb.append(" "); sb.append(lexeme.getSenseKey()); monolingualExternalRef.setExternalSystem("WordNet 3.0 part of speech and sense key"); monolingualExternalRef.setExternalReference(sb.toString());