Is it possible to hava a Java alternative to NLTK in order to 'verbify' words as can be seen in this question?
Convert words between verb/noun/adjective forms
For example I would like to convert born to birth, since when using Wordnet Similarity, the algorithm does not show that born and birth are very similar.
I would like to therefore convert either born to birth or vice versa. In order to have much more similar words.
What do you suggest? I found some tools but I'm not sure if they can do this: - NTLK (only python I guess) - OpenNlp - Stanford-Nlp - Simple NLG
Thank you
A quick and dirty solution using wordnet can be like following.
>>>from ntlk.corpus import wordnet as wn
>>> wn.synsets('born')
[Synset('born.n.01'), Synset('bear.v.01'), Synset('give_birth.v.01'), Synset('digest.v.03'), Synset('bear.v.04'), Synset('bear.v.05'), Synset('bear.v.06'), Synset('hold.v.11'), Synset('yield.v.10'), Synset('wear.v.02'), Synset('behave.v.02'), Synset('bear.v.11'), Synset('hold.v.14'), Synset('have_a_bun_in_the_oven.v.01'), Synset('born.a.01'), Synset('natural.s.09')]
>>> wn.synsets('birth')
[Synset('birth.n.01'), Synset('birth.n.02'), Synset('parturition.n.01'), Synset('parentage.n.02'), Synset('birth.n.05'), Synset('give_birth.v.01')]
>>>
Here you can see that " Synset('give_birth.v.01')] " is a common result set which is "verb". So in this way you can find work around and see if there is any matching result, and convert born to birth or vice versa!
来源:https://stackoverflow.com/questions/16748787/convert-words-into-their-noun-adjective-verb-form-in-java