也许这就是您正在寻找的。Library https://pypi.org/project/pyinflect/ called pyinflect
一个用于单词变形的 python 模块,作为 spaCy 扩展。要独立使用,请导入方法 getAllInflections 和/或 getInflection 并直接调用它们。 getInflection 方法采用引理和 Penn Treebank 标记,并返回与其关联的特定变形的元组。
有多种标签可用于获取词形变化,包括您正在寻找的“VBG”标签(动词、动名词)。
pos_type = 'A'
* JJ Adjective
* JJR Adjective, comparative
* JJS Adjective, superlative
* RB Adverb
* RBR Adverb, comparative
* RBS Adverb, superlative
pos_type = 'N'
* NN Noun, singular or mass
* NNS Noun, plural
pos_type = 'V'
* VB Verb, base form
* VBD Verb, past tense
* VBG Verb, gerund or present participle
* VBN Verb, past participle
* VBP Verb, non-3rd person singular present
* VBZ Verb, 3rd person singular present
* MD Modal
这是一个示例实现。
#!pip install pyinflect
from pyinflect import getInflection
words = ['lead','take','hit','begin','stop','refer','visit']
[getInflection(i, 'VBG') for i in words]
[('leading',),
('taking',),
('hitting',),
('beginning',),
('stopping', 'stoping'),
('referring',),
('visiting',)]
NOTE:作者建立了一个更复杂和基准化的库,它可以进行词形还原和词形变化,称为LemmInflect
。做检查this https://github.com/bjascob/LemmInflect如果你想要比上面的库更可靠的东西。语法与上面几乎相同。