python - 判断一个词是否是名词

标签 python nlp stanford-nlp

给定一个输入词,我想判断它是不是名词(如果有歧义,比如cook可以是名词也可以是动词,这个词必须被识别为a名词)。

实际上我使用了 Stanford Parser 的词性标注器(我给它一个词作为输入,我只从结果中提取词性标签)。结果非常好,但需要很长时间。

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

最佳答案

如果您只想检查单个词是否可以用作名词,最快的方法可能是构建一个包含所有名词的集合,然后只检查该词是否属于该集合。

要获得所有名词的列表,您可以使用 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

关于python - 判断一个词是否是名词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28033882/

相关文章:

python - Scrapy爬虫不处理XHR请求

python - 每行 Numpy 中二维矩阵的滚动窗口或事件?

nlp - 语料库资源

python - 从输入的 NLP 句子中提取关键字的最佳方法

java - 使用斯坦福解析器解析凌乱的文本

python - Python 斯坦福解析器 : Output Format

python - 将分类变量列表转换为 (0,1) 列表

python - 如何获取图像文件,使用Scrapy

java - Eclipse Maven : "Cannot be resolved to a type" error

ios - 适用于 IOS 5.0 但不适用于 IOS 5.1 的应用程序