2013-03-20 99 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')