给定一个输入词,我想判断它是不是名词(如果有歧义,比如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/