SpaCy:匹配文档的一部分

时间:2019-03-05 07:38:03

标签: pattern-matching spacy

我尝试使用SpaCy的Matcher搜索span,但事实证明我做不到。

 Argument 'doc' has incorrect type (expected spacy.tokens.doc.Doc, got spacy.tokens.span.Span)

然后如何只搜索doc的一部分?有没有简单的方法可以将span转换为doc

1 个答案:

答案 0 :(得分:0)

是的,Matcher应该在Doc个对象上调用,而不是在Span个对象上调用。但是,如果需要,可以使用Span.as_doc方法:

doc = nlp("Hello world. This is a text.")
span_doc = doc[0:3].as_doc()
print(span_doc.text)  # 'Hello world.'

请注意,这将创建内容的副本,因此生成的对象不再是父级Doc的视图,而是一个完全独立的对象。在大多数情况下,这无关紧要,但记住这一点仍然很重要。