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

如何配置spaCy displacy选项以可视化文档的全部Span?

显示所有Span的解决方案

要让displacy显示文档中所有可用的Span,你需要把不同spans_key下的Span全部合并到一个统一的集合里,再让displacy加载这个集合。具体操作如下:

  • 遍历doc.spans中的所有Span集合,把它们合并成一个列表
  • 将合并后的列表赋值给一个新的spans_key(比如all_spans)
  • 在displacy的options里指定这个新的spans_key

修改后的完整代码:

import spacy
from spacy import displacy
from spacy.tokens import Span

text = "Welcome to the Bank of China. We are at home."

nlp = spacy.blank("en")
doc = nlp(text)

doc.spans["sc"] = [
    Span(doc, 3, 6, "ORG"), 
    Span(doc, 5, 6, "GPE"),
]

doc.spans["custom"] = [Span(doc, 9, 10, "home")]

# 合并所有spans下的Span
all_spans = []
for spans in doc.spans.values():
    all_spans.extend(spans)
doc.spans["all_spans"] = all_spans

# 指定加载合并后的spans集合
options = {"spans_key": "all_spans"}
displacy.serve(doc, style="span", options=options)

运行后,displacy就会同时显示sc和custom两个key下的所有Span了。

另外,如果你不想新增spans_key,也可以直接把合并后的Span列表赋值给doc.spans["ents"],然后去掉options里的spans_key配置——因为displacy的span样式默认会优先读取ents这个key(不过这种方式可能会和实体识别的默认ents冲突,更推荐用新增专属key的方式)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 14:36:18