3

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

Community
  • 1
  • 1
test
  • 2,538
  • 4
  • 35
  • 52
  • The usage of wordnet's related froms from the question you link looks the best alternative, you could also take a look at conceptnet. – Josep Valls Jun 11 '13 at 02:11

1 Answers1

1

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!

Chandan Gupta
  • 1,410
  • 2
  • 13
  • 29