我正在构建一个空间管道,并希望将句子拆分为Doc
个单独的对象.根据SpaCy documentation,自定义管道组件将单个Doc
对象作为输入并返回单个Doc
对象.然而,我想输入文本的段落/节,并让SpaCy管道将每个Doc
的句子作为自己的Doc
传递给管道的下一个组件.这似乎是不可能的,我希望找到一个解决办法.
我们之所以愿意这样做,是因为我们已经培训了textcat
个组件,用于对与用例相关的句子进行分类.然而,如果不拆分textcat
部分之前的句子,我们只能得到整个Doc
对象的预测.
从本质上讲,我想做以下工作,但将其包装成SpaCy @Language.component
:
relevant_sents = []
for sent in doc.sents:
cats = textcat_model(sent).cats
if cats.get("RELEVANT") > 0.5:
relevant_sents.append(sent)
然而,为了实现这一点,我需要一些变通方法,将单个句子作为Doc
个对象输入到管道的textcat
个组件中.
任何帮助都将不胜感激!