你如何使用 Textacy 的pos_regex_match()
方法来使用它们的伪正则表达式语法来查找主谓宾三元组?是的,我知道textacy.extract.subject_verb_object_triples()
,但是这个函数非常不准确,而且发现的很少,所以我正在尝试构建更强大的东西。
对于文本:
text = "He recently wrote the sky is full of stars."
我正在努力:
svo_pattern = r'<DET>? <NOUN|PROPN|PRON>+ <VERB>?<ADV>*<VERB>+ <DET>? <NOUN|PROPN|PRON>+'
doc = textacy.Doc(text)
for sent in sents:
matches = list(textacy.extract.pos_regex_matches(sent, svo_pattern))
print(matches)
但它什么也没找到。我的模式有什么缺陷?我玩过它的几种变体,但没有任何匹配。