Вы можете использовать Synset
для каждого смысле этого слова, а затем распечатать слово в каждом Synset
следующим образом:
IndexWord indexWord = proc.lookupBaseForm(POS.VERB,"bear");
int senseNum = 0;
for(Synset synset: indexWord.getSenses()){
senseNum++;
System.out.println("For sense: " + senseNum + " (" + synset.getGloss()+")");
Word[] words = synset.getWords();
for(Word word: words){
System.out.println("\t"+word.getLemma()+"("+word.getPOS()+")");
}
}
, который поможет вам это:
For sense: 1 (have; "bear a resemblance"; "bear a signature")
bear([POS: verb])
For sense: 2 (cause to be born; "My wife had twins yesterday!")
give_birth([POS: verb])
deliver([POS: verb])
bear([POS: verb])
birth([POS: verb])
have([POS: verb])
For sense: 3 (put up with something or somebody unpleasant; "I cannot bear his constant criticism"; "The new secretary had to endure a lot of unprofessional remarks"; "he learned to tolerate the heat"; "She stuck out two years in a miserable marriage")
digest([POS: verb])
endure([POS: verb])
stick_out([POS: verb])
stomach([POS: verb])
bear([POS: verb])
stand([POS: verb])
tolerate([POS: verb])
support([POS: verb])
brook([POS: verb])
abide([POS: verb])
suffer([POS: verb])
put_up([POS: verb])
For sense: 4 (move while holding up or supporting; "Bear gifts"; "bear a heavy load"; "bear news"; "bearing orders")
bear([POS: verb])
For sense: 5 (bring forth, "The apple tree bore delicious apples this year"; "The unidentified plant bore gorgeous flowers")
bear([POS: verb])
turn_out([POS: verb])
For sense: 6 (take on as one's own the expenses or debts of another person; "I'll accept the charges"; "She agreed to bear the responsibility")
bear([POS: verb])
take_over([POS: verb])
accept([POS: verb])
assume([POS: verb])
For sense: 7 (contain or hold; have within; "The jar carries wine"; "The canteen holds fresh water"; "This can contains water")
hold([POS: verb])
bear([POS: verb])
carry([POS: verb])
contain([POS: verb])
For sense: 8 (bring in; "interest-bearing accounts"; "How much does this savings certificate pay annually?")
yield([POS: verb])
pay([POS: verb])
bear([POS: verb])
For sense: 9 (have on one's person; "He wore a red ribbon"; "bear a scar")
wear([POS: verb])
bear([POS: verb])
For sense: 10 (behave in a certain manner; "She carried herself well"; "he bore himself with dignity"; "They conducted themselves well during these difficult times")
behave([POS: verb])
acquit([POS: verb])
bear([POS: verb])
deport([POS: verb])
conduct([POS: verb])
comport([POS: verb])
carry([POS: verb])
For sense: 11 (have rightfully; of rights, titles, and offices; "She bears the title of Duchess"; "He held the governorship for almost a decade")
bear([POS: verb])
hold([POS: verb])
For sense: 12 (support or hold in a certain manner; "She holds her head high"; "He carried himself upright")
hold([POS: verb])
carry([POS: verb])
bear([POS: verb])
For sense: 13 (be pregnant with; "She is bearing his child"; "The are expecting another child in January"; "I am carrying his child")
have_a_bun_in_the_oven([POS: verb])
bear([POS: verb])
carry([POS: verb])
gestate([POS: verb])
expect([POS: verb])
Но это весь глагол, так как мы ищем глаголы. Если вы хотите получить существительное (как видно из веб-версии), вы должны сделать еще несколько шагов.
Это называется «морфосемантические» связанные слова, которые определены в this file, как указано в Wordnet website. Вы можете создать свой собственный код для извлечения морфосемантически связанных слов, используя отображение, доступное в этом файле.
Поскольку это дополнительный файл за пределами стандартного дистрибутива WordNet, к сожалению, я считаю, что это не реализовано в JWNL, поэтому, вероятно, лучше всего, если вы можете просто создать простой код для получения сопоставления. Во-первых, вы можете преобразовать файл xls в CSV-файл с помощью любой программы для работы с электронными таблицами, такой как Excel. Тогда вам нужно будет получить ключ ощущения от этого чувства. К сожалению, JWNL (1.4.1 rc2) не имеет простого метода для получения ключа ощущения. Однако он включен в JWNL (1.4 rc3), который является методом getSenseKey(lemma)
в классе Synset
. Таким образом, если вы обновление до JWNL 1.4_rc3, вы можете сделать:
HashMap<String,ArrayList<String>> relatedWords = loadMorphosemanticFile();
...
relatedWords.get(word.getSynset().getSenseKey(word.getLemma()))
, который будет возвращать Список_массивов, состоящий из: birth%1:28:00::
, birth%1:22:00::
и birth%1:11:00::
, когда слово в смысле 2 bear
(ключ медведь смысле birth
% 2: 29: 01 :: родилась: «У моей жены были близнецы вчера!»), У которой есть ключ к ощущению% 2: 29: 00 ::, как видно на выходе с использованием JWNL 1.4 rc3 ниже:
For sense: bear%2:29:01:: (cause to be born; "My wife had twins yesterday!")
give_birth (give_birth%2:29:00::)
deliver (deliver%2:29:01::)
bear (bear%2:29:01::)
birth (birth%2:29:00::)
have (have%2:29:00::)
Я получил это очень хорошие ресурсы от GrepCode
WordNet 3.0 Standoff файлы: http://wordnet.princeton.edu/wordnet/download/standoff/ – myahya
Вы помещаете этот комментарий в качестве примечания к себе? – justhalf
Нет. Такая же ссылка в вашем сообщении - это https one, она не работает всегда. Stackoverflow не разрешает изменения с менее чем 6-значными изменениями. – myahya