我正在使用spacy来解析一些文本。我正在定义我自己的模式。然而,我需要考虑POS,依赖性。例如,想要使用以下模式(使用POS和DEP(:
pattern = [
{'POS': {'IN': ['NOUN','ADJ'] } ,
"DEP": {'IN': ['attr', 'amod']},
"OP": "+"},
{'TEXT': {'IN': ['to','of', 'on','by','from','in']} , "OP": "+"},
{'POS': {'IN': ['NOUN','VERB']}}
]
但是,间谍又回到了一个错误:
matcher.add('rule', [pattern])
^
IndentationError: unexpected indent
我已经导入了两个匹配器,但我只使用了一个匹配器:
from spacy.matcher import Matcher
from spacy.matcher import DependencyMatcher
matcher = Matcher(nlp.vocab)
matcher.add('rule', [pattern]) #### the error shows in this line####
matches = matcher(doc)
我想原因可能是,我同时使用POS和DEP,而我只在Matcher中添加了模式,而不是DependencyMatcher?是这样的吗?如果是,我应该如何更正?
谢谢!
它被解决了,这不是因为匹配器。
我只是重新调整代码,它有效。
这几行本来是对齐的,我把它们剪了,然后再粘贴,再重新对齐,然后就工作了。