首页 > 解决方案 > spaCy Matcher:橙子、苹果和葡萄是水果

问题描述

我想使用 spaCy 匹配器来匹配:

orange, apple and grape are fruits.

那是:[NOUN[,and]]+ NOUN are fruits.

但是,我的模式不正确。谁能帮我写一个正确的模式?

谢谢!

标签: spacy

解决方案


看起来像 spacy 与en_core_web_sm标识orangeADJ. 要检查这一点,请运行以下代码:

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。真的取决于你想要达到的目标。


推荐阅读