形容词的最高级和与正形式比较

2024-05-23 18:43:30 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法获得比较级/最高级形容词的阳性形式? 例如:更好->好;最大->大。 我使用NLTK的最新版本。在


Tags: 版本阳性形式nltk办法形容词比较级
3条回答

您可以尝试使用Pattern library

它为您的用例提供了一些有用的API:

 from pattern.en import comparative
 comparative(‘cool’)

这给了

^{pr2}$

最高级的

from pattern.en import superlative
superlative(‘cool’)

这给了

'coolest'

Web演示:comparativesuperlative

您可以尝试使用NLTK中的wordnet gloss/definition:

from ntlk.corpus import wordnet as wn

for ss in wn.all_synsets():
  if "(comparative of" in ss.definition:
    comp = ss.definition.split("`")[1].split("'")[0]
    for l in ss.lemma_names:
      print l, comp

但是请注意,在定义中只有13个synset用比较信息编码(for NLTK v.2.0.4)。也不可能得到比较词的层次结构(例如best > better > good)。在

我遇到了同样的问题,在网上搜索没有答案,然后发现其实可以用WordNetlemmatizer中的nltk来完成。在

回想一下,WordNet有那些简化的pos标记:

n    NOUN 
v    VERB 
a    ADJECTIVE 
s    ADJECTIVE SATELLITE 
r    ADVERB 

其中,形容词标记a和{}可用于规范化。在

^{pr2}$

这里第二个参数起到了神奇的作用。如果留空,则默认为'n',或lemmatize()中的wordnet.NOUN。类似地,它应该明确地放在'v'或{}来规范化动词和副词。在

相关问题 更多 >