1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
---
title: spaCy v3.1发布:支持重叠跨度预测与多语言模型
tags: [自然语言处理, 机器学习, Python库]
authors: qife
description: spaCy v3.1引入基于Transformer的管道改进、训练时预测注释功能、实验性SpanCategorizer组件,新增加泰罗尼亚语和丹麦语预训练模型,并支持Hugging Face Hub模型托管。
---

### 训练时使用预测注释
通过配置`training.annotating_components`,可在训练过程中使管道组件读取前序组件的预测结果作为特征。例如依赖解析器的标签可作为后续标注器的输入特征:

```config.cfg (片段)
[nlp]
pipeline = ["parser", "tagger"]

[components.tagger.model.tok2vec.embed]
@architectures = "spacy.MultiHashEmbed.v1"
width = ${components.tagger.model.tok2vec.encode.width}
attrs = ["NORM","DEP"]
rows = [5000,2500]
include_static_vectors = false

[training]
annotating_components = ["parser"]

实验性SpanCategorizer组件

该组件支持标注任意长度和重叠的文本跨度,适用于传统命名实体识别(NER)无法处理的嵌套表达式场景。配套标注工具即将推出专用工作流支持此类标注任务。

实体识别器部分标注更新

通过incorrect_spans_key配置,可标记已知错误实体范围以利用稀疏标注数据:

1
2
3
4
5
train_doc = nlp.make_doc("示例文本")
train_doc.spans["incorrect_spans"] = [
    Span(doc, 0, 2, label="错误标签"),
    Span(doc, 5, 6, label="错误标签")
]

新增多语言模型

包含5个新预训练管道:

包名称 语言 UPOS 依存分析LAS NER F1
ca_core_news_sm 加泰罗尼亚语 98.2 87.4 79.8
ca_core_news_trf 加泰罗尼亚语 98.9 93.0 91.2
da_core_news_trf 丹麦语 98.0 85.0 82.9

Hugging Face Hub集成

通过spacy-huggingface-hub扩展包可直接上传模型:

1
python -m spacy huggingface-hub push model_package.whl

生态更新

新增支持spaCy v3的扩展包括:

  • 🐭 skweak:NLP弱监督工具包
  • 👯 coreferee:指代消解组件(支持英/德/波兰语)
  • 🏺 hmrb:可读规则处理引擎
  • 📘 trunajod:文本复杂度分析库

当前开发中的功能包括原生指代消解组件和基于PyTorch的端到端项目模板。

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计