我尝试使用SpaCy的Matcher
搜索span
,但事实证明我做不到。
Argument 'doc' has incorrect type (expected spacy.tokens.doc.Doc, got spacy.tokens.span.Span)
然后如何只搜索doc
的一部分?有没有简单的方法可以将span
转换为doc
?
答案 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
的视图,而是一个完全独立的对象。在大多数情况下,这无关紧要,但记住这一点仍然很重要。