确定单词是否是名词

per*_*ate 8 python nlp stanford-nlp

给定输入词,我想确定它是否是名词(如果含糊不清,例如cook可以是名词或动词,则该词必须被识别为名词).

实际上我使用的是斯坦福分析器的POS标签器(我给它一个单词作为输入,我只从结果中提取POS标签).结果非常好,但需要很长时间.

有没有办法(在python中,请:)执行此任务比我实际更快?

Ale*_*ley 8

如果你只是想检查单个单词是否可以用作名词,最快的方法可能是建立一组所有名词,然后只检查该单词的成员资格.

对于所有名词的列表,您可以使用WordNet语料库(例如可以通过NLTK访问):

>>> from nltk.corpus import wordnet as wn
>>> nouns = {x.name().split('.', 1)[0] for x in wn.all_synsets('n')}
>>> "cook" in nouns
True
>>> "and" in nouns
False
Run Code Online (Sandbox Code Playgroud)