Sof*_*tic 33 python nlp nltk wordnet
使用NLTK和WordNet,如何将简单时态动词转换为现在的,过去的或过去的分词形式?
例如:
我想写一个函数,它会给我预期形式的动词,如下所示.
v = 'go'
present = present_tense(v)
print present # prints "going"
past = past_tense(v)
print past # prints "went"
Run Code Online (Sandbox Code Playgroud)
Gun*_*jan 21
在NLTK的帮助下,这也可以做到.它可以给出动词的基本形式.但不是确切的时态,但它仍然有用.请尝试以下代码.
from nltk.stem.wordnet import WordNetLemmatizer
words = ['gave','went','going','dating']
for word in words:
print word+"-->"+WordNetLemmatizer().lemmatize(word,'v')
Run Code Online (Sandbox Code Playgroud)
输出是:
gave-->give
went-->go
going-->go
dating-->date
Run Code Online (Sandbox Code Playgroud)
看看Stack Overflow问题NLTK WordNet Lemmatizer:难道它不应该把一个词的所有变形推理出来吗?.
msb*_*msb 19
我想你要找的是NodeBox :: Linguistics库.它完全是这样的:
print en.verb.present("gave")
>>> give
Run Code Online (Sandbox Code Playgroud)
Ana*_*eev 11
对于Python3:
git clone https://github.com/clips/pattern
cd pattern
git fetch
git checkout development
pip install mysqlclient
python setup.py install
Run Code Online (Sandbox Code Playgroud)
然后
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
Run Code Online (Sandbox Code Playgroud)
产量
give ['give', 'gives', 'giving', 'gave', 'given'] gives
向@Agargara指点和作者的Pattern为他们的美丽工作,去支持他们;-)
| 归档时间: |
|
| 查看次数: |
21440 次 |
| 最近记录: |