spaCy Matcher: апельсин, яблоко и виноград - фрукты

Я хочу использовать сопоставление spaCy для сопоставления:

orange, apple and grape are fruits.

То есть: [NOUN[,and]]+ NOUN are fruits.

Однако мой образец неверен. Может ли кто-нибудь помочь мне написать правильный узор?

Спасибо!


person Jiaqi    schedule 02.10.2019    source источник
comment
Можете ли вы предоставить фрагмент кода, который у вас есть, и результат, который дает ваш неправильный шаблон?   -  person Sofie VL    schedule 02.10.2019


Ответы (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. На самом деле зависит от того, чего вы пытаетесь достичь.

person Iliiazbek Akhmedov    schedule 03.10.2019