【发布时间】:2020-08-13 21:46:38
【问题描述】:
下午好,我正在尝试使用 spacy 来将法语句子从一个列表中提取到另一个包含特定模式的句子中。否定形式“n'/ne + 动词/aux/ + pas + ADV/ADJ/ROOT/NOUN。
我尝试编写一个小代码来测试一个模式 n'/ne + AUX + ADV 但是当我使用 Spacy 时,什么都没有完成/打印。所以我在哪里犯了错误
我不明白为什么,因为我正在学习教程 我想检查模式,如果模式存在于句子中,我将其附加到“sent_extract”
import spacy
from spacy.matcher import Matcher
pattern = [{"POS": "ADV"},
{"POS": "AUX"},
{"LOWER": "pas"},
{"POS": "AVD"},] # ADV, NOUN, ADJ
pattern2 = [{"POS": "ADV"},
{"POS": "AUX"},
{"LOWER": "pas"},
{"POS": "ROOT"},]
pattern3 = [{"POS": "ADV"},
{"POS": "AUX"},
{"LOWER": "pas"},
{"POS": "ADJ"},]
matcher = Matcher(nlp.vocab)
matcher.add("matching_1", None, pattern)
sentence = ["Voyons ce n'est pas mal ce que vous faites", "Vive la vie.", " Vous n'êtes pas bien.",
"Je ne suis pas mauvaise","Jeune gens mangez bien", "Ce n'est pas mauvais"]
sent_extract=[]
for sent in sentence:
doc=nlp(sent)
print([t.text for t in doc])
matches= matcher(doc)
for match_id, start, end in matches:
span = doc[start:end]
print("found match:", span.text)
if span.text in sent:
sent_extract(sent)
【问题讨论】:
标签: python nlp spacy feature-extraction information-retrieval