我想使用spaCy匹配器进行匹配:
orange, apple and grape are fruits.
即:[NOUN[,and]]+ NOUN are fruits.
但是,我的模式不正确。谁能帮我写出正确的图案?
谢谢!
答案 0 :(得分:1)
似乎带有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
。确实取决于您要实现的目标。