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的端到端项目模板。