在 Java 中将单词转换为名词/形容词/动词形式

2023-12-07

是否可以使用 NLTK 的 Java 替代品来“动词化”单词,如本问题所示?

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

例如,我想将“出生”转换为“出生”,因为在使用 Wordnet 相似性时,该算法并未显示“出生”和“出生”非常相似。

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

你有什么建议?我找到了一些工具,但我不确定它们是否可以做到这一点: - NTLK(我猜只有Python) - OpenNlp - 斯坦福自然语言处理 - 简单NLG

谢谢


使用 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')] ”是一个常见的结果集,它是“verb”。这样你就可以找到解决办法,看看是否有任何匹配的结果,并将出生转换为出生,反之亦然!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Java 中将单词转换为名词/形容词/动词形式 的相关文章

随机推荐