【发布时间】:2021-12-30 10:26:10
【问题描述】:
我正在使用 spacy 构建自定义 NER 模型。我想使用我的训练数据创建 train.spacy 文件。我正在手动创建一个 spacy.training.Example 对象列表,但我想使用配置文件使用 spacy v3 训练。 所以我有多个文本形式的训练数据及其相应的标签。例如:
words= ['Foreign' 'broking' 'houses' 'raised' 'the' 'target' 'price' 'of'
'Sun' 'Pharmaceutical' 'Industries,' 'Housing' 'Development' 'Finance'
'Corporation,' 'SAIL' 'India,' 'Cholamandalam' 'Investment,' 'Sun' 'TV'
'Network,' 'GAIL' 'India,' 'State' 'Bank' 'of' 'India' 'and' 'Eicher'
'Motors,' 'post' 'September' 'quarter' 'earnings' 'announcement:']
entity_labels= ['O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'B-ENTITY', 'I-ENTITY', 'L-ENTITY', 'B-ENTITY', 'I-ENTITY', 'I-ENTITY', 'L-ENTITY', 'B-ENTITY', 'L-ENTITY', 'B-ENTITY', 'L-ENTITY', 'B-ENTITY', 'I-ENTITY', 'L-ENTITY', 'B-ENTITY', 'L-ENTITY', 'B-ENTITY', 'I-ENTITY', 'I-ENTITY', 'L-ENTITY', 'O', 'B-ENTITY', 'L-ENTITY', 'O', 'O', 'O', 'O', 'O']
因为 spacy 要求训练标签采用这种格式
TRAIN_DATA=[(text,{"entities":[(start,end,label)]})]
有没有更快的方法将我的数据转换成这个?我目前计划实施的方法是手动遍历单词和实体并获取开始和结束索引。不过,我真的很感激有更好的方法来做到这一点。谢谢!
【问题讨论】: