我正在构建一个空间管道,并希望将句子拆分为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个组件中.

任何帮助都将不胜感激!

推荐答案

组件必须返回其接收的相同数量的文档,这些文档不能更改.

在这种情况下,您应该使用两条管道/nlp个对象.使用第一个句子创建传递给第二个的文档.

在过go ,管道只接受文本作为输入,但最近也可以传递文档.传递文档时,将跳过标记化,但会运行其他组件.

Python相关问答推荐

Python中的函数中是否有充分的理由接受float而不接受int?

从包含数字和单词的文件中读取和获取数据集

使用numpy提取数据块

Pystata:从Python并行运行stata实例

如何将双框框列中的成对变成两个新列

如何让剧作家等待Python中出现特定cookie(然后返回它)?

从收件箱中的列中删除html格式

管道冻结和管道卸载

为什么以这种方式调用pd.ExcelWriter会创建无效的文件格式或扩展名?

将输入聚合到统一词典中

如何从需要点击/切换的网页中提取表格?

寻找Regex模式返回与我当前函数类似的结果

具有相同图例 colored颜色 和标签的堆叠子图

PYTHON、VLC、RTSP.屏幕截图不起作用

当条件满足时停止ODE集成?

Discord.py -

如何删除重复的文字翻拍?

mdates定位器在图表中显示不存在的时间间隔

我什么时候应该使用帆布和标签?

利用SCIPY沿第一轴对数组进行内插