空间匹配者:橘子,苹果和葡萄都是水果

时间:2019-10-02 16:49:53

标签: spacy

我想使用spaCy匹配器进行匹配:

orange, apple and grape are fruits.

即:[NOUN[,and]]+ NOUN are fruits.

但是,我的模式不正确。谁能帮我写出正确的图案?

谢谢!

1 个答案:

答案 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。确实取决于您要实现的目标。