【问题标题】:Convert words into their noun / adjective / verb form in Java在 Java 中将单词转换为名词/形容词/动词形式
【发布时间】:2013-05-20 20:53:42
【问题描述】:

是否可以使用 Java 替代 NLTK 来“验证”这个问题中可以看到的单词?

Convert words between verb/noun/adjective forms

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

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

你有什么建议?我找到了一些工具,但我不确定他们是否可以这样做: - NTLK(我猜只有 python) - OpenNlp - 斯坦福-Nlp - 简单的 NLG

谢谢

【问题讨论】:

  • 从你链接的问题中使用wordnet的相关froms看起来是最好的选择,你也可以看看conceptnet。

标签: java nlp nltk stanford-nlp opennlp


【解决方案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')]
>>>

在这里你可以看到“ Synset('give_birth.v.01')] ”是一个常见的结果集,它是“动词”。所以通过这种方式,您可以找到工作,看看是否有任何匹配的结果,并将出生转换为出生,反之亦然!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    • 2018-06-22
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 2012-11-11
    相关资源
    最近更新 更多