spacy - spaCy Matcher:橙子、苹果和葡萄是水果
问题描述
我想使用 spaCy 匹配器来匹配:
orange, apple and grape are fruits.
那是:[NOUN[,and]]+ NOUN are fruits.
但是,我的模式不正确。谁能帮我写一个正确的模式?
谢谢!
解决方案
看起来像 spacy 与en_core_web_sm
标识orange
为ADJ
. 要检查这一点,请运行以下代码:
import spacy
nlp = spacy.load("en_core_web_sm")
matcher = Matcher(nlp.vocab)
for token in nlp('orange, apple and grape are fruits.'):
print(token.pos_, end=' ')
>>> 'ADJ PUNCT NOUN CCONJ NOUN VERB NOUN PUNCT'
您可以尝试添加实体并对其进行训练,也可以使用文本匹配和句柄orange
。真的取决于你想要达到的目标。
推荐阅读
- r - 在 R 中使用乳胶方程
- powershell - 如何在没有密码提示的情况下运行 Test-DbaNetworkLatency?
- rest - 在单个 Sharepoint REST API 调用中创建多个字段的 POST 正文是什么?
- c - 当用户不提供输入时,我收到“分段错误:11”。当用户确实提供输入时,它工作正常。我怎样才能解决这个问题?
- r - 在 R 中的同一图上绘制多个数据集并添加错误值?
- arrays - PostgreSQL 数组数据类型到 JSON 对象
- javascript - 检测何时从 javascript 中加载 AMP 环境
- python - 当名称前面有双下划线时,为什么传递关键字/命名参数会产生错误?
- c++ - 检测要在 if 语句中使用的输入空白
- python - Tensorflow 输出到终端用等号填充