【发布时间】:2021-03-30 08:22:06
【问题描述】:
我正在使用 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']}}
]
但是,spyder返回错误:
matcher.add('rule', [pattern])
^
IndentationError: unexpected indent
两个matcher我都导入了,但是我只用了一个matcher,如下:
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?是这样的吗? 如果是这样,我应该如何纠正它?
谢谢!
【问题讨论】:
-
见stackoverflow.com/questions/3920628/…。请修复您的缩进错误,重试代码,并让您知道真正的问题是什么。
-
这能回答你的问题吗? IndentationError: unexpected indent error