En utilisant NLTK et WordNet; comment puis-je convertir le temps du verbe simple dans son présent, sous forme de participe passé ou passé?

StackOverflow https://stackoverflow.com/questions/3753021

  •  04-10-2019
  •  | 
  •  

Question

Utilisation NLTK et WordNet , comment puis-je convertir le temps du verbe simple dans son présent, passé ou passé sous forme participle?

Par exemple:

Je veux écrire une fonction qui me donnerait verbe forme attendue comme suit.

v = 'go'
present = present_tense(v)
print present # prints "going"

past = past_tense(v)
print past # prints "went"
Était-ce utile?

La solution

Je pense que ce que vous cherchez est le nodebox :: Linguistique bibliothèque. Il fait exactement cela:

print en.verb.present("gave")
>>> give

Autres conseils

Avec l'aide de NLTK cela peut aussi être fait. Il peut donner la forme de base du verbe. Mais pas exactement tendue, mais il peut encore être utile. Essayez le code suivant.

from nltk.stem.wordnet import WordNetLemmatizer
words = ['gave','went','going','dating']
for word in words:
    print word+"-->"+WordNetLemmatizer().lemmatize(word,'v')

La sortie est:

gave-->give
went-->go
going-->go
dating-->date

Jetez un oeil à la question Stack Overflow NLTK WordNet lemmatiseur: ne serait-il lemmatiser tous les flexions d'un mot .

Pour python3:

git clone https://github.com/clips/pattern
cd pattern
git fetch
git checkout development
pip install mysqlclient
python setup.py install

puis

from pattern.en import conjugate, lemma, lexeme,PRESENT,SG
print (lemma('gave'))
print (lexeme('gave'))
print (conjugate(verb='give',tense=PRESENT,number=SG)) # he / she / it
rendements

  

give ['give', 'gives', 'giving', 'gave', 'given'] gives

thnks à @Agargara pour pointer et auteurs de modèle pour leur beau travail, allez les soutenir; -)

JWI (la bibliothèque WordNet par le MIT) dispose également d'un égrappoir (WordNetStemmer) qui convertit différentes formes morphologiques d'un mot comme ( « écrit », « écrit », « écrit ») à leur forme de base. Il semble que cela ne fonctionne que pour les noms (comme pluriels) et verbes bien.

Mot Découlant en Java avec WordNet et JWNL aussi montre comment faire ce genre de l'aide provenant JWNL, une autre bibliothèque Wordnet basé sur Java:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top