首页 > 解决方案 > 使用 spacy 区分两种类型的名词

问题描述

我正在使用 spacy 来理解短语,并且我试图区分诸如 food、beer、wine 等名词和其他名词,如昨天和今天。

我无法想出如何区分它们的想法。

   query = input()
   doc = nlp(query)
   displacy.serve(doc,style="dep")

我该怎么做才能区分前三个名词和昨天?diplacy 渲染如图片图片链接所示 => https://imgur.com/a/cX7uQ3Z

标签: pythonnlpspacy

解决方案


好吧,你可以做的是检查它的实体:

sent = "Yesterday, I drank a beer"
doc = nlp(sent)
for token in doc:
   print(token.text, token.pos_, token.tag_, token.ent_type_) 
#Output:
#Yesterday NOUN NN DATE
#, PUNCT , 
#I PRON PRP 
#drank VERB VBD 
#a DET DT 
#beer NOUN NN 

如您所见,昨天和今天这样的日期被识别为日期实体。spacy 中定义了一些实体,这里是一个列表


推荐阅读