首页 > 解决方案 > 将自定义数据转换为 spacy ner 格式

问题描述

我正在使用 flair 来训练自定义 NER 模型,但我也想尝试 spacy,但我的数据目前是这种格式

No O
1320160208478 B-NUM
P O
R O
Name O
Ryan B-PER
Dsouza B-PER

关于如何将其格式化为 spacy NER 格式的任何建议?提前致谢。

标签: spacy

解决方案


Spacy 内置了一些常见格式的转换器,但这并不是其中之一。我认为最容易转换的格式是 CoNLL 2003 NER 格式,它需要两个额外的空格分隔列,在单词和标签之间使用占位符值,以便 IOB 标签位于第 4 列:

No _ _ O
1320160208478 _ _ B-NUM
P _ _ O
R _ _ O
Name _ _ O
Ryan _ _ B-PER
Dsouza _ _ B-PER

在句子之间放置空行,如果您在一个文件中有多个文档,您可以在文档之间添加它以分隔它们。


-DOCSTART- -X- O O

然后您可以使用内置转换器:

python -m spacy convert -c ner input.txt output_dir

(另外,您确定B-PER连续两个标签在您的数据中是正确的Ryan Dsouza吗?)


推荐阅读