You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何拼接两个spaCy Doc对象?寻求简便实现方案

合并spaCy Doc对象的简便方法

spaCy从v2.1版本开始已支持直接合并多个Doc对象,官方提供的Doc.from_docs()是最简便且能保留原Doc标注信息的方案,无需手动处理token或重新解析文本。

示例代码

import spacy

nlp = spacy.load('en')
doc1 = nlp(u'This is the doc number one.')
doc2 = nlp(u'And this is the doc number two.')

# 合并两个Doc对象
new_doc = spacy.tokens.Doc.from_docs([doc1, doc2])

# 验证合并结果
print(new_doc.text)  # 输出: This is the doc number one. And this is the doc number two.

关键说明

  • Doc.from_docs()会完整保留每个原Doc中token的所有标注信息(如词性标注、实体识别结果、依存关系等),避免了重新调用nlp解析带来的资源消耗和结果不一致问题。
  • 如果仅需拼接文本创建新Doc(比如nlp(doc1.text + " " + doc2.text)),虽可行但会丢失原Doc已有的所有标注,需重新计算,仅适合不需要保留原有分析结果的场景。

内容的提问来源于stack exchange,提问作者pyoupyou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 15:30:50