3

是否有可能使用 Java 替代 NLTK 来“验证”单词,正如在这个问题中可以看到的那样?

在动词/名词/形容词形式之间转换单词

例如,我想将出生转换为出生,因为在使用 Wordnet 相似度时,算法并没有显示出生和出生非常相似。

因此,我想将出生转换为出生,反之亦然。为了有更多相似的词。

你有什么建议?我找到了一些工具,但我不确定他们是否可以做到这一点: - NTLK(我猜只有 python) - OpenNlp - Stanford-Nlp - Simple NLG

谢谢

4

1 回答 1

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!

于 2013-09-09T08:11:48.170 回答