【问题标题】:wordnet lemmatizer in NLTK is not working for adverbs [duplicate]NLTK 中的 wordnet lemmatizer 不适用于副词 [重复]
【发布时间】:2015-02-13 04:47:40
【问题描述】:
from nltk.stem import WordNetLemmatizer
x = WordNetLemmatizer()   
x.lemmatize("angrily", pos='r')
Out[41]: 'angrily'

这里是 nltk wordnet 中 pos 标签的参考文档,http://www.nltk.org/_modules/nltk/corpus/reader/wordnet.html

我可能遗漏了一些基本的东西。请告诉我

【问题讨论】:

  • 我应该删除这个问题还是让它在这里只为像我这样搜索网络的人记住“词形还原”

标签: python nlp nltk wordnet


【解决方案1】:

试试:

>>> from nltk.corpus import wordnet as wn
>>> wn.synset('angrily.r.1').lemmas()[0].pertainyms()[0].name()
u'angry'

更多信息请参见Getting adjective from an adverb in nltk or other NLP library

问题是为什么你必须通过引理来获得相关词?

>>> wn.synset('angrily.r.1').pertainyms()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Synset' object has no attribute 'pertainyms'

这是因为 WordNet 将其视为单词类别之间的词汇关联,请参阅http://wordnet.princeton.edu/man/wngloss.7WN.html

Pertainyms 是关系形容词,不遵循结构 刚刚描述的。 Pertainyms 没有反义词; a 的同义词集 pertainym 通常只包含一个单词或搭配和一个 指向形容词“属于”的名词的词法指针。 分词形容词具有指向它们所要动词的词法指针 来源于。

再一次,如果我们看一下 Java 接口,获得同义词集的相关词就像 AdjectiveSynset.getPertainyms() (http://lyle.smu.edu/~tspell/jaws/doc/edu/smu/tspell/wordnet/AdjectiveSynset.html) 一样简单

所以我想这取决于谁编写界面,他们对形容词-副词关系采取什么样的观点。

对我来说,我认为相关词与同义词集直接相关,而不是与引理相关。

【讨论】:

    猜你喜欢
    • 2016-02-10
    • 2018-10-06
    • 2017-01-11
    • 2014-04-15
    • 1970-01-01
    • 2015-11-14
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多