python - 使用 spacy 区分两种类型的名词
问题描述
我正在使用 spacy 来理解短语,并且我试图区分诸如 food、beer、wine 等名词和其他名词,如昨天和今天。
我无法想出如何区分它们的想法。
query = input()
doc = nlp(query)
displacy.serve(doc,style="dep")
我该怎么做才能区分前三个名词和昨天?diplacy 渲染如图片图片链接所示 => https://imgur.com/a/cX7uQ3Z
解决方案
好吧,你可以做的是检查它的实体:
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 中定义了一些实体,这里是一个列表。
推荐阅读
- html - 带有嵌套 ul 标签的多级菜单
- python - 如何使用python映射熊猫数据框中的值
- amazon-web-services - 匿名用户可以将文件上传到 aws s3 吗?
- arrays - 在spring mongo模板中按数组大小检索所有数据
- kubernetes - 使用 Kubernetes 入口设置“Cache-Control”标头
- javascript - 带有 \\n 的 Javascript JSON.stringify 文本不显示带有换行符的 Javascript 字符串
- ggplot2 - 从 ggplot2 地图中删除国家的政治边界
- linux - rsync only 文件夹,里面没有文件,也没有扫描文件
- character-encoding - 缩短 GUID
- unix - 通过 awk / xargs 替换定义字符串中的变量值