python文本处理:从单个单词中识别名词

python文本处理:从单个单词中识别名词,python,text,nlp,nltk,pos-tagger,Python,Text,Nlp,Nltk,Pos Tagger,我有一个单词列表,只想保留名词 这不是一个复制品 在链接问题中,处理一段文本。公认的答案提出了一个标签。我知道标记文本的不同选项(nlkt、textblob、spacy),但我不能使用它们,因为我的数据不是由句子组成的。我只有一个单字列表: would research part technologies size articles analyzes line nltk有多种语料库可供选择。我发现verbnet有一系列动词。但到目前为止,我没有看到任何类似的名词。有没有像字典这样的东西,在那里

我有一个单词列表,只想保留名词

这不是一个复制品

在链接问题中,处理一段文本。公认的答案提出了一个标签。我知道标记文本的不同选项(nlkt、textblob、spacy),但我不能使用它们,因为我的数据不是由句子组成的。我只有一个单字列表:

would
research
part
technologies
size
articles
analyzes
line
nltk
有多种语料库可供选择。我发现
verbnet
有一系列动词。但到目前为止,我没有看到任何类似的名词。有没有像字典这样的东西,在那里我可以查到一个词是否是名词、动词、形容词等

这也许可以通过一些在线服务来实现。例如,Microsoft translate会在其响应中返回大量信息: 但这是有偿服务。我更喜欢python包


关于单词的歧义性:理想情况下,我想要一本能告诉我单词所有功能的字典。例如,“鱼”既是名词又是动词。“吃”只是动词,“狗”只是名词。我知道这不是一门精确的科学。一个有效的解决方案就是删除所有不能成为名词的单词

即使你使用字典,你也必须处理歧义,例如,根据上下文不同,同一个词可以是
名词
动词
,以
研究

政府将投资于
研究

目标是研究词性标注的新技术

大多数词典对
research
有多个定义,例如:


这些单词从哪里来,你能在它们出现的上下文中对它们进行词性标记吗?

你可以在单个片段上运行词性标记器,它的准确度会较低,但我想这已经是一个给定值了


理想情况下,找到一个POS标记器,该标记器可以显示所有可能的阅读,以便在以后的处理管道中消除句法歧义。这基本上只是从词典中挑选出所有可能的读物(可能是有可能的),然后让你从中获取。

正如@Triplee和@DavidBatista所指出的那样,确定一个单词本身是名词还是动词确实很复杂,因为在大多数语言中,一个单词的语法取决于上下文

词语只是意义的表达。正因为如此,我想添加另一个命题,可能符合你的意思-而不是试图找出一个词是名词还是动词,而是试图找出一个概念是一个对象还是一个动作-这仍然有歧义的问题,因为一个概念可以同时携带动作或对象形式

但是,您可以坚持使用仅具有对象属性的概念(例如TypeOf、HasAsPart、IsPartOf等)或同时具有对象属性和动作属性的概念(动作属性例如子事件、效果、要求)

一个很好的概念搜索工具是,它提供了一个WebApi,通过关键字在其网络中搜索概念(它基于Wikipedia和许多其他网站,对于英语非常完整),是开放的,并且还指向其他语言中的同义词(标记为其常用词性-您可以对同义词的词性进行平均,以确定该词是宾语[名词样]还是动作[动词样]。

是否尝试使用

你应该看到:

('would', None)
('research', u'noun')
('part', u'noun')
('technologies', u'noun')
('size', u'noun')
('articles', u'noun')
('analyzes', u'verb')
('line', u'noun')

它们没有上下文,只是一个词汇表。关于歧义,你当然是对的,大多数动词也可以用作名词。一个好的接球,一次愉快的散步……我很想扔掉任何明显不是名词的东西。“美丽”,“学习”,“上面”,…什么是名词?什么是动词?你如何区分它们?它是特定于语言的吗?
Google
可以是动词吗?
Google
是名词吗?英语中的虚词可能有固定的词性,但在大多数情况下,非虚词在没有上下文的情况下是模棱两可的。更新的问题我已经尝试过了,效果出奇地好。Spacy非常棒:)不过,它并不是这个问题的真正答案(我正在寻找类似老式字典的东西)
('would', None)
('research', u'noun')
('part', u'noun')
('technologies', u'noun')
('size', u'noun')
('articles', u'noun')
('analyzes', u'verb')
('line', u'noun')