2013-05-25 76 views
3

爲了'可以'在這個問題中可以看到'單詞',是否有可能使用Java替代NLTK?在Java中將單詞轉換成他們的名詞/形容詞/動詞形式

Convert words between verb/noun/adjective forms

比如我想轉換出生出生,因爲使用WORDNET相似度時,該算法並不表明出生,出生時非常相似。

我想因此轉換出生到出生或反之亦然。爲了有更多相似的話。

你有什麼建議?我發現了一些工具,但我不知道,如果他們能做到這一點: - NTLK(只蟒蛇我猜) - OpenNlp - 斯坦福NLP - 簡單NLG

謝謝

+0

從你鏈接的問題中使用wordnet的相關froms看起來是最好的選擇,你也可以看看conceptnet。 –

回答

1

一個快速使用wordnet的骯髒解決方案可能如下所示。

>>>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')] 
>>> 

在這裏你可以看到,「同義詞集(‘give_birth.v.01’)」是一種常見的結果集,它是「動詞」。因此,通過這種方式,您可以找到解決辦法並查看是否有任何匹配結果,並將其轉換爲出生或反之亦然!

相關問題