2013-03-20 97 views
1

的我有一句话让说,“赛车”。排序自然语言处理

我想知道它的所有格式的名词,形容词动词等。例如。赛赛车比赛等

是否有一个Python库,可以帮助我这个?

+2

你知道[词干](https://pypi.python.org/pypi/stemming/1.0) ? – 2013-03-20 20:39:51

+0

随着时间的推移我忘了... THX的指针 – 2013-03-20 20:40:45

+0

词根+模糊wuzzy以下回答能解决我的问题。 – 2013-03-21 00:20:08

回答

4

如果你有兴趣匹配这些字符串,我建议看看fuzzywuzzy。它可以让你轻松地根据一定的公差范围内令牌等价的字符串标记化和匹配。

例如“种族”和“赛车”将有标记的高匹配百分比,可以被视为匹配。

就推断不同形式的词而言,恐怕我从来没有见过罐装的东西,尽管这对你的目标很有帮助,也许为你提供了自己写作的正确起点。

我希望这有助于

1

我发现类似的问题Convert words between verb/noun/adjective forms

在回答用户@PBelzile的一个建议在线服务Idilia:http://www.idilia.com/demos/language-graph-browser/?node=code%2FV3

看起来它可以做你想做的。

你也可以尝试用NLTK共发现:

import nltk 
nltk.download("wordnet") 

from nltk.corpus import wordnet as wn 

for lemma in wn.lemmas("race"): 
    for form in lemma.derivationally_related_forms(): 
     print lemma, form 

输出:

Lemma('race.n.01.race') Lemma('race.v.02.race') 
Lemma('race.n.02.race') Lemma('race.v.02.race') 
Lemma('race.n.02.race') Lemma('racy.s.04.racy') 
Lemma('race.n.03.race') Lemma('racial.a.01.racial') 
Lemma('race.v.02.race') Lemma('racing.n.01.racing') 
Lemma('race.v.02.race') Lemma('race.n.02.race') 
Lemma('race.v.02.race') Lemma('racer.n.03.racer') 
Lemma('race.v.02.race') Lemma('racer.n.02.racer') 
Lemma('race.v.02.race') Lemma('race.n.01.race') 
Lemma('race.v.04.race') Lemma('racer.n.01.racer')