有什么方法可以获得比较级/最高级形容词的积极形式?例如。更好->好;最大-> 大。我使用最新版本的 NLTK。
问问题
2556 次
3 回答
2
我遇到了同样的问题,在网上搜索没有答案,然后发现它实际上可以用WordNet
lemmatizer
in完成nltk
。
回想一下WordNet有那些简化的 pos 标签:
n NOUN
v VERB
a ADJECTIVE
s ADJECTIVE SATELLITE
r ADVERB
其中形容词标签a
和s
可用于归一化。
>>> from nltk.stem.wordnet import WordNetLemmatizer
>>> wnl = WordNetLemmatizer()
>>> wnl.lemmatize('biggest', 'a')
u'big'
>>> wnl.lemmatize('better', 'a')
u'good'
这里的第二个参数起到了神奇的作用。如果留空,则默认为'n'
或wordnet.NOUN
in lemmatize()
。同样,它应该明确地分别作为'v'
或'r'
用于规范化动词和副词。
于 2015-04-12T10:41:03.287 回答
0
您可以尝试使用来自 NLTK 的 wordnet 光泽/定义,如下所示:
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 个同义词集在定义中使用比较信息进行了编码(对于NLTK v.2.0.4
)。此外,无法获得比较词的层次结构(例如best > better > good
.
于 2013-07-09T12:39:07.980 回答